UNPKG

delta-sync

Version:

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

39 lines (38 loc) 1.46 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>; 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>>; applyChanges<T extends { id: string; }>(changeSet: DataChangeSet): Promise<void>; count(storeName: string, includeDeleted?: boolean): Promise<number>; private removeRelatedTombstones; private clearOldTombstones; private addTombstones; }