"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _assignValue = require("./_assignValue.cjs");
const _copyObject = require("./_copyObject.cjs");
const _createAssigner = require("./_createAssigner.cjs");
const isArrayLike = require("./isArrayLike.cjs");
const _isPrototype = require("./_isPrototype.cjs");
const keys = require("./keys.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=assign.cjs.map
