@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 +11 -0
- package/lib/map.js +22 -0
- package/lib/map.js.map +1 -1
- package/package.json +2 -2
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.
|
|
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": "
|
|
59
|
+
"gitHead": "3576ee3ed38acb52bcd5095e18934c3611bedbd6"
|
|
60
60
|
}
|