UNPKG

@ui18n/angular

Version:

🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+

92 lines 2.32 kB
import { CacheConfig, TranslationResult, SupportedLanguage } from './types'; /** * 缓存管理器 * 负责翻译结果的缓存存储和检索 */ export declare class CacheManager { private config; private memoryCache; private hits; private misses; constructor(config: CacheConfig); /** * 获取缓存的翻译 * @param text 原文本 * @param from 源语言 * @param to 目标语言 * @returns 缓存的翻译结果,如果没有则返回null */ get(text: string, from: SupportedLanguage, to: SupportedLanguage): Promise<TranslationResult | null>; /** * 设置缓存 * @param text 原文本 * @param from 源语言 * @param to 目标语言 * @param result 翻译结果 */ set(text: string, from: SupportedLanguage, to: SupportedLanguage, result: TranslationResult): Promise<void>; /** * 清除缓存 * @param pattern 可选的匹配模式 */ clear(pattern?: string): Promise<void>; /** * 获取缓存统计信息 * @returns 缓存统计 */ getStats(): CacheStats; /** * 清理过期缓存 */ cleanup(): Promise<void>; /** * 生成缓存键 */ private generateCacheKey; /** * 简单的字符串哈希函数 */ private hashString; /** * 从内存缓存获取 */ private getFromMemory; /** * 设置到内存缓存 */ private setToMemory; /** * 从localStorage获取 */ private getFromLocalStorage; /** * 设置到localStorage */ private setToLocalStorage; /** * 估算对象大小(字节) */ private estimateSize; /** * 计算内存利用率(0-1) * - memory: 使用内存缓存条目数 / maxSize * - localStorage: 使用统计得到的 totalItems / maxSize */ private calculateMemoryUtilization; } export interface CacheStats { totalItems: number; totalSize: number; expiredItems: number; hits: number; misses: number; hitRate: number; memoryUtilization: number; type: string; memoryUsageMB?: number; memoryLimitMB?: number; hotItems?: number; coldItems?: number; averageAccessCount?: number; } //# sourceMappingURL=cache-manager.d.ts.map