diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:01:11 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:02:09 +0200 |
commit | 363723fc84f7b8477592e0105aeb331ec9a017af (patch) | |
tree | 29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/lazy-req/index.js | |
parent | 5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff) |
node_modules
Diffstat (limited to 'node_modules/lazy-req/index.js')
-rw-r--r-- | node_modules/lazy-req/index.js | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/node_modules/lazy-req/index.js b/node_modules/lazy-req/index.js deleted file mode 100644 index 307f08f39..000000000 --- a/node_modules/lazy-req/index.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; -const lazy = (mod, fn, id) => mod === undefined ? fn(id) : mod; - -module.exports = fn => { - return id => { - let mod; - - return function () { - if (arguments.length === 0) { - mod = lazy(mod, fn, id); - return mod; - } - - const ret = {}; - - [].forEach.call(arguments, prop => { - Object.defineProperty(ret, prop, { - get: () => { - mod = lazy(mod, fn, id); - if (typeof mod[prop] === 'function') { - return function () { - return mod[prop].apply(mod, arguments); - }; - } - - return mod[prop]; - } - }); - }); - - return ret; - }; - }; -}; - -module.exports.proxy = fn => { - return id => { - let mod; - - const handler = { - get: (target, property) => { - mod = lazy(mod, fn, id); - return Reflect.get(mod, property); - }, - apply: (target, thisArg, argumentsList) => { - mod = lazy(mod, fn, id); - return Reflect.apply(mod, thisArg, argumentsList); - } - }; - - return new Proxy(() => {}, handler); - }; -}; |