/** * 存储适配器基类 * 提供通用功能实现,简化存储适配器的开发 */ import { StorageAdapter, StorageConfig, QueryCondition, SortOption } from '../interfaces/StorageAdapter'; /** * 存储适配器基类 * 实现了StorageAdapter接口的通用方法,并提供辅助功能 */ export declare abstract class BaseStorageAdapter implements StorageAdapter { protected config: StorageConfig; protected initialized: boolean; /** * 构造函数 */ constructor(); /** * 初始化存储连接 * @param config 存储配置 */ initialize(config: StorageConfig): Promise; /** * 关闭存储连接 */ close(): Promise; /** * 检查是否已初始化 * @throws DatabaseError 当未初始化时抛出错误 */ protected ensureInitialized(): void; /** * 生成唯一ID * @returns 唯一ID字符串 */ protected generateId(): string; /** * 标准化查询条件 * @param query 查询条件 * @returns 标准化后的查询条件 */ protected normalizeQuery(query?: QueryCondition): Record; /** * 标准化排序条件 * @param sort 排序条件 * @returns 标准化后的排序条件 */ protected normalizeSort(sort?: SortOption): Record; /** * 检查参数有效性 * @param namespace 命名空间 * @param data 数据对象 * @throws Error 参数无效时抛出错误 */ protected validateParams(namespace: string, data?: any): void; /** * 创建记录(抽象方法) * 由具体实现类提供实现 */ abstract create(namespace: string, data: Partial): Promise; /** * 根据ID获取记录(抽象方法) * 由具体实现类提供实现 */ abstract getById(namespace: string, id: string): Promise; /** * 根据条件查询记录(抽象方法) * 由具体实现类提供实现 */ abstract find(namespace: string, query?: QueryCondition, skip?: number, limit?: number, sort?: SortOption): Promise<{ data: T[]; total: number; }>; /** * 更新记录(抽象方法) * 由具体实现类提供实现 */ abstract update(namespace: string, id: string, data: Partial): Promise; /** * 删除记录(抽象方法) * 由具体实现类提供实现 */ abstract delete(namespace: string, id: string): Promise; /** * 批量创建记录(抽象方法) * 由具体实现类提供实现 */ abstract bulkCreate(namespace: string, dataList: Partial[]): Promise; /** * 检查存储是否可用 * @returns 是否可用 */ isAvailable(): Promise; }