"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _assignValue = require("./_assignValue3.cjs");
const _copyObject = require("./_copyObject3.cjs");
const _createAssigner = require("./_createAssigner3.cjs");
const isArrayLike = require("./isArrayLike3.cjs");
const _isPrototype = require("./_isPrototype3.cjs");
const keys = require("./keys3.cjs");
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var assign = _createAssigner.default(function(object, source) {
  if (_isPrototype.default(source) || isArrayLike.default(source)) {
    _copyObject.default(source, keys.default(source), object);
    return;
  }
  for (var key in source) {
    if (hasOwnProperty.call(source, key)) {
      _assignValue.default(object, key, source[key]);
    }
  }
});
exports.default = assign;
//# sourceMappingURL=assign2.cjs.map
