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.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1.3 KiB
						
					
					
				'use strict'; | 
						|
 | 
						|
// modified from https://github.com/es-shims/es6-shim | 
						|
var keys = require('object-keys'); | 
						|
var canBeObject = function (obj) { | 
						|
	return typeof obj !== 'undefined' && obj !== null; | 
						|
}; | 
						|
var hasSymbols = require('has-symbols/shams')(); | 
						|
var callBound = require('call-bind/callBound'); | 
						|
var toObject = Object; | 
						|
var $push = callBound('Array.prototype.push'); | 
						|
var $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable'); | 
						|
var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null; | 
						|
 | 
						|
// eslint-disable-next-line no-unused-vars | 
						|
module.exports = function assign(target, source1) { | 
						|
	if (!canBeObject(target)) { throw new TypeError('target must be an object'); } | 
						|
	var objTarget = toObject(target); | 
						|
	var s, source, i, props, syms, value, key; | 
						|
	for (s = 1; s < arguments.length; ++s) { | 
						|
		source = toObject(arguments[s]); | 
						|
		props = keys(source); | 
						|
		var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols); | 
						|
		if (getSymbols) { | 
						|
			syms = getSymbols(source); | 
						|
			for (i = 0; i < syms.length; ++i) { | 
						|
				key = syms[i]; | 
						|
				if ($propIsEnumerable(source, key)) { | 
						|
					$push(props, key); | 
						|
				} | 
						|
			} | 
						|
		} | 
						|
		for (i = 0; i < props.length; ++i) { | 
						|
			key = props[i]; | 
						|
			value = source[key]; | 
						|
			if ($propIsEnumerable(source, key)) { | 
						|
				objTarget[key] = value; | 
						|
			} | 
						|
		} | 
						|
	} | 
						|
	return objTarget; | 
						|
};
 | 
						|
 |