@speckle/shared
Version:
Shared code between various Speckle JS packages
20 lines • 796 B
JavaScript
import { isSafari } from './os.js';
const shouldPolyfillIdleCallback = isSafari() || !globalThis.requestIdleCallback;
/**
* requestIdleCallback w/ proper polyfills
*/
export const requestIdleCallback = shouldPolyfillIdleCallback
? function (cb) {
const start = Date.now();
return setTimeout(function () {
cb({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50 - (Date.now() - start));
}
});
}, 1); // Timer is actually a number at the end, just w/ extra bits on top of it
}
: globalThis.requestIdleCallback;
export const cancelIdleCallback = shouldPolyfillIdleCallback ? clearTimeout : globalThis.cancelIdleCallback;
//# sourceMappingURL=optimization.js.map