yummies 3.0.39 → 3.0.41
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/async.d.ts +2 -0
- package/async.d.ts.map +1 -1
- package/async.js +27 -0
- package/package.json +1 -1
package/async.d.ts
CHANGED
|
@@ -23,4 +23,6 @@ export declare const waitAsync: (ms?: number) => Promise<unknown>;
|
|
|
23
23
|
* @returns void
|
|
24
24
|
*/
|
|
25
25
|
export declare const endlessRAF: (quitFunction: () => boolean | void, asMicrotask?: boolean) => void;
|
|
26
|
+
export declare function setAbortableTimeout(callback: VoidFunction, delayInMs?: number, signal?: AbortSignal): void;
|
|
27
|
+
export declare function setAbortableInterval(callback: VoidFunction, delayInMs?: number, signal?: AbortSignal): void;
|
|
26
28
|
//# sourceMappingURL=async.d.ts.map
|
package/async.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,KAAK,UAAU,MAAM,qBACmB,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,mCAC6B,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,iBACP,MAAM,OAAO,GAAG,IAAI,gBACpB,OAAO,SAYtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,KAAK,UAAU,MAAM,qBACmB,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,mCAC6B,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,iBACP,MAAM,OAAO,GAAG,IAAI,gBACpB,OAAO,SAYtB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,QAkBrB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,QAerB"}
|
package/async.js
CHANGED
|
@@ -34,3 +34,30 @@ export const endlessRAF = (quitFunction, asMicrotask) => {
|
|
|
34
34
|
raf();
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
export function setAbortableTimeout(callback, delayInMs, signal) {
|
|
38
|
+
let internalTimer = null;
|
|
39
|
+
const handleAbort = () => {
|
|
40
|
+
if (internalTimer == null) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
clearTimeout(internalTimer);
|
|
44
|
+
internalTimer = null;
|
|
45
|
+
};
|
|
46
|
+
signal?.addEventListener('abort', handleAbort, { once: true });
|
|
47
|
+
internalTimer = setTimeout(() => {
|
|
48
|
+
signal?.removeEventListener('abort', handleAbort);
|
|
49
|
+
callback();
|
|
50
|
+
}, delayInMs);
|
|
51
|
+
}
|
|
52
|
+
export function setAbortableInterval(callback, delayInMs, signal) {
|
|
53
|
+
let timer = null;
|
|
54
|
+
const handleAbort = () => {
|
|
55
|
+
if (timer == null) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
clearInterval(timer);
|
|
59
|
+
timer = null;
|
|
60
|
+
};
|
|
61
|
+
signal?.addEventListener('abort', handleAbort, { once: true });
|
|
62
|
+
timer = setInterval(callback, delayInMs);
|
|
63
|
+
}
|