UNPKG

realtime-grid-client

Version:

A simple client library for a real-time, N-dimensional grid state engine with atomic coordination, concurrent claims, and WebSocket-based event streaming.

38 lines (37 loc) 943 B
export type Coord = number[]; export interface GridCell { coord: Coord; value: any; } export interface GridState { id: string; dimensions: number[]; defaultValue?: any; cells: GridCell[]; } export interface ClaimResult { success: boolean; error?: string; } export interface CellUpdateEvent { type: string; gridId: string; coord?: Coord; value?: any; [key: string]: any; } export interface GridClientOptions { baseUrl: string; gridId: string; userId?: string; } export interface GridClient { getInitialState(): Promise<GridState>; connect(): Promise<void>; disconnect(): void; isConnected(): boolean; claim(coord: Coord, value: any): Promise<ClaimResult>; release(coord: Coord): Promise<ClaimResult>; onCellUpdate(listener: (ev: CellUpdateEvent) => void): () => void; } export declare function createGridClient(options: GridClientOptions): GridClient;