Download node_modules/onetime/index.js from Snapkitty/sovereign-apollo: direct link, hf CLI and curl.
- Browser
- Download file 1.06 kB
-
https://huggingface.co/Snapkitty/sovereign-apollo/resolve/main/node_modules/onetime/index.js
- Command line
-
hf download hf://Snapkitty/sovereign-apollo/node_modules/onetime/index.js
-
curl -L -o index.js https://huggingface.co/Snapkitty/sovereign-apollo/resolve/main/node_modules/onetime/index.js
1.06 kB
| import mimicFunction from '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; | |
| }; | |
| mimicFunction(onetime, function_); | |
| calledFunctions.set(onetime, callCount); | |
| return onetime; | |
| }; | |
| onetime.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_); | |
| }; | |
| export default onetime; | |