Skip to content

Commit d49082a

Browse files
committed
Make some AMD dep classes easier to subclass
1 parent d5e26f7 commit d49082a

File tree

2 files changed

+22
-19
lines changed

2 files changed

+22
-19
lines changed

lib/dependencies/AMDRequireDependenciesBlock.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,12 @@ module.exports = class AMDRequireDependenciesBlock extends AsyncDependenciesBloc
3636
} else {
3737
this.range = expr.range;
3838
}
39-
const dep = new AMDRequireDependency(this);
39+
const dep = this.newRequireDependency();
4040
dep.loc = loc;
4141
this.addDependency(dep);
4242
}
43+
44+
newRequireDependency() {
45+
return new AMDRequireDependency(this);
46+
}
4347
};

lib/dependencies/AMDRequireDependency.js

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,17 @@ class AMDRequireDependency extends NullDependency {
1313
}
1414

1515
AMDRequireDependency.Template = class AMDRequireDependencyTemplate {
16+
get definitions() {
17+
return {
18+
a: "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ",
19+
af: "; (",
20+
f: ").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);",
21+
ea: "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ",
22+
eaf: "; (",
23+
ef: ").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);"
24+
};
25+
}
26+
1627
apply(dep, source, runtime) {
1728
const depBlock = dep.block;
1829
const promise = runtime.blockPromise({
@@ -73,19 +84,13 @@ AMDRequireDependency.Template = class AMDRequireDependencyTemplate {
7384
depBlock.arrayRange[0] - 1,
7485
startBlock
7586
);
76-
source.insert(
77-
depBlock.arrayRange[0] + 0.9,
78-
"var __WEBPACK_AMD_REQUIRE_ARRAY__ = "
79-
);
87+
source.insert(depBlock.arrayRange[0] + 0.9, this.definitions.ea);
8088
source.replace(
8189
depBlock.arrayRange[1],
8290
depBlock.functionRange[0] - 1,
83-
"; ("
84-
);
85-
source.insert(
86-
depBlock.functionRange[1],
87-
").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);"
91+
this.definitions.eaf
8892
);
93+
source.insert(depBlock.functionRange[1], this.definitions.ef);
8994
source.replace(
9095
depBlock.functionRange[1],
9196
depBlock.errorCallbackRange[0] - 1,
@@ -110,19 +115,13 @@ AMDRequireDependency.Template = class AMDRequireDependencyTemplate {
110115
depBlock.arrayRange[0] - 1,
111116
startBlock
112117
);
113-
source.insert(
114-
depBlock.arrayRange[0] + 0.9,
115-
"var __WEBPACK_AMD_REQUIRE_ARRAY__ = "
116-
);
118+
source.insert(depBlock.arrayRange[0] + 0.9, this.definitions.a);
117119
source.replace(
118120
depBlock.arrayRange[1],
119121
depBlock.functionRange[0] - 1,
120-
"; ("
121-
);
122-
source.insert(
123-
depBlock.functionRange[1],
124-
").apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);"
122+
this.definitions.af
125123
);
124+
source.insert(depBlock.functionRange[1], this.definitions.f);
126125
source.replace(
127126
depBlock.functionRange[1],
128127
depBlock.outerRange[1] - 1,

0 commit comments

Comments
 (0)