blob: 8cc1abe89ad11f5ec29927caf0fdd79ba013f59c [file] [log] [blame]
var _curry3 = /*#__PURE__*/require('./internal/_curry3');
var defaultTo = /*#__PURE__*/require('./defaultTo');
var path = /*#__PURE__*/require('./path');
/**
* If the given, non-null object has a value at the given path, returns the
* value at that path. Otherwise returns the provided default value.
*
* @func
* @memberOf R
* @since v0.18.0
* @category Object
* @typedefn Idx = String | Int
* @sig a -> [Idx] -> {a} -> a
* @param {*} d The default value.
* @param {Array} p The path to use.
* @param {Object} obj The object to retrieve the nested property from.
* @return {*} The data at `path` of the supplied object or the default value.
* @example
*
* R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2
* R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A"
*/
var pathOr = /*#__PURE__*/_curry3(function pathOr(d, p, obj) {
return defaultTo(d, path(p, obj));
});
module.exports = pathOr;