1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | "use strict";
|
7 |
|
8 | const Dependency = require("../Dependency");
|
9 | const DependencyTemplate = require("../DependencyTemplate");
|
10 | const memoize = require("../util/memoize");
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | const getRawModule = memoize(() => require("../RawModule"));
|
16 |
|
17 | class ModuleDependency extends Dependency {
|
18 | |
19 |
|
20 |
|
21 | constructor(request) {
|
22 | super();
|
23 | this.request = request;
|
24 | this.userRequest = request;
|
25 | this.range = undefined;
|
26 |
|
27 |
|
28 | this.assertions = undefined;
|
29 | }
|
30 |
|
31 | |
32 |
|
33 |
|
34 | getResourceIdentifier() {
|
35 | let str = `module${this.request}`;
|
36 | if (this.assertions !== undefined) {
|
37 | str += JSON.stringify(this.assertions);
|
38 | }
|
39 | return str;
|
40 | }
|
41 |
|
42 | |
43 |
|
44 |
|
45 | couldAffectReferencingModule() {
|
46 | return true;
|
47 | }
|
48 |
|
49 | |
50 |
|
51 |
|
52 |
|
53 | createIgnoredModule(context) {
|
54 | const RawModule = getRawModule();
|
55 | return new RawModule(
|
56 | "/* (ignored) */",
|
57 | `ignored|${context}|${this.request}`,
|
58 | `${this.request} (ignored)`
|
59 | );
|
60 | }
|
61 |
|
62 | serialize(context) {
|
63 | const { write } = context;
|
64 | write(this.request);
|
65 | write(this.userRequest);
|
66 | write(this.range);
|
67 | super.serialize(context);
|
68 | }
|
69 |
|
70 | deserialize(context) {
|
71 | const { read } = context;
|
72 | this.request = read();
|
73 | this.userRequest = read();
|
74 | this.range = read();
|
75 | super.deserialize(context);
|
76 | }
|
77 | }
|
78 |
|
79 | ModuleDependency.Template = DependencyTemplate;
|
80 |
|
81 | module.exports = ModuleDependency;
|