Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 36x 36x 16x 16x 16x 36x 8x 8x 36x 8x | import { Consumer, events, Message } from 'redis-smq'; export async function consumerOnEvent<T extends Array<any>>( consumer: Consumer, event: string, ) { return new Promise<T>((resolve) => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore consumer.once(event, (...args: T) => { resolve(args); }); }); } export async function untilMessageAcknowledged( consumer: Consumer, msg?: Message, ): Promise<void> { const [message] = await consumerOnEvent<[Message]>( consumer, events.MESSAGE_ACKNOWLEDGED, ); Iif (msg && msg.getRequiredId() !== message.getRequiredId()) { await untilMessageAcknowledged(consumer, msg); } } export async function untilConsumerEvent( consumer: Consumer, event: string, ): Promise<unknown[]> { return consumerOnEvent(consumer, event); } |