/** * @bytelyst/field-encrypt — In-memory DEK store * * Default DEK store for dev/test. Production should use a Cosmos-backed store. */ import type { DekStore, WrappedDek } from './types.js'; export class MemoryDekStore implements DekStore { private readonly deks = new Map(); async get(dekId: string): Promise { return this.deks.get(dekId) ?? null; } async put(dek: WrappedDek): Promise { this.deks.set(dek.dekId, dek); } async listIds(): Promise { return [...this.deks.keys()]; } async delete(dekId: string): Promise { this.deks.delete(dekId); } }