1 var assignValue = require(
'./_assignValue'),
2 copyObject = require(
'./_copyObject'),
3 createAssigner = require(
'./_createAssigner'),
4 isArrayLike = require(
'./isArrayLike'),
5 isPrototype = require(
'./_isPrototype'),
6 keys = require(
'./keys');
9 var objectProto = Object.prototype;
12 var hasOwnProperty = objectProto.hasOwnProperty;
46 var assign = createAssigner(
function(
object, source) {
47 if (isPrototype(source) || isArrayLike(source)) {
48 copyObject(source, keys(source),
object);
51 for (var key in source) {
52 if (hasOwnProperty.call(source, key)) {
53 assignValue(
object, key, source[key]);
58 module.exports = assign;