define-properties.ts 588 B

1234567891011121314151617
  1. const handleESModule = (loader: ElectronInternal.ModuleLoader) => () => {
  2. const value = loader();
  3. if (value.__esModule && value.default) return value.default;
  4. return value;
  5. };
  6. // Attaches properties to |targetExports|.
  7. export function defineProperties (targetExports: Object, moduleList: ElectronInternal.ModuleEntry[]) {
  8. const descriptors: PropertyDescriptorMap = {};
  9. for (const module of moduleList) {
  10. descriptors[module.name] = {
  11. enumerable: true,
  12. get: handleESModule(module.loader)
  13. };
  14. }
  15. return Object.defineProperties(targetExports, descriptors);
  16. }