Files
SnowLuma/.pnpm-store/v11/files/49/a8b6cf3818028165b4d52efc0b832c55a089619b01955c227774836eceb7b16ce8981bc4d276fbc2cabc80f12716fc8898bf1452debe5f64d84a64dd6cb0a6
TanTan 2a69b23b47
Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

26 lines
746 B
Plaintext

import { time } from '../frameloop/sync-time.mjs';
import { secondsToMilliseconds } from 'motion-utils';
import { frame, cancelFrame } from '../frameloop/frame.mjs';
/**
* Timeout defined in ms
*/
function delay(callback, timeout) {
const start = time.now();
const checkElapsed = ({ timestamp }) => {
const elapsed = timestamp - start;
if (elapsed >= timeout) {
cancelFrame(checkElapsed);
callback(elapsed - timeout);
}
};
frame.setup(checkElapsed, true);
return () => cancelFrame(checkElapsed);
}
function delayInSeconds(callback, timeout) {
return delay(callback, secondsToMilliseconds(timeout));
}
export { delay, delayInSeconds };
//# sourceMappingURL=delay.mjs.map