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