@ui18n/angular
Version:
🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+
92 lines • 2.32 kB
TypeScript
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