Skip to content

Commit e15044f

Browse files
authored
Merge pull request webpack#4344 from sendilkumarn/refactor-7
Refactor(ES6): DelegatedModuleFactoryPlugin
2 parents 23a2a15 + 84d1f66 commit e15044f

1 file changed

Lines changed: 33 additions & 31 deletions

File tree

lib/DelegatedModuleFactoryPlugin.js

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,57 @@
22
MIT License http://www.opensource.org/licenses/mit-license.php
33
Author Tobias Koppers @sokra
44
*/
5-
var DelegatedModule = require("./DelegatedModule");
5+
"use strict";
6+
7+
const DelegatedModule = require("./DelegatedModule");
68

79
// options.source
810
// options.type
911
// options.context
1012
// options.scope
1113
// 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+
}
1820

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;
2627
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;
2930
if(innerRequest in this.options.content) {
3031
resolved = this.options.content[innerRequest];
3132
return callback(null, new DelegatedModule(this.options.source, resolved, this.options.type, innerRequest));
3233
}
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];
3536
if(requestPlusExt in this.options.content) {
3637
resolved = this.options.content[requestPlusExt];
3738
return callback(null, new DelegatedModule(this.options.source, resolved, this.options.type, requestPlusExt));
3839
}
3940
}
4041
}
4142
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+
}
5152
}
52-
}
53-
return module;
54-
}.bind(this));
53+
return module;
54+
});
55+
}
5556
}
56-
};
57+
}
58+
module.exports = DelegatedModuleFactoryPlugin;

0 commit comments

Comments
 (0)