@remcostoeten/fync
Version:
Unified TypeScript library for 9 popular APIs with consistent functional architecture
27 lines • 808 B
TypeScript
/**
* Simple in-memory cache implementation
*/
type TCacheConfig = {
enabled: boolean;
ttl: number;
maxSize?: number;
};
export declare class Cache {
private store;
private config;
constructor(config?: Partial<TCacheConfig>);
private createKey;
private isExpired;
private cleanup;
get<T>(method: string, url: string, params?: any): T | null;
set<T>(method: string, url: string, value: T, params?: any, customTTL?: number): void;
invalidate(pattern?: string): void;
invalidateByUrl(url: string): void;
clear(): void;
size(): number;
setEnabled(enabled: boolean): void;
setTTL(ttl: number): void;
}
export declare function createCache(config?: Partial<TCacheConfig>): Cache;
export type { TCacheConfig };
//# sourceMappingURL=cache.d.ts.map