diff options
Diffstat (limited to 'alarm/node_modules/@tootallnate/once/dist/index.js')
-rw-r--r-- | alarm/node_modules/@tootallnate/once/dist/index.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/alarm/node_modules/@tootallnate/once/dist/index.js b/alarm/node_modules/@tootallnate/once/dist/index.js new file mode 100644 index 0000000..bfd0dc8 --- /dev/null +++ b/alarm/node_modules/@tootallnate/once/dist/index.js @@ -0,0 +1,39 @@ +"use strict"; +function noop() { } +function once(emitter, name) { + const o = once.spread(emitter, name); + const r = o.then((args) => args[0]); + r.cancel = o.cancel; + return r; +} +(function (once) { + function spread(emitter, name) { + let c = null; + const p = new Promise((resolve, reject) => { + function cancel() { + emitter.removeListener(name, onEvent); + emitter.removeListener('error', onError); + p.cancel = noop; + } + function onEvent(...args) { + cancel(); + resolve(args); + } + function onError(err) { + cancel(); + reject(err); + } + c = cancel; + emitter.on(name, onEvent); + emitter.on('error', onError); + }); + if (!c) { + throw new TypeError('Could not get `cancel()` function'); + } + p.cancel = c; + return p; + } + once.spread = spread; +})(once || (once = {})); +module.exports = once; +//# sourceMappingURL=index.js.map
\ No newline at end of file |