zeno-db
Version:
A lightweight, offline-first client-side database with automatic sync capabilities
39 lines (38 loc) • 1.09 kB
TypeScript
import { SyncAdapter, Change } from '../types';
interface PostgresSyncConfig {
host: string;
port: number;
database: string;
user: string;
password: string;
tableName?: string;
pollInterval?: number;
clientId: string;
ssl?: boolean | {
rejectUnauthorized?: boolean;
};
}
export declare class PostgresSync implements SyncAdapter {
private pool;
private tableName;
private pollInterval;
private clientId;
private lastTimestamp;
private receiveCallback;
private pollTimer;
private onReceiveCallback?;
private onConnectedCallback?;
private onDisconnectedCallback?;
private isConnected;
constructor(config: PostgresSyncConfig);
connect(): Promise<void>;
onDisconnected(callback: () => void): void;
private startPolling;
send(change: Change): Promise<boolean>;
onReceive(callback: (change: Change) => void): void;
onConnected(callback: () => void): void;
close(): Promise<void>;
disconnect(): Promise<void>;
sendChange(change: Change): Promise<void>;
}
export {};