diff options
author | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
commit | bbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch) | |
tree | c58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/lazy-cache/index.js | |
parent | 003fb34971cf63466184351b4db5f7c67df4f444 (diff) |
update packages
Diffstat (limited to 'node_modules/lazy-cache/index.js')
-rw-r--r-- | node_modules/lazy-cache/index.js | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/node_modules/lazy-cache/index.js b/node_modules/lazy-cache/index.js deleted file mode 100644 index 751fcbb5c..000000000 --- a/node_modules/lazy-cache/index.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -var set = require('set-getter'); - -/** - * Cache results of the first function call to ensure only calling once. - * - * ```js - * var utils = require('lazy-cache')(require); - * // cache the call to `require('ansi-yellow')` - * utils('ansi-yellow', 'yellow'); - * // use `ansi-yellow` - * console.log(utils.yellow('this is yellow')); - * ``` - * - * @param {Function} `fn` Function that will be called only once. - * @return {Function} Function that can be called to get the cached function - * @api public - */ - -function lazyCache(requireFn) { - var cache = {}; - - return function proxy(name, alias) { - var key = alias; - - // camel-case the module `name` if `alias` is not defined - if (typeof key !== 'string') { - key = camelcase(name); - } - - // create a getter to lazily invoke the module the first time it's called - function getter() { - return cache[key] || (cache[key] = requireFn(name)); - } - - // trip the getter if `process.env.UNLAZY` is defined - if (unlazy(process.env)) { - getter(); - } - - set(proxy, key, getter); - return getter; - }; -} - -/** - * Return true if `process.env.LAZY` is true, or travis is running. - */ - -function unlazy(env) { - return env.UNLAZY === 'true' || env.UNLAZY === true || env.TRAVIS; -} - -/** - * Camelcase the the given module `name`. - */ - -function camelcase(str) { - if (str.length === 1) { - return str.toLowerCase(); - } - str = str.replace(/^[\W_]+|[\W_]+$/g, '').toLowerCase(); - return str.replace(/[\W_]+(\w|$)/g, function(_, ch) { - return ch.toUpperCase(); - }); -} - -/** - * Expose `lazyCache` - */ - -module.exports = lazyCache; |