@adviser/cement 0.4.57 → 0.4.59

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.
Files changed (89) hide show
  1. package/cjs/base-sys-abstraction.d.ts +1 -1
  2. package/cjs/base-sys-abstraction.d.ts.map +1 -1
  3. package/cjs/on-func.test.cjs +1 -1
  4. package/cjs/on-func.test.cjs.map +1 -1
  5. package/cjs/poller.cjs +41 -13
  6. package/cjs/poller.cjs.map +1 -1
  7. package/cjs/poller.d.ts +17 -2
  8. package/cjs/poller.d.ts.map +1 -1
  9. package/cjs/poller.test.cjs +69 -0
  10. package/cjs/poller.test.cjs.map +1 -1
  11. package/cjs/resolve-once.test.cjs +12 -12
  12. package/cjs/resolve-once.test.cjs.map +1 -1
  13. package/cjs/utils/promise-sleep.cjs +12 -13
  14. package/cjs/utils/promise-sleep.cjs.map +1 -1
  15. package/cjs/utils/promise-sleep.d.ts +2 -1
  16. package/cjs/utils/promise-sleep.d.ts.map +1 -1
  17. package/cjs/utils/promise-sleep.test.cjs +64 -0
  18. package/cjs/utils/promise-sleep.test.cjs.map +1 -0
  19. package/cjs/utils/promise-sleep.test.d.ts +2 -0
  20. package/cjs/utils/promise-sleep.test.d.ts.map +1 -0
  21. package/cjs/version.cjs +1 -1
  22. package/deno.json +1 -1
  23. package/esm/base-sys-abstraction.d.ts +1 -1
  24. package/esm/base-sys-abstraction.d.ts.map +1 -1
  25. package/esm/on-func.test.js +1 -1
  26. package/esm/on-func.test.js.map +1 -1
  27. package/esm/poller.d.ts +17 -2
  28. package/esm/poller.d.ts.map +1 -1
  29. package/esm/poller.js +40 -13
  30. package/esm/poller.js.map +1 -1
  31. package/esm/poller.test.js +70 -1
  32. package/esm/poller.test.js.map +1 -1
  33. package/esm/resolve-once.test.js +12 -12
  34. package/esm/resolve-once.test.js.map +1 -1
  35. package/esm/utils/promise-sleep.d.ts +2 -1
  36. package/esm/utils/promise-sleep.d.ts.map +1 -1
  37. package/esm/utils/promise-sleep.js +12 -13
  38. package/esm/utils/promise-sleep.js.map +1 -1
  39. package/esm/utils/promise-sleep.test.d.ts +2 -0
  40. package/esm/utils/promise-sleep.test.d.ts.map +1 -0
  41. package/esm/utils/promise-sleep.test.js +62 -0
  42. package/esm/utils/promise-sleep.test.js.map +1 -0
  43. package/esm/version.js +1 -1
  44. package/package.json +8 -8
  45. package/src/base-sys-abstraction.ts +1 -1
  46. package/src/poller.ts +69 -15
  47. package/src/utils/promise-sleep.ts +18 -17
  48. package/ts/cjs/base-sys-abstraction.d.ts +1 -1
  49. package/ts/cjs/base-sys-abstraction.d.ts.map +1 -1
  50. package/ts/cjs/on-func.test.js +1 -1
  51. package/ts/cjs/on-func.test.js.map +1 -1
  52. package/ts/cjs/poller.d.ts +17 -2
  53. package/ts/cjs/poller.d.ts.map +1 -1
  54. package/ts/cjs/poller.js +41 -13
  55. package/ts/cjs/poller.js.map +1 -1
  56. package/ts/cjs/poller.test.js +69 -0
  57. package/ts/cjs/poller.test.js.map +1 -1
  58. package/ts/cjs/resolve-once.test.js +12 -12
  59. package/ts/cjs/resolve-once.test.js.map +1 -1
  60. package/ts/cjs/utils/promise-sleep.d.ts +2 -1
  61. package/ts/cjs/utils/promise-sleep.d.ts.map +1 -1
  62. package/ts/cjs/utils/promise-sleep.js +12 -13
  63. package/ts/cjs/utils/promise-sleep.js.map +1 -1
  64. package/ts/cjs/utils/promise-sleep.test.d.ts +2 -0
  65. package/ts/cjs/utils/promise-sleep.test.d.ts.map +1 -0
  66. package/ts/cjs/utils/promise-sleep.test.js +64 -0
  67. package/ts/cjs/utils/promise-sleep.test.js.map +1 -0
  68. package/ts/cjs/version.js +1 -1
  69. package/ts/esm/base-sys-abstraction.d.ts +1 -1
  70. package/ts/esm/base-sys-abstraction.d.ts.map +1 -1
  71. package/ts/esm/on-func.test.js +1 -1
  72. package/ts/esm/on-func.test.js.map +1 -1
  73. package/ts/esm/poller.d.ts +17 -2
  74. package/ts/esm/poller.d.ts.map +1 -1
  75. package/ts/esm/poller.js +40 -13
  76. package/ts/esm/poller.js.map +1 -1
  77. package/ts/esm/poller.test.js +70 -1
  78. package/ts/esm/poller.test.js.map +1 -1
  79. package/ts/esm/resolve-once.test.js +12 -12
  80. package/ts/esm/resolve-once.test.js.map +1 -1
  81. package/ts/esm/utils/promise-sleep.d.ts +2 -1
  82. package/ts/esm/utils/promise-sleep.d.ts.map +1 -1
  83. package/ts/esm/utils/promise-sleep.js +12 -13
  84. package/ts/esm/utils/promise-sleep.js.map +1 -1
  85. package/ts/esm/utils/promise-sleep.test.d.ts +2 -0
  86. package/ts/esm/utils/promise-sleep.test.d.ts.map +1 -0
  87. package/ts/esm/utils/promise-sleep.test.js +62 -0
  88. package/ts/esm/utils/promise-sleep.test.js.map +1 -0
  89. package/ts/esm/version.js +1 -1
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const promise_sleep_js_1 = require("./promise-sleep.js");
4
+ it("sleeps for the specified duration", async () => {
5
+ const start = performance.now();
6
+ const result = await (0, promise_sleep_js_1.sleep)(100);
7
+ const duration = performance.now() - start;
8
+ expect(duration).toBeGreaterThanOrEqual(95);
9
+ expect(duration).toBeLessThan(150);
10
+ expect(result.isOk()).toBe(true);
11
+ expect(result.unwrap()).toBeUndefined();
12
+ });
13
+ it("returns immediately for zero milliseconds", async () => {
14
+ const start = performance.now();
15
+ const result = await (0, promise_sleep_js_1.sleep)(0);
16
+ const duration = performance.now() - start;
17
+ expect(duration).toBeLessThan(10);
18
+ expect(result.isOk()).toBe(true);
19
+ });
20
+ it("returns immediately for negative milliseconds", async () => {
21
+ const start = performance.now();
22
+ const result = await (0, promise_sleep_js_1.sleep)(-100);
23
+ const duration = performance.now() - start;
24
+ expect(duration).toBeLessThan(10);
25
+ expect(result.isOk()).toBe(true);
26
+ });
27
+ it("returns error when aborted before sleep starts", async () => {
28
+ const controller = new AbortController();
29
+ controller.abort();
30
+ const result = await (0, promise_sleep_js_1.sleep)(100, controller.signal);
31
+ expect(result.isOk()).toBe(false);
32
+ expect(result.Err().message).toBe("sleep aborted");
33
+ });
34
+ it("returns error when aborted during sleep", async () => {
35
+ const controller = new AbortController();
36
+ const start = performance.now();
37
+ const sleepPromise = (0, promise_sleep_js_1.sleep)(200, controller.signal);
38
+ setTimeout(() => controller.abort(), 50);
39
+ const result = await sleepPromise;
40
+ const duration = performance.now() - start;
41
+ expect(duration).toBeGreaterThanOrEqual(45);
42
+ expect(duration).toBeLessThan(150);
43
+ expect(result.isOk()).toBe(false);
44
+ expect(result.Err().message).toBe("sleep aborted");
45
+ });
46
+ it("completes successfully if not aborted", async () => {
47
+ const controller = new AbortController();
48
+ const result = await (0, promise_sleep_js_1.sleep)(50, controller.signal);
49
+ expect(result.isOk()).toBe(true);
50
+ });
51
+ it("cleans up timeout and event listener on abort", async () => {
52
+ const controller = new AbortController();
53
+ const sleepPromise = (0, promise_sleep_js_1.sleep)(100, controller.signal);
54
+ controller.abort();
55
+ const result = await sleepPromise;
56
+ expect(result.isOk()).toBe(false);
57
+ });
58
+ it("cleans up timeout and event listener on success", async () => {
59
+ const controller = new AbortController();
60
+ const result = await (0, promise_sleep_js_1.sleep)(50, controller.signal);
61
+ expect(result.isOk()).toBe(true);
62
+ controller.abort();
63
+ });
64
+ //# sourceMappingURL=promise-sleep.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-sleep.test.js","sourceRoot":"","sources":["../../../../src/utils/promise-sleep.test.ts"],"names":[],"mappings":"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"}
package/ts/cjs/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "0.4.57";
4
+ exports.VERSION = "0.4.59";
5
5
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,5 @@
1
1
  import { FileService } from "./file-service.js";
