berish-stober
Version:
Библиотека расширенного манипулирования хранилищем. Позволяет расширять функционал хранения данных посредством специальных обработчиков
24 lines (23 loc) • 876 B
TypeScript
import { Serber as SerberClass } from 'berish-serber/dist/lib/serber';
declare const SYMBOL_STORAGE_NAME: unique symbol;
export interface IStorageAdapter {
getItem: (key: string) => Promise<any>;
setItem: (key: string, value: any) => Promise<void>;
removeItem: (key: string) => Promise<void>;
onChange?: (cb: (key: string, value: any) => void) => (() => void);
}
export declare class Storage {
protected storageAdapter: IStorageAdapter;
protected serber: SerberClass;
private [SYMBOL_STORAGE_NAME];
private onChangeListeners;
constructor(storageAdapter: IStorageAdapter);
setSerber(serber: SerberClass): this;
setStorageName(value: string): this;
getStorageName(): string;
save(state: any): Promise<void>;
load(): Promise<any>;
clear(): Promise<void>;
changes(cb: (state: any) => void): () => void;
}
export {};