analytics-tracker-sdk
Version:
一个功能强大的前端数据埋点 SDK,支持自动埋点、手动埋点、批量上报等特性
103 lines (102 loc) • 2.78 kB
TypeScript
import { Storage as StorageInterface } from '../types';
/**
* 本地存储实现类
* 提供基于 localStorage 的数据存储功能
*/
export declare class Storage implements StorageInterface {
/**
* 获取存储的值
* @param key - 存储键名
*/
get(key: string): any;
/**
* 设置存储值
* @param key - 存储键名
* @param value - 要存储的值
*/
set(key: string, value: any): void;
/**
* 移除存储的值
* @param key - 要移除的键名
*/
remove(key: string): void;
/**
* 清空所有存储
*/
clear(): void;
}
/**
* 本地存储实现类,使用 localStorage 作为存储介质
* 支持数据的持久化存储,并提供前缀隔离机制
*/
export declare class LocalStorage implements Storage {
private prefix;
/**
* 创建 LocalStorage 实例
* @param prefix - 存储键的前缀,默认为 'tracker_'
*/
constructor(prefix?: string);
/**
* 获取带前缀的完整存储键
* @param key - 原始键名
* @returns 带前缀的完整键名
*/
private getKey;
/**
* 获取存储的值
* @param key - 存储键名
* @returns 存储的值,如果不存在或解析失败则返回 null
*/
get(key: string): any;
/**
* 设置存储值
* @param key - 存储键名
* @param value - 要存储的值,会被自动序列化为 JSON 字符串
*/
set(key: string, value: any): void;
/**
* 移除指定键的存储值
* @param key - 要移除的存储键名
*/
remove(key: string): void;
/**
* 清除所有带有指定前缀的存储项
*/
clear(): void;
}
/**
* 内存存储实现类,使用 Map 作为存储介质
* 用于在不支持 localStorage 的环境中提供备选方案
*/
export declare class MemoryStorage implements Storage {
private storage;
constructor();
/**
* 获取存储的值
* @param key - 存储键名
* @returns 存储的值,如果不存在则返回 undefined
*/
get(key: string): any;
/**
* 设置存储值
* @param key - 存储键名
* @param value - 要存储的值
*/
set(key: string, value: any): void;
/**
* 移除指定键的存储值
* @param key - 要移除的存储键名
*/
remove(key: string): void;
/**
* 清除所有存储项
*/
clear(): void;
}
/**
* 创建存储实例的工厂函数
* @param type - 存储类型,可选 'local' 或 'memory',默认为 'local'
* @param prefix - 存储键的前缀,仅在使用 LocalStorage 时有效
* @returns Storage 实例
*/
export declare const createStorage: (type?: "local" | "memory", prefix?: string) => Storage;