@esmj/task
Advanced tools
+3
-2
@@ -1,2 +0,3 @@ | ||
| declare function forceYield(): Promise<unknown>; | ||
| declare function nextFrameYield(): Promise<unknown>; | ||
| declare function forceYield(frame?: number): Promise<unknown>; | ||
| declare function autoYield(): Promise<unknown>; | ||
@@ -6,2 +7,2 @@ declare function autoYieldReset(): void; | ||
| export { autoYield, autoYieldReset, autoYieldToggle, forceYield }; | ||
| export { autoYield, autoYieldReset, autoYieldToggle, forceYield, nextFrameYield }; |
+3
-2
@@ -1,2 +0,3 @@ | ||
| declare function forceYield(): Promise<unknown>; | ||
| declare function nextFrameYield(): Promise<unknown>; | ||
| declare function forceYield(frame?: number): Promise<unknown>; | ||
| declare function autoYield(): Promise<unknown>; | ||
@@ -6,2 +7,2 @@ declare function autoYieldReset(): void; | ||
| export { autoYield, autoYieldReset, autoYieldToggle, forceYield }; | ||
| export { autoYield, autoYieldReset, autoYieldToggle, forceYield, nextFrameYield }; |
+10
-4
@@ -25,3 +25,4 @@ var __defProp = Object.defineProperty; | ||
| autoYieldToggle: () => autoYieldToggle, | ||
| forceYield: () => forceYield | ||
| forceYield: () => forceYield, | ||
| nextFrameYield: () => nextFrameYield | ||
| }); | ||
@@ -33,3 +34,7 @@ module.exports = __toCommonJS(src_exports); | ||
| var FRAME = 0; | ||
| function forceYield() { | ||
| var NEXT_FRAME = 16; | ||
| function nextFrameYield() { | ||
| return forceYield(NEXT_FRAME); | ||
| } | ||
| function forceYield(frame) { | ||
| return new Promise((resolve) => { | ||
@@ -39,3 +44,3 @@ setTimeout(() => { | ||
| resolve(void 0); | ||
| }, FRAME); | ||
| }, frame ?? FRAME); | ||
| }); | ||
@@ -64,3 +69,4 @@ } | ||
| autoYieldToggle, | ||
| forceYield | ||
| forceYield, | ||
| nextFrameYield | ||
| }); |
+8
-3
@@ -6,3 +6,7 @@ // src/index.ts | ||
| var FRAME = 0; | ||
| function forceYield() { | ||
| var NEXT_FRAME = 16; | ||
| function nextFrameYield() { | ||
| return forceYield(NEXT_FRAME); | ||
| } | ||
| function forceYield(frame) { | ||
| return new Promise((resolve) => { | ||
@@ -12,3 +16,3 @@ setTimeout(() => { | ||
| resolve(void 0); | ||
| }, FRAME); | ||
| }, frame ?? FRAME); | ||
| }); | ||
@@ -36,3 +40,4 @@ } | ||
| autoYieldToggle, | ||
| forceYield | ||
| forceYield, | ||
| nextFrameYield | ||
| }; |
+1
-1
| { | ||
| "name": "@esmj/task", | ||
| "version": "0.1.0", | ||
| "version": "0.2.0", | ||
| "description": "Tiny task management library which divide long task. Improve core web vitals and browser responsiveness.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+5
-1
@@ -43,4 +43,8 @@ # Task | ||
| Type: `() => Promise<void>` | ||
| Method create new task for every call. | ||
| Method create new task for every call, yield to next event loop (0 ms delay). | ||
| ### nextFrameYield() | ||
| Type: `() => Promise<void>` | ||
| Method create new task for every call, yield to next frame (16 ms delay). | ||
| ### autoYieldReset | ||
@@ -47,0 +51,0 @@ Type: `() => void` |
8753
7.39%113
11.88%55
7.84%