@codelet/core
Version:
mini core
46 lines (45 loc) • 1.01 kB
TypeScript
type DefaultVal<T> = T extends Record<string, any> ? Partial<T> : T;
interface StorageOptions<T = any> {
initialValue?: T;
debug: boolean;
cached: boolean;
}
export declare class Storage<T = any> {
private readonly key;
private value;
private options;
constructor(key: string, options?: Partial<StorageOptions<T>>);
_debug(...args: string[]): void;
/**
* 设置值
*/
setItem(val: T): T;
/**
* 获取值
*/
getItem(): T | null;
getItem(defaultVal: DefaultVal<T>): T;
/**
* 删除值
*/
removeItem(): void;
/**
* 更新值
*/
updateItem(val: DefaultVal<T>): T;
/**
* 获取值后,删除存储的值
*/
getItemOnce(): T | null;
getItemOnce(defaultVal: DefaultVal<T>): T;
/**
* 优先从缓存中获取值
*/
getItemWithCache(): T | null;
getItemWithCache(defaultVal: DefaultVal<T>): T;
/**
* 清除缓存
*/
clearCache(): void;
}
export {};