@lodestar/utils 1.18.0-dev.f2ec0d4236 → 1.18.0-dev.f5148b2b91
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 +3 -1
- package/lib/map.js +5 -2
- package/lib/map.js.map +1 -1
- package/package.json +2 -2
package/lib/map.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export declare class Map2dArr<K1, V> {
|
|
|
33
33
|
/**
|
|
34
34
|
* Prune an arbitrary set removing the first keys to have a set.size === maxItems.
|
|
35
35
|
* Returns the count of deleted items.
|
|
36
|
+
*
|
|
37
|
+
* Keys can be sorted by `compareFn` to get more control over which items to prune first
|
|
36
38
|
*/
|
|
37
|
-
export declare function pruneSetToMax<T>(set: Set<T> | Map<T, unknown>, maxItems: number): number;
|
|
39
|
+
export declare function pruneSetToMax<T>(set: Set<T> | Map<T, unknown>, maxItems: number, compareFn?: (a: T, b: T) => number): number;
|
|
38
40
|
//# sourceMappingURL=map.d.ts.map
|
package/lib/map.js
CHANGED
|
@@ -75,12 +75,15 @@ export class Map2dArr {
|
|
|
75
75
|
/**
|
|
76
76
|
* Prune an arbitrary set removing the first keys to have a set.size === maxItems.
|
|
77
77
|
* Returns the count of deleted items.
|
|
78
|
+
*
|
|
79
|
+
* Keys can be sorted by `compareFn` to get more control over which items to prune first
|
|
78
80
|
*/
|
|
79
|
-
export function pruneSetToMax(set, maxItems) {
|
|
81
|
+
export function pruneSetToMax(set, maxItems, compareFn) {
|
|
80
82
|
let itemsToDelete = set.size - maxItems;
|
|
81
83
|
const deletedItems = Math.max(0, itemsToDelete);
|
|
82
84
|
if (itemsToDelete > 0) {
|
|
83
|
-
|
|
85
|
+
const keys = compareFn ? Array.from(set.keys()).sort(compareFn) : set.keys();
|
|
86
|
+
for (const key of keys) {
|
|
84
87
|
set.delete(key);
|
|
85
88
|
itemsToDelete--;
|
|
86
89
|
if (itemsToDelete <= 0) {
|
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,CAAC;YACxB,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,SAAS;IAGpB,YACmB,UAAmB,EACnB,OAAe;QADf,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAAQ;QAJjB,QAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;IAKpC,CAAC;IAEJ,YAAY,CAAC,GAAM;QACjB,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,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,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,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,CAAC;YACV,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;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,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,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,CAAC;YACT,GAAG,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF;AAED
|
|
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,CAAC;YACxB,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,SAAS;IAGpB,YACmB,UAAmB,EACnB,OAAe;QADf,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAAQ;QAJjB,QAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;IAKpC,CAAC;IAEJ,YAAY,CAAC,GAAM;QACjB,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,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,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,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,CAAC;YACV,IAAI,GAAG,IAAI,GAAG,EAAS,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;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,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,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,CAAC;YACT,GAAG,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,GAA6B,EAC7B,QAAgB,EAChB,SAAkC;IAElC,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,CAAC;QACtB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;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.18.0-dev.
|
|
14
|
+
"version": "1.18.0-dev.f5148b2b91",
|
|
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": "a8bd23d16fa87ed6a30c59100967633a2a53b2db"
|
|
60
60
|
}
|