mirror of
https://github.com/nuxt/nuxt.git
synced 2025-02-17 06:01:34 +00:00
17 lines
626 B
TypeScript
17 lines
626 B
TypeScript
// Polyfills for Safari support
|
|
// https://caniuse.com/requestidlecallback
|
|
export const requestIdleCallback: Window['requestIdleCallback'] = process.server
|
|
? (() => {}) as any
|
|
: (globalThis.requestIdleCallback || ((cb) => {
|
|
const start = Date.now()
|
|
const idleDeadline = {
|
|
didTimeout: false,
|
|
timeRemaining: () => Math.max(0, 50 - (Date.now() - start))
|
|
}
|
|
return setTimeout(() => { cb(idleDeadline) }, 1)
|
|
}))
|
|
|
|
export const cancelIdleCallback: Window['cancelIdleCallback'] = process.server
|
|
? (() => {}) as any
|
|
: (globalThis.cancelIdleCallback || ((id) => { clearTimeout(id) }))
|