@serve-tools/polyfill-prioritized-task-scheduling
v0.2.1
Published
Provides native-aware Prioritized Task Scheduling imports and global installation
Maintainers
Readme
@serve-tools/polyfill-prioritized-task-scheduling
Queue work by urgency and await its result, with cancellation and reprioritization when requirements change.
The @serve-tools/polyfill-prioritized-task-scheduling package provides native-aware imports and global installation for the Prioritized Task Scheduling API.
It preserves a native scheduler as one complete implementation and installs the complete scheduler fallback when the global is absent.
import "@serve-tools/polyfill-prioritized-task-scheduling";
const title = await scheduler.postTask(() => "Ready to edit", { priority: "user-blocking" });
console.log(title); // “Ready to edit”, after the scheduled callback runs.Install
npm install @serve-tools/polyfill-prioritized-task-schedulingImport from a CDN
import "https://esm.run/@serve-tools/polyfill-prioritized-task-scheduling";Choose the import boundary
- Import the package root for side effects that install the Scheduling API when it is missing.
- Import
./apply/scheduler,./apply/TaskController,./apply/TaskSignal, or./apply/TaskPriorityChangeEventfor selective installation. - Import
./schedulerfor the native-awareschedulerandSchedulervalues, or import./TaskController,./TaskSignal, or./TaskPriorityChangeEventfor the other interface objects without changing globals.
The scheduler installer and native-aware export treat scheduler, Scheduler, scheduler.postTask, and scheduler.yield as one atomic browser capability.
They preserve the native scheduler when it exists and otherwise use the complete fallback scheduler; they never mix native and fallback methods.
Relationship to the ponyfill
This package uses @serve-tools/ponyfill-prioritized-task-scheduling for every missing implementation.
Use the ponyfill directly when global mutation is forbidden or deterministic fallback identity is preferred.
Fallback tasks retain the ponyfill's local priority ordering, one-callback-per-task behavior, abort semantics, dynamic reprioritization, Window background scheduling, and Worker support.
Fallback priorities cannot influence the browser's own task queues.
Fallback yield() inherits priority and cancellation only when called directly before its originating fallback callback returns, not after arbitrary promise or microtask suspensions.
Agent Skill
This package includes skills/serve-tools-polyfill-prioritized-task-scheduling/SKILL.md with version-aligned usage guidance for compatible coding agents.
Activation is explicit; installing the package does not automatically trust or enable it.
Development
npm run typecheck --workspace @serve-tools/polyfill-prioritized-task-scheduling
npm test --workspace @serve-tools/polyfill-prioritized-task-scheduling
npm run build --workspace @serve-tools/polyfill-prioritized-task-scheduling