first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
export function createRafLoop(callback: () => void) {
let id: number | undefined;
function start() {
// Time updates are already in progress.
if (!isUndefined(id)) return;
loop();
}
function loop() {
id = window.requestAnimationFrame(function rafLoop() {
if (isUndefined(id)) return;
callback();
loop();
});
}
function stop() {
if (isNumber(id)) window.cancelAnimationFrame(id);
id = undefined;
}
return {
start,
stop,
};
}
function isUndefined(value: unknown): value is undefined {
return typeof value === 'undefined';
}
function isNumber(value: any): value is number {
return typeof value === 'number' && !Number.isNaN(value);
}