diff options
Diffstat (limited to 'node_modules/onetime/index.js')
-rw-r--r-- | node_modules/onetime/index.js | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/node_modules/onetime/index.js b/node_modules/onetime/index.js deleted file mode 100644 index 0d76476b0..000000000 --- a/node_modules/onetime/index.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; -const mimicFn = require('mimic-fn'); - -module.exports = (fn, opts) => { - // TODO: Remove this in v3 - if (opts === true) { - throw new TypeError('The second argument is now an options object'); - } - - if (typeof fn !== 'function') { - throw new TypeError('Expected a function'); - } - - opts = opts || {}; - - let ret; - let called = false; - const fnName = fn.displayName || fn.name || '<anonymous>'; - - const onetime = function () { - if (called) { - if (opts.throw === true) { - throw new Error(`Function \`${fnName}\` can only be called once`); - } - - return ret; - } - - called = true; - ret = fn.apply(this, arguments); - fn = null; - - return ret; - }; - - mimicFn(onetime, fn); - - return onetime; -}; |