aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/once/once.js
diff options
context:
space:
mode:
authorKat Marchán <kzm@sykosomatic.org>2016-09-22 07:59:37 -0700
committerJeremiah Senkpiel <fishrock123@rocketmail.com>2016-09-27 16:39:27 -0400
commitd44a9eb11b34900b44a9d135a2c965346fff702e (patch)
treea8d074826fb51641f5a7f24978e5e632b958ca84 /deps/npm/node_modules/once/once.js
parent33aa953f918f624a44e538baf2a3ee41570ac303 (diff)
downloadandroid-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.js21
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
+}