| var _curry1 = |
| /*#__PURE__*/ |
| require("./internal/_curry1"); |
| |
| var assocPath = |
| /*#__PURE__*/ |
| require("./assocPath"); |
| |
| var lens = |
| /*#__PURE__*/ |
| require("./lens"); |
| |
| var path = |
| /*#__PURE__*/ |
| require("./path"); |
| /** |
| * Returns a lens whose focus is the specified path. |
| * |
| * @func |
| * @memberOf R |
| * @since v0.19.0 |
| * @category Object |
| * @typedefn Idx = String | Int |
| * @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)); |
| }); |
| |
| module.exports = lensPath; |