return new Promise<any>((resolve, reject) => { emitter.once(event, (value: any) => { resolve(value); }); emitter.once('error', (err: Error) => { reject(err); }); });
dummySocket.once('testing', data => { assert.deepStrictEqual(data, data1); dummySocket.once('testing', result => { assert.deepStrictEqual(result, data2); done(); }); });
this.getSharedState().then(sharedState => { let isUnlocked = !sharedState.isLocked && sharedState.didInit if (isUnlocked) { fn() } else { this.events.once(STATE_UPDATED_EVENT, tryCall) } })
it('dispatches a basic event', done => { dummySocket.once('testing', data => { assert.strictEqual(data, 'hi'); done(); }); dispatcher('testing', dummyChannel, dummyHook); });
it('dispatches event on a hooks path event', done => { dummyHook.path = 'myservice'; dummySocket.once('myservice testing', data => { assert.strictEqual(data, 'hi'); done(); }); dispatcher('testing', dummyChannel, dummyHook); });
const tryResolve = () => { if (resolved) { return } if (this._events.length >= count) { resolved = true resolve() return } this._monitor.once('event', tryResolve) }
it('dispatches `hook.dispatch` instead', done => { const message = 'hi from dispatch'; dummyHook.dispatch = message; dummySocket.once('testing', data => { assert.strictEqual(data, message); done(); }); dispatcher('testing', dummyChannel, dummyHook); });
function wait(cb: Function): void { function fail() : void { obj.removeListener(event, handler); cb("timeout"); } const timer = setTimeout(fail, timeout_ms); function handler(...args): void { clearTimeout(timer); val = args; cb(); } obj.once(event, handler); }
it('dispatches arrays properly for custom events', done => { const result = [ { message: 'First' }, { message: 'Second' } ]; dummyHook.result = result; dummySocket.once('otherEvent', data => { assert.deepStrictEqual(data, result); done(); }); dispatcher('otherEvent', dummyChannel, dummyHook, result); });
it('dispatches arrays properly hook events', done => { const data1 = { message: 'First message' }; const data2 = { message: 'Second message' }; dummyHook.result = [ data1, data2 ]; dummySocket.once('testing', data => { assert.deepStrictEqual(data, data1); dummySocket.once('testing', result => { assert.deepStrictEqual(result, data2); done(); }); }); dispatcher('testing', dummyChannel, dummyHook, data1); dispatcher('testing', dummyChannel, dummyHook, data2); });