diff options
author | Kat Marchán <kzm@sykosomatic.org> | 2016-09-22 07:59:37 -0700 |
---|---|---|
committer | Jeremiah Senkpiel <fishrock123@rocketmail.com> | 2016-09-27 16:39:27 -0400 |
commit | d44a9eb11b34900b44a9d135a2c965346fff702e (patch) | |
tree | a8d074826fb51641f5a7f24978e5e632b958ca84 /deps/npm/node_modules/once/once.js | |
parent | 33aa953f918f624a44e538baf2a3ee41570ac303 (diff) | |
download | android-node-v8-d44a9eb11b34900b44a9d135a2c965346fff702e.tar.gz android-node-v8-d44a9eb11b34900b44a9d135a2c965346fff702e.tar.bz2 android-node-v8-d44a9eb11b34900b44a9d135a2c965346fff702e.zip |
deps: upgrade npm to 3.10.8
PR-URL: https://github.com/nodejs/node/pull/8706
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'deps/npm/node_modules/once/once.js')
-rw-r--r-- | deps/npm/node_modules/once/once.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/deps/npm/node_modules/once/once.js b/deps/npm/node_modules/once/once.js index 2e1e721bfe..235406736d 100644 --- a/deps/npm/node_modules/once/once.js +++ b/deps/npm/node_modules/once/once.js @@ -1,5 +1,6 @@ var wrappy = require('wrappy') module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) once.proto = once(function () { Object.defineProperty(Function.prototype, 'once', { @@ -8,6 +9,13 @@ once.proto = once(function () { }, configurable: true }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) }) function once (fn) { @@ -19,3 +27,16 @@ function once (fn) { f.called = false return f } + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} |