UNPKG

foop

Version:

interfaces that describe their intentions.

42 lines (40 loc) 3.33 kB
var isNill = require('../is/nullOrUndefined') var curry = require('../fp/curry') /** * Returns the second argument if it is not `null`, `undefined` or `NaN` * otherwise the first argument is returned. * * @since 5.0.0-beta.5 * @memberOf cast * @curried 2 * * @param {*} value The default value. * @param {*} arg `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 * * {@link https://github.com/ramda/ramda/blob/master/src/defaultTo.js ramda-default-to} * @see {@link ramda-default-to} * @see is/real * * @func * @fork v0.10.0 * @category Logic * @sig a -> b -> a | b * * @example * * const defaultToOne = defaultTo(1) * * defaultToOne(0) //=> 1 * defaultToOne(null) //=> 1 * defaultToOne(undefined) //=> 1 * defaultToOne('eh') //=> 'eh' * * const NotEhNumber = Number(undefined) * defaultToOne(NotEhNumber) //=> 1 * */ module.exports = curry(2, function defaultTo(value, arg) { return isNill(arg) ? value : arg }) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFRvLmpzIiwic291cmNlcyI6WyJkZWZhdWx0VG8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNOaWxsID0gcmVxdWlyZSgnLi4vaXMvbnVsbE9yVW5kZWZpbmVkJylcbmNvbnN0IGN1cnJ5ID0gcmVxdWlyZSgnLi4vZnAvY3VycnknKVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHNlY29uZCBhcmd1bWVudCBpZiBpdCBpcyBub3QgYG51bGxgLCBgdW5kZWZpbmVkYCBvciBgTmFOYFxuICogb3RoZXJ3aXNlIHRoZSBmaXJzdCBhcmd1bWVudCBpcyByZXR1cm5lZC5cbiAqXG4gKiBAc2luY2UgNS4wLjAtYmV0YS41XG4gKiBAbWVtYmVyT2YgY2FzdFxuICogQGN1cnJpZWQgMlxuICpcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIGRlZmF1bHQgdmFsdWUuXG4gKiBAcGFyYW0geyp9IGFyZyBgdmFsYCB3aWxsIGJlIHJldHVybmVkIGluc3RlYWQgb2YgYGRlZmF1bHRgIHVubGVzcyBgdmFsYCBpcyBgbnVsbGAsIGB1bmRlZmluZWRgIG9yIGBOYU5gLlxuICogQHJldHVybiB7Kn0gVGhlIHNlY29uZCB2YWx1ZSBpZiBpdCBpcyBub3QgYG51bGxgLCBgdW5kZWZpbmVkYCBvciBgTmFOYCwgb3RoZXJ3aXNlIHRoZSBkZWZhdWx0IHZhbHVlXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9yYW1kYS9yYW1kYS9ibG9iL21hc3Rlci9zcmMvZGVmYXVsdFRvLmpzIHJhbWRhLWRlZmF1bHQtdG99XG4gKiBAc2VlIHtAbGluayByYW1kYS1kZWZhdWx0LXRvfVxuICogQHNlZSBpcy9yZWFsXG4gKlxuICogQGZ1bmNcbiAqIEBmb3JrIHYwLjEwLjBcbiAqIEBjYXRlZ29yeSBMb2dpY1xuICogQHNpZyBhIC0+IGIgLT4gYSB8IGJcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgICAgY29uc3QgZGVmYXVsdFRvT25lID0gZGVmYXVsdFRvKDEpXG4gKlxuICogICAgICBkZWZhdWx0VG9PbmUoMCkgICAgICAgICAgIC8vPT4gMVxuICogICAgICBkZWZhdWx0VG9PbmUobnVsbCkgICAgICAgIC8vPT4gMVxuICogICAgICBkZWZhdWx0VG9PbmUodW5kZWZpbmVkKSAgIC8vPT4gMVxuICogICAgICBkZWZhdWx0VG9PbmUoJ2VoJykgICAgICAgIC8vPT4gJ2VoJ1xuICpcbiAqICAgICAgY29uc3QgTm90RWhOdW1iZXIgPSBOdW1iZXIodW5kZWZpbmVkKVxuICogICAgICBkZWZhdWx0VG9PbmUoTm90RWhOdW1iZXIpIC8vPT4gMVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBjdXJyeSgyLCBmdW5jdGlvbiBkZWZhdWx0VG8odmFsdWUsIGFyZykge1xuICByZXR1cm4gaXNOaWxsKGFyZykgPyB2YWx1ZSA6IGFyZ1xufSlcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDO0FBQy9DQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9DcEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7RUFDdkQsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Q0FDakMsQ0FBQzsifQ==