mirror of
https://github.com/swc-project/swc.git
synced 2024-12-26 07:02:28 +03:00
32 lines
945 B
TypeScript
32 lines
945 B
TypeScript
// 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;
|