mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-16 12:30:49 +00:00
20 lines
456 B
TypeScript
20 lines
456 B
TypeScript
export function parsePort(raw: unknown): number | null {
|
|
if (raw === undefined || raw === null) {
|
|
return null;
|
|
}
|
|
const value =
|
|
typeof raw === "string"
|
|
? raw
|
|
: typeof raw === "number" || typeof raw === "bigint"
|
|
? raw.toString()
|
|
: null;
|
|
if (value === null) {
|
|
return null;
|
|
}
|
|
const parsed = Number.parseInt(value, 10);
|
|
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
return null;
|
|
}
|
|
return parsed;
|
|
}
|