123456789101112131415161718192021222324252627282930313233343536 |
- import _curry3 from "./internal/_curry3.js";
- import equals from "./equals.js";
- import path from "./path.js";
- /**
- * Determines whether a nested path on an object has a specific value, in
- * [`R.equals`](#equals) terms. Most likely used to filter a list.
- *
- * @func
- * @memberOf R
- * @since v0.7.0
- * @category Relation
- * @typedefn Idx = String | Int | Symbol
- * @sig a -> [Idx] -> {a} -> Boolean
- * @param {*} val The value to compare the nested property with
- * @param {Array} path The path of the nested property to use
- * @param {Object} obj The object to check the nested property in
- * @return {Boolean} `true` if the value equals the nested object property,
- * `false` otherwise.
- * @see R.whereEq, R.propEq, R.pathSatisfies, R.equals
- * @example
- *
- * const user1 = { address: { zipCode: 90210 } };
- * const user2 = { address: { zipCode: 55555 } };
- * const user3 = { name: 'Bob' };
- * const users = [ user1, user2, user3 ];
- * const isFamous = R.pathEq(90210, ['address', 'zipCode']);
- * R.filter(isFamous, users); //=> [ user1 ]
- */
- var pathEq =
- /*#__PURE__*/
- _curry3(function pathEq(val, _path, obj) {
- return equals(path(_path, obj), val);
- });
- export default pathEq;
|