UNPKG

@etsoo/shared

Version:

TypeScript shared utilities and functions

70 lines (69 loc) 1.9 kB
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; }