UNPKG

727 BJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
10class DefaultMap extends Map {
11 constructor(getDefault, entries) {
12 super(entries);
13
14 _defineProperty(this, "_getDefault", void 0);
15
16 this._getDefault = getDefault;
17 }
18
19 get(key) {
20 let ret;
21
22 if (this.has(key)) {
23 ret = super.get(key);
24 } else {
25 ret = this._getDefault(key);
26 this.set(key, ret);
27 } // $FlowFixMe
28
29
30 return ret;
31 }
32
33}
34
35exports.default = DefaultMap;
\No newline at end of file