18 lines
		
	
	
	
		
			592 B
			
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			18 lines
		
	
	
	
		
			592 B
			
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								const handleESModule = (loader: ElectronInternal.ModuleLoader) => () => {
							 | 
						||
| 
								 | 
							
								  const value = loader()
							 | 
						||
| 
								 | 
							
								  if (value.__esModule && value.default) return value.default
							 | 
						||
| 
								 | 
							
								  return value
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Attaches properties to |targetExports|.
							 | 
						||
| 
								 | 
							
								export function defineProperties (targetExports: Object, moduleList: ElectronInternal.ModuleEntry[]) {
							 | 
						||
| 
								 | 
							
								  const descriptors: PropertyDescriptorMap = {}
							 | 
						||
| 
								 | 
							
								  for (const module of moduleList) {
							 | 
						||
| 
								 | 
							
								    descriptors[module.name] = {
							 | 
						||
| 
								 | 
							
								      enumerable: !module.private,
							 | 
						||
| 
								 | 
							
								      get: handleESModule(module.loader)
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return Object.defineProperties(targetExports, descriptors)
							 | 
						||
| 
								 | 
							
								}
							 |