UNPKG

@daysnap/utils

Version:
41 lines (39 loc) 889 B
interface StorageLike { getItem: (key: string) => string | null; setItem: (key: string, value: string) => void; removeItem: (key: string) => void; } declare class Storage<T = any> { private readonly key; private readonly storage; private value; constructor(key: string, storage: StorageLike); /** * 设置值 */ setItem(val: T): T; /** * 获取值 */ getItem(): T | null; getItem(defaultVal: Partial<T>): T; /** * 删除值 */ removeItem(): void; /** * 更新值 */ updateItem(val: Partial<T>): T; /** * 获取值后,删除存储的值 */ getItemOnce(): T | null; getItemOnce(defaultVal: Partial<T>): T; /** * 优先从缓存中获取值 */ getItemWithCache(): T | null; getItemWithCache(defaultVal: Partial<T>): T; } export { Storage };