Initial commit
[yaffs-website] / node_modules / gulp-util / node_modules / object-assign / index.js
1 'use strict';
2 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
3
4 function ToObject(val) {
5         if (val == null) {
6                 throw new TypeError('Object.assign cannot be called with null or undefined');
7         }
8
9         return Object(val);
10 }
11
12 function ownEnumerableKeys(obj) {
13         var keys = Object.getOwnPropertyNames(obj);
14
15         if (Object.getOwnPropertySymbols) {
16                 keys = keys.concat(Object.getOwnPropertySymbols(obj));
17         }
18
19         return keys.filter(function (key) {
20                 return propIsEnumerable.call(obj, key);
21         });
22 }
23
24 module.exports = Object.assign || function (target, source) {
25         var from;
26         var keys;
27         var to = ToObject(target);
28
29         for (var s = 1; s < arguments.length; s++) {
30                 from = arguments[s];
31                 keys = ownEnumerableKeys(Object(from));
32
33                 for (var i = 0; i < keys.length; i++) {
34                         to[keys[i]] = from[keys[i]];
35                 }
36         }
37
38         return to;
39 };