mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-05 11:02:54 +00:00
fix(cli): reject malformed timeout values
This commit is contained in:
@@ -20,12 +20,13 @@ describe("program helpers", () => {
|
||||
{ value: null, expected: undefined },
|
||||
{ value: "", expected: undefined },
|
||||
{ value: 5, expected: 5 },
|
||||
{ value: 5.9, expected: 5 },
|
||||
{ value: 5.9, expected: undefined },
|
||||
{ value: 0, expected: undefined },
|
||||
{ value: -1, expected: undefined },
|
||||
{ value: Number.NaN, expected: undefined },
|
||||
{ value: "10", expected: 10 },
|
||||
{ value: "10ms", expected: 10 },
|
||||
{ value: "10ms", expected: undefined },
|
||||
{ value: "1.5", expected: undefined },
|
||||
{ value: "0", expected: undefined },
|
||||
{ value: "nope", expected: undefined },
|
||||
{ value: true, expected: undefined },
|
||||
|
||||
@@ -9,21 +9,7 @@ export function parsePositiveIntOrUndefined(value: unknown): number | undefined
|
||||
if (value === undefined || value === null || value === "") {
|
||||
return undefined;
|
||||
}
|
||||
if (typeof value === "number") {
|
||||
if (!Number.isFinite(value)) {
|
||||
return undefined;
|
||||
}
|
||||
const parsed = Math.trunc(value);
|
||||
return parsed > 0 ? parsed : undefined;
|
||||
}
|
||||
if (typeof value === "string") {
|
||||
const parsed = Number.parseInt(value, 10);
|
||||
if (Number.isNaN(parsed) || parsed <= 0) {
|
||||
return undefined;
|
||||
}
|
||||
return parsed;
|
||||
}
|
||||
return undefined;
|
||||
return parseStrictPositiveInteger(value);
|
||||
}
|
||||
|
||||
export function parseStrictPositiveIntOrUndefined(value: unknown): number | undefined {
|
||||
|
||||
Reference in New Issue
Block a user