feige
2024-02-20 016f890b89151f2edfee3ae792a9c5594460bf2b
1
2
3
4
5
6
7
8
9
import { isArray } from './isArray';
 
export function isNumeric(val: any): val is number | string {
  // 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 !isArray(val) && (val - parseFloat(val) + 1) >= 0;
}