@gecut/utilities
Version:
The ultimate utility toolkit from Gecut Company, crafted with TypeScript for optimal speed and efficiency. Designed to boost productivity with a suite of fast and optimized tools.
42 lines • 1.74 kB
JavaScript
const win = globalThis;
function requestAnimationFrameFallback(callback) {
return setTimeout(() => callback(Date.now()), 1000 / 60);
}
export const nextAnimationFrame = win['requestAnimationFrame'] ||
win['webkitRequestAnimationFrame'] ||
win['mozRequestAnimationFrame'] ||
requestAnimationFrameFallback;
function requestIdleCallbackFallback(callback, options) {
return setTimeout(callback, options?.timeout ?? 1000);
}
export const nextIdleCallback = win['requestIdleCallback'] ||
win['webkitRequestIdleCallback'] ||
win['mozRequestIdleCallback'] ||
requestIdleCallbackFallback;
function cancelAnimationFrameFallback(handle) {
console.log(handle);
}
export const cancelNextAnimationFrame = win['cancelAnimationFrame'] ||
win['webkitCancelAnimationFrame'] ||
win['mozCancelAnimationFrame'] ||
cancelAnimationFrameFallback;
function cancelIdleCallbackFallback(handle) {
console.log(handle);
}
export const cancelNextIdleCallback = win['cancelIdleCallback'] ||
win['webkitCancelIdleCallback'] ||
win['mozCancelIdleCallback'] ||
cancelIdleCallbackFallback;
export const supported = {
cancelIdleCallback: !!(win['cancelIdleCallback'] || win['webkitCancelIdleCallback'] || win['mozCancelIdleCallback']),
requestIdleCallback: !!(win['requestIdleCallback'] ||
win['webkitRequestIdleCallback'] ||
win['mozRequestIdleCallback']),
cancelAnimationFrame: !!(win['cancelAnimationFrame'] ||
win['webkitCancelAnimationFrame'] ||
win['mozCancelAnimationFrame']),
requestAnimationFrame: !!(win['requestAnimationFrame'] ||
win['webkitRequestAnimationFrame'] ||
win['mozRequestAnimationFrame']),
};
//# sourceMappingURL=polyfill.js.map