// Loaded from https://deno.land/x/ramda@v0.27.2/source/pathOr.js import _curry3 from './internal/_curry3.js'; import defaultTo from './defaultTo.js'; import path from './path.js'; /** * 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 | Symbol * @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 = _curry3(function pathOr(d, p, obj) { return defaultTo(d, path(p, obj)); }); export default pathOr;