blob: cb1185e9923197517a0480f4d7c361b5843742da [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var baseAssignValue = require('./_baseAssignValue'),
2 eq = require('./eq');
3
4/**
5 * This function is like `assignValue` except that it doesn't assign
6 * `undefined` values.
7 *
8 * @private
9 * @param {Object} object The object to modify.
10 * @param {string} key The key of the property to assign.
11 * @param {*} value The value to assign.
12 */
13function assignMergeValue(object, key, value) {
14 if ((value !== undefined && !eq(object[key], value)) ||
15 (value === undefined && !(key in object))) {
16 baseAssignValue(object, key, value);
17 }
18}
19
20module.exports = assignMergeValue;