12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- "use strict";
- const NullDependency = require("./NullDependency");
-
- class HarmonyExportExpressionDependency extends NullDependency {
- constructor(originModule, range, rangeStatement, prefix) {
- super();
- this.originModule = originModule;
- this.range = range;
- this.rangeStatement = rangeStatement;
- this.prefix = prefix;
- }
-
- get type() {
- return "harmony export expression";
- }
-
- getExports() {
- return {
- exports: ["default"],
- dependencies: undefined
- };
- }
- }
-
- HarmonyExportExpressionDependency.Template = class HarmonyExportDependencyTemplate {
- apply(dep, source) {
- const used = dep.originModule.isUsed("default");
- const content = this.getContent(dep.originModule, used);
-
- if (dep.range) {
- source.replace(
- dep.rangeStatement[0],
- dep.range[0] - 1,
- content + "(" + dep.prefix
- );
- source.replace(dep.range[1], dep.rangeStatement[1] - 1, ");");
- return;
- }
-
- source.replace(dep.rangeStatement[0], dep.rangeStatement[1] - 1, content);
- }
-
- getContent(module, used) {
- const exportsName = module.exportsArgument;
- if (used) {
- return `/* harmony default export */ ${exportsName}[${JSON.stringify(
- used
- )}] = `;
- }
- return "/* unused harmony default export */ var _unused_webpack_default_export = ";
- }
- };
-
- module.exports = HarmonyExportExpressionDependency;
|