123456789101112131415161718192021222324252627282930313233343536 |
- import _curry1 from "./internal/_curry1.js";
- import assocPath from "./assocPath.js";
- import lens from "./lens.js";
- import path from "./path.js";
- /**
- * Returns a lens whose focus is the specified path.
- *
- * @func
- * @memberOf R
- * @since v0.19.0
- * @category Object
- * @typedefn Idx = String | Int | Symbol
- * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s
- * @sig [Idx] -> Lens s a
- * @param {Array} path The path to use.
- * @return {Lens}
- * @see R.view, R.set, R.over
- * @example
- *
- * const xHeadYLens = R.lensPath(['x', 0, 'y']);
- *
- * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});
- * //=> 2
- * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});
- * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}
- * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});
- * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}
- */
- var lensPath =
- /*#__PURE__*/
- _curry1(function lensPath(p) {
- return lens(path(p), assocPath(p));
- });
- export default lensPath;
|