UNPKG

1.07 kBJavaScriptView Raw
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3*/
4
5"use strict";
6
7const RuntimeGlobals = require("../RuntimeGlobals");
8const Template = require("../Template");
9const HelperRuntimeModule = require("./HelperRuntimeModule");
10
11class CompatGetDefaultExportRuntimeModule extends HelperRuntimeModule {
12 constructor() {
13 super("compat get default export");
14 }
15
16 /**
17 * @returns {string} runtime code
18 */
19 generate() {
20 const { runtimeTemplate } = this.compilation;
21 const fn = RuntimeGlobals.compatGetDefaultExport;
22 return Template.asString([
23 "// getDefaultExport function for compatibility with non-harmony modules",
24 `${fn} = ${runtimeTemplate.basicFunction("module", [
25 "var getter = module && module.__esModule ?",
26 Template.indent([
27 `${runtimeTemplate.returningFunction("module['default']")} :`,
28 `${runtimeTemplate.returningFunction("module")};`
29 ]),
30 `${RuntimeGlobals.definePropertyGetters}(getter, { a: getter });`,
31 "return getter;"
32 ])};`
33 ]);
34 }
35}
36
37module.exports = CompatGetDefaultExportRuntimeModule;