import BaseStorage from './BaseStorage'; export default class InMemoryStorage extends BaseStorage { private values = new Map(); protected async load(name: string, defaultValue: T): Promise { if (this.values.has(name)) { return this.values.get(name); } return defaultValue; } protected async save(name: string, value: T): Promise { this.values.set(name, value); } public async getAll(): Promise> { const result = {}; this.values.forEach((value, key) => { Object.assign(result, { [key]: value, }); }); return result; } public async setAll(obj: Record): Promise { for (const [key, value] of Object.entries(obj)) { this.values.set(key, value); } } }