|
2 | 2 | MIT License http://www.opensource.org/licenses/mit-license.php |
3 | 3 | Author Tobias Koppers @sokra |
4 | 4 | */ |
5 | | -var DelegatedModule = require("./DelegatedModule"); |
| 5 | +"use strict"; |
| 6 | + |
| 7 | +const DelegatedModule = require("./DelegatedModule"); |
6 | 8 |
|
7 | 9 | // options.source |
8 | 10 | // options.type |
9 | 11 | // options.context |
10 | 12 | // options.scope |
11 | 13 | // options.content |
12 | | -function DelegatedModuleFactoryPlugin(options) { |
13 | | - this.options = options; |
14 | | - options.type = options.type || "require"; |
15 | | - options.extensions = options.extensions || ["", ".js"]; |
16 | | -} |
17 | | -module.exports = DelegatedModuleFactoryPlugin; |
| 14 | +class DelegatedModuleFactoryPlugin { |
| 15 | + constructor(options) { |
| 16 | + this.options = options; |
| 17 | + options.type = options.type || "require"; |
| 18 | + options.extensions = options.extensions || ["", ".js"]; |
| 19 | + } |
18 | 20 |
|
19 | | -DelegatedModuleFactoryPlugin.prototype.apply = function(normalModuleFactory) { |
20 | | - var scope = this.options.scope; |
21 | | - if(scope) { |
22 | | - normalModuleFactory.plugin("factory", function(factory) { |
23 | | - return function(data, callback) { |
24 | | - var dependency = data.dependencies[0]; |
25 | | - var request = dependency.request; |
| 21 | + apply(normalModuleFactory) { |
| 22 | + const scope = this.options.scope; |
| 23 | + if(scope) { |
| 24 | + normalModuleFactory.plugin("factory", factory => (data, callback) => { |
| 25 | + const dependency = data.dependencies[0]; |
| 26 | + const request = dependency.request; |
26 | 27 | if(request && request.indexOf(scope + "/") === 0) { |
27 | | - var innerRequest = "." + request.substr(scope.length); |
28 | | - var resolved; |
| 28 | + const innerRequest = "." + request.substr(scope.length); |
| 29 | + let resolved; |
29 | 30 | if(innerRequest in this.options.content) { |
30 | 31 | resolved = this.options.content[innerRequest]; |
31 | 32 | return callback(null, new DelegatedModule(this.options.source, resolved, this.options.type, innerRequest)); |
32 | 33 | } |
33 | | - for(var i = 0; i < this.options.extensions.length; i++) { |
34 | | - var requestPlusExt = innerRequest + this.options.extensions[i]; |
| 34 | + for(let i = 0; i < this.options.extensions.length; i++) { |
| 35 | + const requestPlusExt = innerRequest + this.options.extensions[i]; |
35 | 36 | if(requestPlusExt in this.options.content) { |
36 | 37 | resolved = this.options.content[requestPlusExt]; |
37 | 38 | return callback(null, new DelegatedModule(this.options.source, resolved, this.options.type, requestPlusExt)); |
38 | 39 | } |
39 | 40 | } |
40 | 41 | } |
41 | 42 | return factory(data, callback); |
42 | | - }.bind(this); |
43 | | - }.bind(this)); |
44 | | - } else { |
45 | | - normalModuleFactory.plugin("module", function(module) { |
46 | | - if(module.libIdent) { |
47 | | - var request = module.libIdent(this.options); |
48 | | - if(request && request in this.options.content) { |
49 | | - var resolved = this.options.content[request]; |
50 | | - return new DelegatedModule(this.options.source, resolved, this.options.type, request); |
| 43 | + }); |
| 44 | + } else { |
| 45 | + normalModuleFactory.plugin("module", module => { |
| 46 | + if(module.libIdent) { |
| 47 | + const request = module.libIdent(this.options); |
| 48 | + if(request && request in this.options.content) { |
| 49 | + const resolved = this.options.content[request]; |
| 50 | + return new DelegatedModule(this.options.source, resolved, this.options.type, request); |
| 51 | + } |
51 | 52 | } |
52 | | - } |
53 | | - return module; |
54 | | - }.bind(this)); |
| 53 | + return module; |
| 54 | + }); |
| 55 | + } |
55 | 56 | } |
56 | | -}; |
| 57 | +} |
| 58 | +module.exports = DelegatedModuleFactoryPlugin; |
0 commit comments