* @param {object} argN - Additional objects containing properties to merge in target.
* @returns {object} The `target` object.
*/
- extend: function(target) {
- var setFn = function(value, key) {
- target[key] = value;
- };
- for (var i = 1, ilen = arguments.length; i < ilen; ++i) {
- helpers.each(arguments[i], setFn);
- }
- return target;
+ extend: Object.assign || function(target) {
+ return helpers.merge(target, [].slice.call(arguments, 1), {
+ merger: function(key, dst, src) {
+ dst[key] = src[key];
+ }
+ });
},
/**