Path: blob/master/node_modules/@tootallnate/once/dist/index.js
1126 views
"use strict";1function noop() { }2function once(emitter, name) {3const o = once.spread(emitter, name);4const r = o.then((args) => args[0]);5r.cancel = o.cancel;6return r;7}8(function (once) {9function spread(emitter, name) {10let c = null;11const p = new Promise((resolve, reject) => {12function cancel() {13emitter.removeListener(name, onEvent);14emitter.removeListener('error', onError);15p.cancel = noop;16}17function onEvent(...args) {18cancel();19resolve(args);20}21function onError(err) {22cancel();23reject(err);24}25c = cancel;26emitter.on(name, onEvent);27emitter.on('error', onError);28});29if (!c) {30throw new TypeError('Could not get `cancel()` function');31}32p.cancel = c;33return p;34}35once.spread = spread;36})(once || (once = {}));37module.exports = once;38//# sourceMappingURL=index.js.map3940