"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _assignValue = require("./_assignValue.js");
const _baseAssignValue = require("./_baseAssignValue.js");
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) : void 0;
    if (newValue === void 0) {
      newValue = source[key];
    }
    if (isNew) {
      _baseAssignValue.default(object, key, newValue);
    } else {
      _assignValue.default(object, key, newValue);
    }
  }
  return object;
}
exports.default = copyObject;
