synapse-storage
Version:
Набор инструментов для управления состоянием и апи-запросами
29 lines (28 loc) • 1.65 kB
TypeScript
import { IEventEmitter, ILogger, LocalStorageConfig, StorageType } from '../storage.interface';
import { StorageKeyType } from '../utils/storage-key';
import { SyncBaseStorage } from './sync-base-storage.service';
export declare class LocalStorage<T extends Record<string, any>> extends SyncBaseStorage<T> {
protected static readonly STORAGE_TYPE: StorageType;
readonly type: StorageType;
constructor(config: LocalStorageConfig<T>, eventEmitter?: IEventEmitter, logger?: ILogger);
static create<T extends Record<string, any>>(config: LocalStorageConfig, eventEmitter?: IEventEmitter, logger?: ILogger): LocalStorage<T>;
protected doInitialize(): Promise<this>;
protected doGet(key: StorageKeyType): any;
protected doSet(key: StorageKeyType, value: any): void;
protected doRemove(key: StorageKeyType): boolean;
protected doUpdate(updates: Array<{
key: StorageKeyType;
value: any;
}>): void;
protected doClear(): void;
protected doKeys(): string[];
protected doHas(key: StorageKeyType): boolean;
/** Персистентное хранилище: по умолчанию НЕ чистим данные на destroy (симметрично IndexedDB). */
protected get clearOnDestroyDefault(): boolean;
/** Версия схемы хранится отдельным sidecar-ключом, не засоряя сам state. */
private get versionStorageKey();
protected readPersistedVersion(): number | undefined;
protected writePersistedVersion(version: number): void;
protected clearPersistedVersion(): void;
protected doDestroy(): Promise<void>;
}