MCPcopy
hub / github.com/directus/directus / waitForAnyMessage

Function waitForAnyMessage

api/src/websocket/utils/wait-for-message.ts:6–25  ·  view source on GitHub ↗
(client: WebSocket, timeout: number)

Source from the content-addressed store, hash-verified

4import { getMessageType } from './message.js';
5
6export 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
27export const waitForMessageType = (client: WebSocket, type: string, timeout: number): Promise<WebSocketMessage> => {
28 return new Promise((resolve, reject) => {

Callers 2

handleHandshakeUpgradeFunction · 0.85

Calls 2

onMethod · 0.80
offMethod · 0.80

Tested by

no test coverage detected