AMDRequireContextDependency.js 1.6 KB

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