source: frontend/node_modules/webpack/lib/dependencies/ImportContextDependency.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5
6"use strict";
7
8const makeSerializable = require("../util/makeSerializable");
9const ContextDependency = require("./ContextDependency");
10const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
11
12/** @typedef {import("../javascript/JavascriptParser").Range} Range */
13/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
14/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
15/** @typedef {import("./ContextDependency").ContextDependencyOptions} ContextDependencyOptions */
16
17class ImportContextDependency extends ContextDependency {
18 /**
19 * Creates an instance of ImportContextDependency.
20 * @param {ContextDependencyOptions} options options
21 * @param {Range} range range
22 * @param {Range} valueRange value range
23 */
24 constructor(options, range, valueRange) {
25 super(options);
26
27 this.range = range;
28 this.valueRange = valueRange;
29 }
30
31 get type() {
32 return `import() context ${this.options.mode}`;
33 }
34
35 get category() {
36 return "esm";
37 }
38
39 /**
40 * Returns an identifier to merge equal requests.
41 * @returns {string | null} an identifier to merge equal requests
42 */
43 getResourceIdentifier() {
44 let str = super.getResourceIdentifier();
45
46 if (this.options.attributes) {
47 str += `|attributes${JSON.stringify(this.options.attributes)}`;
48 }
49
50 return str;
51 }
52
53 /**
54 * Serializes this instance into the provided serializer context.
55 * @param {ObjectSerializerContext} context context
56 */
57 serialize(context) {
58 const { write } = context;
59
60 write(this.valueRange);
61
62 super.serialize(context);
63 }
64
65 /**
66 * Restores this instance from the provided deserializer context.
67 * @param {ObjectDeserializerContext} context context
68 */
69 deserialize(context) {
70 const { read } = context;
71
72 this.valueRange = read();
73
74 super.deserialize(context);
75 }
76}
77
78makeSerializable(
79 ImportContextDependency,
80 "webpack/lib/dependencies/ImportContextDependency"
81);
82
83ImportContextDependency.Template = ContextDependencyTemplateAsRequireCall;
84
85module.exports = ImportContextDependency;
Note: See TracBrowser for help on using the repository browser.