mirror of
https://github.com/swc-project/swc.git
synced 2024-12-25 14:43:33 +03:00
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
// Loaded from https://deno.land/x/ramda@v0.27.2/source/mergeDeepRight.js
|
|
|
|
|
|
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 second 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.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey
|
|
* @example
|
|
*
|
|
* R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},
|
|
* { age: 40, contact: { email: 'baa@example.com' }});
|
|
* //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}
|
|
*/
|
|
var mergeDeepRight = _curry2(function mergeDeepRight(lObj, rObj) {
|
|
return mergeDeepWithKey(function(k, lVal, rVal) {
|
|
return rVal;
|
|
}, lObj, rObj);
|
|
});
|
|
export default mergeDeepRight;
|