UNPKG

delta-sync

Version:

A lightweight framework for bi-directional database synchronization with automatic version tracking and conflict resolution.

37 lines (36 loc) 1.35 kB
import { ICoordinator, DatabaseAdapter, SyncView, DataChangeSet, SyncViewItem, SyncQueryOptions, SyncQueryResult } from './types'; export declare class Coordinator implements ICoordinator { syncView: SyncView; adapter: DatabaseAdapter; private readonly TOMBSTONE_STORE; private readonly TOMBSTONE_RETENTION; private initialized; constructor(adapter: DatabaseAdapter); initSync(): Promise<void>; private ensureInitialized; disposeSync(): Promise<void>; getCurrentView(): Promise<SyncView>; readAll<T extends { id: string; }>(storeName: string): Promise<T[]>; readBulk<T extends { id: string; }>(storeName: string, ids: string[]): Promise<T[]>; putBulk<T extends { id: string; }>(storeName: string, items: T[]): Promise<T[]>; extractChanges<T extends { id: string; }>(items: SyncViewItem[]): Promise<DataChangeSet>; applyChanges<T extends { id: string; }>(changeSet: DataChangeSet): Promise<void>; deleteBulk(storeName: string, ids: string[]): Promise<void>; getAdapter(): Promise<DatabaseAdapter>; rebuildSyncView(): Promise<void>; query<T extends { id: string; }>(storeName: string, options?: SyncQueryOptions): Promise<SyncQueryResult<T>>; private clearOldTombstones; private addTombstones; }