|  | /*! | 
|  | * 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; | 
|  | }; |