const store = new Map() export class DraftKey { constructor(private key: string) {} get(): T | undefined { return store.get(this.key) as T | undefined } set(value: T): void { store.set(this.key, value) } update(value: Partial): void { this.set({...this.get(), ...value} as T) } clear(): void { store.delete(this.key) } }