UNPKG

@minisss/localstorage

Version:
93 lines (87 loc) 2.5 kB
/** 本地存储数据结构 */ interface IMSLocalStorageStore { /** 存储值 */ data: any; /** 有效日期时长(ms) */ maxAge?: number; } /** 配置 */ interface IMSLocalStorageConfig { /** * 失效日期(Date) * @default null */ expires?: Date; /** * 最大存活时间(秒) * @description 当 maxAge 大于 0 时,expires 值会被忽略 * @default 0 */ maxAge?: number; /** * 自定义前缀 * @description 建议使用 create 方法创建实例时 传入自定义前缀(避免单独使用-不方便后期维护) * @default "" */ prefix?: string; } /** 类型实例 */ interface IMSLocalStorageInstance<O> { /** 当前包版本信息 */ readonly VERSION: string; /** 返回 Storage 数据项数量 */ readonly length: number; /** 判断当前环境是否支持 localStorage */ readonly isSupport: boolean; /** * 获取指定 index key 值 * @param {number} idx * @returns {any} any */ key(idx: number): any; /** * 获取指定 key 值 * @param {K} key 键 * @param {IMSLocalStorageConfig} config 配置 * @returns {O[K]} 返回指定 key 的 val */ get<K extends keyof O>(key: K, config?: IMSLocalStorageConfig): O[K]; /** * 设置指定 key 的 val * @param {K} key 键 * @param {V} val 值 * @param {IMSLocalStorageConfig} config 配置 * @returns undefined */ set<K extends keyof O, V extends O[K]>(key: K, val: V, config?: IMSLocalStorageConfig): boolean; /** * 删除指定 key * @param {K} key 键 * @param {IMSLocalStorageConfig} config 配置 * @requires undefined */ del<K extends keyof O>(key: K, config?: IMSLocalStorageConfig): boolean; /** * 清除所有键名 * @requires undefined */ clear(): void; /** * 判断指定 key 是否存在 * @param {K} key 键 * @param {IMSLocalStorageConfig} config 配置 * @returns {boolean} boolean */ has<K extends keyof O>(key: K, config?: IMSLocalStorageConfig): boolean; } /** 包静态属性及方法 */ interface IMSLocalStorageStatic<O> extends IMSLocalStorageInstance<O> { /** * 创建一个 MSLocalStorage 实例 * @example const MLS = MSLocalStorage.create({ prefix: "custom_prefix_" }); * @returns {IMSLocalStorageInstance} MSLocalStorage Instance */ create<OO extends O>(config?: Partial<IMSLocalStorageConfig>): IMSLocalStorageInstance<OO>; } /** @minisss/localstorage 本地对象 TS 类型提示定义 */ interface IMSLocalStorageData {}