Source code
Revision control
Copy as Markdown
Other Tools
/*
Author Tobias Koppers @sokra
*/
"use strict";
const makeSerializable = require("../util/makeSerializable");
const ContextDependency = require("./ContextDependency");
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range]>} ObjectDeserializerContext */
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range]>} ObjectSerializerContext */
/** @typedef {import("./ContextDependency").ContextDependencyOptions} ContextDependencyOptions */
class AMDRequireContextDependency extends ContextDependency {
/**
* Creates an instance of AMDRequireContextDependency.
* @param {ContextDependencyOptions} options options
* @param {Range} range range
* @param {Range} valueRange value range
*/
constructor(options, range, valueRange) {
super(options);
this.range = range;
this.valueRange = valueRange;
}
get type() {
return "amd require context";
}
get category() {
return "amd";
}
/**
* Serializes this instance into the provided serializer context.
* @param {ObjectSerializerContext} context context
*/
serialize(context) {
context.write(this.range).write(this.valueRange);
super.serialize(context);
}
/**
* Restores this instance from the provided deserializer context.
* @param {ObjectDeserializerContext} context context
*/
deserialize(context) {
this.range = context.read();
const c1 = context.rest;
this.valueRange = c1.read();
super.deserialize(c1.rest);
}
}
makeSerializable(
AMDRequireContextDependency,
"webpack/lib/dependencies/AMDRequireContextDependency"
);
AMDRequireContextDependency.Template = require("./ContextDependencyTemplateAsRequireCall");
module.exports = AMDRequireContextDependency;