UNPKG

@worldbrain/storex-sync

Version:

Offline-first syncing between multiple databases using Storex

47 lines (46 loc) 1.8 kB
import { StorageRegistry } from "@worldbrain/storex"; import { ClientSyncLogCreationEntry, ClientSyncLogDeletionEntry, ClientSyncLogModificationEntry } from "../client-sync-log/types"; import { ReconcilerFunction } from "./types"; declare type CollectionModifications = { [pk: string]: ObjectModifications; }; interface ObjectModifications { shouldBeCreated: boolean; createdOn?: number; isDeleted: boolean; shouldBeDeleted: boolean; fields: { [field: string]: FieldModification; }; } declare type FieldModification = { createdOn: number; syncedOn?: number; value: any; }; export declare const reconcileSyncLog: ReconcilerFunction; export declare function _processCreationEntry({ objectModifications, logEntry, collectionModifications, pkAsJson }: { objectModifications: ObjectModifications; logEntry: ClientSyncLogCreationEntry; collectionModifications: CollectionModifications; pkAsJson: any; }): void; export declare function _processDeletionEntry({ objectModifications, logEntry, collectionModifications, pkAsJson }: { objectModifications: ObjectModifications; logEntry: ClientSyncLogDeletionEntry; collectionModifications: CollectionModifications; pkAsJson: any; }): void; export declare function _processModificationEntry({ objectModifications, logEntry, collectionModifications, pkAsJson }: { objectModifications: ObjectModifications; logEntry: ClientSyncLogModificationEntry; collectionModifications: CollectionModifications; pkAsJson: any; }): void; export declare function _processModifications({ objectModifications, collection, pk, storageRegistry }: { objectModifications: ObjectModifications; collection: string; pk: any; storageRegistry: StorageRegistry; }): any[]; export {};