You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							34 lines
						
					
					
						
							576 B
						
					
					
				
			
		
		
	
	
							34 lines
						
					
					
						
							576 B
						
					
					
				'use strict';
 | 
						|
 | 
						|
var isObject = require('is-extendable');
 | 
						|
 | 
						|
module.exports = function extend(o/*, objects*/) {
 | 
						|
  if (!isObject(o)) { o = {}; }
 | 
						|
 | 
						|
  var len = arguments.length;
 | 
						|
  for (var i = 1; i < len; i++) {
 | 
						|
    var obj = arguments[i];
 | 
						|
 | 
						|
    if (isObject(obj)) {
 | 
						|
      assign(o, obj);
 | 
						|
    }
 | 
						|
  }
 | 
						|
  return o;
 | 
						|
};
 | 
						|
 | 
						|
function assign(a, b) {
 | 
						|
  for (var key in b) {
 | 
						|
    if (hasOwn(b, key)) {
 | 
						|
      a[key] = b[key];
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Returns true if the given `key` is an own property of `obj`.
 | 
						|
 */
 | 
						|
 | 
						|
function hasOwn(obj, key) {
 | 
						|
  return Object.prototype.hasOwnProperty.call(obj, key);
 | 
						|
}
 |