@adviser/cement 0.4.58 → 0.4.60

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 (131) 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/future.cjs +2 -0
  4. package/cjs/future.cjs.map +1 -1
  5. package/cjs/future.d.ts +1 -0
  6. package/cjs/future.d.ts.map +1 -1
  7. package/cjs/future.test.cjs +5 -0
  8. package/cjs/future.test.cjs.map +1 -1
  9. package/cjs/on-func.test.cjs +1 -1
  10. package/cjs/on-func.test.cjs.map +1 -1
  11. package/cjs/poller.cjs +107 -18
  12. package/cjs/poller.cjs.map +1 -1
  13. package/cjs/poller.d.ts +27 -5
  14. package/cjs/poller.d.ts.map +1 -1
  15. package/cjs/poller.test.cjs +46 -2
  16. package/cjs/poller.test.cjs.map +1 -1
  17. package/cjs/timeouted.cjs +119 -0
  18. package/cjs/timeouted.cjs.map +1 -0
  19. package/cjs/timeouted.d.ts +45 -0
  20. package/cjs/timeouted.d.ts.map +1 -0
  21. package/cjs/timeouted.test.cjs +581 -0
  22. package/cjs/timeouted.test.cjs.map +1 -0
  23. package/cjs/timeouted.test.d.ts +2 -0
  24. package/cjs/timeouted.test.d.ts.map +1 -0
  25. package/cjs/utils/promise-sleep.cjs +27 -26
  26. package/cjs/utils/promise-sleep.cjs.map +1 -1
  27. package/cjs/utils/promise-sleep.d.ts +28 -2
  28. package/cjs/utils/promise-sleep.d.ts.map +1 -1
  29. package/cjs/utils/promise-sleep.test.cjs +13 -13
  30. package/cjs/utils/promise-sleep.test.cjs.map +1 -1
  31. package/cjs/version.cjs +1 -1
  32. package/deno.json +1 -1
  33. package/esm/base-sys-abstraction.d.ts +1 -1
  34. package/esm/base-sys-abstraction.d.ts.map +1 -1
  35. package/esm/future.d.ts +1 -0
  36. package/esm/future.d.ts.map +1 -1
  37. package/esm/future.js +2 -0
  38. package/esm/future.js.map +1 -1
  39. package/esm/future.test.js +5 -0
  40. package/esm/future.test.js.map +1 -1
  41. package/esm/on-func.test.js +1 -1
  42. package/esm/on-func.test.js.map +1 -1
  43. package/esm/poller.d.ts +27 -5
  44. package/esm/poller.d.ts.map +1 -1
  45. package/esm/poller.js +107 -18
  46. package/esm/poller.js.map +1 -1
  47. package/esm/poller.test.js +46 -2
  48. package/esm/poller.test.js.map +1 -1
  49. package/esm/timeouted.d.ts +45 -0
  50. package/esm/timeouted.d.ts.map +1 -0
  51. package/esm/timeouted.js +110 -0
  52. package/esm/timeouted.js.map +1 -0
  53. package/esm/timeouted.test.d.ts +2 -0
  54. package/esm/timeouted.test.d.ts.map +1 -0
  55. package/esm/timeouted.test.js +579 -0
  56. package/esm/timeouted.test.js.map +1 -0
  57. package/esm/utils/promise-sleep.d.ts +28 -2
  58. package/esm/utils/promise-sleep.d.ts.map +1 -1
  59. package/esm/utils/promise-sleep.js +27 -26
  60. package/esm/utils/promise-sleep.js.map +1 -1
  61. package/esm/utils/promise-sleep.test.js +13 -13
  62. package/esm/utils/promise-sleep.test.js.map +1 -1
  63. package/esm/version.js +1 -1
  64. package/package.json +8 -8
  65. package/src/base-sys-abstraction.ts +1 -1
  66. package/src/future.ts +5 -0
  67. package/src/poller.ts +159 -23
  68. package/src/timeouted.ts +186 -0
  69. package/src/utils/promise-sleep.ts +61 -31
  70. package/ts/cjs/base-sys-abstraction.d.ts +1 -1
  71. package/ts/cjs/base-sys-abstraction.d.ts.map +1 -1
  72. package/ts/cjs/future.d.ts +1 -0
  73. package/ts/cjs/future.d.ts.map +1 -1
  74. package/ts/cjs/future.js +2 -0
  75. package/ts/cjs/future.js.map +1 -1
  76. package/ts/cjs/future.test.js +5 -0
  77. package/ts/cjs/future.test.js.map +1 -1
  78. package/ts/cjs/on-func.test.js +1 -1
  79. package/ts/cjs/on-func.test.js.map +1 -1
  80. package/ts/cjs/poller.d.ts +27 -5
  81. package/ts/cjs/poller.d.ts.map +1 -1
  82. package/ts/cjs/poller.js +107 -18
  83. package/ts/cjs/poller.js.map +1 -1
  84. package/ts/cjs/poller.test.js +46 -2
  85. package/ts/cjs/poller.test.js.map +1 -1
  86. package/ts/cjs/timeouted.d.ts +45 -0
  87. package/ts/cjs/timeouted.d.ts.map +1 -0
  88. package/ts/cjs/timeouted.js +119 -0
  89. package/ts/cjs/timeouted.js.map +1 -0
  90. package/ts/cjs/timeouted.test.d.ts +2 -0
  91. package/ts/cjs/timeouted.test.d.ts.map +1 -0
  92. package/ts/cjs/timeouted.test.js +581 -0
  93. package/ts/cjs/timeouted.test.js.map +1 -0
  94. package/ts/cjs/utils/promise-sleep.d.ts +28 -2
  95. package/ts/cjs/utils/promise-sleep.d.ts.map +1 -1
  96. package/ts/cjs/utils/promise-sleep.js +27 -26
  97. package/ts/cjs/utils/promise-sleep.js.map +1 -1
  98. package/ts/cjs/utils/promise-sleep.test.js +13 -13
  99. package/ts/cjs/utils/promise-sleep.test.js.map +1 -1
  100. package/ts/cjs/version.js +1 -1
  101. package/ts/esm/base-sys-abstraction.d.ts +1 -1
  102. package/ts/esm/base-sys-abstraction.d.ts.map +1 -1
  103. package/ts/esm/future.d.ts +1 -0
  104. package/ts/esm/future.d.ts.map +1 -1
  105. package/ts/esm/future.js +2 -0
  106. package/ts/esm/future.js.map +1 -1
  107. package/ts/esm/future.test.js +5 -0
  108. package/ts/esm/future.test.js.map +1 -1
  109. package/ts/esm/on-func.test.js +1 -1
  110. package/ts/esm/on-func.test.js.map +1 -1
  111. package/ts/esm/poller.d.ts +27 -5
  112. package/ts/esm/poller.d.ts.map +1 -1
  113. package/ts/esm/poller.js +107 -18
  114. package/ts/esm/poller.js.map +1 -1
  115. package/ts/esm/poller.test.js +46 -2
  116. package/ts/esm/poller.test.js.map +1 -1
  117. package/ts/esm/timeouted.d.ts +45 -0
  118. package/ts/esm/timeouted.d.ts.map +1 -0
  119. package/ts/esm/timeouted.js +110 -0
  120. package/ts/esm/timeouted.js.map +1 -0
  121. package/ts/esm/timeouted.test.d.ts +2 -0
  122. package/ts/esm/timeouted.test.d.ts.map +1 -0
  123. package/ts/esm/timeouted.test.js +579 -0
  124. package/ts/esm/timeouted.test.js.map +1 -0
  125. package/ts/esm/utils/promise-sleep.d.ts +28 -2
  126. package/ts/esm/utils/promise-sleep.d.ts.map +1 -1
  127. package/ts/esm/utils/promise-sleep.js +27 -26
  128. package/ts/esm/utils/promise-sleep.js.map +1 -1
  129. package/ts/esm/utils/promise-sleep.test.js +13 -13
  130. package/ts/esm/utils/promise-sleep.test.js.map +1 -1
  131. package/ts/esm/version.js +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=timeouted.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeouted.test.d.ts","sourceRoot":"","sources":["../../../src/timeouted.test.ts"],"names":[],"mappings":""}
