mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
19 lines
500 B
TypeScript
19 lines
500 B
TypeScript
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;
|
|
}
|