zeno-db
Version:
A lightweight, offline-first client-side database with automatic sync capabilities
29 lines (28 loc) • 909 B
TypeScript
import { SyncAdapter, Change } from '../types';
export declare class WebSocketSync implements SyncAdapter {
private ws;
private url;
private onReceiveCallback?;
private onConnectedCallback?;
private onDisconnectedCallback?;
private reconnectAttempts;
private maxReconnectAttempts;
private reconnectTimeout;
private pendingChanges;
private isConnected;
private reconnectTimer;
private networkCheckInterval;
constructor(config: {
url: string;
});
private setupNetworkCheck;
connect(): Promise<void>;
private processPendingChanges;
send(change: Change): Promise<boolean>;
onConnected(callback: () => void): void;
onDisconnected(callback: () => void): void;
onReceive(callback: (change: Change) => void): void;
close(): Promise<void>;
disconnect(): Promise<void>;
sendChange(change: Change): Promise<void>;
}