| 12345678910111213141516171819202122232425262728293031323334353637383940 | import assignValue from './_assignValue.js';import baseAssignValue from './_baseAssignValue.js';/** * Copies properties of `source` to `object`. * * @private * @param {Object} source The object to copy properties from. * @param {Array} props The property identifiers to copy. * @param {Object} [object={}] The object to copy properties to. * @param {Function} [customizer] The function to customize copied values. * @returns {Object} Returns `object`. */function copyObject(source, props, object, customizer) {  var isNew = !object;  object || (object = {});  var index = -1,      length = props.length;  while (++index < length) {    var key = props[index];    var newValue = customizer      ? customizer(object[key], source[key], key, object, source)      : undefined;    if (newValue === undefined) {      newValue = source[key];    }    if (isNew) {      baseAssignValue(object, key, newValue);    } else {      assignValue(object, key, newValue);    }  }  return object;}export default copyObject;
 |