import { ifElse, always } from 'ramda';
import isCoercible from './internal/isCoercible';
/**
* Converts value to a number.
*
* @func toNumber
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.36.0|v2.36.0}
* @category Type
* @param {*} val The value to convert
* @return {Number}
* @example
*
* RA.toNumber(3.2); //=> 3.2
* RA.toNumber(Number.MIN_VALUE); //=> 5e-324
* RA.toNumber(Infinity); //=> Infinity
* RA.toNumber('3.2'); //=> 3.2
* RA.toNumber(Symbol('3.2')); //=> NaN
*/
const toNumber = ifElse(isCoercible, Number, always(NaN));
export default toNumber;