var _curry1 = /*#__PURE__*/ require("./internal/_curry1.js"); var assoc = /*#__PURE__*/ require("./assoc.js"); var lens = /*#__PURE__*/ require("./lens.js"); var prop = /*#__PURE__*/ require("./prop.js"); /** * Returns a lens whose focus is the specified property. * * @func * @memberOf R * @since v0.14.0 * @category Object * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s * @sig String -> Lens s a * @param {String} k * @return {Lens} * @see R.view, R.set, R.over * @example * * const xLens = R.lensProp('x'); * * R.view(xLens, {x: 1, y: 2}); //=> 1 * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} */ var lensProp = /*#__PURE__*/ _curry1(function lensProp(k) { return lens(prop(k), assoc(k)); }); module.exports = lensProp;