UNPKG

zeno-db

Version:

A lightweight, offline-first client-side database with automatic sync capabilities

42 lines (41 loc) 1.35 kB
import { SyncEvent, SyncStatus, ClientConfig } from './types'; interface StoredItem { id: string; [key: string]: any; } export declare class ZenoDB { private config; private storageAdapter; private syncAdapter; private syncSubscribers; private syncStatus; private softDeleteConfig; private isInitialized; constructor(config: ClientConfig); private updateSyncStatus; private notifySyncSubscribers; subscribe(callback: (event: SyncEvent) => void): () => void; getSyncStatus(): SyncStatus; init(): Promise<void>; private syncOfflineChanges; get(key: string, includeDeleted?: boolean): Promise<any>; set(key: string, value: any): Promise<void>; delete(key: string, permanent?: boolean): Promise<void>; keys(): Promise<string[]>; close(): Promise<void>; getAll(includeDeleted?: boolean): Promise<StoredItem[]>; restore(key: string): Promise<void>; purgeDeleted(): Promise<void>; /** * Batch get multiple items by keys. Returns an array of values in the same order as keys. */ getMany(keys: string[], includeDeleted?: boolean): Promise<any[]>; /** * Batch set multiple items. Each item must have an 'id' property. */ setMany(items: { id: string; [key: string]: any; }[]): Promise<void>; } export {};