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

View File

@@ -1,3 +1,5 @@
import { parseTimeoutMs } from "./parse-timeout.js";
export function parseEnvPairs(
pairs: unknown,
): Record<string, string> | undefined {
@@ -14,17 +16,4 @@ export function parseEnvPairs(
return Object.keys(env).length > 0 ? env : undefined;
}
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;
}
export { parseTimeoutMs };