1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | "use strict";
|
7 |
|
8 | const makeSerializable = require("../util/makeSerializable");
|
9 | const NullDependency = require("./NullDependency");
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | class RuntimeRequirementsDependency extends NullDependency {
|
20 | |
21 |
|
22 |
|
23 | constructor(runtimeRequirements) {
|
24 | super();
|
25 | this.runtimeRequirements = new Set(runtimeRequirements);
|
26 | this._hashUpdate = undefined;
|
27 | }
|
28 |
|
29 | |
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 | updateHash(hash, context) {
|
36 | if (this._hashUpdate === undefined) {
|
37 | this._hashUpdate = Array.from(this.runtimeRequirements).join() + "";
|
38 | }
|
39 | hash.update(this._hashUpdate);
|
40 | }
|
41 |
|
42 | serialize(context) {
|
43 | const { write } = context;
|
44 | write(this.runtimeRequirements);
|
45 | super.serialize(context);
|
46 | }
|
47 |
|
48 | deserialize(context) {
|
49 | const { read } = context;
|
50 | this.runtimeRequirements = read();
|
51 | super.deserialize(context);
|
52 | }
|
53 | }
|
54 |
|
55 | makeSerializable(
|
56 | RuntimeRequirementsDependency,
|
57 | "webpack/lib/dependencies/RuntimeRequirementsDependency"
|
58 | );
|
59 |
|
60 | RuntimeRequirementsDependency.Template = class RuntimeRequirementsDependencyTemplate extends (
|
61 | NullDependency.Template
|
62 | ) {
|
63 | |
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 | apply(dependency, source, { runtimeRequirements }) {
|
70 | const dep = (dependency);
|
71 | for (const req of dep.runtimeRequirements) {
|
72 | runtimeRequirements.add(req);
|
73 | }
|
74 | }
|
75 | };
|
76 |
|
77 | module.exports = RuntimeRequirementsDependency;
|