@lodestar/utils 1.9.0-dev.bcf9c92a08 → 1.9.0-dev.c408a4e397

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/map.d.ts CHANGED
@@ -3,6 +3,17 @@ export declare class MapDef<K, V> extends Map<K, V> {
3
3
  constructor(getDefault: () => V);
4
4
  getOrDefault(key: K): V;
5
5
  }
6
+ /**
7
+ * Extends MapDef but ensures that there always a max of `maxKeys` keys
8
+ */
9
+ export declare class MapDefMax<K, V> {
10
+ private readonly getDefault;
11
+ private readonly maxKeys;
12
+ private readonly map;
13
+ constructor(getDefault: () => V, maxKeys: number);
14
+ getOrDefault(key: K): V;
15
+ get(key: K): V | undefined;
16
+ }
6
17
  /**
7
18
  * 2 dimensions Es6 Map
8
19
  */
package/lib/map.js CHANGED
@@ -12,6 +12,28 @@ export class MapDef extends Map {
12
12
  return value;
13
13
  }
14
14
  }
15
+ /**
16
+ * Extends MapDef but ensures that there always a max of `maxKeys` keys
17
+ */
18
+ export class MapDefMax {
19
+ constructor(getDefault, maxKeys) {
20
+ this.getDefault = getDefault;
21
+ this.maxKeys = maxKeys;
22
+ this.map = new Map();
23
+ }
24
+ getOrDefault(key) {
25
+ let value = this.map.get(key);
26
+ if (value === undefined) {
27
+ value = this.getDefault();
28
+ this.map.set(key, value);
29
+ pruneSetToMax(this.map, this.maxKeys);
30
+ }
31
+ return value;
32
+ }
33
+ get(key) {
34
+ return this.map.get(key);
35
+ }
36
+ }
15
37
  /**
16
38
  * 2 dimensions Es6 Map
17
39
  */
package/lib/map.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAa,SAAQ,GAAS;IACzC,YAA6B,UAAmB;QAC9C,KAAK,EAAE,CAAC;QADmB,eAAU,GAAV,UAAU,CAAS;IAEhD,CAAC;IAED,YAAY,CAAC,GAAM;QACjB,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACtB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,KAAK;IAAlB;QACW,QAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IAc3C,CAAC;IAZC,GAAG,CAAC,EAAM,EAAE,EAAM;;QAChB,OAAO,MAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,EAAM,EAAE,EAAM,EAAE,CAAI;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QACW,QAAG,GAAG,IAAI,GAAG,EAAW,CAAC;IAcpC,CAAC;IAZC,GAAG,CAAC,EAAM,EAAE,GAAW;;QACrB,OAAO,MAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAG,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,EAAM,EAAE,GAAW,EAAE,CAAI;QAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;SACvB;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAI,GAA6B,EAAE,QAAgB;IAC9E,IAAI,aAAa,GAAG,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEhD,IAAI,aAAa,GAAG,CAAC,EAAE;QACrB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,IAAI,aAAa,IAAI,CAAC,EAAE;gBACtB,MAAM;aACP;SACF;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.9.0-dev.bcf9c92a08",
14
+ "version": "1.9.0-dev.c408a4e397",
15
15
  "type": "module",
16
16
  "exports": "./lib/index.js",
17
17
  "files": [
@@ -56,5 +56,5 @@
56
56
  "beacon",
57
57
  "blockchain"
58
58
  ],
59
- "gitHead": "dd4ae07a9f1b25fac70ba74995cc46e290144ec3"
59
+ "gitHead": "3576ee3ed38acb52bcd5095e18934c3611bedbd6"
60
60
  }