@aztec/foundation 0.0.1-commit.9d2bcf6d → 0.0.1-commit.aada20e3
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/dest/timer/date.d.ts +23 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +29 -0
- package/package.json +2 -2
- package/src/timer/date.ts +42 -0
package/dest/timer/date.d.ts
CHANGED
|
@@ -11,5 +11,27 @@ export declare class TestDateProvider extends DateProvider {
|
|
|
11
11
|
constructor(logger?: import("../log/pino-logger.js").Logger);
|
|
12
12
|
now(): number;
|
|
13
13
|
setTime(timeMs: number): void;
|
|
14
|
+
/** Advances the time by the given number of seconds. */
|
|
15
|
+
advanceTime(seconds: number): void;
|
|
14
16
|
}
|
|
15
|
-
|
|
17
|
+
/**
|
|
18
|
+
* A date provider for tests that only advances time via explicit advanceTime() calls.
|
|
19
|
+
* Unlike TestDateProvider, this does NOT track real time progression - time is completely
|
|
20
|
+
* frozen until explicitly advanced. This eliminates flakiness from tests taking
|
|
21
|
+
* varying amounts of real time to execute.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ManualDateProvider extends DateProvider {
|
|
24
|
+
private currentTimeMs;
|
|
25
|
+
/**
|
|
26
|
+
* @param initialTimeMs - Initial time in milliseconds. Defaults to a round timestamp for easy visualization.
|
|
27
|
+
*/
|
|
28
|
+
constructor(initialTimeMs?: number);
|
|
29
|
+
now(): number;
|
|
30
|
+
/** Sets the current time to the given timestamp in milliseconds. */
|
|
31
|
+
setTime(timeMs: number): void;
|
|
32
|
+
/** Advances the time by the given number of seconds. */
|
|
33
|
+
advanceTime(seconds: number): void;
|
|
34
|
+
/** Advances the time by the given number of milliseconds. */
|
|
35
|
+
advanceTimeMs(ms: number): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RpbWVyL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZ0NBQWdDO0FBQ2hDLHFCQUFhLFlBQVk7SUFDaEIsR0FBRyxJQUFJLE1BQU0sQ0FFbkI7SUFFTSxZQUFZLElBQUksTUFBTSxDQUU1QjtJQUVNLFNBQVMsSUFBSSxJQUFJLENBRXZCO0NBQ0Y7QUFFRCwwREFBMEQ7QUFDMUQscUJBQWEsZ0JBQWlCLFNBQVEsWUFBWTtJQUdwQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFGbkMsT0FBTyxDQUFDLE1BQU0sQ0FBSztJQUVuQixZQUE2QixNQUFNLHlDQUFnRCxFQUVsRjtJQUVlLEdBQUcsSUFBSSxNQUFNLENBRTVCO0lBRU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLFFBRzVCO0lBRUQsd0RBQXdEO0lBQ2pELFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxRQUVqQztDQUNGO0FBRUQ7Ozs7O0dBS0c7QUFDSCxxQkFBYSxrQkFBbUIsU0FBUSxZQUFZO0lBQ2xELE9BQU8sQ0FBQyxhQUFhLENBQVM7SUFFOUI7O09BRUc7SUFDSCxZQUFZLGFBQWEsR0FBRSxNQUFzQyxFQUdoRTtJQUVlLEdBQUcsSUFBSSxNQUFNLENBRTVCO0lBRUQsb0VBQW9FO0lBQzdELE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxRQUU1QjtJQUVELHdEQUF3RDtJQUNqRCxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sUUFFakM7SUFFRCw2REFBNkQ7SUFDdEQsYUFBYSxDQUFDLEVBQUUsRUFBRSxNQUFNLFFBRTlCO0NBQ0YifQ==
|
package/dest/timer/date.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/timer/date.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,qBAAa,YAAY;IAChB,GAAG,IAAI,MAAM,CAEnB;IAEM,YAAY,IAAI,MAAM,CAE5B;IAEM,SAAS,IAAI,IAAI,CAEvB;CACF;AAED,0DAA0D;AAC1D,qBAAa,gBAAiB,SAAQ,YAAY;IAGpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,MAAM,CAAK;IAEnB,YAA6B,MAAM,yCAAgD,EAElF;IAEe,GAAG,IAAI,MAAM,CAE5B;IAEM,OAAO,CAAC,MAAM,EAAE,MAAM,QAG5B;CACF"}
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/timer/date.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,qBAAa,YAAY;IAChB,GAAG,IAAI,MAAM,CAEnB;IAEM,YAAY,IAAI,MAAM,CAE5B;IAEM,SAAS,IAAI,IAAI,CAEvB;CACF;AAED,0DAA0D;AAC1D,qBAAa,gBAAiB,SAAQ,YAAY;IAGpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,MAAM,CAAK;IAEnB,YAA6B,MAAM,yCAAgD,EAElF;IAEe,GAAG,IAAI,MAAM,CAE5B;IAEM,OAAO,CAAC,MAAM,EAAE,MAAM,QAG5B;IAED,wDAAwD;IACjD,WAAW,CAAC,OAAO,EAAE,MAAM,QAEjC;CACF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,aAAa,CAAS;IAE9B;;OAEG;IACH,YAAY,aAAa,GAAE,MAAsC,EAGhE;IAEe,GAAG,IAAI,MAAM,CAE5B;IAED,oEAAoE;IAC7D,OAAO,CAAC,MAAM,EAAE,MAAM,QAE5B;IAED,wDAAwD;IACjD,WAAW,CAAC,OAAO,EAAE,MAAM,QAEjC;IAED,6DAA6D;IACtD,aAAa,CAAC,EAAE,EAAE,MAAM,QAE9B;CACF"}
|
package/dest/timer/date.js
CHANGED
|
@@ -26,4 +26,33 @@ import { createLogger } from '../log/pino-logger.js';
|
|
|
26
26
|
timeMs
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
/** Advances the time by the given number of seconds. */ advanceTime(seconds) {
|
|
30
|
+
this.offset += seconds * 1000;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A date provider for tests that only advances time via explicit advanceTime() calls.
|
|
35
|
+
* Unlike TestDateProvider, this does NOT track real time progression - time is completely
|
|
36
|
+
* frozen until explicitly advanced. This eliminates flakiness from tests taking
|
|
37
|
+
* varying amounts of real time to execute.
|
|
38
|
+
*/ export class ManualDateProvider extends DateProvider {
|
|
39
|
+
currentTimeMs;
|
|
40
|
+
/**
|
|
41
|
+
* @param initialTimeMs - Initial time in milliseconds. Defaults to a round timestamp for easy visualization.
|
|
42
|
+
*/ constructor(initialTimeMs = Date.UTC(2025, 0, 1, 0, 0, 0)){
|
|
43
|
+
super();
|
|
44
|
+
this.currentTimeMs = initialTimeMs;
|
|
45
|
+
}
|
|
46
|
+
now() {
|
|
47
|
+
return this.currentTimeMs;
|
|
48
|
+
}
|
|
49
|
+
/** Sets the current time to the given timestamp in milliseconds. */ setTime(timeMs) {
|
|
50
|
+
this.currentTimeMs = timeMs;
|
|
51
|
+
}
|
|
52
|
+
/** Advances the time by the given number of seconds. */ advanceTime(seconds) {
|
|
53
|
+
this.currentTimeMs += seconds * 1000;
|
|
54
|
+
}
|
|
55
|
+
/** Advances the time by the given number of milliseconds. */ advanceTimeMs(ms) {
|
|
56
|
+
this.currentTimeMs += ms;
|
|
57
|
+
}
|
|
29
58
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.aada20e3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dest/index.js",
|
|
6
6
|
"types": "./dest/index.d.ts",
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"testEnvironment": "../../foundation/src/jest/env.mjs"
|
|
125
125
|
},
|
|
126
126
|
"dependencies": {
|
|
127
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
127
|
+
"@aztec/bb.js": "0.0.1-commit.aada20e3",
|
|
128
128
|
"@koa/cors": "^5.0.0",
|
|
129
129
|
"@noble/curves": "=1.7.0",
|
|
130
130
|
"@noble/hashes": "^1.6.1",
|
package/src/timer/date.ts
CHANGED
|
@@ -31,4 +31,46 @@ export class TestDateProvider extends DateProvider {
|
|
|
31
31
|
this.offset = timeMs - Date.now();
|
|
32
32
|
this.logger.warn(`Time set to ${new Date(timeMs).toISOString()}`, { offset: this.offset, timeMs });
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
/** Advances the time by the given number of seconds. */
|
|
36
|
+
public advanceTime(seconds: number) {
|
|
37
|
+
this.offset += seconds * 1000;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* A date provider for tests that only advances time via explicit advanceTime() calls.
|
|
43
|
+
* Unlike TestDateProvider, this does NOT track real time progression - time is completely
|
|
44
|
+
* frozen until explicitly advanced. This eliminates flakiness from tests taking
|
|
45
|
+
* varying amounts of real time to execute.
|
|
46
|
+
*/
|
|
47
|
+
export class ManualDateProvider extends DateProvider {
|
|
48
|
+
private currentTimeMs: number;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @param initialTimeMs - Initial time in milliseconds. Defaults to a round timestamp for easy visualization.
|
|
52
|
+
*/
|
|
53
|
+
constructor(initialTimeMs: number = Date.UTC(2025, 0, 1, 0, 0, 0)) {
|
|
54
|
+
super();
|
|
55
|
+
this.currentTimeMs = initialTimeMs;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public override now(): number {
|
|
59
|
+
return this.currentTimeMs;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** Sets the current time to the given timestamp in milliseconds. */
|
|
63
|
+
public setTime(timeMs: number) {
|
|
64
|
+
this.currentTimeMs = timeMs;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** Advances the time by the given number of seconds. */
|
|
68
|
+
public advanceTime(seconds: number) {
|
|
69
|
+
this.currentTimeMs += seconds * 1000;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Advances the time by the given number of milliseconds. */
|
|
73
|
+
public advanceTimeMs(ms: number) {
|
|
74
|
+
this.currentTimeMs += ms;
|
|
75
|
+
}
|
|
34
76
|
}
|