UNPKG

delta-sync

Version:

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

34 lines (33 loc) 1.26 kB
import { ICoordinator, DatabaseAdapter, SyncView, DataChangeSet, SyncViewItem, SyncQueryOptions, SyncQueryResult } from './types'; export declare class Coordinator implements ICoordinator { syncView: SyncView; adapter: DatabaseAdapter; private readonly SYNC_VIEW_STORE; private readonly SYNC_VIEW_KEY; private initialized; constructor(adapter: DatabaseAdapter); initSync(): Promise<void>; private ensureInitialized; disposeSync(): Promise<void>; getCurrentView(): Promise<SyncView>; 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[], _ver?: number): Promise<void>; getAdapter(): Promise<DatabaseAdapter>; private rebuildSyncView; refreshView(): Promise<void>; query<T extends { id: string; }>(storeName: string, options?: SyncQueryOptions): Promise<SyncQueryResult<T>>; private persistView; }