| /* |
| MIT License http://www.opensource.org/licenses/mit-license.php |
| Author Tobias Koppers @sokra |
| */ |
| "use strict"; |
| const NullDependency = require("./NullDependency"); |
| |
| class LocalModuleDependency extends NullDependency { |
| constructor(localModule, range, callNew) { |
| super(); |
| localModule.flagUsed(); |
| this.localModule = localModule; |
| this.range = range; |
| this.callNew = callNew; |
| } |
| } |
| |
| LocalModuleDependency.Template = class LocalModuleDependencyTemplate { |
| apply(dep, source) { |
| if (!dep.range) return; |
| const moduleInstance = dep.callNew |
| ? `new (function () { return ${dep.localModule.variableName()}; })()` |
| : dep.localModule.variableName(); |
| source.replace(dep.range[0], dep.range[1] - 1, moduleInstance); |
| } |
| }; |
| |
| module.exports = LocalModuleDependency; |