@peerbit/time 2.3.0-c1b15a9 → 2.3.0-cb91e7b

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.
@@ -1 +1 @@
1
- {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,eAAO,MAAM,KAAK,GACjB,IAAI,MAAM,EACV,UAAU;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChC,OAAO,CAAC,IAAI,CAYd,CAAC;AAWF,eAAO,MAAM,OAAO,GAAU,CAAC,EAC9B,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,UAAS;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACqB,KAC5C,OAAO,CAAC,CAAC,GAAG,SAAS,CAgCvB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,CAAC,EACtC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,UAAS;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACoB,KAC3C,OAAO,CAAC,CAAC,CAwCX,CAAC"}
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,eAAO,MAAM,KAAK,GACjB,IAAI,MAAM,EACV,UAAU;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChC,OAAO,CAAC,IAAI,CAsBd,CAAC;AAWF,eAAO,MAAM,OAAO,GAAU,CAAC,EAC9B,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,UAAS;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACqB,KAC5C,OAAO,CAAC,CAAC,GAAG,SAAS,CAgCvB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,CAAC,EACtC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,UAAS;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACoB,KAC3C,OAAO,CAAC,CAAC,CAwCX,CAAC"}
package/dist/src/wait.js CHANGED
@@ -4,12 +4,21 @@ export class AbortError extends Error {
4
4
  }
5
5
  export const delay = async (ms, options) => {
6
6
  return new Promise((resolve, reject) => {
7
+ let timer;
7
8
  const handleAbort = () => {
8
- clearTimeout(timer);
9
+ options?.signal?.removeEventListener("abort", handleAbort);
10
+ if (timer)
11
+ clearTimeout(timer);
9
12
  reject(new AbortError());
10
13
  };
11
- options?.signal?.addEventListener("abort", handleAbort);
12
- const timer = setTimeout(() => {
14
+ if (options?.signal) {
15
+ if (options.signal.aborted) {
16
+ handleAbort();
17
+ return;
18
+ }
19
+ options.signal.addEventListener("abort", handleAbort, { once: true });
20
+ }
21
+ timer = setTimeout(() => {
13
22
  options?.signal?.removeEventListener("abort", handleAbort);
14
23
  resolve();
15
24
  }, ms);
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/time",
3
- "version": "2.3.0-c1b15a9",
3
+ "version": "2.3.0-cb91e7b",
4
4
  "description": "Utility functions for time",
5
5
  "type": "module",
6
6
  "sideEffects": false,
package/src/wait.ts CHANGED
@@ -7,12 +7,22 @@ export const delay = async (
7
7
  options?: { signal?: AbortSignal },
8
8
  ): Promise<void> => {
9
9
  return new Promise<void>((resolve, reject) => {
10
+ let timer: ReturnType<typeof setTimeout> | undefined;
10
11
  const handleAbort = (): void => {
11
- clearTimeout(timer);
12
+ options?.signal?.removeEventListener("abort", handleAbort);
13
+ if (timer) clearTimeout(timer);
12
14
  reject(new AbortError());
13
15
  };
14
- options?.signal?.addEventListener("abort", handleAbort);
15
- const timer = setTimeout(() => {
16
+
17
+ if (options?.signal) {
18
+ if (options.signal.aborted) {
19
+ handleAbort();
20
+ return;
21
+ }
22
+ options.signal.addEventListener("abort", handleAbort, { once: true });
23
+ }
24
+
25
+ timer = setTimeout(() => {
16
26
  options?.signal?.removeEventListener("abort", handleAbort);
17
27
  resolve();
18
28
  }, ms);