@dataql/react-native
Version:
DataQL React Native SDK with offline-first capabilities and clean API
21 lines (20 loc) • 1.03 kB
TypeScript
import { DatabaseClient } from "../db/client";
import type { OfflineOperation, MutationResult, QueryResult, SyncStatus } from "../types";
export declare class OfflineCacheManager {
private dbClient;
constructor(dbClient: DatabaseClient);
private get db();
createOffline<T>(tableName: string, data: T): Promise<MutationResult>;
updateOffline<T>(tableName: string, itemId: string, data: Partial<T>): Promise<MutationResult>;
deleteOffline(tableName: string, itemId: string): Promise<MutationResult>;
queryOffline<T>(tableName: string, _filter?: any): Promise<QueryResult<T>>;
getPendingOperations(limit?: number): Promise<OfflineOperation[]>;
markOperationSynced(operationId: string, serverId?: string): Promise<void>;
markOperationFailed(operationId: string, error: string): Promise<void>;
getSyncStatus(): Promise<SyncStatus>;
private setSetting;
private getSetting;
upsertOffline<T>(tableName: string, data: T & {
id: string;
}): Promise<MutationResult>;
}