Skip to content

Commit 4b4c139

Browse files
committed
add timeout support to sendWithAck
1 parent 36fea7d commit 4b4c139

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

packages/core/src/v3/zodSocket.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,8 @@ export class ZodSocketMessageSender<TMessageCatalog extends ZodSocketMessageCata
293293

294294
public async sendWithAck<K extends GetSocketMessagesWithCallback<TMessageCatalog>>(
295295
type: K,
296-
payload: z.input<GetSocketMessageSchema<TMessageCatalog, K>>
296+
payload: z.input<GetSocketMessageSchema<TMessageCatalog, K>>,
297+
timeout?: number
297298
): Promise<z.infer<GetSocketCallbackSchema<TMessageCatalog, K>>> {
298299
const schema = this.#schema[type]?.["message"];
299300

@@ -307,8 +308,10 @@ export class ZodSocketMessageSender<TMessageCatalog extends ZodSocketMessageCata
307308
throw new Error(`Failed to parse message payload: ${JSON.stringify(parsedPayload.error)}`);
308309
}
309310

311+
const socket = timeout ? this.#socket.timeout(timeout) : this.#socket;
312+
310313
// @ts-expect-error
311-
const callbackResult = await this.#socket.emitWithAck(type, { payload, version: "v1" });
314+
const callbackResult = await socket.emitWithAck(type, { payload, version: "v1" });
312315

313316
return callbackResult;
314317
}

0 commit comments

Comments
 (0)