Skip to main content
Module

x/ramda/source/mergeDeepLeft.js

:ram: Practical functional Javascript
Latest
File
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;