Skip to main content
Module

x/ramda/source/defaultTo.js

:ram: Practical functional Javascript
Latest
File
import _curry2 from './internal/_curry2.js';

/** * Returns the second argument if it is not `null`, `undefined` or `NaN`; * otherwise the first argument is returned. * * @func * @memberOf R * @since v0.10.0 * @category Logic * @sig a -> b -> a | b * @param {a} default The default value. * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`. * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value * @example * * const defaultTo42 = R.defaultTo(42); * * defaultTo42(null); //=> 42 * defaultTo42(undefined); //=> 42 * defaultTo42(false); //=> false * defaultTo42('Ramda'); //=> 'Ramda' * // parseInt('string') results in NaN * defaultTo42(parseInt('string')); //=> 42 */var defaultTo = _curry2(function defaultTo(d, v) { return v == null || v !== v ? d : v;});export default defaultTo;