sveltekit-sync
Version:
Local-first sync engine for SvelteKit
28 lines (27 loc) • 1.17 kB
TypeScript
import type { ClientAdapter } from '../../lib/types';
import type { SyncOperation } from '../../lib/types';
export declare class IndexedDBAdapter implements ClientAdapter<IDBDatabase> {
private db;
private dbName;
private version;
constructor(dbName?: string, version?: number);
private ensureInitialized;
init(schema?: {
[table: string]: string;
}): Promise<void>;
private getStore;
insert(table: string, data: any): Promise<any>;
update(table: string, id: string, data: any): Promise<any>;
delete(table: string, id: string): Promise<void>;
find(table: string, query?: any): Promise<any[]>;
findOne(table: string, id: string): Promise<any | null>;
addToQueue(op: SyncOperation): Promise<void>;
getQueue(): Promise<SyncOperation[]>;
removeFromQueue(ids: string[]): Promise<void>;
updateQueueStatus(id: string, status: SyncOperation['status'], error?: string): Promise<void>;
getLastSync(): Promise<number>;
setLastSync(timestamp: number): Promise<void>;
getClientId(): Promise<string>;
isInitialized(): Promise<boolean>;
setInitialized(value: boolean): Promise<void>;
}