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
TypeScript
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;
}