UNPKG

delta-sync

Version:

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

46 lines (45 loc) 1.51 kB
import { DatabaseAdapter, Attachment, BaseModel } from '../core/types'; interface IndexedDBAdapterOptions { dbName?: string; fileStoreName?: string; } export declare class IndexedDBAdapter implements DatabaseAdapter { private db; private dbName; private initPromise; private stores; private fileStoreName; constructor(options?: IndexedDBAdapterOptions); isAvailable(): Promise<boolean>; initSync(): Promise<void>; private ensureStore; read<T extends BaseModel>(storeName: string, options?: { limit?: number; offset?: number; since?: number; }): 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<void>; readFile(fileUrl: string): Promise<{ content: Blob | ArrayBuffer; metadata: Attachment; }>; readFileMeta(fileUrl: string): Promise<{ metadata: Attachment; }>; saveFile(fileData: { content: Blob | ArrayBuffer | string; metadata: Omit<Attachment, 'id' | 'createdAt' | 'updatedAt'>; }): Promise<Attachment>; deleteFile(fileId: string): Promise<void>; private ensureFileStore; private extractFileId; close(): Promise<void>; deleteDatabase(): Promise<void>; } export {};