UNPKG

synapse-storage

Version:

Набор инструментов для управления состоянием и апи-запросами

31 lines (30 loc) 1.18 kB
import { StorageKey, StorageKeyType } from '../../core/storage/utils/storage-key'; export interface CacheMetadata { createdAt: number; updatedAt: number; expiresAt: number; tags?: string[]; } export interface CacheOptions { ttl?: number; cleanup?: { enabled: boolean; interval?: number; }; invalidateOnError?: boolean; } export interface CacheEntry<Data, Params extends Record<string, any> = any> { data: Data; metadata: CacheMetadata; params: Params; } export declare class CacheUtils { static createMetadata(ttl?: number, tags?: string[]): CacheMetadata; /** ISO timestamps are derived lazily (for logging/debugging) instead of being stored in the cache payload. */ static formatDateTime(timestamp: number): string; static isExpired(metadata: CacheMetadata): boolean; static updateMetadata(metadata: CacheMetadata): CacheMetadata; static createKey(...parts: (string | number)[]): StorageKey; static createApiKey(endpoint: string, params?: Record<string, any>): [StorageKeyType, Record<string, any> | undefined]; static hasAnyTag(metadata: CacheMetadata, tags?: string[]): boolean; }