All files / src/schedulers MicrotaskScheduler.ts

100% Statements 7/7
100% Branches 1/1
100% Functions 0/0
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 132x           2x 2x 2x 2x 2x 2x  
import { asyncScheduler } from "./asyncScheduler";
import { type Scheduler, type SchedulerFlush } from "./interface";
 
/**
 * A {@link Scheduler} that runs updates at most once per microtask (Promise).
 */
export const MicrotaskScheduler: Scheduler = /* @__PURE__ */ asyncScheduler(
  /* @__PURE__ */ ((tick: Promise<void>, flush: SchedulerFlush): Promise<void> => tick.then(flush)).bind(
    0,
    /* @__PURE__ */ Promise.resolve(),
  ),
);