refactor: centralize cli timeout parsing
This commit is contained in:
14
src/cli/parse-timeout.ts
Normal file
14
src/cli/parse-timeout.ts
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user