1 import { isArray } from './isArray';
3 export function isNumeric(val: any): val is number | string {
4 // parseFloat NaNs numeric-cast false positives (null|true|false|"")
5 // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
6 // subtraction forces infinities to NaN
7 // adding 1 corrects loss of precision from parseFloat (#15100)
8 return !isArray(val) && (val - parseFloat(val) + 1) >= 0;