source: trip-planner-front/node_modules/webpack/lib/runtime/DefinePropertyGettersRuntimeModule.js

Last change on this file was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 1.0 KB
Line 
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 DefinePropertyGettersRuntimeModule extends HelperRuntimeModule {
12 constructor() {
13 super("define property getters");
14 }
15
16 /**
17 * @returns {string} runtime code
18 */
19 generate() {
20 const { runtimeTemplate } = this.compilation;
21 const fn = RuntimeGlobals.definePropertyGetters;
22 return Template.asString([
23 "// define getter functions for harmony exports",
24 `${fn} = ${runtimeTemplate.basicFunction("exports, definition", [
25 `for(var key in definition) {`,
26 Template.indent([
27 `if(${RuntimeGlobals.hasOwnProperty}(definition, key) && !${RuntimeGlobals.hasOwnProperty}(exports, key)) {`,
28 Template.indent([
29 "Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });"
30 ]),
31 "}"
32 ]),
33 "}"
34 ])};`
35 ]);
36 }
37}
38
39module.exports = DefinePropertyGettersRuntimeModule;
Note: See TracBrowser for help on using the repository browser.