forked from webpack/webpack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAMDDefineDependency.js
More file actions
36 lines (32 loc) · 1.65 KB
/
AMDDefineDependency.js
File metadata and controls
36 lines (32 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
var NullDependency = require("./NullDependency");
function AMDDefineDependency(range, arrayRange, functionRange) {
NullDependency.call(this);
this.Class = AMDDefineDependency;
this.range = range;
this.arrayRange = arrayRange;
this.functionRange = functionRange;
}
module.exports = AMDDefineDependency;
AMDDefineDependency.prototype = Object.create(NullDependency.prototype);
AMDDefineDependency.prototype.type = "amd define";
AMDDefineDependency.Template = function AMDRequireDependencyTemplate() {};
AMDDefineDependency.Template.prototype.apply = function(dep, source, outputOptions, requestShortener) {
if(dep.arrayRange && !dep.functionRange) {
source.replace(dep.range[0], dep.arrayRange[0]-1,
"module.exports = ");
source.replace(dep.arrayRange[1], dep.range[1]-1, ";");
} else if(!dep.arrayRange && dep.functionRange) {
source.replace(dep.range[0], dep.functionRange[0]-1,
"{var __WEBPACK_AMD_DEFINE_RESULT__ = (");
source.replace(dep.functionRange[1], dep.range[1]-1, "(require, exports, module)); if(__WEBPACK_AMD_DEFINE_RESULT__ !== undefined) module.exports = __WEBPACK_AMD_DEFINE_RESULT__;}");
} else if(dep.arrayRange && dep.functionRange) {
source.replace(dep.range[0], dep.arrayRange[0]-1,
"{var __WEBPACK_AMD_DEFINE_ARRAY__ = ");
source.replace(dep.arrayRange[1], dep.functionRange[0]-1, "; var __WEBPACK_AMD_DEFINE_RESULT__ = (");
source.replace(dep.functionRange[1], dep.range[1]-1, ".apply(null, __WEBPACK_AMD_DEFINE_ARRAY__)); if(__WEBPACK_AMD_DEFINE_RESULT__ !== undefined) module.exports = __WEBPACK_AMD_DEFINE_RESULT__;}");
}
};