@etsoo/shared
Version:
TypeScript shared utilities and functions
70 lines (69 loc) • 1.9 kB
TypeScript
import { IStorage } from "./IStorage";
/**
* Window storage
* https://developer.mozilla.org/en-US/docs/Web/API/Storage
*/
export declare class WindowStorage implements IStorage {
/**
* Clear keys
* @param keys Keys
* @param persisted Persisted or session data
*/
clear(keys: string[], persisted?: boolean): void;
/**
* Copy keys to session from persisted source
* @param keys Keys
* @param removeSource Remove from the source
*/
copyFrom(keys: string[], removeSource?: boolean): void;
/**
* Copy keys to persisted source
* @param keys Keys
* @param removeSource Remove from the source
*/
copyTo(keys: string[], removeSource?: boolean): void;
/**
* Get data
* @param key Key name
*/
getData<T>(key: string): T | undefined;
/**
* Get data with default value
* @param key Key name
* @param defaultValue Default value
*/
getData<T>(key: string, defaultValue: T): T;
/**
* Get persisted data
* @param key Key name
*/
getPersistedData<T>(key: string): T | undefined;
/**
* Get persisted data with default value
* @param key Key name
* @param defaultValue Default value
*/
getPersistedData<T>(key: string, defaultValue: T): T;
/**
* Get object data
* @param key Key name
*/
getObject<T extends object>(key: string): T | undefined;
/**
* Get persisted object data
* @param key Key name
*/
getPersistedObject<T extends object>(key: string): T | undefined;
/**
* Set data
* @param key Key name
* @param data Data, null for removal
*/
setData(key: string, data: unknown): void;
/**
* Set persisted data
* @param key Key name
* @param data Data, null for removal
*/
setPersistedData(key: string, data: unknown): void;
}