forked from ramda/ramda
/
mergeLeft.js
31 lines (29 loc) · 939 Bytes
/
mergeLeft.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import _objectAssign from './internal/_objectAssign.js';
import _curry2 from './internal/_curry2.js';
/**
* Create a new object with the own properties of the first object merged with
* the own properties of the second object. If a key exists in both objects,
* the value from the first object will be used.
*
* @func
* @memberOf R
* @since v0.26.0
* @category Object
* @sig {k: v} -> {k: v} -> {k: v}
* @param {Object} l
* @param {Object} r
* @return {Object}
* @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey
* @example
*
* R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 });
* //=> { 'name': 'fred', 'age': 40 }
*
* const resetToDefault = R.mergeLeft({x: 0});
* resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}
* @symb R.mergeLeft(a, b) = {...b, ...a}
*/
var mergeLeft = _curry2(function mergeLeft(l, r) {
return _objectAssign({}, r, l);
});
export default mergeLeft;