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.
		
		
		
		
		
			
		
			
				
					
					
						
							19 lines
						
					
					
						
							582 B
						
					
					
				
			
		
		
	
	
							19 lines
						
					
					
						
							582 B
						
					
					
				// An internal function for creating assigner functions.
 | 
						|
export default function createAssigner(keysFunc, defaults) {
 | 
						|
  return function(obj) {
 | 
						|
    var length = arguments.length;
 | 
						|
    if (defaults) obj = Object(obj);
 | 
						|
    if (length < 2 || obj == null) return obj;
 | 
						|
    for (var index = 1; index < length; index++) {
 | 
						|
      var source = arguments[index],
 | 
						|
          keys = keysFunc(source),
 | 
						|
          l = keys.length;
 | 
						|
      for (var i = 0; i < l; i++) {
 | 
						|
        var key = keys[i];
 | 
						|
        if (!defaults || obj[key] === void 0) obj[key] = source[key];
 | 
						|
      }
 | 
						|
    }
 | 
						|
    return obj;
 | 
						|
  };
 | 
						|
}
 |