Galerie und tage
This commit is contained in:
36
node_modules/lazy-req/index.js
generated
vendored
Normal file
36
node_modules/lazy-req/index.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
module.exports = function (fn) {
|
||||
return function (id) {
|
||||
var mod;
|
||||
|
||||
return function () {
|
||||
if (!arguments.length) {
|
||||
mod = lazy(mod, fn, id);
|
||||
return mod;
|
||||
}
|
||||
|
||||
var ret = {};
|
||||
|
||||
[].forEach.call(arguments, function (prop) {
|
||||
Object.defineProperty(ret, prop, {
|
||||
get: function () {
|
||||
mod = lazy(mod, fn, id);
|
||||
if (typeof mod[prop] === 'function') {
|
||||
return function () {
|
||||
return mod[prop].apply(mod, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
return mod[prop];
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return ret;
|
||||
};
|
||||
};
|
||||
|
||||
function lazy(mod, fn, id) {
|
||||
return mod !== undefined ? mod : fn(id);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user