@lodestar/utils 1.12.0-dev.a11427edba → 1.12.0-dev.b46dfcb409
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/waitFor.d.ts +13 -0
- package/lib/waitFor.js +21 -0
- package/lib/waitFor.js.map +1 -1
- package/package.json +2 -2
package/lib/waitFor.d.ts
CHANGED
|
@@ -10,4 +10,17 @@ export type WaitForOpts = {
|
|
|
10
10
|
* Wait for a condition to be true
|
|
11
11
|
*/
|
|
12
12
|
export declare function waitFor(condition: () => boolean, opts?: WaitForOpts): Promise<void>;
|
|
13
|
+
export interface ElapsedTimeTracker {
|
|
14
|
+
(): boolean;
|
|
15
|
+
msSinceLastCall: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a tracker which keeps track of the last time a function was called
|
|
19
|
+
*
|
|
20
|
+
* @param durationMs
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare function createElapsedTimeTracker({ minElapsedTime }: {
|
|
24
|
+
minElapsedTime: number;
|
|
25
|
+
}): ElapsedTimeTracker;
|
|
13
26
|
//# sourceMappingURL=waitFor.d.ts.map
|
package/lib/waitFor.js
CHANGED
|
@@ -36,4 +36,25 @@ export function waitFor(condition, opts = {}) {
|
|
|
36
36
|
};
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Create a tracker which keeps track of the last time a function was called
|
|
41
|
+
*
|
|
42
|
+
* @param durationMs
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
export function createElapsedTimeTracker({ minElapsedTime }) {
|
|
46
|
+
// Initialized with undefined as the function has not been called yet
|
|
47
|
+
let lastTimeCalled = undefined;
|
|
48
|
+
function elapsedTimeTracker() {
|
|
49
|
+
const now = Date.now();
|
|
50
|
+
const msSinceLastCall = now - (lastTimeCalled ?? 0);
|
|
51
|
+
lastTimeCalled = now;
|
|
52
|
+
return msSinceLastCall > minElapsedTime;
|
|
53
|
+
}
|
|
54
|
+
return Object.assign(elapsedTimeTracker, {
|
|
55
|
+
get msSinceLastCall() {
|
|
56
|
+
return Date.now() - (lastTimeCalled ?? 0);
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
}
|
|
39
60
|
//# sourceMappingURL=waitFor.js.map
|
package/lib/waitFor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitFor.js","sourceRoot":"","sources":["../src/waitFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAWvD;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,SAAwB,EAAE,OAAoB,EAAE;IACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAC,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,QAAQ,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAEzD,IAAI,MAAM,EAAE,OAAO,EAAE;YACnB,OAAO,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;SACnC;QAED,IAAI,SAAS,EAAE,EAAE;YACf,OAAO,OAAO,EAAE,CAAC;SAClB;QAED,IAAI,MAAM,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,SAAS,EAAE,EAAE;gBACf,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;aACX;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,MAAM;YAAE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,EAAE;YACZ,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,MAAM;gBAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"waitFor.js","sourceRoot":"","sources":["../src/waitFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAWvD;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,SAAwB,EAAE,OAAoB,EAAE;IACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAC,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,QAAQ,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAEzD,IAAI,MAAM,EAAE,OAAO,EAAE;YACnB,OAAO,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;SACnC;QAED,IAAI,SAAS,EAAE,EAAE;YACf,OAAO,OAAO,EAAE,CAAC;SAClB;QAED,IAAI,MAAM,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,SAAS,EAAE,EAAE;gBACf,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;aACX;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,MAAM;YAAE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,EAAE;YACZ,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,MAAM;gBAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAC,cAAc,EAA2B;IACjF,qEAAqE;IACrE,IAAI,cAAc,GAAuB,SAAS,CAAC;IAEnD,SAAS,kBAAkB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,GAAG,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QACpD,cAAc,GAAG,GAAG,CAAC;QAErB,OAAO,eAAe,GAAG,cAAc,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE;QACvC,IAAI,eAAe;YACjB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;AACL,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.12.0-dev.
|
|
14
|
+
"version": "1.12.0-dev.b46dfcb409",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": "./lib/index.js",
|
|
17
17
|
"files": [
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"beacon",
|
|
56
56
|
"blockchain"
|
|
57
57
|
],
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "d473efca683ab80667578d499cd6f26df14bc618"
|
|
59
59
|
}
|