(client: WebSocket, timeout: number)
| 4 | import { getMessageType } from './message.js'; |
| 5 | |
| 6 | export const waitForAnyMessage = (client: WebSocket, timeout: number): Promise<Record<string, any>> => { |
| 7 | return new Promise((resolve, reject) => { |
| 8 | client.on('message', awaitMessage); |
| 9 | |
| 10 | const timer = setTimeout(() => { |
| 11 | client.off('message', awaitMessage); |
| 12 | reject(); |
| 13 | }, timeout); |
| 14 | |
| 15 | function awaitMessage(event: RawData) { |
| 16 | try { |
| 17 | clearTimeout(timer); |
| 18 | client.off('message', awaitMessage); |
| 19 | resolve(parseJSON(event.toString())); |
| 20 | } catch (err) { |
| 21 | reject(err); |
| 22 | } |
| 23 | } |
| 24 | }); |
| 25 | }; |
| 26 | |
| 27 | export const waitForMessageType = (client: WebSocket, type: string, timeout: number): Promise<WebSocketMessage> => { |
| 28 | return new Promise((resolve, reject) => { |
no test coverage detected