41 lines
		
	
	
		
			981 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			981 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | /*! | ||
|  |  * assign-symbols <https://github.com/jonschlinkert/assign-symbols>
 | ||
|  |  * | ||
|  |  * Copyright (c) 2015, Jon Schlinkert. | ||
|  |  * Licensed under the MIT License. | ||
|  |  */ | ||
|  | 
 | ||
|  | 'use strict'; | ||
|  | 
 | ||
|  | module.exports = function(receiver, objects) { | ||
|  |   if (receiver === null || typeof receiver === 'undefined') { | ||
|  |     throw new TypeError('expected first argument to be an object.'); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeof objects === 'undefined' || typeof Symbol === 'undefined') { | ||
|  |     return receiver; | ||
|  |   } | ||
|  | 
 | ||
|  |   if (typeof Object.getOwnPropertySymbols !== 'function') { | ||
|  |     return receiver; | ||
|  |   } | ||
|  | 
 | ||
|  |   var isEnumerable = Object.prototype.propertyIsEnumerable; | ||
|  |   var target = Object(receiver); | ||
|  |   var len = arguments.length, i = 0; | ||
|  | 
 | ||
|  |   while (++i < len) { | ||
|  |     var provider = Object(arguments[i]); | ||
|  |     var names = Object.getOwnPropertySymbols(provider); | ||
|  | 
 | ||
|  |     for (var j = 0; j < names.length; j++) { | ||
|  |       var key = names[j]; | ||
|  | 
 | ||
|  |       if (isEnumerable.call(provider, key)) { | ||
|  |         target[key] = provider[key]; | ||
|  |       } | ||
|  |     } | ||
|  |   } | ||
|  |   return target; | ||
|  | }; |