UNPKG

delta-sync

Version:

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

43 lines (42 loc) 1.67 kB
import { ISyncEngine, DatabaseAdapter, SyncOptions, SyncResult, SyncQueryOptions, SyncQueryResult } from './types'; import { Coordinator } from './Coordinator'; export declare class SyncEngine implements ISyncEngine { private localCoordinator; private cloudCoordinator?; private options; private syncStatus; private isInitialized; private pullTimer?; private pushDebounceTimer?; constructor(localAdapter: DatabaseAdapter, options?: SyncOptions); private mergeDefaultOptions; initialize(): Promise<void>; private ensureInitialized; setCloudAdapter(cloudAdapter: DatabaseAdapter): Promise<void>; save<T extends { id: string; }>(storeName: string, data: T | T[]): Promise<T[]>; delete(storeName: string, ids: string | string[]): Promise<void>; sync(): Promise<SyncResult>; pull(): Promise<SyncResult>; push(): Promise<SyncResult>; query<T extends { id: string; }>(storeName: string, options?: SyncQueryOptions): Promise<SyncQueryResult<T>>; enableAutoSync(pullInterval?: number): void; disableAutoSync(): void; private executePullTask; private handleDataChange; private canTriggerSync; updateSyncOptions(options: Partial<SyncOptions>): SyncOptions; clearCloudStores(stores: string | string[]): Promise<void>; clearLocalStores(stores: string | string[]): Promise<void>; getlocalCoordinator(): Coordinator; getlocalAdapter(): DatabaseAdapter; getCloudAdapter(): DatabaseAdapter | undefined; dispose(): void; disconnectCloud(): void; private checkPullAvailable; private checkPushAvailable; private updateStatus; }