Files
jibo-cli/node_modules/once/once.js
pasketti bceda87f93 Replace deprecated electron-prebuilt with electron@2.0.18
- Updated package.json to use electron@2.0.18 instead of electron-prebuilt@1.4.3
- Modified lib/jibo-cli.js to reference 'electron' instead of 'electron-prebuilt'
- This fixes compatibility issues with the simulator on modern Linux systems
- electron-prebuilt was deprecated and renamed to electron in 2016
2026-04-05 22:47:03 -04:00

43 lines
935 B
JavaScript

var wrappy = require('wrappy')
module.exports = wrappy(once)
module.exports.strict = wrappy(onceStrict)
once.proto = once(function () {
Object.defineProperty(Function.prototype, 'once', {
value: function () {
return once(this)
},
configurable: true
})
Object.defineProperty(Function.prototype, 'onceStrict', {
value: function () {
return onceStrict(this)
},
configurable: true
})
})
function once (fn) {
var f = function () {
if (f.called) return f.value
f.called = true
return f.value = fn.apply(this, arguments)
}
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
}