UNPKG

partysync

Version:

Experimental library to synchronize state between a Durable Object and client. See [design discussion](https://github.com/cloudflare/partykit/issues/147).

52 lines (50 loc) 1.26 kB
import { SyncServer } from "../server/index.js"; import { RPCClient } from "partyfn"; //#region src/agent/index.d.ts declare class Agent< Env extends Cloudflare.Env = Cloudflare.Env, Channels extends { [Channel: string]: { record: unknown[]; action: { type: string; payload: unknown; }; }; } = Record< string, { record: unknown[]; action: { type: string; payload: unknown; }; } > > extends SyncServer<Env, Channels> { ws: WebSocket | null; state: Record<string, Channels[keyof Channels]["record"][]>; rpc: Record< string, RPCClient< Channels[keyof Channels]["action"], Channels[keyof Channels]["record"][] > >; constructor(state: DurableObjectState, env: Env); onAction( _channel: keyof Channels, action: Channels[keyof Channels]["action"] ): | Channels[keyof Channels]["record"][] | Promise<Channels[keyof Channels]["record"][]>; connect(namespace: string, room: string): Promise<void>; sync(channel: string): Promise<void>; sendAction( channel: keyof Channels, action: Channels[keyof Channels]["action"] ): Promise<void>; } //#endregion export { Agent }; //# sourceMappingURL=index.d.ts.map