1
|
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
2
|
'use strict';
|
3
|
|
4
|
var keys = require('object-keys').shim();
|
5
|
delete keys.shim;
|
6
|
|
7
|
var assign = require('./');
|
8
|
|
9
|
module.exports = assign.shim();
|
10
|
|
11
|
delete assign.shim;
|
12
|
|
13
|
},{"./":3,"object-keys":9}],2:[function(require,module,exports){
|
14
|
'use strict';
|
15
|
|
16
|
// modified from https://github.com/es-shims/es6-shim
|
17
|
var keys = require('object-keys');
|
18
|
var bind = require('function-bind');
|
19
|
var canBeObject = function (obj) {
|
20
|
return typeof obj !== 'undefined' && obj !== null;
|
21
|
};
|
22
|
var hasSymbols = require('has-symbols/shams')();
|
23
|
var toObject = Object;
|
24
|
var push = bind.call(Function.call, Array.prototype.push);
|
25
|
var propIsEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
|
26
|
var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;
|
27
|
|
28
|
module.exports = function assign(target, source1) {
|
29
|
if (!canBeObject(target)) { throw new TypeError('target must be an object'); }
|
30
|
var objTarget = toObject(target);
|
31
|
var s, source, i, props, syms, value, key;
|
32
|
for (s = 1; s < arguments.length; ++s) {
|
33
|
source = toObject(arguments[s]);
|
34
|
props = keys(source);
|
35
|
var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);
|
36
|
if (getSymbols) {
|
37
|
syms = getSymbols(source);
|
38
|
for (i = 0; i < syms.length; ++i) {
|
39
|
key = syms[i];
|
40
|
if (propIsEnumerable(source, key)) {
|
41
|
push(props, key);
|
42
|
}
|
43
|
}
|
44
|
}
|
45
|
for (i = 0; i < props.length; ++i) {
|
46
|
key = props[i];
|
47
|
value = source[key];
|
48
|
if (propIsEnumerable(source, key)) {
|
49
|
objTarget[key] = value;
|
50
|
}
|
51
|
}
|
52
|
}
|
53
|
return objTarget;
|
54
|
};
|
55
|
|
56
|
},{"function-bind":7,"has-symbols/shams":8,"object-keys":9}],3:[function(require,module,exports){
|
57
|
'use strict';
|
58
|
|
59
|
var defineProperties = require('define-properties');
|
60
|
|
61
|
var implementation = require('./implementation');
|
62
|
var getPolyfill = require('./polyfill');
|
63
|
var shim = require('./shim');
|
64
|
|
65
|
var polyfill = getPolyfill();
|
66
|
|
67
|
defineProperties(polyfill, {
|
68
|
getPolyfill: getPolyfill,
|
69
|
implementation: implementation,
|
70
|
shim: shim
|
71
|
});
|
72
|
|
73
|
module.exports = polyfill;
|
74
|
|
75
|
},{"./implementation":2,"./polyfill":11,"./shim":12,"define-properties":4}],4:[function(require,module,exports){
|
76
|
'use strict';
|
77
|
|
78
|
var keys = require('object-keys');
|
79
|
var foreach = require('foreach');
|
80
|
var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
|
81
|
|
82
|
var toStr = Object.prototype.toString;
|
83
|
|
84
|
var isFunction = function (fn) {
|
85
|
return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
|
86
|
};
|
87
|
|
88
|
var arePropertyDescriptorsSupported = function () {
|
89
|
var obj = {};
|
90
|
try {
|
91
|
Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
|
92
|
/* eslint-disable no-unused-vars, no-restricted-syntax */
|
93
|
for (var _ in obj) { return false; }
|
94
|
/* eslint-enable no-unused-vars, no-restricted-syntax */
|
95
|
return obj.x === obj;
|
96
|
} catch (e) { /* this is IE 8. */
|
97
|
return false;
|
98
|
}
|
99
|
};
|
100
|
var supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();
|
101
|
|
102
|
var defineProperty = function (object, name, value, predicate) {
|
103
|
if (name in object && (!isFunction(predicate) || !predicate())) {
|
104
|
return;
|
105
|
}
|
106
|
if (supportsDescriptors) {
|
107
|
Object.defineProperty(object, name, {
|
108
|
configurable: true,
|
109
|
enumerable: false,
|
110
|
value: value,
|
111
|
writable: true
|
112
|
});
|
113
|
} else {
|
114
|
object[name] = value;
|
115
|
}
|
116
|
};
|
117
|
|
118
|
var defineProperties = function (object, map) {
|
119
|
var predicates = arguments.length > 2 ? arguments[2] : {};
|
120
|
var props = keys(map);
|
121
|
if (hasSymbols) {
|
122
|
props = props.concat(Object.getOwnPropertySymbols(map));
|
123
|
}
|
124
|
foreach(props, function (name) {
|
125
|
defineProperty(object, name, map[name], predicates[name]);
|
126
|
});
|
127
|
};
|
128
|
|
129
|
defineProperties.supportsDescriptors = !!supportsDescriptors;
|
130
|
|
131
|
module.exports = defineProperties;
|
132
|
|
133
|
},{"foreach":5,"object-keys":9}],5:[function(require,module,exports){
|
134
|
|
135
|
var hasOwn = Object.prototype.hasOwnProperty;
|
136
|
var toString = Object.prototype.toString;
|
137
|
|
138
|
module.exports = function forEach (obj, fn, ctx) {
|
139
|
if (toString.call(fn) !== '[object Function]') {
|
140
|
throw new TypeError('iterator must be a function');
|
141
|
}
|
142
|
var l = obj.length;
|
143
|
if (l === +l) {
|
144
|
for (var i = 0; i < l; i++) {
|
145
|
fn.call(ctx, obj[i], i, obj);
|
146
|
}
|
147
|
} else {
|
148
|
for (var k in obj) {
|
149
|
if (hasOwn.call(obj, k)) {
|
150
|
fn.call(ctx, obj[k], k, obj);
|
151
|
}
|
152
|
}
|
153
|
}
|
154
|
};
|
155
|
|
156
|
|
157
|
},{}],6:[function(require,module,exports){
|
158
|
'use strict';
|
159
|
|
160
|
/* eslint no-invalid-this: 1 */
|
161
|
|
162
|
var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
|
163
|
var slice = Array.prototype.slice;
|
164
|
var toStr = Object.prototype.toString;
|
165
|
var funcType = '[object Function]';
|
166
|
|
167
|
module.exports = function bind(that) {
|
168
|
var target = this;
|
169
|
if (typeof target !== 'function' || toStr.call(target) !== funcType) {
|
170
|
throw new TypeError(ERROR_MESSAGE + target);
|
171
|
}
|
172
|
var args = slice.call(arguments, 1);
|
173
|
|
174
|
var bound;
|
175
|
var binder = function () {
|
176
|
if (this instanceof bound) {
|
177
|
var result = target.apply(
|
178
|
this,
|
179
|
args.concat(slice.call(arguments))
|
180
|
);
|
181
|
if (Object(result) === result) {
|
182
|
return result;
|
183
|
}
|
184
|
return this;
|
185
|
} else {
|
186
|
return target.apply(
|
187
|
that,
|
188
|
args.concat(slice.call(arguments))
|
189
|
);
|
190
|
}
|
191
|
};
|
192
|
|
193
|
var boundLength = Math.max(0, target.length - args.length);
|
194
|
var boundArgs = [];
|
195
|
for (var i = 0; i < boundLength; i++) {
|
196
|
boundArgs.push('$' + i);
|
197
|
}
|
198
|
|
199
|
bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
|
200
|
|
201
|
if (target.prototype) {
|
202
|
var Empty = function Empty() {};
|
203
|
Empty.prototype = target.prototype;
|
204
|
bound.prototype = new Empty();
|
205
|
Empty.prototype = null;
|
206
|
}
|
207
|
|
208
|
return bound;
|
209
|
};
|
210
|
|
211
|
},{}],7:[function(require,module,exports){
|
212
|
'use strict';
|
213
|
|
214
|
var implementation = require('./implementation');
|
215
|
|
216
|
module.exports = Function.prototype.bind || implementation;
|
217
|
|
218
|
},{"./implementation":6}],8:[function(require,module,exports){
|
219
|
'use strict';
|
220
|
|
221
|
/* eslint complexity: [2, 17], max-statements: [2, 33] */
|
222
|
module.exports = function hasSymbols() {
|
223
|
if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
|
224
|
if (typeof Symbol.iterator === 'symbol') { return true; }
|
225
|
|
226
|
var obj = {};
|
227
|
var sym = Symbol('test');
|
228
|
var symObj = Object(sym);
|
229
|
if (typeof sym === 'string') { return false; }
|
230
|
|
231
|
if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
|
232
|
if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
|
233
|
|
234
|
// temp disabled per https://github.com/ljharb/object.assign/issues/17
|
235
|
// if (sym instanceof Symbol) { return false; }
|
236
|
// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
|
237
|
// if (!(symObj instanceof Symbol)) { return false; }
|
238
|
|
239
|
// if (typeof Symbol.prototype.toString !== 'function') { return false; }
|
240
|
// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
|
241
|
|
242
|
var symVal = 42;
|
243
|
obj[sym] = symVal;
|
244
|
for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax
|
245
|
if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
|
246
|
|
247
|
if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
|
248
|
|
249
|
var syms = Object.getOwnPropertySymbols(obj);
|
250
|
if (syms.length !== 1 || syms[0] !== sym) { return false; }
|
251
|
|
252
|
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
|
253
|
|
254
|
if (typeof Object.getOwnPropertyDescriptor === 'function') {
|
255
|
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
|
256
|
if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
|
257
|
}
|
258
|
|
259
|
return true;
|
260
|
};
|
261
|
|
262
|
},{}],9:[function(require,module,exports){
|
263
|
'use strict';
|
264
|
|
265
|
// modified from https://github.com/es-shims/es5-shim
|
266
|
var has = Object.prototype.hasOwnProperty;
|
267
|
var toStr = Object.prototype.toString;
|
268
|
var slice = Array.prototype.slice;
|
269
|
var isArgs = require('./isArguments');
|
270
|
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
271
|
var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
|
272
|
var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
|
273
|
var dontEnums = [
|
274
|
'toString',
|
275
|
'toLocaleString',
|
276
|
'valueOf',
|
277
|
'hasOwnProperty',
|
278
|
'isPrototypeOf',
|
279
|
'propertyIsEnumerable',
|
280
|
'constructor'
|
281
|
];
|
282
|
var equalsConstructorPrototype = function (o) {
|
283
|
var ctor = o.constructor;
|
284
|
return ctor && ctor.prototype === o;
|
285
|
};
|
286
|
var excludedKeys = {
|
287
|
$console: true,
|
288
|
$external: true,
|
289
|
$frame: true,
|
290
|
$frameElement: true,
|
291
|
$frames: true,
|
292
|
$innerHeight: true,
|
293
|
$innerWidth: true,
|
294
|
$outerHeight: true,
|
295
|
$outerWidth: true,
|
296
|
$pageXOffset: true,
|
297
|
$pageYOffset: true,
|
298
|
$parent: true,
|
299
|
$scrollLeft: true,
|
300
|
$scrollTop: true,
|
301
|
$scrollX: true,
|
302
|
$scrollY: true,
|
303
|
$self: true,
|
304
|
$webkitIndexedDB: true,
|
305
|
$webkitStorageInfo: true,
|
306
|
$window: true
|
307
|
};
|
308
|
var hasAutomationEqualityBug = (function () {
|
309
|
/* global window */
|
310
|
if (typeof window === 'undefined') { return false; }
|
311
|
for (var k in window) {
|
312
|
try {
|
313
|
if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
|
314
|
try {
|
315
|
equalsConstructorPrototype(window[k]);
|
316
|
} catch (e) {
|
317
|
return true;
|
318
|
}
|
319
|
}
|
320
|
} catch (e) {
|
321
|
return true;
|
322
|
}
|
323
|
}
|
324
|
return false;
|
325
|
}());
|
326
|
var equalsConstructorPrototypeIfNotBuggy = function (o) {
|
327
|
/* global window */
|
328
|
if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
|
329
|
return equalsConstructorPrototype(o);
|
330
|
}
|
331
|
try {
|
332
|
return equalsConstructorPrototype(o);
|
333
|
} catch (e) {
|
334
|
return false;
|
335
|
}
|
336
|
};
|
337
|
|
338
|
var keysShim = function keys(object) {
|
339
|
var isObject = object !== null && typeof object === 'object';
|
340
|
var isFunction = toStr.call(object) === '[object Function]';
|
341
|
var isArguments = isArgs(object);
|
342
|
var isString = isObject && toStr.call(object) === '[object String]';
|
343
|
var theKeys = [];
|
344
|
|
345
|
if (!isObject && !isFunction && !isArguments) {
|
346
|
throw new TypeError('Object.keys called on a non-object');
|
347
|
}
|
348
|
|
349
|
var skipProto = hasProtoEnumBug && isFunction;
|
350
|
if (isString && object.length > 0 && !has.call(object, 0)) {
|
351
|
for (var i = 0; i < object.length; ++i) {
|
352
|
theKeys.push(String(i));
|
353
|
}
|
354
|
}
|
355
|
|
356
|
if (isArguments && object.length > 0) {
|
357
|
for (var j = 0; j < object.length; ++j) {
|
358
|
theKeys.push(String(j));
|
359
|
}
|
360
|
} else {
|
361
|
for (var name in object) {
|
362
|
if (!(skipProto && name === 'prototype') && has.call(object, name)) {
|
363
|
theKeys.push(String(name));
|
364
|
}
|
365
|
}
|
366
|
}
|
367
|
|
368
|
if (hasDontEnumBug) {
|
369
|
var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
|
370
|
|
371
|
for (var k = 0; k < dontEnums.length; ++k) {
|
372
|
if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
|
373
|
theKeys.push(dontEnums[k]);
|
374
|
}
|
375
|
}
|
376
|
}
|
377
|
return theKeys;
|
378
|
};
|
379
|
|
380
|
keysShim.shim = function shimObjectKeys() {
|
381
|
if (Object.keys) {
|
382
|
var keysWorksWithArguments = (function () {
|
383
|
// Safari 5.0 bug
|
384
|
return (Object.keys(arguments) || '').length === 2;
|
385
|
}(1, 2));
|
386
|
if (!keysWorksWithArguments) {
|
387
|
var originalKeys = Object.keys;
|
388
|
Object.keys = function keys(object) {
|
389
|
if (isArgs(object)) {
|
390
|
return originalKeys(slice.call(object));
|
391
|
} else {
|
392
|
return originalKeys(object);
|
393
|
}
|
394
|
};
|
395
|
}
|
396
|
} else {
|
397
|
Object.keys = keysShim;
|
398
|
}
|
399
|
return Object.keys || keysShim;
|
400
|
};
|
401
|
|
402
|
module.exports = keysShim;
|
403
|
|
404
|
},{"./isArguments":10}],10:[function(require,module,exports){
|
405
|
'use strict';
|
406
|
|
407
|
var toStr = Object.prototype.toString;
|
408
|
|
409
|
module.exports = function isArguments(value) {
|
410
|
var str = toStr.call(value);
|
411
|
var isArgs = str === '[object Arguments]';
|
412
|
if (!isArgs) {
|
413
|
isArgs = str !== '[object Array]' &&
|
414
|
value !== null &&
|
415
|
typeof value === 'object' &&
|
416
|
typeof value.length === 'number' &&
|
417
|
value.length >= 0 &&
|
418
|
toStr.call(value.callee) === '[object Function]';
|
419
|
}
|
420
|
return isArgs;
|
421
|
};
|
422
|
|
423
|
},{}],11:[function(require,module,exports){
|
424
|
'use strict';
|
425
|
|
426
|
var implementation = require('./implementation');
|
427
|
|
428
|
var lacksProperEnumerationOrder = function () {
|
429
|
if (!Object.assign) {
|
430
|
return false;
|
431
|
}
|
432
|
// v8, specifically in node 4.x, has a bug with incorrect property enumeration order
|
433
|
// note: this does not detect the bug unless there's 20 characters
|
434
|
var str = 'abcdefghijklmnopqrst';
|
435
|
var letters = str.split('');
|
436
|
var map = {};
|
437
|
for (var i = 0; i < letters.length; ++i) {
|
438
|
map[letters[i]] = letters[i];
|
439
|
}
|
440
|
var obj = Object.assign({}, map);
|
441
|
var actual = '';
|
442
|
for (var k in obj) {
|
443
|
actual += k;
|
444
|
}
|
445
|
return str !== actual;
|
446
|
};
|
447
|
|
448
|
var assignHasPendingExceptions = function () {
|
449
|
if (!Object.assign || !Object.preventExtensions) {
|
450
|
return false;
|
451
|
}
|
452
|
// Firefox 37 still has "pending exception" logic in its Object.assign implementation,
|
453
|
// which is 72% slower than our shim, and Firefox 40's native implementation.
|
454
|
var thrower = Object.preventExtensions({ 1: 2 });
|
455
|
try {
|
456
|
Object.assign(thrower, 'xy');
|
457
|
} catch (e) {
|
458
|
return thrower[1] === 'y';
|
459
|
}
|
460
|
return false;
|
461
|
};
|
462
|
|
463
|
module.exports = function getPolyfill() {
|
464
|
if (!Object.assign) {
|
465
|
return implementation;
|
466
|
}
|
467
|
if (lacksProperEnumerationOrder()) {
|
468
|
return implementation;
|
469
|
}
|
470
|
if (assignHasPendingExceptions()) {
|
471
|
return implementation;
|
472
|
}
|
473
|
return Object.assign;
|
474
|
};
|
475
|
|
476
|
},{"./implementation":2}],12:[function(require,module,exports){
|
477
|
'use strict';
|
478
|
|
479
|
var define = require('define-properties');
|
480
|
var getPolyfill = require('./polyfill');
|
481
|
|
482
|
module.exports = function shimAssign() {
|
483
|
var polyfill = getPolyfill();
|
484
|
define(
|
485
|
Object,
|
486
|
{ assign: polyfill },
|
487
|
{ assign: function () { return Object.assign !== polyfill; } }
|
488
|
);
|
489
|
return polyfill;
|
490
|
};
|
491
|
|
492
|
},{"./polyfill":11,"define-properties":4}]},{},[1]);
|