UNPKG

syncflow-engine

Version:

A flexible and robust data synchronization library for JavaScript applications

33 lines (32 loc) 1.41 kB
import { SyncStatus, SyncConfig, SyncEventType, SyncEventCallback, Entity, EntityType, SyncOperation } from "../types"; import { ISyncStore } from "./SyncStore"; import { ISyncEngine } from "../types/index"; export declare class SyncEngine implements ISyncEngine { private readonly store; private readonly config; private status; private readonly listeners; private readonly entityListeners; private syncInterval; private readonly entities; private isOffline; constructor(store: ISyncStore, config?: SyncConfig, entityTypes?: EntityType[]); init(): Promise<void>; start(): Promise<void>; stop(): Promise<void>; sync(): Promise<void>; private cleanupCompletedOperations; removePendingOperations(): Promise<SyncOperation[]>; getStatus(): SyncStatus; addListener(event: SyncEventType, callback: SyncEventCallback): void; removeListener(event: SyncEventType, callback: SyncEventCallback): void; private setStatus; private emit; getEntities(entityType: EntityType): Promise<Entity[]>; getEntityTypes(): EntityType[]; addEntityListener(entityType: EntityType, callback: (entities: Entity[]) => void): void; removeEntityListener(entityType: EntityType, callback: (entities: Entity[]) => void): void; private processOperation; private handleOperationError; getPendingOperations(): Promise<SyncOperation[]>; }