@speckle/shared
Version:
Shared code between various Speckle JS packages
23 lines • 943 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cancelIdleCallback = exports.requestIdleCallback = void 0;
const os_js_1 = require("./os.js");
const shouldPolyfillIdleCallback = (0, os_js_1.isSafari)() || !globalThis.requestIdleCallback;
/**
* requestIdleCallback w/ proper polyfills
*/
exports.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;
exports.cancelIdleCallback = shouldPolyfillIdleCallback ? clearTimeout : globalThis.cancelIdleCallback;
//# sourceMappingURL=optimization.js.map