33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
|
import _curry2 from "./internal/_curry2.js";
|
||
|
import mergeDeepWithKey from "./mergeDeepWithKey.js";
|
||
|
/**
|
||
|
* Creates 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:
|
||
|
* - and both values are objects, the two values will be recursively merged
|
||
|
* - otherwise the value from the first object will be used.
|
||
|
*
|
||
|
* @func
|
||
|
* @memberOf R
|
||
|
* @since v0.24.0
|
||
|
* @category Object
|
||
|
* @sig {a} -> {a} -> {a}
|
||
|
* @param {Object} lObj
|
||
|
* @param {Object} rObj
|
||
|
* @return {Object}
|
||
|
* @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey
|
||
|
* @example
|
||
|
*
|
||
|
* R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},
|
||
|
* { age: 40, contact: { email: 'baa@example.com' }});
|
||
|
* //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }}
|
||
|
*/
|
||
|
|
||
|
var mergeDeepLeft =
|
||
|
/*#__PURE__*/
|
||
|
_curry2(function mergeDeepLeft(lObj, rObj) {
|
||
|
return mergeDeepWithKey(function (k, lVal, rVal) {
|
||
|
return lVal;
|
||
|
}, lObj, rObj);
|
||
|
});
|
||
|
|
||
|
export default mergeDeepLeft;
|