UNPKG

json-crdt-server

Version:

JSON CRDT server and syncing local-first browser client

18 lines (17 loc) 617 B
import { Observable } from 'rxjs'; import type { TPresenceEntry } from '../routes/presence/schema'; export type PresenceRoom = Map<string, TPresenceEntry>; export declare class PresenceService { private readonly rooms; private readonly observers; update(roomId: string, entryId: string, ttl: number, data: unknown): Promise<TPresenceEntry>; remove(roomId: string, entryId: string): Promise<void>; listen$(roomId: string): Observable<TPresenceEntry[]>; private getRoom; private cleanUpRoom; stats(): { rooms: number; entries: number; observers: number; }; }