优化
This commit is contained in:
1 parent
3950057707
commit
a10359f7e0
19 files changed
+349
-299
No files matched your search
@@ -0,0 +1,20 @@
|
||||
export const isFiniteNumber = (value: unknown): value is number =>
|
||||
typeof value === 'number' && Number.isFinite(value)
|
||||
|
||||
export const toFiniteNumberOrNull = (value: unknown): number | null =>
|
||||
isFiniteNumber(value) ? value : null
|
||||
|
||||
export const parseNumberOrNull = (
|
||||
value: unknown,
|
||||
options?: { sanitize?: boolean }
|
||||
): number | null => {
|
||||
if (value === '' || value == null) return null
|
||||
|
||||
const normalized =
|
||||
options?.sanitize && typeof value === 'string'
|
||||
? value.replace(/[^0-9.\-]/g, '')
|
||||
: value
|
||||
|
||||
const numericValue = Number(normalized)
|
||||
return Number.isFinite(numericValue) ? numericValue : null
|
||||
}
|
||||
Reference in new issue
Block a user