/** * Act helpers: convenient wrappers for common test patterns. * Optional utilities to reduce test boilerplate. * * Note: These are just thin wrappers around TestConnection.send(). * No magic here—validation and dispatch happen normally. */ import type { ConnectionData } from "../context/base-context.js"; import type { MessageDescriptor } from "../protocol/message-descriptor.js"; import type { TestConnection } from "./types.js"; /** * Act helpers for cleaner test code. * * Example: * ```ts * const conn = tr.connect(); * await act.emit(conn, Join, { roomId: "42" }); * expect(conn.outgoing()).toContainEqual(...); * ``` */ export declare const act: { /** * Emit an event message (kind === "event"). * Throws if schema kind is not "event". */ emit(conn: TestConnection, schema: MessageDescriptor, payload?: unknown, meta?: Record): void; /** * Call an RPC method (kind === "rpc"). * Throws if schema kind is not "rpc". * * Returns: * - result: Promise that resolves with the terminal RPC response * - progress: AsyncIterable of progress updates * * Example: * ```ts * const { result, progress } = act.call(conn, GetUser, { id: "u1" }); * * for await (const chunk of progress) { * console.log("Progress:", chunk); * } * * const user = await result; * console.log("User:", user); * ``` */ call(conn: TestConnection, schema: MessageDescriptor & { response?: MessageDescriptor; }, payload?: unknown, meta?: Record): { progress: AsyncIterable; result: Promise; }; }; //# sourceMappingURL=act.d.ts.map