1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- "use strict";
- const RuntimeGlobals = require("../RuntimeGlobals");
- exports.handleDependencyBase = (depBase, module, runtimeRequirements) => {
- let base = undefined;
- let type;
- switch (depBase) {
- case "exports":
- runtimeRequirements.add(RuntimeGlobals.exports);
- base = module.exportsArgument;
- type = "expression";
- break;
- case "module.exports":
- runtimeRequirements.add(RuntimeGlobals.module);
- base = `${module.moduleArgument}.exports`;
- type = "expression";
- break;
- case "this":
- runtimeRequirements.add(RuntimeGlobals.thisAsExports);
- base = "this";
- type = "expression";
- break;
- case "Object.defineProperty(exports)":
- runtimeRequirements.add(RuntimeGlobals.exports);
- base = module.exportsArgument;
- type = "Object.defineProperty";
- break;
- case "Object.defineProperty(module.exports)":
- runtimeRequirements.add(RuntimeGlobals.module);
- base = `${module.moduleArgument}.exports`;
- type = "Object.defineProperty";
- break;
- case "Object.defineProperty(this)":
- runtimeRequirements.add(RuntimeGlobals.thisAsExports);
- base = "this";
- type = "Object.defineProperty";
- break;
- default:
- throw new Error(`Unsupported base ${depBase}`);
- }
- return [type, base];
- };
|