fluxxor-rails 1.4.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/fluxxor-rails/version.rb +1 -1
- data/test/dummy/log/test.log +5 -0
- data/test/dummy/tmp/cache/assets/C4E/EE0/sprockets%2F68de70436326426a3329c3b58b59b106 +0 -0
- data/test/dummy/tmp/cache/assets/DC6/C40/sprockets%2F2617ffa3fab6631cdff29bbf623e2d12 +0 -0
- data/test/dummy/tmp/cache/assets/DCC/260/sprockets%2F7c5104b0d6ae29c2ec84168e5cacf8fb +0 -0
- data/vendor/assets/javascripts/fluxxor.js +1627 -1139
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ef884df7d54fece25d83fdaff68aca6ce2b04cd
|
4
|
+
data.tar.gz: 422f629a88869d171f0e047ae67df93eb019c43c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbbec4c8d1ee047dab95746906855c26249e1aa69428f9de7fc453157444e1b2525fe0ff7c5c4f5a1bd85b70ecf74e7c2cb8c4e15825ca6abb6fdd5cdb824038
|
7
|
+
data.tar.gz: fc72ec36d0e6c78217aabacee92c1d3994aed1bf652925d0a92716055dbc55afb4f846ad3ffa363f0f0c434bc7f19b3b80437f490bb2fdbac0c2526972e289f4
|
data/test/dummy/log/test.log
CHANGED
@@ -99,3 +99,8 @@ Compiled fluxxor.js (1ms) (pid 18880)
|
|
99
99
|
Served asset /fluxxor.js - 200 OK (7ms)
|
100
100
|
Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:53:19 -0500
|
101
101
|
Served asset /fluxxor.js - 200 OK (0ms)
|
102
|
+
Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:53:43 -0500
|
103
|
+
Compiled fluxxor.js (1ms) (pid 19423)
|
104
|
+
Served asset /fluxxor.js - 200 OK (7ms)
|
105
|
+
Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:53:43 -0500
|
106
|
+
Served asset /fluxxor.js - 200 OK (0ms)
|
Binary file
|
Binary file
|
Binary file
|
@@ -79,46 +79,55 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
79
79
|
/* 1 */
|
80
80
|
/***/ function(module, exports, __webpack_require__) {
|
81
81
|
|
82
|
-
module.exports = "1.
|
82
|
+
module.exports = "1.5.0"
|
83
83
|
|
84
84
|
/***/ },
|
85
85
|
/* 2 */
|
86
86
|
/***/ function(module, exports, __webpack_require__) {
|
87
87
|
|
88
|
-
var _clone = __webpack_require__(
|
89
|
-
_mapValues = __webpack_require__(
|
90
|
-
_forOwn = __webpack_require__(
|
91
|
-
_intersection = __webpack_require__(
|
92
|
-
_keys = __webpack_require__(
|
93
|
-
_map = __webpack_require__(
|
94
|
-
_each = __webpack_require__(
|
95
|
-
_size = __webpack_require__(
|
96
|
-
_findKey = __webpack_require__(
|
97
|
-
_uniq = __webpack_require__(
|
88
|
+
var _clone = __webpack_require__(12),
|
89
|
+
_mapValues = __webpack_require__(13),
|
90
|
+
_forOwn = __webpack_require__(14),
|
91
|
+
_intersection = __webpack_require__(19),
|
92
|
+
_keys = __webpack_require__(15),
|
93
|
+
_map = __webpack_require__(21),
|
94
|
+
_each = __webpack_require__(22),
|
95
|
+
_size = __webpack_require__(23),
|
96
|
+
_findKey = __webpack_require__(16),
|
97
|
+
_uniq = __webpack_require__(20);
|
98
98
|
|
99
99
|
var Dispatcher = function(stores) {
|
100
|
-
this.stores =
|
100
|
+
this.stores = {};
|
101
101
|
this.currentDispatch = null;
|
102
|
+
this.currentActionType = null;
|
102
103
|
this.waitingToDispatch = [];
|
103
104
|
|
104
105
|
for (var key in stores) {
|
105
106
|
if (stores.hasOwnProperty(key)) {
|
106
|
-
stores[key]
|
107
|
+
this.addStore(key, stores[key]);
|
107
108
|
}
|
108
109
|
}
|
109
110
|
};
|
110
111
|
|
111
|
-
Dispatcher.prototype.
|
112
|
-
|
113
|
-
|
114
|
-
|
112
|
+
Dispatcher.prototype.addStore = function(name, store) {
|
113
|
+
store.dispatcher = this;
|
114
|
+
this.stores[name] = store;
|
115
|
+
};
|
115
116
|
|
117
|
+
Dispatcher.prototype.dispatch = function(action) {
|
116
118
|
if (!action || !action.type) {
|
117
119
|
throw new Error("Can only dispatch actions with a 'type' property");
|
118
120
|
}
|
119
121
|
|
122
|
+
if (this.currentDispatch) {
|
123
|
+
var complaint = "Cannot dispatch an action ('" + action.type + "') while another action ('" +
|
124
|
+
this.currentActionType + "') is being dispatched";
|
125
|
+
throw new Error(complaint);
|
126
|
+
}
|
127
|
+
|
120
128
|
this.waitingToDispatch = _clone(this.stores);
|
121
129
|
|
130
|
+
this.currentActionType = action.type;
|
122
131
|
this.currentDispatch = _mapValues(this.stores, function() {
|
123
132
|
return { resolved: false, waitingOn: [], waitCallback: null };
|
124
133
|
});
|
@@ -126,6 +135,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
126
135
|
try {
|
127
136
|
this.doDispatchLoop(action);
|
128
137
|
} finally {
|
138
|
+
this.currentActionType = null;
|
129
139
|
this.currentDispatch = null;
|
130
140
|
}
|
131
141
|
};
|
@@ -165,7 +175,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
165
175
|
}
|
166
176
|
}, this);
|
167
177
|
|
168
|
-
if (!dispatchedThisLoop.length) {
|
178
|
+
if (_keys(this.waitingToDispatch).length && !dispatchedThisLoop.length) {
|
169
179
|
var storesWithCircularWaits = _keys(this.waitingToDispatch).join(", ");
|
170
180
|
throw new Error("Indirect circular wait detected among: " + storesWithCircularWaits);
|
171
181
|
}
|
@@ -225,47 +235,124 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
225
235
|
/* 3 */
|
226
236
|
/***/ function(module, exports, __webpack_require__) {
|
227
237
|
|
238
|
+
var EventEmitter = __webpack_require__(9),
|
239
|
+
inherits = __webpack_require__(11),
|
240
|
+
objectPath = __webpack_require__(10),
|
241
|
+
_each = __webpack_require__(22),
|
242
|
+
_reduce = __webpack_require__(24),
|
243
|
+
_isFunction = __webpack_require__(17),
|
244
|
+
_isString = __webpack_require__(18);
|
245
|
+
|
228
246
|
var Dispatcher = __webpack_require__(2);
|
229
247
|
|
230
|
-
function
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
248
|
+
var findLeaves = function(obj, path, callback) {
|
249
|
+
path = path || [];
|
250
|
+
|
251
|
+
for (var key in obj) {
|
252
|
+
if (obj.hasOwnProperty(key)) {
|
253
|
+
if (_isFunction(obj[key])) {
|
254
|
+
callback(path.concat(key), obj[key]);
|
255
|
+
} else {
|
256
|
+
findLeaves(obj[key], path.concat(key), callback);
|
238
257
|
}
|
239
258
|
}
|
240
259
|
}
|
241
|
-
}
|
260
|
+
};
|
242
261
|
|
243
262
|
var Flux = function(stores, actions) {
|
244
|
-
|
245
|
-
|
246
|
-
flux: this,
|
247
|
-
dispatch: function(type, payload) {
|
248
|
-
dispatcher.dispatch({type: type, payload: payload});
|
249
|
-
}
|
250
|
-
};
|
251
|
-
|
252
|
-
this.dispatcher = dispatcher;
|
263
|
+
EventEmitter.call(this);
|
264
|
+
this.dispatcher = new Dispatcher(stores);
|
253
265
|
this.actions = {};
|
254
|
-
this.stores =
|
266
|
+
this.stores = {};
|
267
|
+
|
268
|
+
var dispatcher = this.dispatcher;
|
269
|
+
var flux = this;
|
270
|
+
this.dispatchBinder = {
|
271
|
+
flux: flux,
|
272
|
+
dispatch: function(type, payload) {
|
273
|
+
try {
|
274
|
+
flux.emit("dispatch", type, payload);
|
275
|
+
} finally {
|
276
|
+
dispatcher.dispatch({type: type, payload: payload});
|
277
|
+
}
|
278
|
+
}
|
279
|
+
};
|
255
280
|
|
256
|
-
|
281
|
+
this.addActions(actions);
|
282
|
+
this.addStores(stores);
|
283
|
+
};
|
257
284
|
|
258
|
-
|
259
|
-
|
260
|
-
|
285
|
+
inherits(Flux, EventEmitter);
|
286
|
+
|
287
|
+
Flux.prototype.addActions = function(actions) {
|
288
|
+
findLeaves(actions, [], this.addAction.bind(this));
|
289
|
+
};
|
290
|
+
|
291
|
+
// addAction has two signatures:
|
292
|
+
// 1: string[, string, string, string...], actionFunction
|
293
|
+
// 2: arrayOfStrings, actionFunction
|
294
|
+
Flux.prototype.addAction = function() {
|
295
|
+
if (arguments.length < 2) {
|
296
|
+
throw new Error("addAction requires at least two arguments, a string (or array of strings) and a function");
|
297
|
+
}
|
298
|
+
|
299
|
+
var args = Array.prototype.slice.call(arguments);
|
300
|
+
|
301
|
+
if (!_isFunction(args[args.length - 1])) {
|
302
|
+
throw new Error("The last argument to addAction must be a function");
|
303
|
+
}
|
304
|
+
|
305
|
+
var func = args.pop().bind(this.dispatchBinder);
|
306
|
+
|
307
|
+
if (!_isString(args[0])) {
|
308
|
+
args = args[0];
|
309
|
+
}
|
310
|
+
|
311
|
+
var leadingPaths = _reduce(args, function(acc, next) {
|
312
|
+
if (acc) {
|
313
|
+
var nextPath = acc[acc.length - 1].concat([next]);
|
314
|
+
return acc.concat([nextPath]);
|
315
|
+
} else {
|
316
|
+
return [[next]];
|
261
317
|
}
|
318
|
+
}, null);
|
319
|
+
|
320
|
+
// Detect trying to replace a function at any point in the path
|
321
|
+
_each(leadingPaths, function(path) {
|
322
|
+
if (_isFunction(objectPath.get(this.actions, path))) {
|
323
|
+
throw new Error("An action named " + args.join(".") + " already exists");
|
324
|
+
}
|
325
|
+
}, this);
|
326
|
+
|
327
|
+
// Detect trying to replace a namespace at the final point in the path
|
328
|
+
if (objectPath.get(this.actions, args)) {
|
329
|
+
throw new Error("A namespace named " + args.join(".") + " already exists");
|
262
330
|
}
|
331
|
+
|
332
|
+
objectPath.set(this.actions, args, func, true);
|
263
333
|
};
|
264
334
|
|
265
335
|
Flux.prototype.store = function(name) {
|
266
336
|
return this.stores[name];
|
267
337
|
};
|
268
338
|
|
339
|
+
Flux.prototype.addStore = function(name, store) {
|
340
|
+
if (name in this.stores) {
|
341
|
+
throw new Error("A store named '" + name + "' already exists");
|
342
|
+
}
|
343
|
+
store.flux = this;
|
344
|
+
this.stores[name] = store;
|
345
|
+
this.dispatcher.addStore(name, store);
|
346
|
+
};
|
347
|
+
|
348
|
+
Flux.prototype.addStores = function(stores) {
|
349
|
+
for (var key in stores) {
|
350
|
+
if (stores.hasOwnProperty(key)) {
|
351
|
+
this.addStore(key, stores[key]);
|
352
|
+
}
|
353
|
+
}
|
354
|
+
};
|
355
|
+
|
269
356
|
module.exports = Flux;
|
270
357
|
|
271
358
|
|
@@ -275,22 +362,29 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
275
362
|
|
276
363
|
var FluxMixin = function(React) {
|
277
364
|
return {
|
278
|
-
|
279
|
-
flux
|
365
|
+
componentWillMount: function() {
|
366
|
+
if (!this.props.flux && (!this.context || !this.context.flux)) {
|
367
|
+
var namePart = this.constructor.displayName ? " of " + this.constructor.displayName : "";
|
368
|
+
throw new Error("Could not find flux on this.props or this.context" + namePart);
|
369
|
+
}
|
280
370
|
},
|
281
371
|
|
282
372
|
childContextTypes: {
|
283
373
|
flux: React.PropTypes.object
|
284
374
|
},
|
285
375
|
|
376
|
+
contextTypes: {
|
377
|
+
flux: React.PropTypes.object
|
378
|
+
},
|
379
|
+
|
286
380
|
getChildContext: function() {
|
287
381
|
return {
|
288
|
-
flux: this.
|
382
|
+
flux: this.getFlux()
|
289
383
|
};
|
290
384
|
},
|
291
385
|
|
292
386
|
getFlux: function() {
|
293
|
-
return this.props.flux;
|
387
|
+
return this.props.flux || (this.context && this.context.flux);
|
294
388
|
}
|
295
389
|
};
|
296
390
|
};
|
@@ -309,6 +403,15 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
309
403
|
|
310
404
|
var FluxChildMixin = function(React) {
|
311
405
|
return {
|
406
|
+
componentWillMount: function() {
|
407
|
+
if (console && console.warn) {
|
408
|
+
var namePart = this.constructor.displayName ? " in " + this.constructor.displayName : "",
|
409
|
+
message = "Fluxxor.FluxChildMixin was found in use" + namePart + ", " +
|
410
|
+
"but has been deprecated. Use Fluxxor.FluxMixin instead.";
|
411
|
+
console.warn(message);
|
412
|
+
}
|
413
|
+
},
|
414
|
+
|
312
415
|
contextTypes: {
|
313
416
|
flux: React.PropTypes.object
|
314
417
|
},
|
@@ -331,7 +434,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
331
434
|
/* 6 */
|
332
435
|
/***/ function(module, exports, __webpack_require__) {
|
333
436
|
|
334
|
-
var _each = __webpack_require__(
|
437
|
+
var _each = __webpack_require__(22);
|
335
438
|
|
336
439
|
var StoreWatchMixin = function() {
|
337
440
|
var storeNames = Array.prototype.slice.call(arguments);
|
@@ -375,9 +478,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
375
478
|
/* 7 */
|
376
479
|
/***/ function(module, exports, __webpack_require__) {
|
377
480
|
|
378
|
-
var _each = __webpack_require__(
|
481
|
+
var _each = __webpack_require__(22),
|
482
|
+
_isFunction = __webpack_require__(17),
|
379
483
|
Store = __webpack_require__(8),
|
380
|
-
inherits = __webpack_require__(
|
484
|
+
inherits = __webpack_require__(11);
|
381
485
|
|
382
486
|
var RESERVED_KEYS = ["flux", "waitFor"];
|
383
487
|
|
@@ -394,10 +498,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
394
498
|
|
395
499
|
for (var key in spec) {
|
396
500
|
if (key === "actions") {
|
397
|
-
this.
|
501
|
+
this.bindActions(spec[key]);
|
398
502
|
} else if (key === "initialize") {
|
399
503
|
// do nothing
|
400
|
-
} else if (
|
504
|
+
} else if (_isFunction(spec[key])) {
|
401
505
|
this[key] = spec[key].bind(this);
|
402
506
|
} else {
|
403
507
|
this[key] = spec[key];
|
@@ -420,8 +524,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
420
524
|
/* 8 */
|
421
525
|
/***/ function(module, exports, __webpack_require__) {
|
422
526
|
|
423
|
-
var EventEmitter = __webpack_require__(
|
424
|
-
inherits = __webpack_require__(
|
527
|
+
var EventEmitter = __webpack_require__(9),
|
528
|
+
inherits = __webpack_require__(11),
|
529
|
+
_isFunction = __webpack_require__(17),
|
530
|
+
_isObject = __webpack_require__(25);
|
425
531
|
|
426
532
|
function Store(dispatcher) {
|
427
533
|
this.dispatcher = dispatcher;
|
@@ -434,10 +540,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
434
540
|
Store.prototype.__handleAction__ = function(action) {
|
435
541
|
var handler;
|
436
542
|
if (!!(handler = this.__actions__[action.type])) {
|
437
|
-
if (
|
543
|
+
if (_isFunction(handler)) {
|
438
544
|
handler.call(this, action.payload, action.type);
|
439
|
-
} else if (handler &&
|
545
|
+
} else if (handler && _isFunction(this[handler])) {
|
440
546
|
this[handler].call(this, action.payload, action.type);
|
547
|
+
} else {
|
548
|
+
throw new Error("The handler for action type " + action.type + " is not a function");
|
441
549
|
}
|
442
550
|
return true;
|
443
551
|
} else {
|
@@ -447,19 +555,37 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
447
555
|
|
448
556
|
Store.prototype.bindActions = function() {
|
449
557
|
var actions = Array.prototype.slice.call(arguments);
|
450
|
-
|
558
|
+
|
559
|
+
if (actions.length > 1 && actions.length % 2 !== 0) {
|
451
560
|
throw new Error("bindActions must take an even number of arguments.");
|
452
561
|
}
|
453
562
|
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
if (!type) {
|
459
|
-
throw new Error("Argument " + (i+1) + " to bindActions is a falsy value");
|
563
|
+
var bindAction = function(type, handler) {
|
564
|
+
if (!handler) {
|
565
|
+
throw new Error("The handler for action type " + type + " is falsy");
|
460
566
|
}
|
461
567
|
|
462
568
|
this.__actions__[type] = handler;
|
569
|
+
}.bind(this);
|
570
|
+
|
571
|
+
if (actions.length === 1 && _isObject(actions[0])) {
|
572
|
+
actions = actions[0];
|
573
|
+
for (var key in actions) {
|
574
|
+
if (actions.hasOwnProperty(key)) {
|
575
|
+
bindAction(key, actions[key]);
|
576
|
+
}
|
577
|
+
}
|
578
|
+
} else {
|
579
|
+
for (var i = 0; i < actions.length; i += 2) {
|
580
|
+
var type = actions[i],
|
581
|
+
handler = actions[i+1];
|
582
|
+
|
583
|
+
if (!type) {
|
584
|
+
throw new Error("Argument " + (i+1) + " to bindActions is a falsy value");
|
585
|
+
}
|
586
|
+
|
587
|
+
bindAction(type, handler);
|
588
|
+
}
|
463
589
|
}
|
464
590
|
};
|
465
591
|
|
@@ -474,179 +600,635 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
474
600
|
/* 9 */
|
475
601
|
/***/ function(module, exports, __webpack_require__) {
|
476
602
|
|
477
|
-
|
478
|
-
// implementation from standard node.js 'util' module
|
479
|
-
module.exports = function inherits(ctor, superCtor) {
|
480
|
-
ctor.super_ = superCtor
|
481
|
-
ctor.prototype = Object.create(superCtor.prototype, {
|
482
|
-
constructor: {
|
483
|
-
value: ctor,
|
484
|
-
enumerable: false,
|
485
|
-
writable: true,
|
486
|
-
configurable: true
|
487
|
-
}
|
488
|
-
});
|
489
|
-
};
|
490
|
-
} else {
|
491
|
-
// old school shim for old browsers
|
492
|
-
module.exports = function inherits(ctor, superCtor) {
|
493
|
-
ctor.super_ = superCtor
|
494
|
-
var TempCtor = function () {}
|
495
|
-
TempCtor.prototype = superCtor.prototype
|
496
|
-
ctor.prototype = new TempCtor()
|
497
|
-
ctor.prototype.constructor = ctor
|
498
|
-
}
|
499
|
-
}
|
500
|
-
|
501
|
-
|
502
|
-
/***/ },
|
503
|
-
/* 10 */
|
504
|
-
/***/ function(module, exports, __webpack_require__) {
|
505
|
-
|
506
|
-
/**
|
507
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
508
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
509
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
510
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
511
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
512
|
-
* Available under MIT license <http://lodash.com/license>
|
513
|
-
*/
|
514
|
-
var baseClone = __webpack_require__(24),
|
515
|
-
baseCreateCallback = __webpack_require__(25);
|
603
|
+
'use strict';
|
516
604
|
|
517
605
|
/**
|
518
|
-
*
|
519
|
-
* be cloned, otherwise they will be assigned by reference. If a callback
|
520
|
-
* is provided it will be executed to produce the cloned values. If the
|
521
|
-
* callback returns `undefined` cloning will be handled by the method instead.
|
522
|
-
* The callback is bound to `thisArg` and invoked with one argument; (value).
|
523
|
-
*
|
524
|
-
* @static
|
525
|
-
* @memberOf _
|
526
|
-
* @category Objects
|
527
|
-
* @param {*} value The value to clone.
|
528
|
-
* @param {boolean} [isDeep=false] Specify a deep clone.
|
529
|
-
* @param {Function} [callback] The function to customize cloning values.
|
530
|
-
* @param {*} [thisArg] The `this` binding of `callback`.
|
531
|
-
* @returns {*} Returns the cloned value.
|
532
|
-
* @example
|
533
|
-
*
|
534
|
-
* var characters = [
|
535
|
-
* { 'name': 'barney', 'age': 36 },
|
536
|
-
* { 'name': 'fred', 'age': 40 }
|
537
|
-
* ];
|
538
|
-
*
|
539
|
-
* var shallow = _.clone(characters);
|
540
|
-
* shallow[0] === characters[0];
|
541
|
-
* // => true
|
542
|
-
*
|
543
|
-
* var deep = _.clone(characters, true);
|
544
|
-
* deep[0] === characters[0];
|
545
|
-
* // => false
|
546
|
-
*
|
547
|
-
* _.mixin({
|
548
|
-
* 'clone': _.partialRight(_.clone, function(value) {
|
549
|
-
* return _.isElement(value) ? value.cloneNode(false) : undefined;
|
550
|
-
* })
|
551
|
-
* });
|
606
|
+
* Representation of a single EventEmitter function.
|
552
607
|
*
|
553
|
-
*
|
554
|
-
*
|
555
|
-
*
|
608
|
+
* @param {Function} fn Event handler to be called.
|
609
|
+
* @param {Mixed} context Context for function execution.
|
610
|
+
* @param {Boolean} once Only emit once
|
611
|
+
* @api private
|
556
612
|
*/
|
557
|
-
function
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
thisArg = callback;
|
562
|
-
callback = isDeep;
|
563
|
-
isDeep = false;
|
564
|
-
}
|
565
|
-
return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
|
613
|
+
function EE(fn, context, once) {
|
614
|
+
this.fn = fn;
|
615
|
+
this.context = context;
|
616
|
+
this.once = once || false;
|
566
617
|
}
|
567
618
|
|
568
|
-
module.exports = clone;
|
569
|
-
|
570
|
-
|
571
|
-
/***/ },
|
572
|
-
/* 11 */
|
573
|
-
/***/ function(module, exports, __webpack_require__) {
|
574
|
-
|
575
619
|
/**
|
576
|
-
*
|
577
|
-
*
|
578
|
-
*
|
579
|
-
*
|
580
|
-
*
|
581
|
-
* Available under MIT license <http://lodash.com/license>
|
620
|
+
* Minimal EventEmitter interface that is molded against the Node.js
|
621
|
+
* EventEmitter interface.
|
622
|
+
*
|
623
|
+
* @constructor
|
624
|
+
* @api public
|
582
625
|
*/
|
583
|
-
|
584
|
-
forOwn = __webpack_require__(12);
|
626
|
+
function EventEmitter() { /* Nothing to set */ }
|
585
627
|
|
586
628
|
/**
|
587
|
-
*
|
588
|
-
* running each own enumerable property of `object` through the callback.
|
589
|
-
* The callback is bound to `thisArg` and invoked with three arguments;
|
590
|
-
* (value, key, object).
|
591
|
-
*
|
592
|
-
* If a property name is provided for `callback` the created "_.pluck" style
|
593
|
-
* callback will return the property value of the given element.
|
594
|
-
*
|
595
|
-
* If an object is provided for `callback` the created "_.where" style callback
|
596
|
-
* will return `true` for elements that have the properties of the given object,
|
597
|
-
* else `false`.
|
598
|
-
*
|
599
|
-
* @static
|
600
|
-
* @memberOf _
|
601
|
-
* @category Objects
|
602
|
-
* @param {Object} object The object to iterate over.
|
603
|
-
* @param {Function|Object|string} [callback=identity] The function called
|
604
|
-
* per iteration. If a property name or object is provided it will be used
|
605
|
-
* to create a "_.pluck" or "_.where" style callback, respectively.
|
606
|
-
* @param {*} [thisArg] The `this` binding of `callback`.
|
607
|
-
* @returns {Array} Returns a new object with values of the results of each `callback` execution.
|
608
|
-
* @example
|
609
|
-
*
|
610
|
-
* _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
|
611
|
-
* // => { 'a': 3, 'b': 6, 'c': 9 }
|
612
|
-
*
|
613
|
-
* var characters = {
|
614
|
-
* 'fred': { 'name': 'fred', 'age': 40 },
|
615
|
-
* 'pebbles': { 'name': 'pebbles', 'age': 1 }
|
616
|
-
* };
|
629
|
+
* Holds the assigned EventEmitters by name.
|
617
630
|
*
|
618
|
-
*
|
619
|
-
*
|
620
|
-
* // => { 'fred': 40, 'pebbles': 1 }
|
631
|
+
* @type {Object}
|
632
|
+
* @private
|
621
633
|
*/
|
622
|
-
|
623
|
-
var result = {};
|
624
|
-
callback = createCallback(callback, thisArg, 3);
|
625
|
-
|
626
|
-
forOwn(object, function(value, key, object) {
|
627
|
-
result[key] = callback(value, key, object);
|
628
|
-
});
|
629
|
-
return result;
|
630
|
-
}
|
634
|
+
EventEmitter.prototype._events = undefined;
|
631
635
|
|
632
|
-
module.exports = mapValues;
|
633
|
-
|
634
|
-
|
635
|
-
/***/ },
|
636
|
-
/* 12 */
|
637
|
-
/***/ function(module, exports, __webpack_require__) {
|
638
|
-
|
639
636
|
/**
|
640
|
-
*
|
641
|
-
*
|
642
|
-
*
|
643
|
-
*
|
644
|
-
*
|
645
|
-
* Available under MIT license <http://lodash.com/license>
|
637
|
+
* Return a list of assigned event listeners.
|
638
|
+
*
|
639
|
+
* @param {String} event The events that should be listed.
|
640
|
+
* @returns {Array}
|
641
|
+
* @api public
|
646
642
|
*/
|
647
|
-
|
648
|
-
|
649
|
-
|
643
|
+
EventEmitter.prototype.listeners = function listeners(event) {
|
644
|
+
if (!this._events || !this._events[event]) return [];
|
645
|
+
|
646
|
+
for (var i = 0, l = this._events[event].length, ee = []; i < l; i++) {
|
647
|
+
ee.push(this._events[event][i].fn);
|
648
|
+
}
|
649
|
+
|
650
|
+
return ee;
|
651
|
+
};
|
652
|
+
|
653
|
+
/**
|
654
|
+
* Emit an event to all registered event listeners.
|
655
|
+
*
|
656
|
+
* @param {String} event The name of the event.
|
657
|
+
* @returns {Boolean} Indication if we've emitted an event.
|
658
|
+
* @api public
|
659
|
+
*/
|
660
|
+
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
661
|
+
if (!this._events || !this._events[event]) return false;
|
662
|
+
|
663
|
+
var listeners = this._events[event]
|
664
|
+
, length = listeners.length
|
665
|
+
, len = arguments.length
|
666
|
+
, ee = listeners[0]
|
667
|
+
, args
|
668
|
+
, i, j;
|
669
|
+
|
670
|
+
if (1 === length) {
|
671
|
+
if (ee.once) this.removeListener(event, ee.fn, true);
|
672
|
+
|
673
|
+
switch (len) {
|
674
|
+
case 1: return ee.fn.call(ee.context), true;
|
675
|
+
case 2: return ee.fn.call(ee.context, a1), true;
|
676
|
+
case 3: return ee.fn.call(ee.context, a1, a2), true;
|
677
|
+
case 4: return ee.fn.call(ee.context, a1, a2, a3), true;
|
678
|
+
case 5: return ee.fn.call(ee.context, a1, a2, a3, a4), true;
|
679
|
+
case 6: return ee.fn.call(ee.context, a1, a2, a3, a4, a5), true;
|
680
|
+
}
|
681
|
+
|
682
|
+
for (i = 1, args = new Array(len -1); i < len; i++) {
|
683
|
+
args[i - 1] = arguments[i];
|
684
|
+
}
|
685
|
+
|
686
|
+
ee.fn.apply(ee.context, args);
|
687
|
+
} else {
|
688
|
+
for (i = 0; i < length; i++) {
|
689
|
+
if (listeners[i].once) this.removeListener(event, listeners[i].fn, true);
|
690
|
+
|
691
|
+
switch (len) {
|
692
|
+
case 1: listeners[i].fn.call(listeners[i].context); break;
|
693
|
+
case 2: listeners[i].fn.call(listeners[i].context, a1); break;
|
694
|
+
case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
|
695
|
+
default:
|
696
|
+
if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
|
697
|
+
args[j - 1] = arguments[j];
|
698
|
+
}
|
699
|
+
|
700
|
+
listeners[i].fn.apply(listeners[i].context, args);
|
701
|
+
}
|
702
|
+
}
|
703
|
+
}
|
704
|
+
|
705
|
+
return true;
|
706
|
+
};
|
707
|
+
|
708
|
+
/**
|
709
|
+
* Register a new EventListener for the given event.
|
710
|
+
*
|
711
|
+
* @param {String} event Name of the event.
|
712
|
+
* @param {Functon} fn Callback function.
|
713
|
+
* @param {Mixed} context The context of the function.
|
714
|
+
* @api public
|
715
|
+
*/
|
716
|
+
EventEmitter.prototype.on = function on(event, fn, context) {
|
717
|
+
if (!this._events) this._events = {};
|
718
|
+
if (!this._events[event]) this._events[event] = [];
|
719
|
+
this._events[event].push(new EE( fn, context || this ));
|
720
|
+
|
721
|
+
return this;
|
722
|
+
};
|
723
|
+
|
724
|
+
/**
|
725
|
+
* Add an EventListener that's only called once.
|
726
|
+
*
|
727
|
+
* @param {String} event Name of the event.
|
728
|
+
* @param {Function} fn Callback function.
|
729
|
+
* @param {Mixed} context The context of the function.
|
730
|
+
* @api public
|
731
|
+
*/
|
732
|
+
EventEmitter.prototype.once = function once(event, fn, context) {
|
733
|
+
if (!this._events) this._events = {};
|
734
|
+
if (!this._events[event]) this._events[event] = [];
|
735
|
+
this._events[event].push(new EE(fn, context || this, true ));
|
736
|
+
|
737
|
+
return this;
|
738
|
+
};
|
739
|
+
|
740
|
+
/**
|
741
|
+
* Remove event listeners.
|
742
|
+
*
|
743
|
+
* @param {String} event The event we want to remove.
|
744
|
+
* @param {Function} fn The listener that we need to find.
|
745
|
+
* @param {Boolean} once Only remove once listeners.
|
746
|
+
* @api public
|
747
|
+
*/
|
748
|
+
EventEmitter.prototype.removeListener = function removeListener(event, fn, once) {
|
749
|
+
if (!this._events || !this._events[event]) return this;
|
750
|
+
|
751
|
+
var listeners = this._events[event]
|
752
|
+
, events = [];
|
753
|
+
|
754
|
+
if (fn) for (var i = 0, length = listeners.length; i < length; i++) {
|
755
|
+
if (listeners[i].fn !== fn && listeners[i].once !== once) {
|
756
|
+
events.push(listeners[i]);
|
757
|
+
}
|
758
|
+
}
|
759
|
+
|
760
|
+
//
|
761
|
+
// Reset the array, or remove it completely if we have no more listeners.
|
762
|
+
//
|
763
|
+
if (events.length) this._events[event] = events;
|
764
|
+
else this._events[event] = null;
|
765
|
+
|
766
|
+
return this;
|
767
|
+
};
|
768
|
+
|
769
|
+
/**
|
770
|
+
* Remove all listeners or only the listeners for the specified event.
|
771
|
+
*
|
772
|
+
* @param {String} event The event want to remove all listeners for.
|
773
|
+
* @api public
|
774
|
+
*/
|
775
|
+
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
|
776
|
+
if (!this._events) return this;
|
777
|
+
|
778
|
+
if (event) this._events[event] = null;
|
779
|
+
else this._events = {};
|
780
|
+
|
781
|
+
return this;
|
782
|
+
};
|
783
|
+
|
784
|
+
//
|
785
|
+
// Alias methods names because people roll like that.
|
786
|
+
//
|
787
|
+
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
788
|
+
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
|
789
|
+
|
790
|
+
//
|
791
|
+
// This function doesn't apply anymore.
|
792
|
+
//
|
793
|
+
EventEmitter.prototype.setMaxListeners = function setMaxListeners() {
|
794
|
+
return this;
|
795
|
+
};
|
796
|
+
|
797
|
+
//
|
798
|
+
// Expose the module.
|
799
|
+
//
|
800
|
+
EventEmitter.EventEmitter = EventEmitter;
|
801
|
+
EventEmitter.EventEmitter2 = EventEmitter;
|
802
|
+
EventEmitter.EventEmitter3 = EventEmitter;
|
803
|
+
|
804
|
+
if ('object' === typeof module && module.exports) {
|
805
|
+
module.exports = EventEmitter;
|
806
|
+
}
|
807
|
+
|
808
|
+
|
809
|
+
/***/ },
|
810
|
+
/* 10 */
|
811
|
+
/***/ function(module, exports, __webpack_require__) {
|
812
|
+
|
813
|
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory){
|
814
|
+
'use strict';
|
815
|
+
|
816
|
+
/*istanbul ignore next:cant test*/
|
817
|
+
if (typeof module === 'object' && typeof module.exports === 'object') {
|
818
|
+
module.exports = factory();
|
819
|
+
} else if (true) {
|
820
|
+
// AMD. Register as an anonymous module.
|
821
|
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (factory.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
822
|
+
} else {
|
823
|
+
// Browser globals
|
824
|
+
root.objectPath = factory();
|
825
|
+
}
|
826
|
+
})(this, function(){
|
827
|
+
'use strict';
|
828
|
+
|
829
|
+
var
|
830
|
+
toStr = Object.prototype.toString,
|
831
|
+
_hasOwnProperty = Object.prototype.hasOwnProperty;
|
832
|
+
|
833
|
+
function isEmpty(value){
|
834
|
+
if (!value) {
|
835
|
+
return true;
|
836
|
+
}
|
837
|
+
if (isArray(value) && value.length === 0) {
|
838
|
+
return true;
|
839
|
+
} else {
|
840
|
+
for (var i in value) {
|
841
|
+
if (_hasOwnProperty.call(value, i)) {
|
842
|
+
return false;
|
843
|
+
}
|
844
|
+
}
|
845
|
+
return true;
|
846
|
+
}
|
847
|
+
}
|
848
|
+
|
849
|
+
function toString(type){
|
850
|
+
return toStr.call(type);
|
851
|
+
}
|
852
|
+
|
853
|
+
function isNumber(value){
|
854
|
+
return typeof value === 'number' || toString(value) === "[object Number]";
|
855
|
+
}
|
856
|
+
|
857
|
+
function isString(obj){
|
858
|
+
return typeof obj === 'string' || toString(obj) === "[object String]";
|
859
|
+
}
|
860
|
+
|
861
|
+
function isObject(obj){
|
862
|
+
return typeof obj === 'object' && toString(obj) === "[object Object]";
|
863
|
+
}
|
864
|
+
|
865
|
+
function isArray(obj){
|
866
|
+
return typeof obj === 'object' && typeof obj.length === 'number' && toString(obj) === '[object Array]';
|
867
|
+
}
|
868
|
+
|
869
|
+
function isBoolean(obj){
|
870
|
+
return typeof obj === 'boolean' || toString(obj) === '[object Boolean]';
|
871
|
+
}
|
872
|
+
|
873
|
+
function getKey(key){
|
874
|
+
var intKey = parseInt(key);
|
875
|
+
if (intKey.toString() === key) {
|
876
|
+
return intKey;
|
877
|
+
}
|
878
|
+
return key;
|
879
|
+
}
|
880
|
+
|
881
|
+
function set(obj, path, value, doNotReplace){
|
882
|
+
if (isNumber(path)) {
|
883
|
+
path = [path];
|
884
|
+
}
|
885
|
+
if (isEmpty(path)) {
|
886
|
+
return obj;
|
887
|
+
}
|
888
|
+
if (isString(path)) {
|
889
|
+
return set(obj, path.split('.'), value, doNotReplace);
|
890
|
+
}
|
891
|
+
var currentPath = getKey(path[0]);
|
892
|
+
|
893
|
+
if (path.length === 1) {
|
894
|
+
var oldVal = obj[currentPath];
|
895
|
+
if (oldVal === void 0 || !doNotReplace) {
|
896
|
+
obj[currentPath] = value;
|
897
|
+
}
|
898
|
+
return oldVal;
|
899
|
+
}
|
900
|
+
|
901
|
+
if (obj[currentPath] === void 0) {
|
902
|
+
if (isNumber(currentPath)) {
|
903
|
+
obj[currentPath] = [];
|
904
|
+
} else {
|
905
|
+
obj[currentPath] = {};
|
906
|
+
}
|
907
|
+
}
|
908
|
+
|
909
|
+
return set(obj[currentPath], path.slice(1), value, doNotReplace);
|
910
|
+
}
|
911
|
+
|
912
|
+
function del(obj, path) {
|
913
|
+
if (isNumber(path)) {
|
914
|
+
path = [path];
|
915
|
+
}
|
916
|
+
|
917
|
+
if (isEmpty(obj)) {
|
918
|
+
return void 0;
|
919
|
+
}
|
920
|
+
|
921
|
+
if (isEmpty(path)) {
|
922
|
+
return obj;
|
923
|
+
}
|
924
|
+
if(isString(path)) {
|
925
|
+
return del(obj, path.split('.'));
|
926
|
+
}
|
927
|
+
|
928
|
+
var currentPath = getKey(path[0]);
|
929
|
+
var oldVal = obj[currentPath];
|
930
|
+
|
931
|
+
if(path.length === 1) {
|
932
|
+
if (oldVal !== void 0) {
|
933
|
+
if (isArray(obj)) {
|
934
|
+
obj.splice(currentPath, 1);
|
935
|
+
} else {
|
936
|
+
delete obj[currentPath];
|
937
|
+
}
|
938
|
+
}
|
939
|
+
} else {
|
940
|
+
if (obj[currentPath] !== void 0) {
|
941
|
+
return del(obj[currentPath], path.slice(1));
|
942
|
+
}
|
943
|
+
}
|
944
|
+
|
945
|
+
return obj;
|
946
|
+
}
|
947
|
+
|
948
|
+
var objectPath = {};
|
949
|
+
|
950
|
+
objectPath.ensureExists = function (obj, path, value){
|
951
|
+
return set(obj, path, value, true);
|
952
|
+
};
|
953
|
+
|
954
|
+
objectPath.set = function (obj, path, value, doNotReplace){
|
955
|
+
return set(obj, path, value, doNotReplace);
|
956
|
+
};
|
957
|
+
|
958
|
+
objectPath.insert = function (obj, path, value, at){
|
959
|
+
var arr = objectPath.get(obj, path);
|
960
|
+
at = ~~at;
|
961
|
+
if (!isArray(arr)) {
|
962
|
+
arr = [];
|
963
|
+
objectPath.set(obj, path, arr);
|
964
|
+
}
|
965
|
+
arr.splice(at, 0, value);
|
966
|
+
};
|
967
|
+
|
968
|
+
objectPath.empty = function(obj, path) {
|
969
|
+
if (isEmpty(path)) {
|
970
|
+
return obj;
|
971
|
+
}
|
972
|
+
if (isEmpty(obj)) {
|
973
|
+
return void 0;
|
974
|
+
}
|
975
|
+
|
976
|
+
var value, i;
|
977
|
+
if (!(value = objectPath.get(obj, path))) {
|
978
|
+
return obj;
|
979
|
+
}
|
980
|
+
|
981
|
+
if (isString(value)) {
|
982
|
+
return objectPath.set(obj, path, '');
|
983
|
+
} else if (isBoolean(value)) {
|
984
|
+
return objectPath.set(obj, path, false);
|
985
|
+
} else if (isNumber(value)) {
|
986
|
+
return objectPath.set(obj, path, 0);
|
987
|
+
} else if (isArray(value)) {
|
988
|
+
value.length = 0;
|
989
|
+
} else if (isObject(value)) {
|
990
|
+
for (i in value) {
|
991
|
+
if (_hasOwnProperty.call(value, i)) {
|
992
|
+
delete value[i];
|
993
|
+
}
|
994
|
+
}
|
995
|
+
} else {
|
996
|
+
return objectPath.set(obj, path, null);
|
997
|
+
}
|
998
|
+
};
|
999
|
+
|
1000
|
+
objectPath.push = function (obj, path /*, values */){
|
1001
|
+
var arr = objectPath.get(obj, path);
|
1002
|
+
if (!isArray(arr)) {
|
1003
|
+
arr = [];
|
1004
|
+
objectPath.set(obj, path, arr);
|
1005
|
+
}
|
1006
|
+
|
1007
|
+
arr.push.apply(arr, Array.prototype.slice.call(arguments, 2));
|
1008
|
+
};
|
1009
|
+
|
1010
|
+
objectPath.coalesce = function (obj, paths, defaultValue) {
|
1011
|
+
var value;
|
1012
|
+
|
1013
|
+
for (var i = 0, len = paths.length; i < len; i++) {
|
1014
|
+
if ((value = objectPath.get(obj, paths[i])) !== void 0) {
|
1015
|
+
return value;
|
1016
|
+
}
|
1017
|
+
}
|
1018
|
+
|
1019
|
+
return defaultValue;
|
1020
|
+
};
|
1021
|
+
|
1022
|
+
objectPath.get = function (obj, path, defaultValue){
|
1023
|
+
if (isNumber(path)) {
|
1024
|
+
path = [path];
|
1025
|
+
}
|
1026
|
+
if (isEmpty(path)) {
|
1027
|
+
return obj;
|
1028
|
+
}
|
1029
|
+
if (isEmpty(obj)) {
|
1030
|
+
return defaultValue;
|
1031
|
+
}
|
1032
|
+
if (isString(path)) {
|
1033
|
+
return objectPath.get(obj, path.split('.'), defaultValue);
|
1034
|
+
}
|
1035
|
+
|
1036
|
+
var currentPath = getKey(path[0]);
|
1037
|
+
|
1038
|
+
if (path.length === 1) {
|
1039
|
+
if (obj[currentPath] === void 0) {
|
1040
|
+
return defaultValue;
|
1041
|
+
}
|
1042
|
+
return obj[currentPath];
|
1043
|
+
}
|
1044
|
+
|
1045
|
+
return objectPath.get(obj[currentPath], path.slice(1), defaultValue);
|
1046
|
+
};
|
1047
|
+
|
1048
|
+
objectPath.del = function(obj, path) {
|
1049
|
+
return del(obj, path);
|
1050
|
+
};
|
1051
|
+
|
1052
|
+
return objectPath;
|
1053
|
+
});
|
1054
|
+
|
1055
|
+
/***/ },
|
1056
|
+
/* 11 */
|
1057
|
+
/***/ function(module, exports, __webpack_require__) {
|
1058
|
+
|
1059
|
+
if (typeof Object.create === 'function') {
|
1060
|
+
// implementation from standard node.js 'util' module
|
1061
|
+
module.exports = function inherits(ctor, superCtor) {
|
1062
|
+
ctor.super_ = superCtor
|
1063
|
+
ctor.prototype = Object.create(superCtor.prototype, {
|
1064
|
+
constructor: {
|
1065
|
+
value: ctor,
|
1066
|
+
enumerable: false,
|
1067
|
+
writable: true,
|
1068
|
+
configurable: true
|
1069
|
+
}
|
1070
|
+
});
|
1071
|
+
};
|
1072
|
+
} else {
|
1073
|
+
// old school shim for old browsers
|
1074
|
+
module.exports = function inherits(ctor, superCtor) {
|
1075
|
+
ctor.super_ = superCtor
|
1076
|
+
var TempCtor = function () {}
|
1077
|
+
TempCtor.prototype = superCtor.prototype
|
1078
|
+
ctor.prototype = new TempCtor()
|
1079
|
+
ctor.prototype.constructor = ctor
|
1080
|
+
}
|
1081
|
+
}
|
1082
|
+
|
1083
|
+
|
1084
|
+
/***/ },
|
1085
|
+
/* 12 */
|
1086
|
+
/***/ function(module, exports, __webpack_require__) {
|
1087
|
+
|
1088
|
+
/**
|
1089
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1090
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1091
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1092
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1093
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1094
|
+
* Available under MIT license <http://lodash.com/license>
|
1095
|
+
*/
|
1096
|
+
var baseClone = __webpack_require__(29),
|
1097
|
+
baseCreateCallback = __webpack_require__(30);
|
1098
|
+
|
1099
|
+
/**
|
1100
|
+
* Creates a clone of `value`. If `isDeep` is `true` nested objects will also
|
1101
|
+
* be cloned, otherwise they will be assigned by reference. If a callback
|
1102
|
+
* is provided it will be executed to produce the cloned values. If the
|
1103
|
+
* callback returns `undefined` cloning will be handled by the method instead.
|
1104
|
+
* The callback is bound to `thisArg` and invoked with one argument; (value).
|
1105
|
+
*
|
1106
|
+
* @static
|
1107
|
+
* @memberOf _
|
1108
|
+
* @category Objects
|
1109
|
+
* @param {*} value The value to clone.
|
1110
|
+
* @param {boolean} [isDeep=false] Specify a deep clone.
|
1111
|
+
* @param {Function} [callback] The function to customize cloning values.
|
1112
|
+
* @param {*} [thisArg] The `this` binding of `callback`.
|
1113
|
+
* @returns {*} Returns the cloned value.
|
1114
|
+
* @example
|
1115
|
+
*
|
1116
|
+
* var characters = [
|
1117
|
+
* { 'name': 'barney', 'age': 36 },
|
1118
|
+
* { 'name': 'fred', 'age': 40 }
|
1119
|
+
* ];
|
1120
|
+
*
|
1121
|
+
* var shallow = _.clone(characters);
|
1122
|
+
* shallow[0] === characters[0];
|
1123
|
+
* // => true
|
1124
|
+
*
|
1125
|
+
* var deep = _.clone(characters, true);
|
1126
|
+
* deep[0] === characters[0];
|
1127
|
+
* // => false
|
1128
|
+
*
|
1129
|
+
* _.mixin({
|
1130
|
+
* 'clone': _.partialRight(_.clone, function(value) {
|
1131
|
+
* return _.isElement(value) ? value.cloneNode(false) : undefined;
|
1132
|
+
* })
|
1133
|
+
* });
|
1134
|
+
*
|
1135
|
+
* var clone = _.clone(document.body);
|
1136
|
+
* clone.childNodes.length;
|
1137
|
+
* // => 0
|
1138
|
+
*/
|
1139
|
+
function clone(value, isDeep, callback, thisArg) {
|
1140
|
+
// allows working with "Collections" methods without using their `index`
|
1141
|
+
// and `collection` arguments for `isDeep` and `callback`
|
1142
|
+
if (typeof isDeep != 'boolean' && isDeep != null) {
|
1143
|
+
thisArg = callback;
|
1144
|
+
callback = isDeep;
|
1145
|
+
isDeep = false;
|
1146
|
+
}
|
1147
|
+
return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
|
1148
|
+
}
|
1149
|
+
|
1150
|
+
module.exports = clone;
|
1151
|
+
|
1152
|
+
|
1153
|
+
/***/ },
|
1154
|
+
/* 13 */
|
1155
|
+
/***/ function(module, exports, __webpack_require__) {
|
1156
|
+
|
1157
|
+
/**
|
1158
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1159
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1160
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1161
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1162
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1163
|
+
* Available under MIT license <http://lodash.com/license>
|
1164
|
+
*/
|
1165
|
+
var createCallback = __webpack_require__(28),
|
1166
|
+
forOwn = __webpack_require__(14);
|
1167
|
+
|
1168
|
+
/**
|
1169
|
+
* Creates an object with the same keys as `object` and values generated by
|
1170
|
+
* running each own enumerable property of `object` through the callback.
|
1171
|
+
* The callback is bound to `thisArg` and invoked with three arguments;
|
1172
|
+
* (value, key, object).
|
1173
|
+
*
|
1174
|
+
* If a property name is provided for `callback` the created "_.pluck" style
|
1175
|
+
* callback will return the property value of the given element.
|
1176
|
+
*
|
1177
|
+
* If an object is provided for `callback` the created "_.where" style callback
|
1178
|
+
* will return `true` for elements that have the properties of the given object,
|
1179
|
+
* else `false`.
|
1180
|
+
*
|
1181
|
+
* @static
|
1182
|
+
* @memberOf _
|
1183
|
+
* @category Objects
|
1184
|
+
* @param {Object} object The object to iterate over.
|
1185
|
+
* @param {Function|Object|string} [callback=identity] The function called
|
1186
|
+
* per iteration. If a property name or object is provided it will be used
|
1187
|
+
* to create a "_.pluck" or "_.where" style callback, respectively.
|
1188
|
+
* @param {*} [thisArg] The `this` binding of `callback`.
|
1189
|
+
* @returns {Array} Returns a new object with values of the results of each `callback` execution.
|
1190
|
+
* @example
|
1191
|
+
*
|
1192
|
+
* _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
|
1193
|
+
* // => { 'a': 3, 'b': 6, 'c': 9 }
|
1194
|
+
*
|
1195
|
+
* var characters = {
|
1196
|
+
* 'fred': { 'name': 'fred', 'age': 40 },
|
1197
|
+
* 'pebbles': { 'name': 'pebbles', 'age': 1 }
|
1198
|
+
* };
|
1199
|
+
*
|
1200
|
+
* // using "_.pluck" callback shorthand
|
1201
|
+
* _.mapValues(characters, 'age');
|
1202
|
+
* // => { 'fred': 40, 'pebbles': 1 }
|
1203
|
+
*/
|
1204
|
+
function mapValues(object, callback, thisArg) {
|
1205
|
+
var result = {};
|
1206
|
+
callback = createCallback(callback, thisArg, 3);
|
1207
|
+
|
1208
|
+
forOwn(object, function(value, key, object) {
|
1209
|
+
result[key] = callback(value, key, object);
|
1210
|
+
});
|
1211
|
+
return result;
|
1212
|
+
}
|
1213
|
+
|
1214
|
+
module.exports = mapValues;
|
1215
|
+
|
1216
|
+
|
1217
|
+
/***/ },
|
1218
|
+
/* 14 */
|
1219
|
+
/***/ function(module, exports, __webpack_require__) {
|
1220
|
+
|
1221
|
+
/**
|
1222
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1223
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1224
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1225
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1226
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1227
|
+
* Available under MIT license <http://lodash.com/license>
|
1228
|
+
*/
|
1229
|
+
var baseCreateCallback = __webpack_require__(30),
|
1230
|
+
keys = __webpack_require__(15),
|
1231
|
+
objectTypes = __webpack_require__(31);
|
650
1232
|
|
651
1233
|
/**
|
652
1234
|
* Iterates over own enumerable properties of an object, executing the callback
|
@@ -689,7 +1271,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
689
1271
|
|
690
1272
|
|
691
1273
|
/***/ },
|
692
|
-
/*
|
1274
|
+
/* 15 */
|
693
1275
|
/***/ function(module, exports, __webpack_require__) {
|
694
1276
|
|
695
1277
|
/**
|
@@ -700,9 +1282,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
700
1282
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
701
1283
|
* Available under MIT license <http://lodash.com/license>
|
702
1284
|
*/
|
703
|
-
var isNative = __webpack_require__(
|
704
|
-
isObject = __webpack_require__(
|
705
|
-
shimKeys = __webpack_require__(
|
1285
|
+
var isNative = __webpack_require__(32),
|
1286
|
+
isObject = __webpack_require__(25),
|
1287
|
+
shimKeys = __webpack_require__(33);
|
706
1288
|
|
707
1289
|
/* Native method shortcuts for methods with the same name as other `lodash` methods */
|
708
1290
|
var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
|
@@ -731,7 +1313,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
731
1313
|
|
732
1314
|
|
733
1315
|
/***/ },
|
734
|
-
/*
|
1316
|
+
/* 16 */
|
735
1317
|
/***/ function(module, exports, __webpack_require__) {
|
736
1318
|
|
737
1319
|
/**
|
@@ -742,8 +1324,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
742
1324
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
743
1325
|
* Available under MIT license <http://lodash.com/license>
|
744
1326
|
*/
|
745
|
-
var createCallback = __webpack_require__(
|
746
|
-
forOwn = __webpack_require__(
|
1327
|
+
var createCallback = __webpack_require__(28),
|
1328
|
+
forOwn = __webpack_require__(14);
|
747
1329
|
|
748
1330
|
/**
|
749
1331
|
* This method is like `_.findIndex` except that it returns the key of the
|
@@ -802,7 +1384,83 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
802
1384
|
|
803
1385
|
|
804
1386
|
/***/ },
|
805
|
-
/*
|
1387
|
+
/* 17 */
|
1388
|
+
/***/ function(module, exports, __webpack_require__) {
|
1389
|
+
|
1390
|
+
/**
|
1391
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1392
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1393
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1394
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1395
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1396
|
+
* Available under MIT license <http://lodash.com/license>
|
1397
|
+
*/
|
1398
|
+
|
1399
|
+
/**
|
1400
|
+
* Checks if `value` is a function.
|
1401
|
+
*
|
1402
|
+
* @static
|
1403
|
+
* @memberOf _
|
1404
|
+
* @category Objects
|
1405
|
+
* @param {*} value The value to check.
|
1406
|
+
* @returns {boolean} Returns `true` if the `value` is a function, else `false`.
|
1407
|
+
* @example
|
1408
|
+
*
|
1409
|
+
* _.isFunction(_);
|
1410
|
+
* // => true
|
1411
|
+
*/
|
1412
|
+
function isFunction(value) {
|
1413
|
+
return typeof value == 'function';
|
1414
|
+
}
|
1415
|
+
|
1416
|
+
module.exports = isFunction;
|
1417
|
+
|
1418
|
+
|
1419
|
+
/***/ },
|
1420
|
+
/* 18 */
|
1421
|
+
/***/ function(module, exports, __webpack_require__) {
|
1422
|
+
|
1423
|
+
/**
|
1424
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1425
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1426
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1427
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1428
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1429
|
+
* Available under MIT license <http://lodash.com/license>
|
1430
|
+
*/
|
1431
|
+
|
1432
|
+
/** `Object#toString` result shortcuts */
|
1433
|
+
var stringClass = '[object String]';
|
1434
|
+
|
1435
|
+
/** Used for native method references */
|
1436
|
+
var objectProto = Object.prototype;
|
1437
|
+
|
1438
|
+
/** Used to resolve the internal [[Class]] of values */
|
1439
|
+
var toString = objectProto.toString;
|
1440
|
+
|
1441
|
+
/**
|
1442
|
+
* Checks if `value` is a string.
|
1443
|
+
*
|
1444
|
+
* @static
|
1445
|
+
* @memberOf _
|
1446
|
+
* @category Objects
|
1447
|
+
* @param {*} value The value to check.
|
1448
|
+
* @returns {boolean} Returns `true` if the `value` is a string, else `false`.
|
1449
|
+
* @example
|
1450
|
+
*
|
1451
|
+
* _.isString('fred');
|
1452
|
+
* // => true
|
1453
|
+
*/
|
1454
|
+
function isString(value) {
|
1455
|
+
return typeof value == 'string' ||
|
1456
|
+
value && typeof value == 'object' && toString.call(value) == stringClass || false;
|
1457
|
+
}
|
1458
|
+
|
1459
|
+
module.exports = isString;
|
1460
|
+
|
1461
|
+
|
1462
|
+
/***/ },
|
1463
|
+
/* 19 */
|
806
1464
|
/***/ function(module, exports, __webpack_require__) {
|
807
1465
|
|
808
1466
|
/**
|
@@ -813,15 +1471,15 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
813
1471
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
814
1472
|
* Available under MIT license <http://lodash.com/license>
|
815
1473
|
*/
|
816
|
-
var baseIndexOf = __webpack_require__(
|
817
|
-
cacheIndexOf = __webpack_require__(
|
818
|
-
createCache = __webpack_require__(
|
819
|
-
getArray = __webpack_require__(
|
820
|
-
isArguments = __webpack_require__(
|
821
|
-
isArray = __webpack_require__(
|
822
|
-
largeArraySize = __webpack_require__(
|
823
|
-
releaseArray = __webpack_require__(
|
824
|
-
releaseObject = __webpack_require__(
|
1474
|
+
var baseIndexOf = __webpack_require__(34),
|
1475
|
+
cacheIndexOf = __webpack_require__(35),
|
1476
|
+
createCache = __webpack_require__(36),
|
1477
|
+
getArray = __webpack_require__(37),
|
1478
|
+
isArguments = __webpack_require__(26),
|
1479
|
+
isArray = __webpack_require__(27),
|
1480
|
+
largeArraySize = __webpack_require__(38),
|
1481
|
+
releaseArray = __webpack_require__(39),
|
1482
|
+
releaseObject = __webpack_require__(40);
|
825
1483
|
|
826
1484
|
/**
|
827
1485
|
* Creates an array of unique values present in all provided arrays using
|
@@ -891,7 +1549,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
891
1549
|
|
892
1550
|
|
893
1551
|
/***/ },
|
894
|
-
/*
|
1552
|
+
/* 20 */
|
895
1553
|
/***/ function(module, exports, __webpack_require__) {
|
896
1554
|
|
897
1555
|
/**
|
@@ -902,8 +1560,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
902
1560
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
903
1561
|
* Available under MIT license <http://lodash.com/license>
|
904
1562
|
*/
|
905
|
-
var baseUniq = __webpack_require__(
|
906
|
-
createCallback = __webpack_require__(
|
1563
|
+
var baseUniq = __webpack_require__(41),
|
1564
|
+
createCallback = __webpack_require__(28);
|
907
1565
|
|
908
1566
|
/**
|
909
1567
|
* Creates a duplicate-value-free version of an array using strict equality
|
@@ -966,7 +1624,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
966
1624
|
|
967
1625
|
|
968
1626
|
/***/ },
|
969
|
-
/*
|
1627
|
+
/* 21 */
|
970
1628
|
/***/ function(module, exports, __webpack_require__) {
|
971
1629
|
|
972
1630
|
/**
|
@@ -977,8 +1635,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
977
1635
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
978
1636
|
* Available under MIT license <http://lodash.com/license>
|
979
1637
|
*/
|
980
|
-
var createCallback = __webpack_require__(
|
981
|
-
forOwn = __webpack_require__(
|
1638
|
+
var createCallback = __webpack_require__(28),
|
1639
|
+
forOwn = __webpack_require__(14);
|
982
1640
|
|
983
1641
|
/**
|
984
1642
|
* Creates an array of values by running each element in the collection
|
@@ -1042,7 +1700,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1042
1700
|
|
1043
1701
|
|
1044
1702
|
/***/ },
|
1045
|
-
/*
|
1703
|
+
/* 22 */
|
1046
1704
|
/***/ function(module, exports, __webpack_require__) {
|
1047
1705
|
|
1048
1706
|
/**
|
@@ -1053,8 +1711,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1053
1711
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1054
1712
|
* Available under MIT license <http://lodash.com/license>
|
1055
1713
|
*/
|
1056
|
-
var baseCreateCallback = __webpack_require__(
|
1057
|
-
forOwn = __webpack_require__(
|
1714
|
+
var baseCreateCallback = __webpack_require__(30),
|
1715
|
+
forOwn = __webpack_require__(14);
|
1058
1716
|
|
1059
1717
|
/**
|
1060
1718
|
* Iterates over elements of a collection, executing the callback for each
|
@@ -1080,282 +1738,145 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1080
1738
|
* // => logs each number and returns '1,2,3'
|
1081
1739
|
*
|
1082
1740
|
* _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
|
1083
|
-
* // => logs each number and returns the object (property order is not guaranteed across environments)
|
1084
|
-
*/
|
1085
|
-
function forEach(collection, callback, thisArg) {
|
1086
|
-
var index = -1,
|
1087
|
-
length = collection ? collection.length : 0;
|
1088
|
-
|
1089
|
-
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
|
1090
|
-
if (typeof length == 'number') {
|
1091
|
-
while (++index < length) {
|
1092
|
-
if (callback(collection[index], index, collection) === false) {
|
1093
|
-
break;
|
1094
|
-
}
|
1095
|
-
}
|
1096
|
-
} else {
|
1097
|
-
forOwn(collection, callback);
|
1098
|
-
}
|
1099
|
-
return collection;
|
1100
|
-
}
|
1101
|
-
|
1102
|
-
module.exports = forEach;
|
1103
|
-
|
1104
|
-
|
1105
|
-
/***/ },
|
1106
|
-
/* 19 */
|
1107
|
-
/***/ function(module, exports, __webpack_require__) {
|
1108
|
-
|
1109
|
-
/**
|
1110
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1111
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1112
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1113
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1114
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1115
|
-
* Available under MIT license <http://lodash.com/license>
|
1116
|
-
*/
|
1117
|
-
var keys = __webpack_require__(13);
|
1118
|
-
|
1119
|
-
/**
|
1120
|
-
* Gets the size of the `collection` by returning `collection.length` for arrays
|
1121
|
-
* and array-like objects or the number of own enumerable properties for objects.
|
1122
|
-
*
|
1123
|
-
* @static
|
1124
|
-
* @memberOf _
|
1125
|
-
* @category Collections
|
1126
|
-
* @param {Array|Object|string} collection The collection to inspect.
|
1127
|
-
* @returns {number} Returns `collection.length` or number of own enumerable properties.
|
1128
|
-
* @example
|
1129
|
-
*
|
1130
|
-
* _.size([1, 2]);
|
1131
|
-
* // => 2
|
1132
|
-
*
|
1133
|
-
* _.size({ 'one': 1, 'two': 2, 'three': 3 });
|
1134
|
-
* // => 3
|
1135
|
-
*
|
1136
|
-
* _.size('pebbles');
|
1137
|
-
* // => 7
|
1138
|
-
*/
|
1139
|
-
function size(collection) {
|
1140
|
-
var length = collection ? collection.length : 0;
|
1141
|
-
return typeof length == 'number' ? length : keys(collection).length;
|
1142
|
-
}
|
1143
|
-
|
1144
|
-
module.exports = size;
|
1145
|
-
|
1146
|
-
|
1147
|
-
/***/ },
|
1148
|
-
/* 20 */
|
1149
|
-
/***/ function(module, exports, __webpack_require__) {
|
1150
|
-
|
1151
|
-
'use strict';
|
1152
|
-
|
1153
|
-
/**
|
1154
|
-
* Representation of a single EventEmitter function.
|
1155
|
-
*
|
1156
|
-
* @param {Function} fn Event handler to be called.
|
1157
|
-
* @param {Mixed} context Context for function execution.
|
1158
|
-
* @param {Boolean} once Only emit once
|
1159
|
-
* @api private
|
1160
|
-
*/
|
1161
|
-
function EE(fn, context, once) {
|
1162
|
-
this.fn = fn;
|
1163
|
-
this.context = context;
|
1164
|
-
this.once = once || false;
|
1165
|
-
}
|
1166
|
-
|
1167
|
-
/**
|
1168
|
-
* Minimal EventEmitter interface that is molded against the Node.js
|
1169
|
-
* EventEmitter interface.
|
1170
|
-
*
|
1171
|
-
* @constructor
|
1172
|
-
* @api public
|
1173
|
-
*/
|
1174
|
-
function EventEmitter() { /* Nothing to set */ }
|
1175
|
-
|
1176
|
-
/**
|
1177
|
-
* Holds the assigned EventEmitters by name.
|
1178
|
-
*
|
1179
|
-
* @type {Object}
|
1180
|
-
* @private
|
1181
|
-
*/
|
1182
|
-
EventEmitter.prototype._events = undefined;
|
1183
|
-
|
1184
|
-
/**
|
1185
|
-
* Return a list of assigned event listeners.
|
1186
|
-
*
|
1187
|
-
* @param {String} event The events that should be listed.
|
1188
|
-
* @returns {Array}
|
1189
|
-
* @api public
|
1190
|
-
*/
|
1191
|
-
EventEmitter.prototype.listeners = function listeners(event) {
|
1192
|
-
if (!this._events || !this._events[event]) return [];
|
1193
|
-
|
1194
|
-
for (var i = 0, l = this._events[event].length, ee = []; i < l; i++) {
|
1195
|
-
ee.push(this._events[event][i].fn);
|
1196
|
-
}
|
1197
|
-
|
1198
|
-
return ee;
|
1199
|
-
};
|
1200
|
-
|
1201
|
-
/**
|
1202
|
-
* Emit an event to all registered event listeners.
|
1203
|
-
*
|
1204
|
-
* @param {String} event The name of the event.
|
1205
|
-
* @returns {Boolean} Indication if we've emitted an event.
|
1206
|
-
* @api public
|
1207
|
-
*/
|
1208
|
-
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
1209
|
-
if (!this._events || !this._events[event]) return false;
|
1210
|
-
|
1211
|
-
var listeners = this._events[event]
|
1212
|
-
, length = listeners.length
|
1213
|
-
, len = arguments.length
|
1214
|
-
, ee = listeners[0]
|
1215
|
-
, args
|
1216
|
-
, i, j;
|
1217
|
-
|
1218
|
-
if (1 === length) {
|
1219
|
-
if (ee.once) this.removeListener(event, ee.fn, true);
|
1220
|
-
|
1221
|
-
switch (len) {
|
1222
|
-
case 1: return ee.fn.call(ee.context), true;
|
1223
|
-
case 2: return ee.fn.call(ee.context, a1), true;
|
1224
|
-
case 3: return ee.fn.call(ee.context, a1, a2), true;
|
1225
|
-
case 4: return ee.fn.call(ee.context, a1, a2, a3), true;
|
1226
|
-
case 5: return ee.fn.call(ee.context, a1, a2, a3, a4), true;
|
1227
|
-
case 6: return ee.fn.call(ee.context, a1, a2, a3, a4, a5), true;
|
1228
|
-
}
|
1229
|
-
|
1230
|
-
for (i = 1, args = new Array(len -1); i < len; i++) {
|
1231
|
-
args[i - 1] = arguments[i];
|
1232
|
-
}
|
1233
|
-
|
1234
|
-
ee.fn.apply(ee.context, args);
|
1235
|
-
} else {
|
1236
|
-
for (i = 0; i < length; i++) {
|
1237
|
-
if (listeners[i].once) this.removeListener(event, listeners[i].fn, true);
|
1238
|
-
|
1239
|
-
switch (len) {
|
1240
|
-
case 1: listeners[i].fn.call(listeners[i].context); break;
|
1241
|
-
case 2: listeners[i].fn.call(listeners[i].context, a1); break;
|
1242
|
-
case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
|
1243
|
-
default:
|
1244
|
-
if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
|
1245
|
-
args[j - 1] = arguments[j];
|
1246
|
-
}
|
1741
|
+
* // => logs each number and returns the object (property order is not guaranteed across environments)
|
1742
|
+
*/
|
1743
|
+
function forEach(collection, callback, thisArg) {
|
1744
|
+
var index = -1,
|
1745
|
+
length = collection ? collection.length : 0;
|
1247
1746
|
|
1248
|
-
|
1747
|
+
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
|
1748
|
+
if (typeof length == 'number') {
|
1749
|
+
while (++index < length) {
|
1750
|
+
if (callback(collection[index], index, collection) === false) {
|
1751
|
+
break;
|
1249
1752
|
}
|
1250
1753
|
}
|
1754
|
+
} else {
|
1755
|
+
forOwn(collection, callback);
|
1251
1756
|
}
|
1757
|
+
return collection;
|
1758
|
+
}
|
1252
1759
|
|
1253
|
-
|
1254
|
-
|
1255
|
-
|
1760
|
+
module.exports = forEach;
|
1761
|
+
|
1762
|
+
|
1763
|
+
/***/ },
|
1764
|
+
/* 23 */
|
1765
|
+
/***/ function(module, exports, __webpack_require__) {
|
1766
|
+
|
1256
1767
|
/**
|
1257
|
-
*
|
1258
|
-
*
|
1259
|
-
*
|
1260
|
-
*
|
1261
|
-
*
|
1262
|
-
*
|
1768
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1769
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1770
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1771
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1772
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1773
|
+
* Available under MIT license <http://lodash.com/license>
|
1263
1774
|
*/
|
1264
|
-
|
1265
|
-
if (!this._events) this._events = {};
|
1266
|
-
if (!this._events[event]) this._events[event] = [];
|
1267
|
-
this._events[event].push(new EE( fn, context || this ));
|
1268
|
-
|
1269
|
-
return this;
|
1270
|
-
};
|
1775
|
+
var keys = __webpack_require__(15);
|
1271
1776
|
|
1272
1777
|
/**
|
1273
|
-
*
|
1778
|
+
* Gets the size of the `collection` by returning `collection.length` for arrays
|
1779
|
+
* and array-like objects or the number of own enumerable properties for objects.
|
1274
1780
|
*
|
1275
|
-
* @
|
1276
|
-
* @
|
1277
|
-
* @
|
1278
|
-
* @
|
1781
|
+
* @static
|
1782
|
+
* @memberOf _
|
1783
|
+
* @category Collections
|
1784
|
+
* @param {Array|Object|string} collection The collection to inspect.
|
1785
|
+
* @returns {number} Returns `collection.length` or number of own enumerable properties.
|
1786
|
+
* @example
|
1787
|
+
*
|
1788
|
+
* _.size([1, 2]);
|
1789
|
+
* // => 2
|
1790
|
+
*
|
1791
|
+
* _.size({ 'one': 1, 'two': 2, 'three': 3 });
|
1792
|
+
* // => 3
|
1793
|
+
*
|
1794
|
+
* _.size('pebbles');
|
1795
|
+
* // => 7
|
1279
1796
|
*/
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
1285
|
-
return this;
|
1286
|
-
};
|
1797
|
+
function size(collection) {
|
1798
|
+
var length = collection ? collection.length : 0;
|
1799
|
+
return typeof length == 'number' ? length : keys(collection).length;
|
1800
|
+
}
|
1287
1801
|
|
1802
|
+
module.exports = size;
|
1803
|
+
|
1804
|
+
|
1805
|
+
/***/ },
|
1806
|
+
/* 24 */
|
1807
|
+
/***/ function(module, exports, __webpack_require__) {
|
1808
|
+
|
1288
1809
|
/**
|
1289
|
-
*
|
1290
|
-
*
|
1291
|
-
*
|
1292
|
-
*
|
1293
|
-
*
|
1294
|
-
*
|
1810
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
1811
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
1812
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
1813
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
1814
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1815
|
+
* Available under MIT license <http://lodash.com/license>
|
1295
1816
|
*/
|
1296
|
-
|
1297
|
-
|
1298
|
-
|
1299
|
-
var listeners = this._events[event]
|
1300
|
-
, events = [];
|
1301
|
-
|
1302
|
-
if (fn) for (var i = 0, length = listeners.length; i < length; i++) {
|
1303
|
-
if (listeners[i].fn !== fn && listeners[i].once !== once) {
|
1304
|
-
events.push(listeners[i]);
|
1305
|
-
}
|
1306
|
-
}
|
1307
|
-
|
1308
|
-
//
|
1309
|
-
// Reset the array, or remove it completely if we have no more listeners.
|
1310
|
-
//
|
1311
|
-
if (events.length) this._events[event] = events;
|
1312
|
-
else this._events[event] = null;
|
1313
|
-
|
1314
|
-
return this;
|
1315
|
-
};
|
1817
|
+
var createCallback = __webpack_require__(28),
|
1818
|
+
forOwn = __webpack_require__(14);
|
1316
1819
|
|
1317
1820
|
/**
|
1318
|
-
*
|
1821
|
+
* Reduces a collection to a value which is the accumulated result of running
|
1822
|
+
* each element in the collection through the callback, where each successive
|
1823
|
+
* callback execution consumes the return value of the previous execution. If
|
1824
|
+
* `accumulator` is not provided the first element of the collection will be
|
1825
|
+
* used as the initial `accumulator` value. The callback is bound to `thisArg`
|
1826
|
+
* and invoked with four arguments; (accumulator, value, index|key, collection).
|
1319
1827
|
*
|
1320
|
-
* @
|
1321
|
-
* @
|
1828
|
+
* @static
|
1829
|
+
* @memberOf _
|
1830
|
+
* @alias foldl, inject
|
1831
|
+
* @category Collections
|
1832
|
+
* @param {Array|Object|string} collection The collection to iterate over.
|
1833
|
+
* @param {Function} [callback=identity] The function called per iteration.
|
1834
|
+
* @param {*} [accumulator] Initial value of the accumulator.
|
1835
|
+
* @param {*} [thisArg] The `this` binding of `callback`.
|
1836
|
+
* @returns {*} Returns the accumulated value.
|
1837
|
+
* @example
|
1838
|
+
*
|
1839
|
+
* var sum = _.reduce([1, 2, 3], function(sum, num) {
|
1840
|
+
* return sum + num;
|
1841
|
+
* });
|
1842
|
+
* // => 6
|
1843
|
+
*
|
1844
|
+
* var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
|
1845
|
+
* result[key] = num * 3;
|
1846
|
+
* return result;
|
1847
|
+
* }, {});
|
1848
|
+
* // => { 'a': 3, 'b': 6, 'c': 9 }
|
1322
1849
|
*/
|
1323
|
-
|
1324
|
-
if (!
|
1325
|
-
|
1326
|
-
|
1327
|
-
else this._events = {};
|
1328
|
-
|
1329
|
-
return this;
|
1330
|
-
};
|
1331
|
-
|
1332
|
-
//
|
1333
|
-
// Alias methods names because people roll like that.
|
1334
|
-
//
|
1335
|
-
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
1336
|
-
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
|
1850
|
+
function reduce(collection, callback, accumulator, thisArg) {
|
1851
|
+
if (!collection) return accumulator;
|
1852
|
+
var noaccum = arguments.length < 3;
|
1853
|
+
callback = createCallback(callback, thisArg, 4);
|
1337
1854
|
|
1338
|
-
|
1339
|
-
|
1340
|
-
//
|
1341
|
-
EventEmitter.prototype.setMaxListeners = function setMaxListeners() {
|
1342
|
-
return this;
|
1343
|
-
};
|
1344
|
-
|
1345
|
-
//
|
1346
|
-
// Expose the module.
|
1347
|
-
//
|
1348
|
-
EventEmitter.EventEmitter = EventEmitter;
|
1349
|
-
EventEmitter.EventEmitter2 = EventEmitter;
|
1350
|
-
EventEmitter.EventEmitter3 = EventEmitter;
|
1855
|
+
var index = -1,
|
1856
|
+
length = collection.length;
|
1351
1857
|
|
1352
|
-
|
1353
|
-
|
1858
|
+
if (typeof length == 'number') {
|
1859
|
+
if (noaccum) {
|
1860
|
+
accumulator = collection[++index];
|
1861
|
+
}
|
1862
|
+
while (++index < length) {
|
1863
|
+
accumulator = callback(accumulator, collection[index], index, collection);
|
1864
|
+
}
|
1865
|
+
} else {
|
1866
|
+
forOwn(collection, function(value, index, collection) {
|
1867
|
+
accumulator = noaccum
|
1868
|
+
? (noaccum = false, value)
|
1869
|
+
: callback(accumulator, value, index, collection)
|
1870
|
+
});
|
1871
|
+
}
|
1872
|
+
return accumulator;
|
1354
1873
|
}
|
1874
|
+
|
1875
|
+
module.exports = reduce;
|
1355
1876
|
|
1356
1877
|
|
1357
1878
|
/***/ },
|
1358
|
-
/*
|
1879
|
+
/* 25 */
|
1359
1880
|
/***/ function(module, exports, __webpack_require__) {
|
1360
1881
|
|
1361
1882
|
/**
|
@@ -1366,7 +1887,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1366
1887
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1367
1888
|
* Available under MIT license <http://lodash.com/license>
|
1368
1889
|
*/
|
1369
|
-
var objectTypes = __webpack_require__(
|
1890
|
+
var objectTypes = __webpack_require__(31);
|
1370
1891
|
|
1371
1892
|
/**
|
1372
1893
|
* Checks if `value` is the language type of Object.
|
@@ -1400,7 +1921,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1400
1921
|
|
1401
1922
|
|
1402
1923
|
/***/ },
|
1403
|
-
/*
|
1924
|
+
/* 26 */
|
1404
1925
|
/***/ function(module, exports, __webpack_require__) {
|
1405
1926
|
|
1406
1927
|
/**
|
@@ -1446,7 +1967,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1446
1967
|
|
1447
1968
|
|
1448
1969
|
/***/ },
|
1449
|
-
/*
|
1970
|
+
/* 27 */
|
1450
1971
|
/***/ function(module, exports, __webpack_require__) {
|
1451
1972
|
|
1452
1973
|
/**
|
@@ -1457,7 +1978,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1457
1978
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1458
1979
|
* Available under MIT license <http://lodash.com/license>
|
1459
1980
|
*/
|
1460
|
-
var isNative = __webpack_require__(
|
1981
|
+
var isNative = __webpack_require__(32);
|
1461
1982
|
|
1462
1983
|
/** `Object#toString` result shortcuts */
|
1463
1984
|
var arrayClass = '[object Array]';
|
@@ -1493,11 +2014,98 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1493
2014
|
toString.call(value) == arrayClass || false;
|
1494
2015
|
};
|
1495
2016
|
|
1496
|
-
module.exports = isArray;
|
2017
|
+
module.exports = isArray;
|
2018
|
+
|
2019
|
+
|
2020
|
+
/***/ },
|
2021
|
+
/* 28 */
|
2022
|
+
/***/ function(module, exports, __webpack_require__) {
|
2023
|
+
|
2024
|
+
/**
|
2025
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2026
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2027
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2028
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2029
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2030
|
+
* Available under MIT license <http://lodash.com/license>
|
2031
|
+
*/
|
2032
|
+
var baseCreateCallback = __webpack_require__(30),
|
2033
|
+
baseIsEqual = __webpack_require__(42),
|
2034
|
+
isObject = __webpack_require__(25),
|
2035
|
+
keys = __webpack_require__(15),
|
2036
|
+
property = __webpack_require__(54);
|
2037
|
+
|
2038
|
+
/**
|
2039
|
+
* Produces a callback bound to an optional `thisArg`. If `func` is a property
|
2040
|
+
* name the created callback will return the property value for a given element.
|
2041
|
+
* If `func` is an object the created callback will return `true` for elements
|
2042
|
+
* that contain the equivalent object properties, otherwise it will return `false`.
|
2043
|
+
*
|
2044
|
+
* @static
|
2045
|
+
* @memberOf _
|
2046
|
+
* @category Utilities
|
2047
|
+
* @param {*} [func=identity] The value to convert to a callback.
|
2048
|
+
* @param {*} [thisArg] The `this` binding of the created callback.
|
2049
|
+
* @param {number} [argCount] The number of arguments the callback accepts.
|
2050
|
+
* @returns {Function} Returns a callback function.
|
2051
|
+
* @example
|
2052
|
+
*
|
2053
|
+
* var characters = [
|
2054
|
+
* { 'name': 'barney', 'age': 36 },
|
2055
|
+
* { 'name': 'fred', 'age': 40 }
|
2056
|
+
* ];
|
2057
|
+
*
|
2058
|
+
* // wrap to create custom callback shorthands
|
2059
|
+
* _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
|
2060
|
+
* var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
|
2061
|
+
* return !match ? func(callback, thisArg) : function(object) {
|
2062
|
+
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
|
2063
|
+
* };
|
2064
|
+
* });
|
2065
|
+
*
|
2066
|
+
* _.filter(characters, 'age__gt38');
|
2067
|
+
* // => [{ 'name': 'fred', 'age': 40 }]
|
2068
|
+
*/
|
2069
|
+
function createCallback(func, thisArg, argCount) {
|
2070
|
+
var type = typeof func;
|
2071
|
+
if (func == null || type == 'function') {
|
2072
|
+
return baseCreateCallback(func, thisArg, argCount);
|
2073
|
+
}
|
2074
|
+
// handle "_.pluck" style callback shorthands
|
2075
|
+
if (type != 'object') {
|
2076
|
+
return property(func);
|
2077
|
+
}
|
2078
|
+
var props = keys(func),
|
2079
|
+
key = props[0],
|
2080
|
+
a = func[key];
|
2081
|
+
|
2082
|
+
// handle "_.where" style callback shorthands
|
2083
|
+
if (props.length == 1 && a === a && !isObject(a)) {
|
2084
|
+
// fast path the common case of providing an object with a single
|
2085
|
+
// property containing a primitive value
|
2086
|
+
return function(object) {
|
2087
|
+
var b = object[key];
|
2088
|
+
return a === b && (a !== 0 || (1 / a == 1 / b));
|
2089
|
+
};
|
2090
|
+
}
|
2091
|
+
return function(object) {
|
2092
|
+
var length = props.length,
|
2093
|
+
result = false;
|
2094
|
+
|
2095
|
+
while (length--) {
|
2096
|
+
if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
|
2097
|
+
break;
|
2098
|
+
}
|
2099
|
+
}
|
2100
|
+
return result;
|
2101
|
+
};
|
2102
|
+
}
|
2103
|
+
|
2104
|
+
module.exports = createCallback;
|
1497
2105
|
|
1498
2106
|
|
1499
2107
|
/***/ },
|
1500
|
-
/*
|
2108
|
+
/* 29 */
|
1501
2109
|
/***/ function(module, exports, __webpack_require__) {
|
1502
2110
|
|
1503
2111
|
/**
|
@@ -1508,14 +2116,14 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1508
2116
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1509
2117
|
* Available under MIT license <http://lodash.com/license>
|
1510
2118
|
*/
|
1511
|
-
var assign = __webpack_require__(
|
1512
|
-
forEach = __webpack_require__(
|
1513
|
-
forOwn = __webpack_require__(
|
1514
|
-
getArray = __webpack_require__(
|
1515
|
-
isArray = __webpack_require__(
|
1516
|
-
isObject = __webpack_require__(
|
1517
|
-
releaseArray = __webpack_require__(
|
1518
|
-
slice = __webpack_require__(
|
2119
|
+
var assign = __webpack_require__(43),
|
2120
|
+
forEach = __webpack_require__(22),
|
2121
|
+
forOwn = __webpack_require__(14),
|
2122
|
+
getArray = __webpack_require__(37),
|
2123
|
+
isArray = __webpack_require__(27),
|
2124
|
+
isObject = __webpack_require__(25),
|
2125
|
+
releaseArray = __webpack_require__(39),
|
2126
|
+
slice = __webpack_require__(44);
|
1519
2127
|
|
1520
2128
|
/** Used to match regexp flags from their coerced string values */
|
1521
2129
|
var reFlags = /\w*$/;
|
@@ -1655,7 +2263,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1655
2263
|
|
1656
2264
|
|
1657
2265
|
/***/ },
|
1658
|
-
/*
|
2266
|
+
/* 30 */
|
1659
2267
|
/***/ function(module, exports, __webpack_require__) {
|
1660
2268
|
|
1661
2269
|
/**
|
@@ -1666,10 +2274,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1666
2274
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1667
2275
|
* Available under MIT license <http://lodash.com/license>
|
1668
2276
|
*/
|
1669
|
-
var bind = __webpack_require__(
|
1670
|
-
identity = __webpack_require__(
|
1671
|
-
setBindData = __webpack_require__(
|
1672
|
-
support = __webpack_require__(
|
2277
|
+
var bind = __webpack_require__(45),
|
2278
|
+
identity = __webpack_require__(55),
|
2279
|
+
setBindData = __webpack_require__(46),
|
2280
|
+
support = __webpack_require__(47);
|
1673
2281
|
|
1674
2282
|
/** Used to detected named functions */
|
1675
2283
|
var reFuncName = /^\s*function[ \n\r\t]+\w/;
|
@@ -1741,7 +2349,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1741
2349
|
|
1742
2350
|
|
1743
2351
|
/***/ },
|
1744
|
-
/*
|
2352
|
+
/* 31 */
|
1745
2353
|
/***/ function(module, exports, __webpack_require__) {
|
1746
2354
|
|
1747
2355
|
/**
|
@@ -1767,7 +2375,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1767
2375
|
|
1768
2376
|
|
1769
2377
|
/***/ },
|
1770
|
-
/*
|
2378
|
+
/* 32 */
|
1771
2379
|
/***/ function(module, exports, __webpack_require__) {
|
1772
2380
|
|
1773
2381
|
/**
|
@@ -1807,7 +2415,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1807
2415
|
|
1808
2416
|
|
1809
2417
|
/***/ },
|
1810
|
-
/*
|
2418
|
+
/* 33 */
|
1811
2419
|
/***/ function(module, exports, __webpack_require__) {
|
1812
2420
|
|
1813
2421
|
/**
|
@@ -1818,7 +2426,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1818
2426
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1819
2427
|
* Available under MIT license <http://lodash.com/license>
|
1820
2428
|
*/
|
1821
|
-
var objectTypes = __webpack_require__(
|
2429
|
+
var objectTypes = __webpack_require__(31);
|
1822
2430
|
|
1823
2431
|
/** Used for native method references */
|
1824
2432
|
var objectProto = Object.prototype;
|
@@ -1851,7 +2459,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1851
2459
|
|
1852
2460
|
|
1853
2461
|
/***/ },
|
1854
|
-
/*
|
2462
|
+
/* 34 */
|
1855
2463
|
/***/ function(module, exports, __webpack_require__) {
|
1856
2464
|
|
1857
2465
|
/**
|
@@ -1889,7 +2497,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1889
2497
|
|
1890
2498
|
|
1891
2499
|
/***/ },
|
1892
|
-
/*
|
2500
|
+
/* 35 */
|
1893
2501
|
/***/ function(module, exports, __webpack_require__) {
|
1894
2502
|
|
1895
2503
|
/**
|
@@ -1900,8 +2508,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1900
2508
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1901
2509
|
* Available under MIT license <http://lodash.com/license>
|
1902
2510
|
*/
|
1903
|
-
var baseIndexOf = __webpack_require__(
|
1904
|
-
keyPrefix = __webpack_require__(
|
2511
|
+
var baseIndexOf = __webpack_require__(34),
|
2512
|
+
keyPrefix = __webpack_require__(48);
|
1905
2513
|
|
1906
2514
|
/**
|
1907
2515
|
* An implementation of `_.contains` for cache objects that mimics the return
|
@@ -1934,7 +2542,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1934
2542
|
|
1935
2543
|
|
1936
2544
|
/***/ },
|
1937
|
-
/*
|
2545
|
+
/* 36 */
|
1938
2546
|
/***/ function(module, exports, __webpack_require__) {
|
1939
2547
|
|
1940
2548
|
/**
|
@@ -1945,9 +2553,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1945
2553
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1946
2554
|
* Available under MIT license <http://lodash.com/license>
|
1947
2555
|
*/
|
1948
|
-
var cachePush = __webpack_require__(
|
1949
|
-
getObject = __webpack_require__(
|
1950
|
-
releaseObject = __webpack_require__(
|
2556
|
+
var cachePush = __webpack_require__(49),
|
2557
|
+
getObject = __webpack_require__(50),
|
2558
|
+
releaseObject = __webpack_require__(40);
|
1951
2559
|
|
1952
2560
|
/**
|
1953
2561
|
* Creates a cache object to optimize linear searches of large arrays.
|
@@ -1985,7 +2593,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1985
2593
|
|
1986
2594
|
|
1987
2595
|
/***/ },
|
1988
|
-
/*
|
2596
|
+
/* 37 */
|
1989
2597
|
/***/ function(module, exports, __webpack_require__) {
|
1990
2598
|
|
1991
2599
|
/**
|
@@ -1996,7 +2604,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1996
2604
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1997
2605
|
* Available under MIT license <http://lodash.com/license>
|
1998
2606
|
*/
|
1999
|
-
var arrayPool = __webpack_require__(
|
2607
|
+
var arrayPool = __webpack_require__(51);
|
2000
2608
|
|
2001
2609
|
/**
|
2002
2610
|
* Gets an array from the array pool or creates a new one if the pool is empty.
|
@@ -2012,7 +2620,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2012
2620
|
|
2013
2621
|
|
2014
2622
|
/***/ },
|
2015
|
-
/*
|
2623
|
+
/* 38 */
|
2016
2624
|
/***/ function(module, exports, __webpack_require__) {
|
2017
2625
|
|
2018
2626
|
/**
|
@@ -2031,7 +2639,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2031
2639
|
|
2032
2640
|
|
2033
2641
|
/***/ },
|
2034
|
-
/*
|
2642
|
+
/* 39 */
|
2035
2643
|
/***/ function(module, exports, __webpack_require__) {
|
2036
2644
|
|
2037
2645
|
/**
|
@@ -2042,8 +2650,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2042
2650
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2043
2651
|
* Available under MIT license <http://lodash.com/license>
|
2044
2652
|
*/
|
2045
|
-
var arrayPool = __webpack_require__(
|
2046
|
-
maxPoolSize = __webpack_require__(
|
2653
|
+
var arrayPool = __webpack_require__(51),
|
2654
|
+
maxPoolSize = __webpack_require__(52);
|
2047
2655
|
|
2048
2656
|
/**
|
2049
2657
|
* Releases the given array back to the array pool.
|
@@ -2062,7 +2670,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2062
2670
|
|
2063
2671
|
|
2064
2672
|
/***/ },
|
2065
|
-
/*
|
2673
|
+
/* 40 */
|
2066
2674
|
/***/ function(module, exports, __webpack_require__) {
|
2067
2675
|
|
2068
2676
|
/**
|
@@ -2073,8 +2681,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2073
2681
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2074
2682
|
* Available under MIT license <http://lodash.com/license>
|
2075
2683
|
*/
|
2076
|
-
var maxPoolSize = __webpack_require__(
|
2077
|
-
objectPool = __webpack_require__(
|
2684
|
+
var maxPoolSize = __webpack_require__(52),
|
2685
|
+
objectPool = __webpack_require__(53);
|
2078
2686
|
|
2079
2687
|
/**
|
2080
2688
|
* Releases the given object back to the object pool.
|
@@ -2097,7 +2705,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2097
2705
|
|
2098
2706
|
|
2099
2707
|
/***/ },
|
2100
|
-
/*
|
2708
|
+
/* 41 */
|
2101
2709
|
/***/ function(module, exports, __webpack_require__) {
|
2102
2710
|
|
2103
2711
|
/**
|
@@ -2108,13 +2716,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2108
2716
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2109
2717
|
* Available under MIT license <http://lodash.com/license>
|
2110
2718
|
*/
|
2111
|
-
var baseIndexOf = __webpack_require__(
|
2112
|
-
cacheIndexOf = __webpack_require__(
|
2113
|
-
createCache = __webpack_require__(
|
2114
|
-
getArray = __webpack_require__(
|
2115
|
-
largeArraySize = __webpack_require__(
|
2116
|
-
releaseArray = __webpack_require__(
|
2117
|
-
releaseObject = __webpack_require__(
|
2719
|
+
var baseIndexOf = __webpack_require__(34),
|
2720
|
+
cacheIndexOf = __webpack_require__(35),
|
2721
|
+
createCache = __webpack_require__(36),
|
2722
|
+
getArray = __webpack_require__(37),
|
2723
|
+
largeArraySize = __webpack_require__(38),
|
2724
|
+
releaseArray = __webpack_require__(39),
|
2725
|
+
releaseObject = __webpack_require__(40);
|
2118
2726
|
|
2119
2727
|
/**
|
2120
2728
|
* The base implementation of `_.uniq` without support for callback shorthands
|
@@ -2167,7 +2775,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2167
2775
|
|
2168
2776
|
|
2169
2777
|
/***/ },
|
2170
|
-
/*
|
2778
|
+
/* 42 */
|
2171
2779
|
/***/ function(module, exports, __webpack_require__) {
|
2172
2780
|
|
2173
2781
|
/**
|
@@ -2178,225 +2786,211 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2178
2786
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2179
2787
|
* Available under MIT license <http://lodash.com/license>
|
2180
2788
|
*/
|
2181
|
-
var
|
2182
|
-
|
2183
|
-
|
2184
|
-
|
2185
|
-
|
2789
|
+
var forIn = __webpack_require__(56),
|
2790
|
+
getArray = __webpack_require__(37),
|
2791
|
+
isFunction = __webpack_require__(17),
|
2792
|
+
objectTypes = __webpack_require__(31),
|
2793
|
+
releaseArray = __webpack_require__(39);
|
2794
|
+
|
2795
|
+
/** `Object#toString` result shortcuts */
|
2796
|
+
var argsClass = '[object Arguments]',
|
2797
|
+
arrayClass = '[object Array]',
|
2798
|
+
boolClass = '[object Boolean]',
|
2799
|
+
dateClass = '[object Date]',
|
2800
|
+
numberClass = '[object Number]',
|
2801
|
+
objectClass = '[object Object]',
|
2802
|
+
regexpClass = '[object RegExp]',
|
2803
|
+
stringClass = '[object String]';
|
2804
|
+
|
2805
|
+
/** Used for native method references */
|
2806
|
+
var objectProto = Object.prototype;
|
2807
|
+
|
2808
|
+
/** Used to resolve the internal [[Class]] of values */
|
2809
|
+
var toString = objectProto.toString;
|
2810
|
+
|
2811
|
+
/** Native method shortcuts */
|
2812
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
2186
2813
|
|
2187
2814
|
/**
|
2188
|
-
*
|
2189
|
-
*
|
2190
|
-
* If `func` is an object the created callback will return `true` for elements
|
2191
|
-
* that contain the equivalent object properties, otherwise it will return `false`.
|
2192
|
-
*
|
2193
|
-
* @static
|
2194
|
-
* @memberOf _
|
2195
|
-
* @category Utilities
|
2196
|
-
* @param {*} [func=identity] The value to convert to a callback.
|
2197
|
-
* @param {*} [thisArg] The `this` binding of the created callback.
|
2198
|
-
* @param {number} [argCount] The number of arguments the callback accepts.
|
2199
|
-
* @returns {Function} Returns a callback function.
|
2200
|
-
* @example
|
2201
|
-
*
|
2202
|
-
* var characters = [
|
2203
|
-
* { 'name': 'barney', 'age': 36 },
|
2204
|
-
* { 'name': 'fred', 'age': 40 }
|
2205
|
-
* ];
|
2206
|
-
*
|
2207
|
-
* // wrap to create custom callback shorthands
|
2208
|
-
* _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
|
2209
|
-
* var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
|
2210
|
-
* return !match ? func(callback, thisArg) : function(object) {
|
2211
|
-
* return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
|
2212
|
-
* };
|
2213
|
-
* });
|
2815
|
+
* The base implementation of `_.isEqual`, without support for `thisArg` binding,
|
2816
|
+
* that allows partial "_.where" style comparisons.
|
2214
2817
|
*
|
2215
|
-
*
|
2216
|
-
*
|
2818
|
+
* @private
|
2819
|
+
* @param {*} a The value to compare.
|
2820
|
+
* @param {*} b The other value to compare.
|
2821
|
+
* @param {Function} [callback] The function to customize comparing values.
|
2822
|
+
* @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.
|
2823
|
+
* @param {Array} [stackA=[]] Tracks traversed `a` objects.
|
2824
|
+
* @param {Array} [stackB=[]] Tracks traversed `b` objects.
|
2825
|
+
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
2217
2826
|
*/
|
2218
|
-
function
|
2219
|
-
|
2220
|
-
if (
|
2221
|
-
|
2827
|
+
function baseIsEqual(a, b, callback, isWhere, stackA, stackB) {
|
2828
|
+
// used to indicate that when comparing objects, `a` has at least the properties of `b`
|
2829
|
+
if (callback) {
|
2830
|
+
var result = callback(a, b);
|
2831
|
+
if (typeof result != 'undefined') {
|
2832
|
+
return !!result;
|
2833
|
+
}
|
2222
2834
|
}
|
2223
|
-
//
|
2224
|
-
if (
|
2225
|
-
|
2835
|
+
// exit early for identical values
|
2836
|
+
if (a === b) {
|
2837
|
+
// treat `+0` vs. `-0` as not equal
|
2838
|
+
return a !== 0 || (1 / a == 1 / b);
|
2226
2839
|
}
|
2227
|
-
var
|
2228
|
-
|
2229
|
-
a = func[key];
|
2840
|
+
var type = typeof a,
|
2841
|
+
otherType = typeof b;
|
2230
2842
|
|
2231
|
-
//
|
2232
|
-
if (
|
2233
|
-
|
2234
|
-
|
2235
|
-
return
|
2236
|
-
var b = object[key];
|
2237
|
-
return a === b && (a !== 0 || (1 / a == 1 / b));
|
2238
|
-
};
|
2843
|
+
// exit early for unlike primitive values
|
2844
|
+
if (a === a &&
|
2845
|
+
!(a && objectTypes[type]) &&
|
2846
|
+
!(b && objectTypes[otherType])) {
|
2847
|
+
return false;
|
2239
2848
|
}
|
2240
|
-
|
2241
|
-
|
2242
|
-
|
2243
|
-
|
2244
|
-
|
2245
|
-
|
2246
|
-
|
2247
|
-
|
2248
|
-
}
|
2249
|
-
return result;
|
2250
|
-
};
|
2251
|
-
}
|
2252
|
-
|
2253
|
-
module.exports = createCallback;
|
2254
|
-
|
2255
|
-
|
2256
|
-
/***/ },
|
2257
|
-
/* 38 */
|
2258
|
-
/***/ function(module, exports, __webpack_require__) {
|
2259
|
-
|
2260
|
-
/**
|
2261
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2262
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2263
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2264
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2265
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2266
|
-
* Available under MIT license <http://lodash.com/license>
|
2267
|
-
*/
|
2268
|
-
var createWrapper = __webpack_require__(52),
|
2269
|
-
slice = __webpack_require__(42);
|
2849
|
+
// exit early for `null` and `undefined` avoiding ES3's Function#call behavior
|
2850
|
+
// http://es5.github.io/#x15.3.4.4
|
2851
|
+
if (a == null || b == null) {
|
2852
|
+
return a === b;
|
2853
|
+
}
|
2854
|
+
// compare [[Class]] names
|
2855
|
+
var className = toString.call(a),
|
2856
|
+
otherClass = toString.call(b);
|
2270
2857
|
|
2271
|
-
|
2272
|
-
|
2273
|
-
|
2274
|
-
|
2275
|
-
|
2276
|
-
|
2277
|
-
|
2278
|
-
|
2279
|
-
|
2280
|
-
|
2281
|
-
|
2282
|
-
|
2283
|
-
|
2284
|
-
|
2285
|
-
|
2286
|
-
* return greeting + ' ' + this.name;
|
2287
|
-
* };
|
2288
|
-
*
|
2289
|
-
* func = _.bind(func, { 'name': 'fred' }, 'hi');
|
2290
|
-
* func();
|
2291
|
-
* // => 'hi fred'
|
2292
|
-
*/
|
2293
|
-
function bind(func, thisArg) {
|
2294
|
-
return arguments.length > 2
|
2295
|
-
? createWrapper(func, 17, slice(arguments, 2), null, thisArg)
|
2296
|
-
: createWrapper(func, 1, null, null, thisArg);
|
2297
|
-
}
|
2858
|
+
if (className == argsClass) {
|
2859
|
+
className = objectClass;
|
2860
|
+
}
|
2861
|
+
if (otherClass == argsClass) {
|
2862
|
+
otherClass = objectClass;
|
2863
|
+
}
|
2864
|
+
if (className != otherClass) {
|
2865
|
+
return false;
|
2866
|
+
}
|
2867
|
+
switch (className) {
|
2868
|
+
case boolClass:
|
2869
|
+
case dateClass:
|
2870
|
+
// coerce dates and booleans to numbers, dates to milliseconds and booleans
|
2871
|
+
// to `1` or `0` treating invalid dates coerced to `NaN` as not equal
|
2872
|
+
return +a == +b;
|
2298
2873
|
|
2299
|
-
|
2300
|
-
|
2301
|
-
|
2302
|
-
|
2303
|
-
|
2304
|
-
|
2305
|
-
|
2306
|
-
/**
|
2307
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2308
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2309
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2310
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2311
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2312
|
-
* Available under MIT license <http://lodash.com/license>
|
2313
|
-
*/
|
2314
|
-
var isNative = __webpack_require__(27),
|
2315
|
-
noop = __webpack_require__(53);
|
2874
|
+
case numberClass:
|
2875
|
+
// treat `NaN` vs. `NaN` as equal
|
2876
|
+
return (a != +a)
|
2877
|
+
? b != +b
|
2878
|
+
// but treat `+0` vs. `-0` as not equal
|
2879
|
+
: (a == 0 ? (1 / a == 1 / b) : a == +b);
|
2316
2880
|
|
2317
|
-
|
2318
|
-
|
2319
|
-
|
2320
|
-
|
2321
|
-
|
2322
|
-
|
2323
|
-
|
2881
|
+
case regexpClass:
|
2882
|
+
case stringClass:
|
2883
|
+
// coerce regexes to strings (http://es5.github.io/#x15.10.6.4)
|
2884
|
+
// treat string primitives and their corresponding object instances as equal
|
2885
|
+
return a == String(b);
|
2886
|
+
}
|
2887
|
+
var isArr = className == arrayClass;
|
2888
|
+
if (!isArr) {
|
2889
|
+
// unwrap any `lodash` wrapped values
|
2890
|
+
var aWrapped = hasOwnProperty.call(a, '__wrapped__'),
|
2891
|
+
bWrapped = hasOwnProperty.call(b, '__wrapped__');
|
2324
2892
|
|
2325
|
-
|
2326
|
-
|
2327
|
-
|
2328
|
-
|
2329
|
-
|
2330
|
-
|
2331
|
-
|
2332
|
-
|
2333
|
-
|
2334
|
-
|
2893
|
+
if (aWrapped || bWrapped) {
|
2894
|
+
return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);
|
2895
|
+
}
|
2896
|
+
// exit for functions and DOM nodes
|
2897
|
+
if (className != objectClass) {
|
2898
|
+
return false;
|
2899
|
+
}
|
2900
|
+
// in older versions of Opera, `arguments` objects have `Array` constructors
|
2901
|
+
var ctorA = a.constructor,
|
2902
|
+
ctorB = b.constructor;
|
2335
2903
|
|
2336
|
-
|
2337
|
-
|
2338
|
-
|
2339
|
-
|
2340
|
-
|
2341
|
-
|
2342
|
-
|
2343
|
-
|
2344
|
-
|
2345
|
-
|
2346
|
-
|
2904
|
+
// non `Object` object instances with different constructors are not equal
|
2905
|
+
if (ctorA != ctorB &&
|
2906
|
+
!(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&
|
2907
|
+
('constructor' in a && 'constructor' in b)
|
2908
|
+
) {
|
2909
|
+
return false;
|
2910
|
+
}
|
2911
|
+
}
|
2912
|
+
// assume cyclic structures are equal
|
2913
|
+
// the algorithm for detecting cyclic structures is adapted from ES 5.1
|
2914
|
+
// section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)
|
2915
|
+
var initedStack = !stackA;
|
2916
|
+
stackA || (stackA = getArray());
|
2917
|
+
stackB || (stackB = getArray());
|
2347
2918
|
|
2348
|
-
|
2349
|
-
|
2350
|
-
|
2351
|
-
|
2352
|
-
|
2353
|
-
|
2354
|
-
|
2355
|
-
|
2356
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2357
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2358
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2359
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2360
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2361
|
-
* Available under MIT license <http://lodash.com/license>
|
2362
|
-
*/
|
2363
|
-
var isNative = __webpack_require__(27);
|
2919
|
+
var length = stackA.length;
|
2920
|
+
while (length--) {
|
2921
|
+
if (stackA[length] == a) {
|
2922
|
+
return stackB[length] == b;
|
2923
|
+
}
|
2924
|
+
}
|
2925
|
+
var size = 0;
|
2926
|
+
result = true;
|
2364
2927
|
|
2365
|
-
|
2366
|
-
|
2928
|
+
// add `a` and `b` to the stack of traversed objects
|
2929
|
+
stackA.push(a);
|
2930
|
+
stackB.push(b);
|
2367
2931
|
|
2368
|
-
|
2369
|
-
|
2370
|
-
|
2371
|
-
|
2372
|
-
|
2373
|
-
|
2374
|
-
*/
|
2375
|
-
var support = {};
|
2932
|
+
// recursively compare objects and arrays (susceptible to call stack limits)
|
2933
|
+
if (isArr) {
|
2934
|
+
// compare lengths to determine if a deep comparison is necessary
|
2935
|
+
length = a.length;
|
2936
|
+
size = b.length;
|
2937
|
+
result = size == length;
|
2376
2938
|
|
2377
|
-
|
2378
|
-
|
2379
|
-
|
2380
|
-
|
2381
|
-
|
2382
|
-
* @type boolean
|
2383
|
-
*/
|
2384
|
-
support.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });
|
2939
|
+
if (result || isWhere) {
|
2940
|
+
// deep compare the contents, ignoring non-numeric properties
|
2941
|
+
while (size--) {
|
2942
|
+
var index = length,
|
2943
|
+
value = b[size];
|
2385
2944
|
|
2386
|
-
|
2387
|
-
|
2388
|
-
|
2389
|
-
|
2390
|
-
|
2391
|
-
|
2392
|
-
|
2945
|
+
if (isWhere) {
|
2946
|
+
while (index--) {
|
2947
|
+
if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {
|
2948
|
+
break;
|
2949
|
+
}
|
2950
|
+
}
|
2951
|
+
} else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {
|
2952
|
+
break;
|
2953
|
+
}
|
2954
|
+
}
|
2955
|
+
}
|
2956
|
+
}
|
2957
|
+
else {
|
2958
|
+
// deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`
|
2959
|
+
// which, in this case, is more costly
|
2960
|
+
forIn(b, function(value, key, b) {
|
2961
|
+
if (hasOwnProperty.call(b, key)) {
|
2962
|
+
// count the number of properties.
|
2963
|
+
size++;
|
2964
|
+
// deep compare each property value.
|
2965
|
+
return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));
|
2966
|
+
}
|
2967
|
+
});
|
2393
2968
|
|
2394
|
-
|
2969
|
+
if (result && !isWhere) {
|
2970
|
+
// ensure both objects have the same number of properties
|
2971
|
+
forIn(a, function(value, key, a) {
|
2972
|
+
if (hasOwnProperty.call(a, key)) {
|
2973
|
+
// `size` will be `-1` if `a` has more properties than `b`
|
2974
|
+
return (result = --size > -1);
|
2975
|
+
}
|
2976
|
+
});
|
2977
|
+
}
|
2978
|
+
}
|
2979
|
+
stackA.pop();
|
2980
|
+
stackB.pop();
|
2395
2981
|
|
2396
|
-
|
2982
|
+
if (initedStack) {
|
2983
|
+
releaseArray(stackA);
|
2984
|
+
releaseArray(stackB);
|
2985
|
+
}
|
2986
|
+
return result;
|
2987
|
+
}
|
2988
|
+
|
2989
|
+
module.exports = baseIsEqual;
|
2990
|
+
|
2397
2991
|
|
2398
2992
|
/***/ },
|
2399
|
-
/*
|
2993
|
+
/* 43 */
|
2400
2994
|
/***/ function(module, exports, __webpack_require__) {
|
2401
2995
|
|
2402
2996
|
/**
|
@@ -2407,9 +3001,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2407
3001
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2408
3002
|
* Available under MIT license <http://lodash.com/license>
|
2409
3003
|
*/
|
2410
|
-
var baseCreateCallback = __webpack_require__(
|
2411
|
-
keys = __webpack_require__(
|
2412
|
-
objectTypes = __webpack_require__(
|
3004
|
+
var baseCreateCallback = __webpack_require__(30),
|
3005
|
+
keys = __webpack_require__(15),
|
3006
|
+
objectTypes = __webpack_require__(31);
|
2413
3007
|
|
2414
3008
|
/**
|
2415
3009
|
* Assigns own enumerable properties of source object(s) to the destination
|
@@ -2472,7 +3066,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2472
3066
|
|
2473
3067
|
|
2474
3068
|
/***/ },
|
2475
|
-
/*
|
3069
|
+
/* 44 */
|
2476
3070
|
/***/ function(module, exports, __webpack_require__) {
|
2477
3071
|
|
2478
3072
|
/**
|
@@ -2516,7 +3110,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2516
3110
|
|
2517
3111
|
|
2518
3112
|
/***/ },
|
2519
|
-
/*
|
3113
|
+
/* 45 */
|
2520
3114
|
/***/ function(module, exports, __webpack_require__) {
|
2521
3115
|
|
2522
3116
|
/**
|
@@ -2527,15 +3121,42 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2527
3121
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2528
3122
|
* Available under MIT license <http://lodash.com/license>
|
2529
3123
|
*/
|
3124
|
+
var createWrapper = __webpack_require__(57),
|
3125
|
+
slice = __webpack_require__(44);
|
2530
3126
|
|
2531
|
-
/**
|
2532
|
-
|
3127
|
+
/**
|
3128
|
+
* Creates a function that, when called, invokes `func` with the `this`
|
3129
|
+
* binding of `thisArg` and prepends any additional `bind` arguments to those
|
3130
|
+
* provided to the bound function.
|
3131
|
+
*
|
3132
|
+
* @static
|
3133
|
+
* @memberOf _
|
3134
|
+
* @category Functions
|
3135
|
+
* @param {Function} func The function to bind.
|
3136
|
+
* @param {*} [thisArg] The `this` binding of `func`.
|
3137
|
+
* @param {...*} [arg] Arguments to be partially applied.
|
3138
|
+
* @returns {Function} Returns the new bound function.
|
3139
|
+
* @example
|
3140
|
+
*
|
3141
|
+
* var func = function(greeting) {
|
3142
|
+
* return greeting + ' ' + this.name;
|
3143
|
+
* };
|
3144
|
+
*
|
3145
|
+
* func = _.bind(func, { 'name': 'fred' }, 'hi');
|
3146
|
+
* func();
|
3147
|
+
* // => 'hi fred'
|
3148
|
+
*/
|
3149
|
+
function bind(func, thisArg) {
|
3150
|
+
return arguments.length > 2
|
3151
|
+
? createWrapper(func, 17, slice(arguments, 2), null, thisArg)
|
3152
|
+
: createWrapper(func, 1, null, null, thisArg);
|
3153
|
+
}
|
2533
3154
|
|
2534
|
-
module.exports =
|
3155
|
+
module.exports = bind;
|
2535
3156
|
|
2536
3157
|
|
2537
3158
|
/***/ },
|
2538
|
-
/*
|
3159
|
+
/* 46 */
|
2539
3160
|
/***/ function(module, exports, __webpack_require__) {
|
2540
3161
|
|
2541
3162
|
/**
|
@@ -2546,43 +3167,48 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2546
3167
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2547
3168
|
* Available under MIT license <http://lodash.com/license>
|
2548
3169
|
*/
|
2549
|
-
var
|
3170
|
+
var isNative = __webpack_require__(32),
|
3171
|
+
noop = __webpack_require__(58);
|
3172
|
+
|
3173
|
+
/** Used as the property descriptor for `__bindData__` */
|
3174
|
+
var descriptor = {
|
3175
|
+
'configurable': false,
|
3176
|
+
'enumerable': false,
|
3177
|
+
'value': null,
|
3178
|
+
'writable': false
|
3179
|
+
};
|
3180
|
+
|
3181
|
+
/** Used to set meta data on functions */
|
3182
|
+
var defineProperty = (function() {
|
3183
|
+
// IE 8 only accepts DOM elements
|
3184
|
+
try {
|
3185
|
+
var o = {},
|
3186
|
+
func = isNative(func = Object.defineProperty) && func,
|
3187
|
+
result = func(o, o, o) && func;
|
3188
|
+
} catch(e) { }
|
3189
|
+
return result;
|
3190
|
+
}());
|
2550
3191
|
|
2551
3192
|
/**
|
2552
|
-
*
|
3193
|
+
* Sets `this` binding data on a given function.
|
2553
3194
|
*
|
2554
3195
|
* @private
|
2555
|
-
* @param {
|
3196
|
+
* @param {Function} func The function to set data on.
|
3197
|
+
* @param {Array} value The data array to set.
|
2556
3198
|
*/
|
2557
|
-
function
|
2558
|
-
|
2559
|
-
|
2560
|
-
|
2561
|
-
if (type == 'boolean' || value == null) {
|
2562
|
-
cache[value] = true;
|
2563
|
-
} else {
|
2564
|
-
if (type != 'number' && type != 'string') {
|
2565
|
-
type = 'object';
|
2566
|
-
}
|
2567
|
-
var key = type == 'number' ? value : keyPrefix + value,
|
2568
|
-
typeCache = cache[type] || (cache[type] = {});
|
2569
|
-
|
2570
|
-
if (type == 'object') {
|
2571
|
-
(typeCache[key] || (typeCache[key] = [])).push(value);
|
2572
|
-
} else {
|
2573
|
-
typeCache[key] = true;
|
2574
|
-
}
|
2575
|
-
}
|
2576
|
-
}
|
3199
|
+
var setBindData = !defineProperty ? noop : function(func, value) {
|
3200
|
+
descriptor.value = value;
|
3201
|
+
defineProperty(func, '__bindData__', descriptor);
|
3202
|
+
};
|
2577
3203
|
|
2578
|
-
module.exports =
|
3204
|
+
module.exports = setBindData;
|
2579
3205
|
|
2580
3206
|
|
2581
3207
|
/***/ },
|
2582
|
-
/*
|
3208
|
+
/* 47 */
|
2583
3209
|
/***/ function(module, exports, __webpack_require__) {
|
2584
3210
|
|
2585
|
-
/**
|
3211
|
+
/* WEBPACK VAR INJECTION */(function(global) {/**
|
2586
3212
|
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2587
3213
|
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2588
3214
|
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
@@ -2590,37 +3216,43 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2590
3216
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2591
3217
|
* Available under MIT license <http://lodash.com/license>
|
2592
3218
|
*/
|
2593
|
-
var
|
3219
|
+
var isNative = __webpack_require__(32);
|
3220
|
+
|
3221
|
+
/** Used to detect functions containing a `this` reference */
|
3222
|
+
var reThis = /\bthis\b/;
|
2594
3223
|
|
2595
3224
|
/**
|
2596
|
-
*
|
3225
|
+
* An object used to flag environments features.
|
2597
3226
|
*
|
2598
|
-
* @
|
2599
|
-
* @
|
3227
|
+
* @static
|
3228
|
+
* @memberOf _
|
3229
|
+
* @type Object
|
3230
|
+
*/
|
3231
|
+
var support = {};
|
3232
|
+
|
3233
|
+
/**
|
3234
|
+
* Detect if functions can be decompiled by `Function#toString`
|
3235
|
+
* (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).
|
3236
|
+
*
|
3237
|
+
* @memberOf _.support
|
3238
|
+
* @type boolean
|
3239
|
+
*/
|
3240
|
+
support.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });
|
3241
|
+
|
3242
|
+
/**
|
3243
|
+
* Detect if `Function#name` is supported (all but IE).
|
3244
|
+
*
|
3245
|
+
* @memberOf _.support
|
3246
|
+
* @type boolean
|
2600
3247
|
*/
|
2601
|
-
|
2602
|
-
return objectPool.pop() || {
|
2603
|
-
'array': null,
|
2604
|
-
'cache': null,
|
2605
|
-
'criteria': null,
|
2606
|
-
'false': false,
|
2607
|
-
'index': 0,
|
2608
|
-
'null': false,
|
2609
|
-
'number': null,
|
2610
|
-
'object': null,
|
2611
|
-
'push': null,
|
2612
|
-
'string': null,
|
2613
|
-
'true': false,
|
2614
|
-
'undefined': false,
|
2615
|
-
'value': null
|
2616
|
-
};
|
2617
|
-
}
|
3248
|
+
support.funcNames = typeof Function.name == 'string';
|
2618
3249
|
|
2619
|
-
module.exports =
|
2620
|
-
|
3250
|
+
module.exports = support;
|
3251
|
+
|
3252
|
+
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
|
2621
3253
|
|
2622
3254
|
/***/ },
|
2623
|
-
/*
|
3255
|
+
/* 48 */
|
2624
3256
|
/***/ function(module, exports, __webpack_require__) {
|
2625
3257
|
|
2626
3258
|
/**
|
@@ -2632,14 +3264,14 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2632
3264
|
* Available under MIT license <http://lodash.com/license>
|
2633
3265
|
*/
|
2634
3266
|
|
2635
|
-
/** Used to
|
2636
|
-
var
|
3267
|
+
/** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
|
3268
|
+
var keyPrefix = +new Date + '';
|
2637
3269
|
|
2638
|
-
module.exports =
|
3270
|
+
module.exports = keyPrefix;
|
2639
3271
|
|
2640
3272
|
|
2641
3273
|
/***/ },
|
2642
|
-
/*
|
3274
|
+
/* 49 */
|
2643
3275
|
/***/ function(module, exports, __webpack_require__) {
|
2644
3276
|
|
2645
3277
|
/**
|
@@ -2650,15 +3282,40 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2650
3282
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2651
3283
|
* Available under MIT license <http://lodash.com/license>
|
2652
3284
|
*/
|
3285
|
+
var keyPrefix = __webpack_require__(48);
|
2653
3286
|
|
2654
|
-
/**
|
2655
|
-
|
3287
|
+
/**
|
3288
|
+
* Adds a given value to the corresponding cache object.
|
3289
|
+
*
|
3290
|
+
* @private
|
3291
|
+
* @param {*} value The value to add to the cache.
|
3292
|
+
*/
|
3293
|
+
function cachePush(value) {
|
3294
|
+
var cache = this.cache,
|
3295
|
+
type = typeof value;
|
2656
3296
|
|
2657
|
-
|
3297
|
+
if (type == 'boolean' || value == null) {
|
3298
|
+
cache[value] = true;
|
3299
|
+
} else {
|
3300
|
+
if (type != 'number' && type != 'string') {
|
3301
|
+
type = 'object';
|
3302
|
+
}
|
3303
|
+
var key = type == 'number' ? value : keyPrefix + value,
|
3304
|
+
typeCache = cache[type] || (cache[type] = {});
|
3305
|
+
|
3306
|
+
if (type == 'object') {
|
3307
|
+
(typeCache[key] || (typeCache[key] = [])).push(value);
|
3308
|
+
} else {
|
3309
|
+
typeCache[key] = true;
|
3310
|
+
}
|
3311
|
+
}
|
3312
|
+
}
|
3313
|
+
|
3314
|
+
module.exports = cachePush;
|
2658
3315
|
|
2659
3316
|
|
2660
3317
|
/***/ },
|
2661
|
-
/*
|
3318
|
+
/* 50 */
|
2662
3319
|
/***/ function(module, exports, __webpack_require__) {
|
2663
3320
|
|
2664
3321
|
/**
|
@@ -2669,211 +3326,37 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2669
3326
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2670
3327
|
* Available under MIT license <http://lodash.com/license>
|
2671
3328
|
*/
|
2672
|
-
var
|
2673
|
-
getArray = __webpack_require__(32),
|
2674
|
-
isFunction = __webpack_require__(55),
|
2675
|
-
objectTypes = __webpack_require__(26),
|
2676
|
-
releaseArray = __webpack_require__(34);
|
2677
|
-
|
2678
|
-
/** `Object#toString` result shortcuts */
|
2679
|
-
var argsClass = '[object Arguments]',
|
2680
|
-
arrayClass = '[object Array]',
|
2681
|
-
boolClass = '[object Boolean]',
|
2682
|
-
dateClass = '[object Date]',
|
2683
|
-
numberClass = '[object Number]',
|
2684
|
-
objectClass = '[object Object]',
|
2685
|
-
regexpClass = '[object RegExp]',
|
2686
|
-
stringClass = '[object String]';
|
2687
|
-
|
2688
|
-
/** Used for native method references */
|
2689
|
-
var objectProto = Object.prototype;
|
2690
|
-
|
2691
|
-
/** Used to resolve the internal [[Class]] of values */
|
2692
|
-
var toString = objectProto.toString;
|
2693
|
-
|
2694
|
-
/** Native method shortcuts */
|
2695
|
-
var hasOwnProperty = objectProto.hasOwnProperty;
|
3329
|
+
var objectPool = __webpack_require__(53);
|
2696
3330
|
|
2697
3331
|
/**
|
2698
|
-
*
|
2699
|
-
* that allows partial "_.where" style comparisons.
|
3332
|
+
* Gets an object from the object pool or creates a new one if the pool is empty.
|
2700
3333
|
*
|
2701
3334
|
* @private
|
2702
|
-
* @
|
2703
|
-
|
2704
|
-
|
2705
|
-
|
2706
|
-
|
2707
|
-
|
2708
|
-
|
2709
|
-
|
2710
|
-
|
2711
|
-
|
2712
|
-
|
2713
|
-
|
2714
|
-
|
2715
|
-
|
2716
|
-
|
2717
|
-
|
2718
|
-
|
2719
|
-
|
2720
|
-
// treat `+0` vs. `-0` as not equal
|
2721
|
-
return a !== 0 || (1 / a == 1 / b);
|
2722
|
-
}
|
2723
|
-
var type = typeof a,
|
2724
|
-
otherType = typeof b;
|
2725
|
-
|
2726
|
-
// exit early for unlike primitive values
|
2727
|
-
if (a === a &&
|
2728
|
-
!(a && objectTypes[type]) &&
|
2729
|
-
!(b && objectTypes[otherType])) {
|
2730
|
-
return false;
|
2731
|
-
}
|
2732
|
-
// exit early for `null` and `undefined` avoiding ES3's Function#call behavior
|
2733
|
-
// http://es5.github.io/#x15.3.4.4
|
2734
|
-
if (a == null || b == null) {
|
2735
|
-
return a === b;
|
2736
|
-
}
|
2737
|
-
// compare [[Class]] names
|
2738
|
-
var className = toString.call(a),
|
2739
|
-
otherClass = toString.call(b);
|
2740
|
-
|
2741
|
-
if (className == argsClass) {
|
2742
|
-
className = objectClass;
|
2743
|
-
}
|
2744
|
-
if (otherClass == argsClass) {
|
2745
|
-
otherClass = objectClass;
|
2746
|
-
}
|
2747
|
-
if (className != otherClass) {
|
2748
|
-
return false;
|
2749
|
-
}
|
2750
|
-
switch (className) {
|
2751
|
-
case boolClass:
|
2752
|
-
case dateClass:
|
2753
|
-
// coerce dates and booleans to numbers, dates to milliseconds and booleans
|
2754
|
-
// to `1` or `0` treating invalid dates coerced to `NaN` as not equal
|
2755
|
-
return +a == +b;
|
2756
|
-
|
2757
|
-
case numberClass:
|
2758
|
-
// treat `NaN` vs. `NaN` as equal
|
2759
|
-
return (a != +a)
|
2760
|
-
? b != +b
|
2761
|
-
// but treat `+0` vs. `-0` as not equal
|
2762
|
-
: (a == 0 ? (1 / a == 1 / b) : a == +b);
|
2763
|
-
|
2764
|
-
case regexpClass:
|
2765
|
-
case stringClass:
|
2766
|
-
// coerce regexes to strings (http://es5.github.io/#x15.10.6.4)
|
2767
|
-
// treat string primitives and their corresponding object instances as equal
|
2768
|
-
return a == String(b);
|
2769
|
-
}
|
2770
|
-
var isArr = className == arrayClass;
|
2771
|
-
if (!isArr) {
|
2772
|
-
// unwrap any `lodash` wrapped values
|
2773
|
-
var aWrapped = hasOwnProperty.call(a, '__wrapped__'),
|
2774
|
-
bWrapped = hasOwnProperty.call(b, '__wrapped__');
|
2775
|
-
|
2776
|
-
if (aWrapped || bWrapped) {
|
2777
|
-
return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);
|
2778
|
-
}
|
2779
|
-
// exit for functions and DOM nodes
|
2780
|
-
if (className != objectClass) {
|
2781
|
-
return false;
|
2782
|
-
}
|
2783
|
-
// in older versions of Opera, `arguments` objects have `Array` constructors
|
2784
|
-
var ctorA = a.constructor,
|
2785
|
-
ctorB = b.constructor;
|
2786
|
-
|
2787
|
-
// non `Object` object instances with different constructors are not equal
|
2788
|
-
if (ctorA != ctorB &&
|
2789
|
-
!(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&
|
2790
|
-
('constructor' in a && 'constructor' in b)
|
2791
|
-
) {
|
2792
|
-
return false;
|
2793
|
-
}
|
2794
|
-
}
|
2795
|
-
// assume cyclic structures are equal
|
2796
|
-
// the algorithm for detecting cyclic structures is adapted from ES 5.1
|
2797
|
-
// section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)
|
2798
|
-
var initedStack = !stackA;
|
2799
|
-
stackA || (stackA = getArray());
|
2800
|
-
stackB || (stackB = getArray());
|
2801
|
-
|
2802
|
-
var length = stackA.length;
|
2803
|
-
while (length--) {
|
2804
|
-
if (stackA[length] == a) {
|
2805
|
-
return stackB[length] == b;
|
2806
|
-
}
|
2807
|
-
}
|
2808
|
-
var size = 0;
|
2809
|
-
result = true;
|
2810
|
-
|
2811
|
-
// add `a` and `b` to the stack of traversed objects
|
2812
|
-
stackA.push(a);
|
2813
|
-
stackB.push(b);
|
2814
|
-
|
2815
|
-
// recursively compare objects and arrays (susceptible to call stack limits)
|
2816
|
-
if (isArr) {
|
2817
|
-
// compare lengths to determine if a deep comparison is necessary
|
2818
|
-
length = a.length;
|
2819
|
-
size = b.length;
|
2820
|
-
result = size == length;
|
2821
|
-
|
2822
|
-
if (result || isWhere) {
|
2823
|
-
// deep compare the contents, ignoring non-numeric properties
|
2824
|
-
while (size--) {
|
2825
|
-
var index = length,
|
2826
|
-
value = b[size];
|
2827
|
-
|
2828
|
-
if (isWhere) {
|
2829
|
-
while (index--) {
|
2830
|
-
if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {
|
2831
|
-
break;
|
2832
|
-
}
|
2833
|
-
}
|
2834
|
-
} else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {
|
2835
|
-
break;
|
2836
|
-
}
|
2837
|
-
}
|
2838
|
-
}
|
2839
|
-
}
|
2840
|
-
else {
|
2841
|
-
// deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`
|
2842
|
-
// which, in this case, is more costly
|
2843
|
-
forIn(b, function(value, key, b) {
|
2844
|
-
if (hasOwnProperty.call(b, key)) {
|
2845
|
-
// count the number of properties.
|
2846
|
-
size++;
|
2847
|
-
// deep compare each property value.
|
2848
|
-
return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));
|
2849
|
-
}
|
2850
|
-
});
|
2851
|
-
|
2852
|
-
if (result && !isWhere) {
|
2853
|
-
// ensure both objects have the same number of properties
|
2854
|
-
forIn(a, function(value, key, a) {
|
2855
|
-
if (hasOwnProperty.call(a, key)) {
|
2856
|
-
// `size` will be `-1` if `a` has more properties than `b`
|
2857
|
-
return (result = --size > -1);
|
2858
|
-
}
|
2859
|
-
});
|
2860
|
-
}
|
2861
|
-
}
|
2862
|
-
stackA.pop();
|
2863
|
-
stackB.pop();
|
2864
|
-
|
2865
|
-
if (initedStack) {
|
2866
|
-
releaseArray(stackA);
|
2867
|
-
releaseArray(stackB);
|
2868
|
-
}
|
2869
|
-
return result;
|
3335
|
+
* @returns {Object} The object from the pool.
|
3336
|
+
*/
|
3337
|
+
function getObject() {
|
3338
|
+
return objectPool.pop() || {
|
3339
|
+
'array': null,
|
3340
|
+
'cache': null,
|
3341
|
+
'criteria': null,
|
3342
|
+
'false': false,
|
3343
|
+
'index': 0,
|
3344
|
+
'null': false,
|
3345
|
+
'number': null,
|
3346
|
+
'object': null,
|
3347
|
+
'push': null,
|
3348
|
+
'string': null,
|
3349
|
+
'true': false,
|
3350
|
+
'undefined': false,
|
3351
|
+
'value': null
|
3352
|
+
};
|
2870
3353
|
}
|
2871
3354
|
|
2872
|
-
module.exports =
|
3355
|
+
module.exports = getObject;
|
2873
3356
|
|
2874
3357
|
|
2875
3358
|
/***/ },
|
2876
|
-
/*
|
3359
|
+
/* 51 */
|
2877
3360
|
/***/ function(module, exports, __webpack_require__) {
|
2878
3361
|
|
2879
3362
|
/**
|
@@ -2886,13 +3369,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2886
3369
|
*/
|
2887
3370
|
|
2888
3371
|
/** Used to pool arrays and objects used internally */
|
2889
|
-
var
|
3372
|
+
var arrayPool = [];
|
2890
3373
|
|
2891
|
-
module.exports =
|
3374
|
+
module.exports = arrayPool;
|
2892
3375
|
|
2893
3376
|
|
2894
3377
|
/***/ },
|
2895
|
-
/*
|
3378
|
+
/* 52 */
|
2896
3379
|
/***/ function(module, exports, __webpack_require__) {
|
2897
3380
|
|
2898
3381
|
/**
|
@@ -2904,29 +3387,33 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2904
3387
|
* Available under MIT license <http://lodash.com/license>
|
2905
3388
|
*/
|
2906
3389
|
|
3390
|
+
/** Used as the max size of the `arrayPool` and `objectPool` */
|
3391
|
+
var maxPoolSize = 40;
|
3392
|
+
|
3393
|
+
module.exports = maxPoolSize;
|
3394
|
+
|
3395
|
+
|
3396
|
+
/***/ },
|
3397
|
+
/* 53 */
|
3398
|
+
/***/ function(module, exports, __webpack_require__) {
|
3399
|
+
|
2907
3400
|
/**
|
2908
|
-
*
|
2909
|
-
*
|
2910
|
-
*
|
2911
|
-
*
|
2912
|
-
*
|
2913
|
-
*
|
2914
|
-
* @returns {*} Returns `value`.
|
2915
|
-
* @example
|
2916
|
-
*
|
2917
|
-
* var object = { 'name': 'fred' };
|
2918
|
-
* _.identity(object) === object;
|
2919
|
-
* // => true
|
3401
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
3402
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
3403
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
3404
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
3405
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3406
|
+
* Available under MIT license <http://lodash.com/license>
|
2920
3407
|
*/
|
2921
|
-
function identity(value) {
|
2922
|
-
return value;
|
2923
|
-
}
|
2924
3408
|
|
2925
|
-
|
3409
|
+
/** Used to pool arrays and objects used internally */
|
3410
|
+
var objectPool = [];
|
3411
|
+
|
3412
|
+
module.exports = objectPool;
|
2926
3413
|
|
2927
3414
|
|
2928
3415
|
/***/ },
|
2929
|
-
/*
|
3416
|
+
/* 54 */
|
2930
3417
|
/***/ function(module, exports, __webpack_require__) {
|
2931
3418
|
|
2932
3419
|
/**
|
@@ -2972,7 +3459,101 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2972
3459
|
|
2973
3460
|
|
2974
3461
|
/***/ },
|
2975
|
-
/*
|
3462
|
+
/* 55 */
|
3463
|
+
/***/ function(module, exports, __webpack_require__) {
|
3464
|
+
|
3465
|
+
/**
|
3466
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
3467
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
3468
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
3469
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
3470
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3471
|
+
* Available under MIT license <http://lodash.com/license>
|
3472
|
+
*/
|
3473
|
+
|
3474
|
+
/**
|
3475
|
+
* This method returns the first argument provided to it.
|
3476
|
+
*
|
3477
|
+
* @static
|
3478
|
+
* @memberOf _
|
3479
|
+
* @category Utilities
|
3480
|
+
* @param {*} value Any value.
|
3481
|
+
* @returns {*} Returns `value`.
|
3482
|
+
* @example
|
3483
|
+
*
|
3484
|
+
* var object = { 'name': 'fred' };
|
3485
|
+
* _.identity(object) === object;
|
3486
|
+
* // => true
|
3487
|
+
*/
|
3488
|
+
function identity(value) {
|
3489
|
+
return value;
|
3490
|
+
}
|
3491
|
+
|
3492
|
+
module.exports = identity;
|
3493
|
+
|
3494
|
+
|
3495
|
+
/***/ },
|
3496
|
+
/* 56 */
|
3497
|
+
/***/ function(module, exports, __webpack_require__) {
|
3498
|
+
|
3499
|
+
/**
|
3500
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
3501
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
3502
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
3503
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
3504
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3505
|
+
* Available under MIT license <http://lodash.com/license>
|
3506
|
+
*/
|
3507
|
+
var baseCreateCallback = __webpack_require__(30),
|
3508
|
+
objectTypes = __webpack_require__(31);
|
3509
|
+
|
3510
|
+
/**
|
3511
|
+
* Iterates over own and inherited enumerable properties of an object,
|
3512
|
+
* executing the callback for each property. The callback is bound to `thisArg`
|
3513
|
+
* and invoked with three arguments; (value, key, object). Callbacks may exit
|
3514
|
+
* iteration early by explicitly returning `false`.
|
3515
|
+
*
|
3516
|
+
* @static
|
3517
|
+
* @memberOf _
|
3518
|
+
* @type Function
|
3519
|
+
* @category Objects
|
3520
|
+
* @param {Object} object The object to iterate over.
|
3521
|
+
* @param {Function} [callback=identity] The function called per iteration.
|
3522
|
+
* @param {*} [thisArg] The `this` binding of `callback`.
|
3523
|
+
* @returns {Object} Returns `object`.
|
3524
|
+
* @example
|
3525
|
+
*
|
3526
|
+
* function Shape() {
|
3527
|
+
* this.x = 0;
|
3528
|
+
* this.y = 0;
|
3529
|
+
* }
|
3530
|
+
*
|
3531
|
+
* Shape.prototype.move = function(x, y) {
|
3532
|
+
* this.x += x;
|
3533
|
+
* this.y += y;
|
3534
|
+
* };
|
3535
|
+
*
|
3536
|
+
* _.forIn(new Shape, function(value, key) {
|
3537
|
+
* console.log(key);
|
3538
|
+
* });
|
3539
|
+
* // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
|
3540
|
+
*/
|
3541
|
+
var forIn = function(collection, callback, thisArg) {
|
3542
|
+
var index, iterable = collection, result = iterable;
|
3543
|
+
if (!iterable) return result;
|
3544
|
+
if (!objectTypes[typeof iterable]) return result;
|
3545
|
+
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
|
3546
|
+
for (index in iterable) {
|
3547
|
+
if (callback(iterable[index], index, collection) === false) return result;
|
3548
|
+
}
|
3549
|
+
return result
|
3550
|
+
};
|
3551
|
+
|
3552
|
+
module.exports = forIn;
|
3553
|
+
|
3554
|
+
|
3555
|
+
/***/ },
|
3556
|
+
/* 57 */
|
2976
3557
|
/***/ function(module, exports, __webpack_require__) {
|
2977
3558
|
|
2978
3559
|
/**
|
@@ -2983,10 +3564,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2983
3564
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2984
3565
|
* Available under MIT license <http://lodash.com/license>
|
2985
3566
|
*/
|
2986
|
-
var baseBind = __webpack_require__(
|
2987
|
-
baseCreateWrapper = __webpack_require__(
|
2988
|
-
isFunction = __webpack_require__(
|
2989
|
-
slice = __webpack_require__(
|
3567
|
+
var baseBind = __webpack_require__(59),
|
3568
|
+
baseCreateWrapper = __webpack_require__(60),
|
3569
|
+
isFunction = __webpack_require__(17),
|
3570
|
+
slice = __webpack_require__(44);
|
2990
3571
|
|
2991
3572
|
/**
|
2992
3573
|
* Used for `Array` method references.
|
@@ -3084,7 +3665,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3084
3665
|
|
3085
3666
|
|
3086
3667
|
/***/ },
|
3087
|
-
/*
|
3668
|
+
/* 58 */
|
3088
3669
|
/***/ function(module, exports, __webpack_require__) {
|
3089
3670
|
|
3090
3671
|
/**
|
@@ -3116,100 +3697,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3116
3697
|
|
3117
3698
|
|
3118
3699
|
/***/ },
|
3119
|
-
/*
|
3120
|
-
/***/ function(module, exports, __webpack_require__) {
|
3121
|
-
|
3122
|
-
/**
|
3123
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
3124
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
3125
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
3126
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
3127
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3128
|
-
* Available under MIT license <http://lodash.com/license>
|
3129
|
-
*/
|
3130
|
-
var baseCreateCallback = __webpack_require__(25),
|
3131
|
-
objectTypes = __webpack_require__(26);
|
3132
|
-
|
3133
|
-
/**
|
3134
|
-
* Iterates over own and inherited enumerable properties of an object,
|
3135
|
-
* executing the callback for each property. The callback is bound to `thisArg`
|
3136
|
-
* and invoked with three arguments; (value, key, object). Callbacks may exit
|
3137
|
-
* iteration early by explicitly returning `false`.
|
3138
|
-
*
|
3139
|
-
* @static
|
3140
|
-
* @memberOf _
|
3141
|
-
* @type Function
|
3142
|
-
* @category Objects
|
3143
|
-
* @param {Object} object The object to iterate over.
|
3144
|
-
* @param {Function} [callback=identity] The function called per iteration.
|
3145
|
-
* @param {*} [thisArg] The `this` binding of `callback`.
|
3146
|
-
* @returns {Object} Returns `object`.
|
3147
|
-
* @example
|
3148
|
-
*
|
3149
|
-
* function Shape() {
|
3150
|
-
* this.x = 0;
|
3151
|
-
* this.y = 0;
|
3152
|
-
* }
|
3153
|
-
*
|
3154
|
-
* Shape.prototype.move = function(x, y) {
|
3155
|
-
* this.x += x;
|
3156
|
-
* this.y += y;
|
3157
|
-
* };
|
3158
|
-
*
|
3159
|
-
* _.forIn(new Shape, function(value, key) {
|
3160
|
-
* console.log(key);
|
3161
|
-
* });
|
3162
|
-
* // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
|
3163
|
-
*/
|
3164
|
-
var forIn = function(collection, callback, thisArg) {
|
3165
|
-
var index, iterable = collection, result = iterable;
|
3166
|
-
if (!iterable) return result;
|
3167
|
-
if (!objectTypes[typeof iterable]) return result;
|
3168
|
-
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
|
3169
|
-
for (index in iterable) {
|
3170
|
-
if (callback(iterable[index], index, collection) === false) return result;
|
3171
|
-
}
|
3172
|
-
return result
|
3173
|
-
};
|
3174
|
-
|
3175
|
-
module.exports = forIn;
|
3176
|
-
|
3177
|
-
|
3178
|
-
/***/ },
|
3179
|
-
/* 55 */
|
3180
|
-
/***/ function(module, exports, __webpack_require__) {
|
3181
|
-
|
3182
|
-
/**
|
3183
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
3184
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
3185
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
3186
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
3187
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3188
|
-
* Available under MIT license <http://lodash.com/license>
|
3189
|
-
*/
|
3190
|
-
|
3191
|
-
/**
|
3192
|
-
* Checks if `value` is a function.
|
3193
|
-
*
|
3194
|
-
* @static
|
3195
|
-
* @memberOf _
|
3196
|
-
* @category Objects
|
3197
|
-
* @param {*} value The value to check.
|
3198
|
-
* @returns {boolean} Returns `true` if the `value` is a function, else `false`.
|
3199
|
-
* @example
|
3200
|
-
*
|
3201
|
-
* _.isFunction(_);
|
3202
|
-
* // => true
|
3203
|
-
*/
|
3204
|
-
function isFunction(value) {
|
3205
|
-
return typeof value == 'function';
|
3206
|
-
}
|
3207
|
-
|
3208
|
-
module.exports = isFunction;
|
3209
|
-
|
3210
|
-
|
3211
|
-
/***/ },
|
3212
|
-
/* 56 */
|
3700
|
+
/* 59 */
|
3213
3701
|
/***/ function(module, exports, __webpack_require__) {
|
3214
3702
|
|
3215
3703
|
/**
|
@@ -3220,10 +3708,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3220
3708
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3221
3709
|
* Available under MIT license <http://lodash.com/license>
|
3222
3710
|
*/
|
3223
|
-
var baseCreate = __webpack_require__(
|
3224
|
-
isObject = __webpack_require__(
|
3225
|
-
setBindData = __webpack_require__(
|
3226
|
-
slice = __webpack_require__(
|
3711
|
+
var baseCreate = __webpack_require__(61),
|
3712
|
+
isObject = __webpack_require__(25),
|
3713
|
+
setBindData = __webpack_require__(46),
|
3714
|
+
slice = __webpack_require__(44);
|
3227
3715
|
|
3228
3716
|
/**
|
3229
3717
|
* Used for `Array` method references.
|
@@ -3277,7 +3765,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3277
3765
|
|
3278
3766
|
|
3279
3767
|
/***/ },
|
3280
|
-
/*
|
3768
|
+
/* 60 */
|
3281
3769
|
/***/ function(module, exports, __webpack_require__) {
|
3282
3770
|
|
3283
3771
|
/**
|
@@ -3288,10 +3776,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3288
3776
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3289
3777
|
* Available under MIT license <http://lodash.com/license>
|
3290
3778
|
*/
|
3291
|
-
var baseCreate = __webpack_require__(
|
3292
|
-
isObject = __webpack_require__(
|
3293
|
-
setBindData = __webpack_require__(
|
3294
|
-
slice = __webpack_require__(
|
3779
|
+
var baseCreate = __webpack_require__(61),
|
3780
|
+
isObject = __webpack_require__(25),
|
3781
|
+
setBindData = __webpack_require__(46),
|
3782
|
+
slice = __webpack_require__(44);
|
3295
3783
|
|
3296
3784
|
/**
|
3297
3785
|
* Used for `Array` method references.
|
@@ -3361,7 +3849,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3361
3849
|
|
3362
3850
|
|
3363
3851
|
/***/ },
|
3364
|
-
/*
|
3852
|
+
/* 61 */
|
3365
3853
|
/***/ function(module, exports, __webpack_require__) {
|
3366
3854
|
|
3367
3855
|
/* WEBPACK VAR INJECTION */(function(global) {/**
|
@@ -3372,9 +3860,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3372
3860
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
3373
3861
|
* Available under MIT license <http://lodash.com/license>
|
3374
3862
|
*/
|
3375
|
-
var isNative = __webpack_require__(
|
3376
|
-
isObject = __webpack_require__(
|
3377
|
-
noop = __webpack_require__(
|
3863
|
+
var isNative = __webpack_require__(32),
|
3864
|
+
isObject = __webpack_require__(25),
|
3865
|
+
noop = __webpack_require__(58);
|
3378
3866
|
|
3379
3867
|
/* Native method shortcuts for methods with the same name as other `lodash` methods */
|
3380
3868
|
var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;
|