d338c4d36aaf33f4fe89f7702fdd4bbeac3f08d2354f3bbc7527993fce01f5ee7d11dfc8ebb033efecd89905e8fde4431308051ac675f961c1d8f225f29d42 427 B

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