You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

52 lines
1.0 KiB

/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const makeSerializable = require("../util/makeSerializable");
const ContextDependency = require("./ContextDependency");
const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
class ImportContextDependency extends ContextDependency {
constructor(options, range, valueRange) {
super(options);
this.range = range;
this.valueRange = valueRange;
}
get type() {
return `import() context ${this.options.mode}`;
}
get category() {
return "esm";
}
serialize(context) {
const { write } = context;
write(this.valueRange);
super.serialize(context);
}
deserialize(context) {
const { read } = context;
this.valueRange = read();
super.deserialize(context);
}
}
makeSerializable(
ImportContextDependency,
"webpack/lib/dependencies/ImportContextDependency"
);
ImportContextDependency.Template = ContextDependencyTemplateAsRequireCall;
module.exports = ImportContextDependency;