strict-async-storage
Version:
31 lines (30 loc) • 1.22 kB
TypeScript
export declare type DriverInterface = {
getItem: (key: any) => any;
setItem: (key: any, value: any) => any;
};
export declare class StrictAsyncStorage<TDefault extends {
[key: string]: any;
}, TKey extends string & keyof TDefault, TDriver extends DriverInterface = Storage> {
protected _defaults: TDefault;
protected _driver: TDriver | Storage;
protected _map: Map<any, any>;
protected _initialized: boolean;
get initialized(): boolean;
protected _disposed: boolean;
get disposed(): boolean;
protected setInitialized(): void;
constructor(defaults: TDefault, driver?: TDriver | Storage);
initialize(): Promise<void>;
getItem<T extends keyof TDefault & string>(key: T): TDefault[T];
protected setMap(key: any, value: any): void;
protected batchMap(map: Map<any, any>): void;
setItem<T extends keyof TDefault & string>(key: T, value: TDefault[T]): Promise<void>;
resetItem<T extends keyof TDefault & string>(key: T): Promise<TDefault[T]>;
resetAll(): Promise<void>;
get length(): number;
dispose(): void;
get defaults(): TDefault;
hasItem(key: any): boolean;
protected enable(): void;
protected valid(key: any): void;
}