2
- import { TimeMode, RandomMode, IDMode, SystemService, VoidFunc, BasicSysAbstraction, BasicRuntimeService } from "./sys-abstraction.js";
2
+ import { TimeMode, RandomMode, IDMode, SystemService, VoidFunc, BasicSysAbstraction, type BasicRuntimeService } from "./sys-abstraction.js";
3
3
  import { Time } from "./time.js";
4
4
  import { TxtEnDecoder } from "./txt-en-decoder.js";
5
5
  import { Env } from "./sys-env.js";
@@ -1 +1 @@
1
- {"version":3,"file":"base-sys-abstraction.d.ts","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-sys-abstraction.d.ts","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ it("OnFunctionTest", async () => {
32
32
  const start = performance.now();
33
33
  await test.onFunAction.invokeAsync(2, "34");
34
34
  const duration = performance.now() - start;
35
- expect(duration).toBeGreaterThanOrEqual(10);
35
+ expect(duration).toBeGreaterThanOrEqual(9);
36
36
  for (const fn of [...asyncFns, ...fns]) {
37
37
  expect(fn.mock.calls).toEqual([[2, "34"]]);
38
38
  fn.mock.calls.length = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"on-func.test.js","sourceRoot":"","sources":["../../../src/on-func.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"on-func.test.js","sourceRoot":"","sources":["../../../src/on-func.test.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,34 @@
1
+ export interface PollerStats {
2
+ readonly attempts: number;
3
+ readonly lastIntervalMs: number;
4
+ readonly totalElapsedMs: number;
5
+ }
1
6
  export interface PollWaitingActionResult {
2
7
  readonly state: "waiting";
8
+ readonly stats: PollerStats;
3
9
  }
4
10
  export interface PollSuccessActionResult<T> {
5
11
  readonly state: "success";
6
12
  readonly result: T;
13
+ readonly stats: PollerStats;
7
14
  }
8
15
  export interface PollErrorActionResult {
9
16
  readonly state: "error";
10
17
  readonly error: Error;
18
+ readonly stats: PollerStats;
19
+ }
20
+ export interface PollTimeoutActionResult {
21
+ readonly state: "timeout";
22
+ readonly stats: PollerStats;
11
23
  }
12
- export type PollActionResult<T> = PollWaitingActionResult | PollSuccessActionResult<T> | PollErrorActionResult;
24
+ export type PollActionResult<T> = Omit<PollWaitingActionResult, "stats"> | Omit<PollSuccessActionResult<T>, "stats"> | Omit<PollErrorActionResult, "stats">;
25
+ export declare const FOREVER = 2147483647;
13
26
  export interface PollerOptions {
14
27
  readonly intervalMs: number;
15
28
  readonly timeoutMs: number;
29
+ readonly exponentialBackoff: boolean;
30
+ readonly abortSignal?: AbortSignal;
16
31
  }
17
- export type PollerResult<T> = PollSuccessActionResult<T> | PollErrorActionResult;
32
+ export type PollerResult<T> = PollSuccessActionResult<T> | PollErrorActionResult | PollTimeoutActionResult;
18
33
  export declare function poller<T>(fn: () => Promise<PollActionResult<T>>, ioptions?: Partial<PollerOptions>): Promise<PollerResult<T>>;
19
34
  //# sourceMappingURL=poller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,uBAAuB,GAAG,uBAAuB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC;AAC/G,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC;AA0BjF,wBAAsB,MAAM,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACtC,QAAQ,GAAE,OAAO,CAAC,aAAa,CAAM,GACpC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAgB1B"}
1
+ {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,GACtC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GACzC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AAEzC,eAAO,MAAM,OAAO,aAAa,CAAC;AAClC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAsD3G,wBAAsB,MAAM,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACtC,QAAQ,GAAE,OAAO,CAAC,aAAa,CAAM,GACpC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAoB1B"}
package/ts/esm/poller.js CHANGED
@@ -1,23 +1,47 @@
1
1
  import { sleep } from "./utils/promise-sleep.js";
2
- async function interPoller(fn, options) {
2
+ export const FOREVER = 2147483647;
3
+ function doneStats(stats) {
4
+ stats.totalElapsedMs = Date.now() - stats.startTime;
5
+ return {
6
+ attempts: stats.attempts,
7
+ lastIntervalMs: stats.lastIntervalMs,
8
+ totalElapsedMs: stats.totalElapsedMs,
9
+ };
10
+ }
11
+ async function interPoller(fn, options, stats) {
3
12
  do {
4
13
  let result;
5
14
  try {
6
- result = await fn();
15
+ stats.attempts += 1;
16
+ result = await fn(options.abortSignal);
7
17
  switch (result.state) {
8
18
  case "waiting":
9
- await sleep(options.intervalMs);
19
+ {
20
+ if (options.exponentialBackoff) {
21
+ options.intervalMs = Math.min(options.intervalMs * 2, FOREVER);
22
+ }
23
+ stats.lastIntervalMs = options.intervalMs;
24
+ const err = await sleep(options.intervalMs, options.abortSignal);
25
+ if (err.isErr()) {
26
+ return {
27
+ state: "error",
28
+ error: err.Err(),
29
+ stats: doneStats(stats),
30
+ };
31
+ }
32
+ }
10
33
  break;
11
34
  case "success":
12
- return result;
35
+ return { ...result, stats: doneStats(stats) };
13
36
  case "error":
14
- return result;
37
+ return { ...result, stats: doneStats(stats) };
15
38
  }
16
39
  }
17
40
  catch (err) {
18
41
  return {
19
42
  state: "error",
20
43
  error: err,
44
+ stats: doneStats(stats),
21
45
  };
22
46
  }
23
47
  // eslint-disable-next-line no-constant-condition
@@ -28,16 +52,19 @@ export async function poller(fn, ioptions = {}) {
28
52
  intervalMs: 1000,
29
53
  timeoutMs: 30000,
30
54
  ...ioptions,
55
+ exponentialBackoff: typeof ioptions.exponentialBackoff === "boolean" ? ioptions.exponentialBackoff : ioptions.timeoutMs === FOREVER,
56
+ };
57
+ const stats = {
58
+ attempts: 0,
59
+ startTime: Date.now(),
60
+ lastIntervalMs: 0,
61
+ totalElapsedMs: 0,
31
62
  };
32
63
  return Promise.race([
33
- interPoller(fn, options),
34
- (async () => {
35
- await sleep(options.timeoutMs);
36
- return {
37
- state: "error",
38
- error: new Error("Polling timed out"),
39
- };
40
- })(),
64
+ interPoller(fn, options, stats),
65
+ sleep(options.timeoutMs, options.abortSignal)
66
+ .then(() => ({ state: "timeout", stats: doneStats(stats) }))
67
+ .catch((e) => ({ state: "error", error: e, stats: doneStats(stats) })),
41
68
  ]);
42
69
  }
43
70
  //# sourceMappingURL=poller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAwBjD,KAAK,UAAU,WAAW,CAAI,EAAsC,EAAE,OAAsB,EAA4B;IACtH,GAAG,CAAC;QACF,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YACpB,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,SAAS;oBACZ,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,SAAS;oBACZ,OAAO,MAAM,CAAC;gBAChB,KAAK,OAAO;oBACV,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,GAAY;aACpB,CAAC;QACJ,CAAC;QACD,iDAAiD;IACnD,CAAC,QAAQ,IAAI,EAAE;AAAA,CAChB;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,EAAsC,EACtC,QAAQ,GAA2B,EAAE,EACX;IAC1B,MAAM,OAAO,GAAG;QACd,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,GAAG,QAAQ;KACZ,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC;QACxB,CAAC,KAAK,IAAoC,EAAE,CAAC;YAC3C,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO;gBACL,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC;aACtC,CAAC;QAAA,CACH,CAAC,EAAE;KACL,CAAC,CAAC;AAAA,CACJ"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { poller } from "./poller.js";
1
+ import { FOREVER, poller } from "./poller.js";
2
2
  import { sleep } from "./utils/promise-sleep.js";
3
3
  it("polls until success", async () => {
4
4
  const seq = vi
@@ -26,6 +26,11 @@ it("polls until success", async () => {
26
26
  expect(result).toEqual({
27
27
  state: "success",
28
28
  result: "final result",
29
+ stats: {
30
+ attempts: expect.any(Number),
31
+ lastIntervalMs: expect.any(Number),
32
+ totalElapsedMs: expect.any(Number),
33
+ },
29
34
  });
30
35
  });
31
36
  it("polls action throws error", async () => {
@@ -51,6 +56,11 @@ it("polls action throws error", async () => {
51
56
  expect(result).toEqual({
52
57
  state: "error",
53
58
  error: new Error("action error"),
59
+ stats: {
60
+ attempts: expect.any(Number),
61
+ lastIntervalMs: expect.any(Number),
62
+ totalElapsedMs: expect.any(Number),
63
+ },
54
64
  });
55
65
  });
56
66
  it("polls until error", async () => {
@@ -79,6 +89,11 @@ it("polls until error", async () => {
79
89
  expect(result).toEqual({
80
90
  state: "error",
81
91
  error: new Error("final error"),
92
+ stats: {
93
+ attempts: expect.any(Number),
94
+ lastIntervalMs: expect.any(Number),
95
+ totalElapsedMs: expect.any(Number),
96
+ },
82
97
  });
83
98
  });
84
99
  it("pass result type", async () => {
@@ -90,4 +105,58 @@ it("pass result type", async () => {
90
105
  });
91
106
  expectTypeOf(result).toEqualTypeOf();
92
107
  });
108
+ it("times out", async () => {
109
+ const called = vi.fn();
110
+ const start = performance.now();
111
+ const result = await poller(() => {
112
+ called();
113
+ return Promise.resolve({
114
+ state: "waiting",
115
+ });
116
+ }, {
117
+ intervalMs: 10,
118
+ timeoutMs: 50,
119
+ });
120
+ const duration = performance.now() - start;
121
+ expect(duration).toBeGreaterThanOrEqual(48);
122
+ expect(result).toEqual({
123
+ state: "timeout",
124
+ stats: {
125
+ attempts: called.mock.calls.length,
126
+ lastIntervalMs: expect.any(Number),
127
+ totalElapsedMs: expect.any(Number),
128
+ },
129
+ });
130
+ expect(called.mock.calls.length).toBeGreaterThanOrEqual(5);
131
+ });
132
+ it("has infinite polling", async () => {
133
+ const called = vi.fn();
134
+ const abortController = new AbortController();
135
+ const awaitResult = poller(() => {
136
+ called();
137
+ return Promise.resolve({
138
+ state: "waiting",
139
+ });
140
+ }, {
141
+ intervalMs: 10,
142
+ exponentialBackoff: true,
143
+ timeoutMs: FOREVER,
144
+ abortSignal: abortController.signal,
145
+ });
146
+ await sleep(200);
147
+ expect(called.mock.calls.length).toBe(4);
148
+ abortController.abort();
149
+ const result = await awaitResult;
150
+ expect(result).toEqual({
151
+ state: "error",
152
+ error: new Error("sleep aborted"),
153
+ stats: {
154
+ attempts: called.mock.calls.length,
155
+ lastIntervalMs: expect.any(Number),
156
+ totalElapsedMs: expect.any(Number),
157
+ },
158
+ });
159
+ await sleep(200);
160
+ expect(called.mock.calls.length).toBe(4);
161
+ });
93
162
  //# sourceMappingURL=poller.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"poller.test.js","sourceRoot":"","sources":["../../../src/poller.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poller.test.js","sourceRoot":"","sources":["../../../src/poller.test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ describe("resolve-once", () => {
10
10
  }, 100);
11
11
  });
12
12
  });
13
- const start = Date.now();
13
+ const start = performance.now();
14
14
  const fn = () => once.once(async () => reallyOnce());
15
15
  expect(reallyOnce).toHaveBeenCalledTimes(0);
16
16
  expect(await fn()).toBe(42);
@@ -19,7 +19,7 @@ describe("resolve-once", () => {
19
19
  expect(reallyOnce).toHaveBeenCalledTimes(1);
20
20
  expect(await fn()).toBe(42);
21
21
  expect(reallyOnce).toHaveBeenCalledTimes(1);
22
- const diff = Date.now() - start;
22
+ const diff = performance.now() - start;
23
23
  expect(diff).toBeGreaterThanOrEqual(90);
24
24
  expect(diff).toBeLessThan(150);
25
25
  });
@@ -33,12 +33,12 @@ describe("resolve-once", () => {
33
33
  });
34
34
  });
35
35
  const fn = () => once.once(async () => reallyOnce());
36
- const start = Date.now();
36
+ const start = performance.now();
37
37
  expect(await Promise.all(Array(100)
38
38
  .fill(fn)
39
39
  .map((fn) => fn()))).toEqual(Array(100).fill(42));
40
40
  expect(reallyOnce).toHaveBeenCalledTimes(1);
41
- const diff = Date.now() - start;
41
+ const diff = performance.now() - start;
42
42
  expect(diff).toBeGreaterThanOrEqual(99);
43
43
  expect(diff).toBeLessThan(150);
44
44
  });
@@ -55,12 +55,12 @@ describe("resolve-once", () => {
55
55
  const fn = () => once.once(() => {
56
56
  return reallyOnce();
57
57
  });
58
- const start = Date.now();
58
+ const start = performance.now();
59
59
  expect(await Promise.all(Array(cnt)
60
60
  .fill(fn)
61
61
  .map((fn) => fn()))).toEqual(Array(cnt).fill(undefined));
62
62
  expect(reallyOnce).toHaveBeenCalledTimes(1);
63
- const diff = Date.now() - start;
63
+ const diff = performance.now() - start;
64
64
  expect(diff).toBeGreaterThanOrEqual(95);
65
65
  expect(diff).toBeLessThan(150);
66
66
  });
@@ -83,7 +83,7 @@ describe("resolve-once", () => {
83
83
  });
84
84
  });
