_assignMergeValue.js 539 B

12345678910111213141516171819
  1. var eq = require('./eq');
  2. /**
  3. * This function is like `assignValue` except that it doesn't assign
  4. * `undefined` values.
  5. *
  6. * @private
  7. * @param {Object} object The object to modify.
  8. * @param {string} key The key of the property to assign.
  9. * @param {*} value The value to assign.
  10. */
  11. function assignMergeValue(object, key, value) {
  12. if ((value !== undefined && !eq(object[key], value)) ||
  13. (typeof key == 'number' && value === undefined && !(key in object))) {
  14. object[key] = value;
  15. }
  16. }
  17. module.exports = assignMergeValue;