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