85
85
  const fn = () => once.once(async () => reallyOnce());
86
- const start = Date.now();
86
+ const start = performance.now();
87
87
  await new Promise((rs) => {
88
88
  for (let i = 0; i < 100; i++) {
89
89
  fn()
@@ -99,7 +99,7 @@ describe("resolve-once", () => {
99
99
  });
100
100
  }
101
101
  });
102
- const diff = Date.now() - start;
102
+ const diff = performance.now() - start;
103
103
  expect(diff).toBeGreaterThanOrEqual(99);
104
104
  expect(diff).toBeLessThan(250);
105
105
  });
@@ -118,14 +118,14 @@ describe("resolve-once", () => {
118
118
  const ret = await once.once(async () => reallyOnce());
119
119
  return `${o}:${ret}`;
120
120
  };
121
- const start = Date.now();
121
+ const start = performance.now();
122
122
  expect(await Promise.all(Array(100)
123
123
  .fill(fn)
124
124
  .map((fn) => fn()))).toEqual(Array(100)
125
125
  .fill(undefined)
126
126
  .map((_, i) => `${i}:42`));
127
127
  expect(reallyOnce).toHaveBeenCalledTimes(1);
128
- const diff = Date.now() - start;
128
+ const diff = performance.now() - start;
129
129
  expect(diff).toBeGreaterThanOrEqual(99);
130
130
  expect(diff).toBeLessThan(150);
131
131
  });
@@ -138,7 +138,7 @@ describe("resolve-once", () => {
138
138
  }, 100);
139
139
  });
140
140
  });
141
- const start = Date.now();
141
+ const start = performance.now();
142
142
  const orderFn = vi.fn();
143
143
  const fns = Array(100)
144
144
  .fill(0)
@@ -154,7 +154,7 @@ describe("resolve-once", () => {
154
154
  .fill(undefined)
155
155
  .map((_, i) => `${i}:42`));
156
156
  expect(reallyOnce).toHaveBeenCalledTimes(1);
157
- const diff = Date.now() - start;
157
+ const diff = performance.now() - start;
158
158
  expect(diff).toBeGreaterThanOrEqual(99);
159
159
  expect(diff).toBeLessThan(150);
160
160
  expect(orderFn).toHaveBeenCalledTimes(100);