delta-sync
Version:
A lightweight framework for bi-directional database synchronization with automatic version tracking and conflict resolution.
36 lines (35 loc) • 1.26 kB
TypeScript
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(fileId: string): Promise<Blob | ArrayBuffer>;
saveFile(content: Blob | ArrayBuffer | string, fileId: string): Promise<Attachment>;
deleteFile(fileId: string): Promise<void>;
private ensureFileStore;
close(): Promise<void>;
deleteDatabase(): Promise<void>;
}
export {};