aboutsummaryrefslogtreecommitdiff
path: root/node_modules/onetime/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/onetime/index.js')
-rw-r--r--node_modules/onetime/index.js44
1 files changed, 0 insertions, 44 deletions
diff --git a/node_modules/onetime/index.js b/node_modules/onetime/index.js
deleted file mode 100644
index 99c5fc1..0000000
--- a/node_modules/onetime/index.js
+++ /dev/null
@@ -1,44 +0,0 @@
-'use strict';
-const mimicFn = require('mimic-fn');
-
-const calledFunctions = new WeakMap();
-
-const onetime = (function_, options = {}) => {
- if (typeof function_ !== 'function') {
- throw new TypeError('Expected a function');
- }
-
- let returnValue;
- let callCount = 0;
- const functionName = function_.displayName || function_.name || '<anonymous>';
-
- const onetime = function (...arguments_) {
- calledFunctions.set(onetime, ++callCount);
-
- if (callCount === 1) {
- returnValue = function_.apply(this, arguments_);
- function_ = null;
- } else if (options.throw === true) {
- throw new Error(`Function \`${functionName}\` can only be called once`);
- }
-
- return returnValue;
- };
-
- mimicFn(onetime, function_);
- calledFunctions.set(onetime, callCount);
-
- return onetime;
-};
-
-module.exports = onetime;
-// TODO: Remove this for the next major release
-module.exports.default = onetime;
-
-module.exports.callCount = function_ => {
- if (!calledFunctions.has(function_)) {
- throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
- }
-
- return calledFunctions.get(function_);
-};