@lodestar/utils 1.2.0-dev.46779502c1 → 1.2.0-dev.53b15871e7
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/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/map.d.ts +27 -0
- package/lib/map.js +73 -0
- package/lib/map.js.map +1 -0
- package/package.json +2 -2
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAe,MAAM,YAAY,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAmB,OAAO,EAAC,MAAM,YAAY,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAe,MAAM,YAAY,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAmB,OAAO,EAAC,MAAM,YAAY,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
|
package/lib/map.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class MapDef<K, V> extends Map<K, V> {
|
|
2
|
+
private readonly getDefault;
|
|
3
|
+
constructor(getDefault: () => V);
|
|
4
|
+
getOrDefault(key: K): V;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 2 dimensions Es6 Map
|
|
8
|
+
*/
|
|
9
|
+
export declare class Map2d<K1, K2, V> {
|
|
10
|
+
readonly map: Map<K1, Map<K2, V>>;
|
|
11
|
+
get(k1: K1, k2: K2): V | undefined;
|
|
12
|
+
set(k1: K1, k2: K2, v: V): void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 2 dimensions Es6 Map + regular array
|
|
16
|
+
*/
|
|
17
|
+
export declare class Map2dArr<K1, V> {
|
|
18
|
+
readonly map: Map<K1, V[]>;
|
|
19
|
+
get(k1: K1, idx: number): V | undefined;
|
|
20
|
+
set(k1: K1, idx: number, v: V): void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Prune an arbitrary set removing the first keys to have a set.size === maxItems.
|
|
24
|
+
* Returns the count of deleted items.
|
|
25
|
+
*/
|
|
26
|
+
export declare function pruneSetToMax<T>(set: Set<T> | Map<T, unknown>, maxItems: number): number;
|
|
27
|
+
//# sourceMappingURL=map.d.ts.map
|
package/lib/map.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export class MapDef extends Map {
|
|
2
|
+
constructor(getDefault) {
|
|
3
|
+
super();
|
|
4
|
+
this.getDefault = getDefault;
|
|
5
|
+
}
|
|
6
|
+
getOrDefault(key) {
|
|
7
|
+
let value = super.get(key);
|
|
8
|
+
if (value === undefined) {
|
|
9
|
+
value = this.getDefault();
|
|
10
|
+
this.set(key, value);
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 2 dimensions Es6 Map
|
|
17
|
+
*/
|
|
18
|
+
export class Map2d {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.map = new Map();
|
|
21
|
+
}
|
|
22
|
+
get(k1, k2) {
|
|
23
|
+
var _a;
|
|
24
|
+
return (_a = this.map.get(k1)) === null || _a === void 0 ? void 0 : _a.get(k2);
|
|
25
|
+
}
|
|
26
|
+
set(k1, k2, v) {
|
|
27
|
+
let map2 = this.map.get(k1);
|
|
28
|
+
if (!map2) {
|
|
29
|
+
map2 = new Map();
|
|
30
|
+
this.map.set(k1, map2);
|
|
31
|
+
}
|
|
32
|
+
map2.set(k2, v);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 2 dimensions Es6 Map + regular array
|
|
37
|
+
*/
|
|
38
|
+
export class Map2dArr {
|
|
39
|
+
constructor() {
|
|
40
|
+
this.map = new Map();
|
|
41
|
+
}
|
|
42
|
+
get(k1, idx) {
|
|
43
|
+
var _a;
|
|
44
|
+
return (_a = this.map.get(k1)) === null || _a === void 0 ? void 0 : _a[idx];
|
|
45
|
+
}
|
|
46
|
+
set(k1, idx, v) {
|
|
47
|
+
let arr = this.map.get(k1);
|
|
48
|
+
if (!arr) {
|
|
49
|
+
arr = [];
|
|
50
|
+
this.map.set(k1, arr);
|
|
51
|
+
}
|
|
52
|
+
arr[idx] = v;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Prune an arbitrary set removing the first keys to have a set.size === maxItems.
|
|
57
|
+
* Returns the count of deleted items.
|
|
58
|
+
*/
|
|
59
|
+
export function pruneSetToMax(set, maxItems) {
|
|
60
|
+
let itemsToDelete = set.size - maxItems;
|
|
61
|
+
const deletedItems = Math.max(0, itemsToDelete);
|
|
62
|
+
if (itemsToDelete > 0) {
|
|
63
|
+
for (const key of set.keys()) {
|
|
64
|
+
set.delete(key);
|
|
65
|
+
itemsToDelete--;
|
|
66
|
+
if (itemsToDelete <= 0) {
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return deletedItems;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=map.js.map
|
package/lib/map.js.map
ADDED
|
@@ -0,0 +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"}
|
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.2.0-dev.
|
|
14
|
+
"version": "1.2.0-dev.53b15871e7",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": "./lib/index.js",
|
|
17
17
|
"files": [
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"beacon",
|
|
58
58
|
"blockchain"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "e21f1d12b26c0b79ccddff36581d73620acfc991"
|
|
61
61
|
}
|