| 31 | } |
| 32 | |
| 33 | async function recordUntil(emitter, trackedEvents, lastEvent) { |
| 34 | const recordedEvents = []; |
| 35 | |
| 36 | const done = helpers.waitOn(emitter, lastEvent); |
| 37 | for (const event of trackedEvents) { |
| 38 | const handler = (...values) => { |
| 39 | recordedEvents.push([event, ...values]); |
| 40 | }; |
| 41 | emitter.on(event, handler); |
| 42 | done.then(() => emitter.removeListener(event, handler)); |
| 43 | } |
| 44 | |
| 45 | await done; |
| 46 | return recordedEvents; |
| 47 | } |
| 48 | |
| 49 | async function delKeys(client, pattern) { |
| 50 | const keys = await helpers.callAsync((done) => client.keys(pattern, done)); |