mirror of
https://github.com/swc-project/swc.git
synced 2024-12-21 04:32:01 +03:00
35 lines
879 B
TypeScript
35 lines
879 B
TypeScript
|
// Loaded from https://deno.land/x/ramda@v0.27.2/source/set.js
|
||
|
|
||
|
|
||
|
import _curry3 from './internal/_curry3.js';
|
||
|
import always from './always.js';
|
||
|
import over from './over.js';
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Returns the result of "setting" the portion of the given data structure
|
||
|
* focused by the given lens to the given value.
|
||
|
*
|
||
|
* @func
|
||
|
* @memberOf R
|
||
|
* @since v0.16.0
|
||
|
* @category Object
|
||
|
* @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s
|
||
|
* @sig Lens s a -> a -> s -> s
|
||
|
* @param {Lens} lens
|
||
|
* @param {*} v
|
||
|
* @param {*} x
|
||
|
* @return {*}
|
||
|
* @see R.view, R.over, R.lens, R.lensIndex, R.lensProp, R.lensPath
|
||
|
* @example
|
||
|
*
|
||
|
* const xLens = R.lensProp('x');
|
||
|
*
|
||
|
* R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}
|
||
|
* R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2}
|
||
|
*/
|
||
|
var set = _curry3(function set(lens, v, x) {
|
||
|
return over(lens, always(v), x);
|
||
|
});
|
||
|
export default set;
|