refactor: centralize cli timeout parsing

This commit is contained in:
Peter Steinberger
2026-01-09 21:28:14 +01:00
parent 1689ef0b97
commit cfeaa34c16
6 changed files with 40 additions and 25 deletions

14
src/cli/parse-timeout.ts Normal file
View File

@@ -0,0 +1,14 @@
export function parseTimeoutMs(raw: unknown): number | undefined {
if (raw === undefined || raw === null) return undefined;
let value = Number.NaN;
if (typeof raw === "number") {
value = raw;
} else if (typeof raw === "bigint") {
value = Number(raw);
} else if (typeof raw === "string") {
const trimmed = raw.trim();
if (!trimmed) return undefined;
value = Number.parseInt(trimmed, 10);
}
return Number.isFinite(value) ? value : undefined;
}