import assignValue from "./_assignValue.js";
import copyObject from "./_copyObject.js";
import createAssigner from "./_createAssigner.js";
import isArrayLike from "./isArrayLike.js";
import isPrototype from "./_isPrototype.js";
import keys from "./keys.js";
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var assign = createAssigner(function(object, source) {
  if (isPrototype(source) || isArrayLike(source)) {
    copyObject(source, keys(source), object);
    return;
  }
  for (var key in source) {
    if (hasOwnProperty.call(source, key)) {
      assignValue(object, key, source[key]);
    }
  }
});
export {
  assign as default
};
//# sourceMappingURL=assign.js.map
