ImportContextDependency.js (1068B)
1 /* 2 MIT License http://www.opensource.org/licenses/mit-license.php 3 Author Tobias Koppers @sokra 4 */ 5 6 "use strict"; 7 8 const makeSerializable = require("../util/makeSerializable"); 9 const ContextDependency = require("./ContextDependency"); 10 const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall"); 11 12 class ImportContextDependency extends ContextDependency { 13 constructor(options, range, valueRange) { 14 super(options); 15 16 this.range = range; 17 this.valueRange = valueRange; 18 } 19 20 get type() { 21 return `import() context ${this.options.mode}`; 22 } 23 24 get category() { 25 return "esm"; 26 } 27 28 serialize(context) { 29 const { write } = context; 30 31 write(this.valueRange); 32 33 super.serialize(context); 34 } 35 36 deserialize(context) { 37 const { read } = context; 38 39 this.valueRange = read(); 40 41 super.deserialize(context); 42 } 43 } 44 45 makeSerializable( 46 ImportContextDependency, 47 "webpack/lib/dependencies/ImportContextDependency" 48 ); 49 50 ImportContextDependency.Template = ContextDependencyTemplateAsRequireCall; 51 52 module.exports = ImportContextDependency;