@mininjin/y-durable-objects
Version:
Cloudflare Workers Durable Objects for Yjs
22 lines (21 loc) • 1.03 kB
TypeScript
import { DurableObject } from "cloudflare:workers";
import { WSSharedDoc } from "./ws-shared-doc";
import { YDurableObjectPersistence, YDurableObjectPersistenceOptions } from "./persistence";
export type YDurableObjectOptions = YDurableObjectPersistenceOptions;
export declare class YDurableObject<T = any> extends DurableObject<T> {
readonly ctx: DurableObjectState;
readonly env: T;
readonly doc: WSSharedDoc<WebSocket>;
readonly persistence: YDurableObjectPersistence;
constructor(ctx: DurableObjectState, env: T, options?: YDurableObjectOptions);
fetch(_request: Request): Promise<Response>;
webSocketMessage(ws: WebSocket, message: string | ArrayBuffer): Promise<void>;
webSocketError(ws: WebSocket): Promise<void>;
webSocketClose(ws: WebSocket): Promise<void>;
getYDoc(): Promise<import("yjs").Doc>;
onYDocUpdate(): void | Promise<void>;
onAwarenessUpdate(): void | Promise<void>;
private connect;
private disconnect;
}
export { YDurableObjectPersistence, WSSharedDoc };