@daysnap/utils
Version:
41 lines (39 loc) • 889 B
TypeScript
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 };