@@ -1,32 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sleep = sleep;
4
- const result_js_1 = require("../result.cjs");
5
- function sleep(ms, signal) {
6
- return new Promise((resolve) => {
7
- if (ms <= 0) {
8
- resolve(result_js_1.Result.Ok());
9
- return;
10
- }
11
- if (signal?.aborted) {
12
- const err = new Error("sleep aborted");
13
- resolve(result_js_1.Result.Err(err));
14
- return;
15
- }
16
- function cleanup() {
17
- clearTimeout(id);
18
- signal?.removeEventListener("abort", onAbort);
19
- }
20
- const id = setTimeout(() => {
21
- cleanup();
22
- resolve(result_js_1.Result.Ok());
23
- }, ms);
24
- const onAbort = () => {
25
- cleanup();
26
- const err = new Error("sleep aborted");
27
- resolve(result_js_1.Result.Err(err));
28
- };
29
- signal?.addEventListener("abort", onAbort, { once: true });
4
+ const future_js_1 = require("../future.cjs");
5
+ async function sleep(ms, signal) {
6
+ if (ms < 0) {
7
+ return { state: "sleeped", isOk: true, isErr: false, isAborted: false };
8
+ }
9
+ if (signal?.aborted) {
10
+ const err = new Error("sleep aborted");
11
+ return { state: "aborted", reason: err, isOk: false, isErr: false, isAborted: true };
12
+ }
13
+ const sleepFuture = new future_js_1.Future();
14
+ const id = setTimeout(() => {
15
+ sleepFuture.resolve({ state: "sleeped", isOk: true, isErr: false, isAborted: false });
16
+ }, ms);
17
+ const abortFuture = new future_js_1.Future();
18
+ function onAbort() {
19
+ abortFuture.resolve({
20
+ state: "aborted",
21
+ reason: new Error("sleep aborted"),
22
+ isOk: false,
23
+ isErr: false,
24
+ isAborted: true,
25
+ });
26
+ }
27
+ signal?.addEventListener("abort", onAbort, { once: true });
28
+ return Promise.race([abortFuture.asPromise(), sleepFuture.asPromise()]).finally(() => {
29
+ clearTimeout(id);
30
+ signal?.removeEventListener("abort", onAbort);
30
31
  });
31
32
  }
32
33
  //# sourceMappingURL=promise-sleep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise-sleep.js","sourceRoot":"","sources":["../../../../src/utils/promise-sleep.ts"],"names":[],"mappings":";;;AAAA,4CAAsC;AAUtC,eAAsB,EAAU,EAAE,MAAoB,EAAyB;IAC7E,OAAO,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,kBAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YAEvC,OAAO,CAAC,kBAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,SAAS,OAAO,GAAS;YACvB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAAA,CAC/C;QAED,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,kBAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAAA,CACtB,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YAEvC,OAAO,CAAC,kBAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAAA,CAC1B,CAAC;QAEF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAAA,CAC5D,CAAC,CAAC;AAAA,CACJ"}
1
+ {"version":3,"file":"promise-sleep.js","sourceRoot":"","sources":["../../../../src/utils/promise-sleep.ts"],"names":[],"mappings":";;;AAAA,4CAAsC;AA0C/B,KAAK,gBAAgB,EAAU,EAAE,MAAoB,EAAwB;IAClF,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAEvC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACvF,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,kBAAM,EAAW,CAAC;IAC1C,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;QAE1B,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAAA,CACvF,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,IAAI,kBAAM,EAAc,CAAC;IAC7C,SAAS,OAAO,GAAS;QACvB,WAAW,CAAC,OAAO,CAAC;YAClB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI,KAAK,CAAC,eAAe,CAAC;YAClC,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IAAA,CACJ;IACD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpF,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAAA,CAC/C,CAAC,CAAC;AAAA,CACJ"}
@@ -1,3 +1,29 @@
1
- import { Result } from "../result.js";
2
- export declare function sleep(ms: number, signal?: AbortSignal): Promise<Result<void>>;
1
+ export interface SleepBase {
2
+ readonly state: "sleeped" | "error" | "aborted";
3
+ readonly isOk: boolean;
4
+ readonly isErr: boolean;
5
+ readonly isAborted: boolean;
6
+ }
7
+ export interface SleepOk extends SleepBase {
8
+ readonly state: "sleeped";
9
+ readonly isOk: true;
10
+ readonly isErr: false;
11
+ readonly isAborted: false;
12
+ }
13
+ export interface SleepErr extends SleepBase {
14
+ readonly state: "error";
15
+ readonly error: Error;
16
+ readonly isOk: false;
17
+ readonly isErr: true;
18
+ readonly isAborted: false;
19
+ }
20
+ export interface SleepAbort extends SleepBase {
21
+ readonly state: "aborted";
22
+ readonly reason: Error;
23
+ readonly isOk: false;
24
+ readonly isErr: false;
25
+ readonly isAborted: true;
26
+ }
27
+ export type SleepResult = SleepOk | SleepErr | SleepAbort;
28
+ export declare function sleep(ms: number, signal?: AbortSignal): Promise<SleepResult>;
3
29
  //# sourceMappingURL=promise-sleep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise-sleep.d.ts","sourceRoot":"","sources":["../../../../src/utils/promise-sleep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAUtC,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAgC7E"}
1
+ {"version":3,"file":"promise-sleep.d.ts","sourceRoot":"","sources":["../../../../src/utils/promise-sleep.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,OAAQ,SAAQ,SAAS;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;CAC3B;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;CAC3B;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAU1D,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA8BlF"}
@@ -7,58 +7,58 @@ it("sleeps for the specified duration", async () => {
7
7
  const duration = performance.now() - start;
8
8
  expect(duration).toBeGreaterThanOrEqual(95);
9
9
  expect(duration).toBeLessThan(150);
10
- expect(result.isOk()).toBe(true);
11
- expect(result.unwrap()).toBeUndefined();
10
+ expect(result.isOk).toBe(true);
12
11
  });
13
12
  it("returns immediately for zero milliseconds", async () => {
14
13
  const start = performance.now();
15
14
  const result = await (0, promise_sleep_js_1.sleep)(0);
16
15
  const duration = performance.now() - start;
17
16
  expect(duration).toBeLessThan(10);
18
- expect(result.isOk()).toBe(true);
17
+ expect(result.isOk).toBe(true);
19
18
  });
20
19
  it("returns immediately for negative milliseconds", async () => {
21
20
  const start = performance.now();
22
21
  const result = await (0, promise_sleep_js_1.sleep)(-100);
23
22
  const duration = performance.now() - start;
24
23
  expect(duration).toBeLessThan(10);
25
- expect(result.isOk()).toBe(true);
24
+ expect(result.isOk).toBe(true);
26
25
  });
27
26
  it("returns error when aborted before sleep starts", async () => {
28
27
  const controller = new AbortController();
29
28
  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");
29
+ const result = (await (0, promise_sleep_js_1.sleep)(100, controller.signal));
30
+ expect(result.isOk).toBe(false);
31
+ expect(result.isAborted).toBe(true);
32
+ expect(result.reason.message).toBe("sleep aborted");
33
33
  });
34
34
  it("returns error when aborted during sleep", async () => {
35
35
  const controller = new AbortController();
36
36
  const start = performance.now();
37
37
  const sleepPromise = (0, promise_sleep_js_1.sleep)(200, controller.signal);
38
38
  setTimeout(() => controller.abort(), 50);
39
- const result = await sleepPromise;
39
+ const result = (await sleepPromise);
40
40
  const duration = performance.now() - start;
41
41
  expect(duration).toBeGreaterThanOrEqual(45);
42
42
  expect(duration).toBeLessThan(150);
43
- expect(result.isOk()).toBe(false);
44
- expect(result.Err().message).toBe("sleep aborted");
43
+ expect(result.isOk).toBe(false);
44
+ expect(result.reason.message).toBe("sleep aborted");
45
45
  });
46
46
  it("completes successfully if not aborted", async () => {
47
47
  const controller = new AbortController();
48
48
  const result = await (0, promise_sleep_js_1.sleep)(50, controller.signal);
49
- expect(result.isOk()).toBe(true);
49
+ expect(result.isOk).toBe(true);
50
50
  });
51
51
  it("cleans up timeout and event listener on abort", async () => {
52
52
  const controller = new AbortController();
53
53
  const sleepPromise = (0, promise_sleep_js_1.sleep)(100, controller.signal);
54
54
  controller.abort();
55
55
  const result = await sleepPromise;
56
- expect(result.isOk()).toBe(false);
56
+ expect(result.isOk).toBe(false);
57
57
  });
58
58
  it("cleans up timeout and event listener on success", async () => {
59
59
  const controller = new AbortController();
60
60
  const result = await (0, promise_sleep_js_1.sleep)(50, controller.signal);
61
- expect(result.isOk()).toBe(true);
61
+ expect(result.isOk).toBe(true);
62
62
  controller.abort();
63
63
  });
64
64
  //# sourceMappingURL=promise-sleep.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise-sleep.test.js","sourceRoot":"","sources":["../../../../src/utils/promise-sleep.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promise-sleep.test.js","sourceRoot":"","sources":["../../../../src/utils/promise-sleep.test.ts"],"names":[],"mappings":"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"}
package/cjs/version.cjs 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.58";
4
+ exports.VERSION = "0.4.60";
5
5
  //# sourceMappingURL=version.js.map
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adviser/cement",
3
- "version": "0.4.58",
3
+ "version": "0.4.60",
4
4
  "license": "AFL-2.0",
5
5
  "exports": {
6
6
  ".": "./src/index.ts",
@@ -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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAKnC,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,GAAG,IAAI,IAAI,CAEV;IACD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrC;CACF;AAED,qBAAa,SAAU,SAAQ,IAAI;IACjC,GAAG,IAAI,IAAI,CAEV;IAED,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErC;CACF;AAED,qBAAa,QAAS,SAAQ,IAAI;IAChC,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,cAIC;IACD,GAAG,CAAC,KAAK,SAAI,GAAG,IAAI,CAanB;IACD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrC;CACF;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAUpD;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,KAAK,SAAK;IACV,YAAY,IAAI,EAAE,UAAU,EAE3B;IACD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYpC;CACF;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,SAAK;IACV,YAAY,IAAI,CAAC,EAAE,MAAM,EAKxB;IACD,MAAM,IAAI,MAAM,CAWf;CACF;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED,MAAM,WAAW,wBAAyB,SAAQ,6BAA6B;IAC7E,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAID,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAiB;IAGxC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAmB;IACjD,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAwC;IAC9E,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,YAAY,MAAM,EAAE,6BAA6B,EAEhD;CACF;AAED,qBAAa,kBAAmB,SAAQ,uBAAuB;IAE7D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IAEvC,YAAY,MAAM,EAAE,wBAAwB,EAI3C;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CAErC;AAED,MAAM,MAAM,gCAAgC,GAAG,OAAO,CAAC,mBAAmB,GAAG,yBAAyB,CAAC,CAAC;AAExG,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE,gCAAgC,GAAG,mBAAmB,CAczG;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IACpE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IACnD,YACE,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG;QAAE,mBAAmB,EAAE,mBAAmB,CAAA;KAAE,EAe1F;IAED,IAAI,IAAI,IAAI,CAEX;IACD,MAAM,IAAI,MAAM,CAEf;IACD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpC;IACD,MAAM,IAAI,cAAc,CAEvB;IACD,MAAM,IAAI,cAAc,CAEvB;IACD,GAAG,IAAI,GAAG,CAET;IACD,IAAI,IAAI,MAAM,EAAE,CAEf;CAQF;AAGD,qBAAa,4BAA6B,SAAQ,0BAA0B;IAC1E,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,YACE,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG;QACzC,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,UAAU,CAAC,EAAE,WAAW,CAAC;QACzB,mBAAmB,EAAE,mBAAmB,CAAC;KAC1C,EAKF;IAED,MAAM,IAAI,aAAa,CAEtB;IACD,UAAU,IAAI,WAAW,CAExB;CACF"}
1
+ {"version":3,"file":"base-sys-abstraction.d.ts","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
package/esm/future.d.ts CHANGED
@@ -2,6 +2,7 @@ export declare class Future<T, CTX = void> {
2
2
  #private;
3
3
  readonly ctx?: CTX;
4
4
  constructor(ctx?: CTX);
5
+ readonly id: () => string;
5
6
  asPromise(): Promise<T>;
6
7
  resolve(value: T): void;
7
8
  reject(reason: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;;IAU/B,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,GAAG,CAAC,EAAE,GAAG,EAMpB;IAED,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtB;IAED,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEtB;IACD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE5B;CACF"}
1
+ {"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;;IAU/B,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,GAAG,CAAC,EAAE,GAAG,EAMpB;IAGD,QAAQ,CAAC,EAAE,EAAE,MAAM,MAAM,CAAiF;IAE1G,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtB;IAED,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAEtB;IACD,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE5B;CACF"}
package/esm/future.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { Lazy } from "./resolve-once.js";
1
2
  export class Future {
2
3
  #promise;
3
4
  #resolveFn = () => {
@@ -14,6 +15,7 @@ export class Future {
14
15
  this.#rejectFn = reject;
15
16
  });
16
17
  }
18
+ id = Lazy(() => Math.random().toString(36).substring(2) + Date.now().toString(36));
17
19
  asPromise() {
18
20
  return this.#promise;
19
21
  }
package/esm/future.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"future.js","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IAER,QAAQ,CAAa;IAC9B,UAAU,GAAuB,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IACF,SAAS,GAA8B,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IAEO,GAAG,CAAO;IACnB,YAAY,GAAS,EAAE;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAAA,CACzB,CAAC,CAAC;IAAA,CACJ;IAED,SAAS,GAAe;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IAAA,CACtB;IAED,OAAO,CAAC,KAAQ,EAAQ;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAAA,CACxB;IACD,MAAM,CAAC,MAAe,EAAQ;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CACxB;CACF"}
1
+ {"version":3,"file":"future.js","sourceRoot":"","sources":["../../../src/future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,OAAO,MAAM;IAER,QAAQ,CAAa;IAC9B,UAAU,GAAuB,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IACF,SAAS,GAA8B,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAAA,CAC7D,CAAC;IAEO,GAAG,CAAO;IACnB,YAAY,GAAS,EAAE;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAAA,CACzB,CAAC,CAAC;IAAA,CACJ;IAGQ,EAAE,GAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1G,SAAS,GAAe;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IAAA,CACtB;IAED,OAAO,CAAC,KAAQ,EAAQ;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAAA,CACxB;IACD,MAAM,CAAC,MAAe,EAAQ;QAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CACxB;CACF"}
@@ -33,4 +33,9 @@ it("Create Future with Context", () => {
33
33
  const future = new Future({ id: 42 });
34
34
  expect(future.ctx?.id).toBe(42);
35
35
  });
36
+ it("Future create a unique id per instance could be used as transaction id", () => {
37
+ const future1 = new Future();
38
+ const future2 = new Future();
39
+ expect(future1.id()).not.toBe(future2.id());
40
+ });
36
41
  //# sourceMappingURL=future.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"future.test.js","sourceRoot":"","sources":["../../../src/future.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAAA,CACrC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5B,MAAM,CAAC,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAAA,CAC3C,CAAC,CAAC;AAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAAA,CACrC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;AAAA,CACF,CAAC,CAAC;AAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAmC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAAA,CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"future.test.js","sourceRoot":"","sources":["../../../src/future.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAAA,CACrC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5B,MAAM,CAAC,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAAA,CAC3C,CAAC,CAAC;AAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAAA,CACrC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;AAAA,CACF,CAAC,CAAC;AAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAmC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAAA,CACjC,CAAC,CAAC;AAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AAAA,CAC7C,CAAC,CAAC"}
@@ -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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AA0CjD,MAAM,cAAc;IACT,WAAW,GAAG,MAAM,EAAkC,CAAC;IACvD,YAAY,GAAG,MAAM,EAAc,CAAC;IAEpC,SAAS,GAAG,MAAM,EAA0C,CAAC;IAC7D,aAAa,GAAG,MAAM,EAA+D,CAAC;IACtF,mBAAmB,GAAG,MAAM,EAAqE,CAAC;CAC5G;AAED,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,MAAM,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,EAAE,IAAI,CAAC;YACT,CAAC,CAAC,EAAE,IAAI,CAAC;SACV,CAAC,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC5C,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,EAAE,CAAC;IACV,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;AAAA,CACF,CAAC,CAAC;AAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAAA,CACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"on-func.test.js","sourceRoot":"","sources":["../../../src/on-func.test.ts"],"names":[],"mappings":"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"}
package/esm/poller.d.ts CHANGED
@@ -1,22 +1,44 @@
1
- export interface PollWaitingActionResult {
1
+ export interface PollerStats {
2
+ readonly attempts: number;
3
+ readonly lastIntervalMs: number;
4
+ readonly totalElapsedMs: number;
5
+ }
6
+ interface PollWithStats {
7
+ readonly stats: PollerStats;
8
+ }
9
+ export interface PurPollWaitingActionResult {
2
10
  readonly state: "waiting";
3
11
  }
4
- export interface PollSuccessActionResult<T> {
12
+ export type PollWaitingActionResult = PurPollWaitingActionResult & PollWithStats;
13
+ export interface PurPollSuccessActionResult<T> {
5
14
  readonly state: "success";
6
15
  readonly result: T;
7
16
  }
8
- export interface PollErrorActionResult {
17
+ export type PollSuccessActionResult<T> = PurPollSuccessActionResult<T> & PollWithStats;
18
+ export interface PurPollErrorActionResult {
9
19
  readonly state: "error";
10
20
  readonly error: Error;
11
21
  }
12
- export type PollActionResult<T> = PollWaitingActionResult | PollSuccessActionResult<T> | PollErrorActionResult;
22
+ export type PollErrorActionResult = PurPollErrorActionResult & PollWithStats;
23
+ export interface PurPollTimeoutActionResult {
24
+ readonly state: "timeout";
25
+ }
26
+ export type PollTimeoutActionResult = PurPollTimeoutActionResult & PollWithStats;
27
+ export interface PurPollAbortActionResult {
28
+ readonly state: "aborted";
29
+ readonly reason: unknown;
30
+ }
31
+ export type PollAbortActionResult = PurPollAbortActionResult & PollWithStats;
32
+ export type PollActionResult<T> = PurPollWaitingActionResult | PurPollSuccessActionResult<T> | PurPollErrorActionResult | PurPollTimeoutActionResult | PurPollAbortActionResult;
13
33
  export declare const FOREVER = 2147483647;
14
34
  export interface PollerOptions {
15
35
  readonly intervalMs: number;
36
+ readonly actionTimeoutMs: number;
16
37
  readonly timeoutMs: number;
17
38
  readonly exponentialBackoff: boolean;
18
39
  readonly abortSignal?: AbortSignal;
19
40
  }
20
- export type PollerResult<T> = PollSuccessActionResult<T> | PollErrorActionResult;
41
+ export type PollerResult<T> = PollSuccessActionResult<T> | PollErrorActionResult | PollTimeoutActionResult | PollAbortActionResult;
21
42
  export declare function poller<T>(fn: () => Promise<PollActionResult<T>>, ioptions?: Partial<PollerOptions>): Promise<PollerResult<T>>;
43
+ export {};
22
44
  //# sourceMappingURL=poller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"AAGA,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;AAE/G,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,CAAC;AAwCjF,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,CAc1B"}
1
+ {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"AAIA,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,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,GAAG,aAAa,CAAC;AAEjF,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACpB;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;AAEvF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GAAG,aAAa,CAAC;AAE7E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,GAAG,aAAa,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AACD,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GAAG,aAAa,CAAC;AAE7E,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B,0BAA0B,GAC1B,0BAA0B,CAAC,CAAC,CAAC,GAC7B,wBAAwB,GACxB,0BAA0B,GAC1B,wBAAwB,CAAC;AAE7B,eAAO,MAAM,OAAO,aAAa,CAAC;AAClC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,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,GAAG,qBAAqB,CAAC;AAiHnI,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,CA0C1B"}
package/esm/poller.js CHANGED
@@ -1,35 +1,97 @@
1
+ import { Future } from "./future.js";
1
2
  import { sleep } from "./utils/promise-sleep.js";
2
3
  export const FOREVER = 2147483647;
3
- async function interPoller(fn, options) {
4
+ function doneStats(stats) {
5
+ stats.totalElapsedMs = Date.now() - stats.startTime;
6
+ return {
7
+ attempts: stats.attempts,
8
+ lastIntervalMs: stats.lastIntervalMs,
9
+ totalElapsedMs: stats.totalElapsedMs,
10
+ };
11
+ }
12
+ async function interPoller(fn, options, stats, abortController) {
4
13
  do {
5
- let result;
6
14
  try {
7
- result = await fn(options.abortSignal);
15
+ stats.attempts += 1;
16
+ const abortCheck = new Future();
17
+ function onAbort() {
18
+ abortCheck.resolve({
19
+ state: "aborted",
20
+ reason: abortController.signal.reason,
21
+ });
22
+ }
23
+ const fnAbortController = new AbortController();
24
+ fnAbortController.signal.addEventListener("abort", onAbort, { once: true });
25
+ const races = [
26
+ fn(fnAbortController.signal).finally(() => {
27
+ fnAbortController.abort();
28
+ }),
29
+ abortCheck.asPromise().finally(() => {
30
+ fnAbortController.abort();
31
+ }),
32
+ ];
33
+ if (options.actionTimeoutMs > 0) {
34
+ races.push(sleep(options.actionTimeoutMs, fnAbortController.signal).then((res) => {
35
+ fnAbortController.abort(new Error("poller action timeout"));
36
+ switch (res.state) {
37
+ case "sleeped":
38
+ return { state: "waiting" };
39
+ case "error":
40
+ return { state: "error", error: res.error };
41
+ case "aborted":
42
+ return { state: "aborted", reason: res.reason };
43
+ }
44
+ throw new Error("Unreachable code in poller action timeout");
45
+ }));
46
+ }
47
+ const result = await Promise.race(races).finally(() => {
48
+ fnAbortController.signal.removeEventListener("abort", onAbort);
49
+ });
8
50
  switch (result.state) {
9
51
  case "waiting":
10
52
  {
11
53
  if (options.exponentialBackoff) {
12
54
  options.intervalMs = Math.min(options.intervalMs * 2, FOREVER);
13
55
  }
14
- const err = await sleep(options.intervalMs, options.abortSignal);
15
- if (err.isErr()) {
16
- return {
17
- state: "error",
18
- error: err.Err(),
19
- };
56
+ stats.lastIntervalMs = options.intervalMs;
57
+ const res = await sleep(options.intervalMs, abortController.signal);
58
+ switch (true) {
59
+ case res.isAborted:
60
+ return {
61
+ state: "aborted",
62
+ reason: res.reason,
63
+ stats: doneStats(stats),
64
+ };
65
+ case res.isOk:
66
+ break;
67
+ case res.isErr:
68
+ return {
69
+ state: "error",
70
+ error: res.error,
71
+ stats: doneStats(stats),
72
+ };
73
+ default:
74
+ throw new Error("poller interrupted during sleep");
20
75
  }
21
76
  }
22
77
  break;
78
+ case "aborted":
79
+ return {
80
+ state: "aborted",
81
+ reason: result.reason,
82
+ stats: doneStats(stats),
83
+ };
23
84
  case "success":
24
- return result;
85
+ return { ...result, stats: doneStats(stats) };
25
86
  case "error":
26
- return result;
87
+ return { ...result, stats: doneStats(stats) };
27
88
  }
28
89
  }
29
90
  catch (err) {
30
91
  return {
31
92
  state: "error",
32
93
  error: err,
94
+ stats: doneStats(stats),
33
95
  };
34
96
  }
35
97
  // eslint-disable-next-line no-constant-condition
@@ -38,15 +100,42 @@ async function interPoller(fn, options) {
38
100
  export async function poller(fn, ioptions = {}) {
39
101
  const options = {
40
102
  intervalMs: 1000,
41
- timeoutMs: 30000,
103
+ timeoutMs: 30000, // -1 means forever
104
+ actionTimeoutMs: -1, // forever
42
105
  ...ioptions,
43
106
  exponentialBackoff: typeof ioptions.exponentialBackoff === "boolean" ? ioptions.exponentialBackoff : ioptions.timeoutMs === FOREVER,
44
107
  };
45
- return Promise.race([
46
- interPoller(fn, options),
47
- sleep(options.timeoutMs, options.abortSignal)
48
- .then(() => ({ state: "error", error: new Error("Polling timed out") }))
49
- .catch((e) => ({ state: "error", error: e })),
50
- ]);
108
+ const stats = {
109
+ attempts: 0,
110
+ startTime: Date.now(),
111
+ lastIntervalMs: 0,
112
+ totalElapsedMs: 0,
113
+ };
114
+ const abortController = new AbortController();
115
+ const toRemoveEventListeners = [];
116
+ if (options.abortSignal) {
117
+ if (options.abortSignal.aborted) {
118
+ abortController.abort(options.abortSignal.reason);
119
+ }
120
+ else {
121
+ function dispatchAbort() {
122
+ abortController.abort(options.abortSignal?.reason);
123
+ }
124
+ toRemoveEventListeners.push(() => {
125
+ options.abortSignal?.removeEventListener("abort", dispatchAbort);
126
+ });
127
+ options.abortSignal.addEventListener("abort", dispatchAbort, { once: true });
128
+ }
129
+ }
130
+ const races = [interPoller(fn, options, stats, abortController)];
131
+ if (options.timeoutMs > 0) {
132
+ races.push(sleep(options.timeoutMs, abortController.signal)
133
+ .then(() => ({ state: "timeout", stats: doneStats(stats) }))
134
+ .catch((e) => ({ state: "error", error: e, stats: doneStats(stats) })));
135
+ }
136
+ return Promise.race(races).finally(() => {
137
+ toRemoveEventListeners.forEach((fn) => fn());
138
+ toRemoveEventListeners.length = 0;
139
+ });
51
140
  }
52
141
  //# sourceMappingURL=poller.js.map
package/esm/poller.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAmBjD,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAUlC,KAAK,UAAU,WAAW,CACxB,EAA+D,EAC/D,OAAgC,EACN;IAC1B,GAAG,CAAC;QACF,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACvC,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,SAAS;oBACZ,CAAC;wBACC,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;4BAC/B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;wBACjE,CAAC;wBACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;wBACjE,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;4BAChB,OAAO;gCACL,KAAK,EAAE,OAAO;gCACd,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE;6BACjB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,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;QACX,kBAAkB,EAChB,OAAO,QAAQ,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO;KAClH,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;aAC1C,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;aAChF,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;KAChE,CAAC,CAAC;AAAA,CACJ"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/poller.ts"],"names":[],"mappings":"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"}