MultiLoader-Template/node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js
3944Realms 8a825e0c9b build: 可使用的构建模板
修改了脚本,使其可以推给Maven仓库\
2026-03-09 14:44:02 +08:00

27 lines
1.1 KiB
JavaScript

import { Subscription } from '../Subscription';
export const animationFrameProvider = {
schedule(callback) {
let request = requestAnimationFrame;
let cancel = cancelAnimationFrame;
const { delegate } = animationFrameProvider;
if (delegate) {
request = delegate.requestAnimationFrame;
cancel = delegate.cancelAnimationFrame;
}
const handle = request((timestamp) => {
cancel = undefined;
callback(timestamp);
});
return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));
},
requestAnimationFrame(...args) {
const { delegate } = animationFrameProvider;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);
},
cancelAnimationFrame(...args) {
const { delegate } = animationFrameProvider;
return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);
},
delegate: undefined,
};
//# sourceMappingURL=animationFrameProvider.js.map