export const MAX_SAFE_TIMEOUT_DELAY_MS = 2_147_483_647;
export function resolveSafeTimeoutDelayMs(delayMs: number, opts?: { minMs?: number }): number {
const rawMinMs = opts?.minMs ?? 1;
const minMs = Math.min(
MAX_SAFE_TIMEOUT_DELAY_MS,
Math.max(0, Number.isFinite(rawMinMs) ? Math.floor(rawMinMs) : 1),
);
const candidateMs = Number.isFinite(delayMs) ? Math.floor(delayMs) : minMs;
return Math.min(MAX_SAFE_TIMEOUT_DELAY_MS, Math.max(minMs, candidateMs));
}
export function setSafeTimeout(
callback: () => void,
delayMs: number,
opts?: { minMs?: number },
): NodeJS.Timeout {
return setTimeout(callback, resolveSafeTimeoutDelayMs(delayMs, opts));
}
| Messung V0.5 in Prozent |
|---|
| | | |
[zur Elbe Produktseite wechseln0.12QuellennavigatorsAnalyse erneut starten2026-06-10]