export default class DefaultMap extends Map { constructor(obtainDefault) { super(); this.obtainDefault = obtainDefault; } get(key) { if (super.has(key)) { return super.get(key); } const result = this.obtainDefault(key); this.set(key, result); return result; } }