UNPKG

@feugene/mu

Version:

Helpful TS utilities without dependencies

32 lines (28 loc) 569 B
import toNumber from './toNumber' /** * Converts `value` to a finite number. * * @example * * toFinite(3.2); * // => 3.2 * * toFinite(Number.MIN_VALUE); * // => 5e-324 * * toFinite(Infinity); * // => 1.7976931348623157e+308 * * toFinite('3.2'); * // => 3.2 */ export default function toFinite(value: any): number { if (!value) { return value === 0 ? value : 0 } value = toNumber(value) if (value === Infinity || value === -Infinity) { return value < 0 ? -Number.MAX_VALUE : Number.MAX_VALUE } return value === value ? value : 0 }