11 lines
343 B
TypeScript
11 lines
343 B
TypeScript
export const toNumber = (value: unknown): number | undefined => {
|
|
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
if (typeof value === "string") {
|
|
const trimmed = value.trim();
|
|
if (!trimmed) return undefined;
|
|
const parsed = Number(trimmed);
|
|
if (Number.isFinite(parsed)) return parsed;
|
|
}
|
|
return undefined;
|
|
};
|