You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							23 lines
						
					
					
						
							526 B
						
					
					
				
			
		
		
	
	
							23 lines
						
					
					
						
							526 B
						
					
					
				'use strict';
 | 
						|
const builtinModules = require('builtin-modules');
 | 
						|
 | 
						|
const moduleSet = new Set(builtinModules);
 | 
						|
const NODE_PROTOCOL = 'node:';
 | 
						|
 | 
						|
module.exports = moduleName => {
 | 
						|
	if (typeof moduleName !== 'string') {
 | 
						|
		throw new TypeError('Expected a string');
 | 
						|
	}
 | 
						|
 | 
						|
	if (moduleName.startsWith(NODE_PROTOCOL)) {
 | 
						|
		moduleName = moduleName.slice(NODE_PROTOCOL.length);
 | 
						|
	}
 | 
						|
 | 
						|
	const slashIndex = moduleName.indexOf('/');
 | 
						|
	if (slashIndex !== -1) {
 | 
						|
		moduleName = moduleName.slice(0, slashIndex);
 | 
						|
	}
 | 
						|
 | 
						|
	return moduleSet.has(moduleName);
 | 
						|
};
 |