UNPKG

delta-sync

Version:

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

41 lines (40 loc) 1.52 kB
import { DatabaseAdapter, Attachment, BaseModel, FileItem, QueryOptions } from '../core/types'; interface IndexedDBAdapterOptions { dbName?: string; fileStoreName?: string; } export declare class IndexedDBAdapter implements DatabaseAdapter { private readonly LOCAL_CHANGES_STORE; private readonly ATTACHMENT_CHANGES_STORE; private readonly META_STORE; private readonly FILES_STORE; private db; private dbName; private initPromise; private stores; constructor(options?: IndexedDBAdapterOptions); isAvailable(): Promise<boolean>; initSync(): Promise<void>; private getCurrentDatabaseVersion; private setupDbConnection; private createRequiredStores; private ensureStore; readByVersion<T extends BaseModel>(storeName: string, options: QueryOptions): Promise<{ items: T[]; hasMore: boolean; }>; readBulk<T extends BaseModel>(storeName: string, ids: string[]): Promise<T[]>; putBulk<T extends BaseModel>(storeName: string, items: T[]): Promise<T[]>; deleteBulk(storeName: string, ids: string[]): Promise<void>; clearStore(storeName: string): Promise<boolean>; readFiles(fileIds: string[]): Promise<Map<string, Blob | ArrayBuffer | null>>; saveFiles(files: FileItem[]): Promise<Attachment[]>; deleteFiles(fileIds: string[]): Promise<{ deleted: string[]; failed: string[]; }>; private ensureFileStore; close(): Promise<void>; deleteDatabase(): Promise<void>; } export {};