import { StorageInterface } from "./StorageInterface"; const store = new Map(); /** Vymaže všechna data z in-memory úložiště. Slouží k resetu mezi testy. */ export function resetMemoryStorage(): void { store.clear(); } /** * In-memory implementace úložiště. Používá se výhradně v testovacím prostředí. */ export default class MemoryStorage implements StorageInterface { hasData(key: string): Promise { return Promise.resolve(store.has(key)); } getData(key: string): Promise { return Promise.resolve(store.get(key) as Type | undefined); } setData(key: string, data: Type): Promise { store.set(key, data); return Promise.resolve(); } updateData(key: string, mutator: (current: Type | undefined) => Type): Promise { const current = store.get(key) as Type | undefined; const next = mutator(current); store.set(key, next); return Promise.resolve(next); } healthCheck(): Promise { return Promise.resolve(true); } }