mirror of
https://github.com/swc-project/swc.git
synced 2024-12-25 22:56:11 +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/mergeDeepLeft.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 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 = _curry2(function mergeDeepLeft(lObj, rObj) {
|
||
|
return mergeDeepWithKey(function(k, lVal, rVal) {
|
||
|
return lVal;
|
||
|
}, lObj, rObj);
|
||
|
});
|
||
|
export default mergeDeepLeft;
|