rxjs
Version:
Reactive Extensions for modern JavaScript
10 lines (8 loc) • 425 B
text/typescript
import { isArray } from '../util/isArray';
export function isNumeric(val: any): val is number {
// 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;
};