cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
67 lines • 2.03 kB
TypeScript
import { ICSElement } from '../types/interfaces';
/**
* Конфигурация LocalForage адаптера
*/
export interface LocalForageConfig {
name: string;
storeName: string;
driver: 'INDEXEDDB' | 'WEBSQL' | 'LOCALSTORAGE';
description?: string;
version?: number;
}
/**
* Адаптер для LocalForage
*/
export declare class LocalForageAdapter {
private config;
private store;
private isInitialized;
constructor(config: LocalForageConfig);
private getDriverConstant;
initialize(): Promise<void>;
save(elements: ICSElement[]): Promise<void>;
load(): Promise<ICSElement[]>;
loadById(id: string): Promise<ICSElement | null>;
delete(id: string): Promise<boolean>;
clear(): Promise<void>;
count(): Promise<number>;
exists(id: string): Promise<boolean>;
getKeys(): Promise<string[]>;
getSize(): Promise<number>;
iterate<T>(callback: (value: string, key: string, iterationNumber: number) => T | void): Promise<T | undefined>;
backup(): Promise<{
data: Record<string, any>;
metadata: any;
}>;
restore(backupData: {
data: Record<string, any>;
metadata: any;
}): Promise<void>;
close(): Promise<void>;
private serializeElement;
private deserializeElement;
private extractElementData;
/**
* Получение информации о хранилище
*/
getInfo(): Promise<{
name: string;
storeName: string;
driver: string;
size: number;
keyCount: number;
}>;
/**
* Получение используемого драйвера
*/
getDriver(): Promise<string>;
/**
* Проверка поддержки драйвера
*/
static isDriverSupported(driver: string): boolean;
/**
* Получение списка поддерживаемых драйверов
*/
static getSupportedDrivers(): string[];
}
//# sourceMappingURL=LocalForageAdapter.d.ts.map