@wener/console
Version:
Base console UI toolkit
15 lines (13 loc) • 525 B
text/typescript
// for safari
export const requestIdleCallback =
globalThis.requestIdleCallback ||
((callback: (deadline: IdleDeadline) => void, options?: IdleRequestOptions) => {
const start = Date.now();
const deadline: IdleDeadline = {
didTimeout: false,
timeRemaining: () => Math.max(0, 50 - (Date.now() - start)),
};
// skip options?.timeout
return setTimeout(() => callback(deadline), 1);
});
export const cancelIdleCallback = globalThis.cancelIdleCallback || ((id: number) => clearTimeout(id));