fluxxor-rails 1.2.2 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: baf5eb8c9f710990ac7903f03d77c565571dcaeb
4
- data.tar.gz: 271fe620782c8998ca88b1be9b588aba33a42821
3
+ metadata.gz: 5059b3d76e577983cb58517d50d6f87bdad4ca8b
4
+ data.tar.gz: 45205d4129a5e272e918f45f2a626462d1ee874d
5
5
  SHA512:
6
- metadata.gz: 36c44e21b014cfb2ae6996e9d91feaf56e661d476e50a3a9237efaa300334e3acd55e7e8c5c14e1d47bdb1dd27b0e94f2b431a79e788829c46474213048bea35
7
- data.tar.gz: 66dc64b3856659cdf020167e15cf26db0e9ce4f7923f17e3149dcfa2ce6da4404439bd12e3948d856e03a49fe14d71d18d16c74ee1a95e29590b5582ed92ac8b
6
+ metadata.gz: 95f404dc001779c786b389cad1978894e9cb994fed661341b91f043778ce1a904c5e2d158f321e330d83cbb98f2a129d8aa09cde677a5b5651309a30af45ad0c
7
+ data.tar.gz: fc1223394c6db295341ea7122ce6d4d1726eaad8ff946deaa2a41fcb26c3e26f05fc1c550d382d1196ac6d1e60daacedf7f9fd1675f0ec250d2a9814a8a4c04d
@@ -1,5 +1,5 @@
1
1
  module Fluxxor
2
2
  module Rails
3
- VERSION = '1.2.2'
3
+ VERSION = '1.3.0'
4
4
  end
5
5
  end
@@ -61,3 +61,8 @@ Compiled fluxxor.js (2ms) (pid 14915)
61
61
  Served asset /fluxxor.js - 200 OK (11ms)
62
62
  Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:49:22 -0500
63
63
  Served asset /fluxxor.js - 200 OK (0ms)
64
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:49:50 -0500
65
+ Compiled fluxxor.js (1ms) (pid 15463)
66
+ Served asset /fluxxor.js - 200 OK (8ms)
67
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:49:50 -0500
68
+ Served asset /fluxxor.js - 200 OK (0ms)
@@ -79,22 +79,22 @@ return /******/ (function(modules) { // webpackBootstrap
79
79
  /* 1 */
80
80
  /***/ function(module, exports, __webpack_require__) {
81
81
 
82
- module.exports = {"name":"fluxxor","version":"1.2.2","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley <brandon@brandontilley.com>","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.10.0","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}}
82
+ module.exports = {"name":"fluxxor","version":"1.3.0","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley <brandon@brandontilley.com>","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.10.0","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}}
83
83
 
84
84
  /***/ },
85
85
  /* 2 */
86
86
  /***/ function(module, exports, __webpack_require__) {
87
87
 
88
- var _clone = __webpack_require__(11),
89
- _mapValues = __webpack_require__(12),
90
- _forOwn = __webpack_require__(13),
91
- _intersection = __webpack_require__(16),
92
- _keys = __webpack_require__(14),
93
- _map = __webpack_require__(18),
94
- _each = __webpack_require__(19),
95
- _size = __webpack_require__(20),
96
- _findKey = __webpack_require__(15),
97
- _uniq = __webpack_require__(17);
88
+ var _clone = __webpack_require__(10),
89
+ _mapValues = __webpack_require__(11),
90
+ _forOwn = __webpack_require__(12),
91
+ _intersection = __webpack_require__(15),
92
+ _keys = __webpack_require__(13),
93
+ _map = __webpack_require__(17),
94
+ _each = __webpack_require__(18),
95
+ _size = __webpack_require__(19),
96
+ _findKey = __webpack_require__(14),
97
+ _uniq = __webpack_require__(16);
98
98
 
99
99
  var Dispatcher = function(stores) {
100
100
  this.stores = stores;
@@ -218,6 +218,19 @@ return /******/ (function(modules) { // webpackBootstrap
218
218
 
219
219
  var Dispatcher = __webpack_require__(2);
220
220
 
221
+ function bindActions(target, actions, dispatchBinder) {
222
+ for (var key in actions) {
223
+ if (actions.hasOwnProperty(key)) {
224
+ if (typeof actions[key] === "function") {
225
+ target[key] = actions[key].bind(dispatchBinder);
226
+ } else if (typeof actions[key] === "object") {
227
+ target[key] = {};
228
+ bindActions(target[key], actions[key], dispatchBinder);
229
+ }
230
+ }
231
+ }
232
+ }
233
+
221
234
  var Flux = function(stores, actions) {
222
235
  var dispatcher = new Dispatcher(stores),
223
236
  dispatchBinder = {
@@ -230,13 +243,9 @@ return /******/ (function(modules) { // webpackBootstrap
230
243
  this.actions = {};
231
244
  this.stores = stores;
232
245
 
233
- for (var key in actions) {
234
- if (actions.hasOwnProperty(key)) {
235
- this.actions[key] = actions[key].bind(dispatchBinder);
236
- }
237
- }
246
+ bindActions(this.actions, actions, dispatchBinder);
238
247
 
239
- for (key in stores) {
248
+ for (var key in stores) {
240
249
  if (stores.hasOwnProperty(key)) {
241
250
  stores[key].flux = this;
242
251
  }
@@ -312,7 +321,7 @@ return /******/ (function(modules) { // webpackBootstrap
312
321
  /* 6 */
313
322
  /***/ function(module, exports, __webpack_require__) {
314
323
 
315
- var _each = __webpack_require__(19);
324
+ var _each = __webpack_require__(18);
316
325
 
317
326
  var StoreWatchMixin = function() {
318
327
  var storeNames = Array.prototype.slice.call(arguments);
@@ -354,7 +363,7 @@ return /******/ (function(modules) { // webpackBootstrap
354
363
  /* 7 */
355
364
  /***/ function(module, exports, __webpack_require__) {
356
365
 
357
- var _each = __webpack_require__(19),
366
+ var _each = __webpack_require__(18),
358
367
  Store = __webpack_require__(8),
359
368
  util = __webpack_require__(9);
360
369
 
@@ -399,7 +408,7 @@ return /******/ (function(modules) { // webpackBootstrap
399
408
  /* 8 */
400
409
  /***/ function(module, exports, __webpack_require__) {
401
410
 
402
- var EventEmitter = __webpack_require__(10).EventEmitter,
411
+ var EventEmitter = __webpack_require__(20).EventEmitter,
403
412
  util = __webpack_require__(9);
404
413
 
405
414
  function Store(dispatcher) {
@@ -1033,319 +1042,241 @@ return /******/ (function(modules) { // webpackBootstrap
1033
1042
  return Object.prototype.hasOwnProperty.call(obj, prop);
1034
1043
  }
1035
1044
 
1036
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(38)))
1045
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(25)))
1037
1046
 
1038
1047
  /***/ },
1039
1048
  /* 10 */
1040
1049
  /***/ function(module, exports, __webpack_require__) {
1041
1050
 
1042
- // Copyright Joyent, Inc. and other Node contributors.
1043
- //
1044
- // Permission is hereby granted, free of charge, to any person obtaining a
1045
- // copy of this software and associated documentation files (the
1046
- // "Software"), to deal in the Software without restriction, including
1047
- // without limitation the rights to use, copy, modify, merge, publish,
1048
- // distribute, sublicense, and/or sell copies of the Software, and to permit
1049
- // persons to whom the Software is furnished to do so, subject to the
1050
- // following conditions:
1051
- //
1052
- // The above copyright notice and this permission notice shall be included
1053
- // in all copies or substantial portions of the Software.
1054
- //
1055
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1056
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1057
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1058
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1059
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1060
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1061
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
1051
+ /**
1052
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1053
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1054
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1055
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1056
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1057
+ * Available under MIT license <http://lodash.com/license>
1058
+ */
1059
+ var baseClone = __webpack_require__(26),
1060
+ baseCreateCallback = __webpack_require__(27);
1062
1061
 
1063
- function EventEmitter() {
1064
- this._events = this._events || {};
1065
- this._maxListeners = this._maxListeners || undefined;
1062
+ /**
1063
+ * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
1064
+ * be cloned, otherwise they will be assigned by reference. If a callback
1065
+ * is provided it will be executed to produce the cloned values. If the
1066
+ * callback returns `undefined` cloning will be handled by the method instead.
1067
+ * The callback is bound to `thisArg` and invoked with one argument; (value).
1068
+ *
1069
+ * @static
1070
+ * @memberOf _
1071
+ * @category Objects
1072
+ * @param {*} value The value to clone.
1073
+ * @param {boolean} [isDeep=false] Specify a deep clone.
1074
+ * @param {Function} [callback] The function to customize cloning values.
1075
+ * @param {*} [thisArg] The `this` binding of `callback`.
1076
+ * @returns {*} Returns the cloned value.
1077
+ * @example
1078
+ *
1079
+ * var characters = [
1080
+ * { 'name': 'barney', 'age': 36 },
1081
+ * { 'name': 'fred', 'age': 40 }
1082
+ * ];
1083
+ *
1084
+ * var shallow = _.clone(characters);
1085
+ * shallow[0] === characters[0];
1086
+ * // => true
1087
+ *
1088
+ * var deep = _.clone(characters, true);
1089
+ * deep[0] === characters[0];
1090
+ * // => false
1091
+ *
1092
+ * _.mixin({
1093
+ * 'clone': _.partialRight(_.clone, function(value) {
1094
+ * return _.isElement(value) ? value.cloneNode(false) : undefined;
1095
+ * })
1096
+ * });
1097
+ *
1098
+ * var clone = _.clone(document.body);
1099
+ * clone.childNodes.length;
1100
+ * // => 0
1101
+ */
1102
+ function clone(value, isDeep, callback, thisArg) {
1103
+ // allows working with "Collections" methods without using their `index`
1104
+ // and `collection` arguments for `isDeep` and `callback`
1105
+ if (typeof isDeep != 'boolean' && isDeep != null) {
1106
+ thisArg = callback;
1107
+ callback = isDeep;
1108
+ isDeep = false;
1109
+ }
1110
+ return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
1066
1111
  }
1067
- module.exports = EventEmitter;
1068
-
1069
- // Backwards-compat with node 0.10.x
1070
- EventEmitter.EventEmitter = EventEmitter;
1071
1112
 
1072
- EventEmitter.prototype._events = undefined;
1073
- EventEmitter.prototype._maxListeners = undefined;
1113
+ module.exports = clone;
1114
+
1115
+
1116
+ /***/ },
1117
+ /* 11 */
1118
+ /***/ function(module, exports, __webpack_require__) {
1119
+
1120
+ /**
1121
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1122
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1123
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1124
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1125
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1126
+ * Available under MIT license <http://lodash.com/license>
1127
+ */
1128
+ var createCallback = __webpack_require__(39),
1129
+ forOwn = __webpack_require__(12);
1074
1130
 
1075
- // By default EventEmitters will print a warning if more than 10 listeners are
1076
- // added to it. This is a useful default which helps finding memory leaks.
1077
- EventEmitter.defaultMaxListeners = 10;
1131
+ /**
1132
+ * Creates an object with the same keys as `object` and values generated by
1133
+ * running each own enumerable property of `object` through the callback.
1134
+ * The callback is bound to `thisArg` and invoked with three arguments;
1135
+ * (value, key, object).
1136
+ *
1137
+ * If a property name is provided for `callback` the created "_.pluck" style
1138
+ * callback will return the property value of the given element.
1139
+ *
1140
+ * If an object is provided for `callback` the created "_.where" style callback
1141
+ * will return `true` for elements that have the properties of the given object,
1142
+ * else `false`.
1143
+ *
1144
+ * @static
1145
+ * @memberOf _
1146
+ * @category Objects
1147
+ * @param {Object} object The object to iterate over.
1148
+ * @param {Function|Object|string} [callback=identity] The function called
1149
+ * per iteration. If a property name or object is provided it will be used
1150
+ * to create a "_.pluck" or "_.where" style callback, respectively.
1151
+ * @param {*} [thisArg] The `this` binding of `callback`.
1152
+ * @returns {Array} Returns a new object with values of the results of each `callback` execution.
1153
+ * @example
1154
+ *
1155
+ * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
1156
+ * // => { 'a': 3, 'b': 6, 'c': 9 }
1157
+ *
1158
+ * var characters = {
1159
+ * 'fred': { 'name': 'fred', 'age': 40 },
1160
+ * 'pebbles': { 'name': 'pebbles', 'age': 1 }
1161
+ * };
1162
+ *
1163
+ * // using "_.pluck" callback shorthand
1164
+ * _.mapValues(characters, 'age');
1165
+ * // => { 'fred': 40, 'pebbles': 1 }
1166
+ */
1167
+ function mapValues(object, callback, thisArg) {
1168
+ var result = {};
1169
+ callback = createCallback(callback, thisArg, 3);
1078
1170
 
1079
- // Obviously not all Emitters should be limited to 10. This function allows
1080
- // that to be increased. Set to zero for unlimited.
1081
- EventEmitter.prototype.setMaxListeners = function(n) {
1082
- if (!isNumber(n) || n < 0 || isNaN(n))
1083
- throw TypeError('n must be a positive number');
1084
- this._maxListeners = n;
1085
- return this;
1086
- };
1171
+ forOwn(object, function(value, key, object) {
1172
+ result[key] = callback(value, key, object);
1173
+ });
1174
+ return result;
1175
+ }
1087
1176
 
1088
- EventEmitter.prototype.emit = function(type) {
1089
- var er, handler, len, args, i, listeners;
1177
+ module.exports = mapValues;
1178
+
1179
+
1180
+ /***/ },
1181
+ /* 12 */
1182
+ /***/ function(module, exports, __webpack_require__) {
1183
+
1184
+ /**
1185
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1186
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1187
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1188
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1189
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1190
+ * Available under MIT license <http://lodash.com/license>
1191
+ */
1192
+ var baseCreateCallback = __webpack_require__(27),
1193
+ keys = __webpack_require__(13),
1194
+ objectTypes = __webpack_require__(28);
1090
1195
 
1091
- if (!this._events)
1092
- this._events = {};
1196
+ /**
1197
+ * Iterates over own enumerable properties of an object, executing the callback
1198
+ * for each property. The callback is bound to `thisArg` and invoked with three
1199
+ * arguments; (value, key, object). Callbacks may exit iteration early by
1200
+ * explicitly returning `false`.
1201
+ *
1202
+ * @static
1203
+ * @memberOf _
1204
+ * @type Function
1205
+ * @category Objects
1206
+ * @param {Object} object The object to iterate over.
1207
+ * @param {Function} [callback=identity] The function called per iteration.
1208
+ * @param {*} [thisArg] The `this` binding of `callback`.
1209
+ * @returns {Object} Returns `object`.
1210
+ * @example
1211
+ *
1212
+ * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
1213
+ * console.log(key);
1214
+ * });
1215
+ * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
1216
+ */
1217
+ var forOwn = function(collection, callback, thisArg) {
1218
+ var index, iterable = collection, result = iterable;
1219
+ if (!iterable) return result;
1220
+ if (!objectTypes[typeof iterable]) return result;
1221
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1222
+ var ownIndex = -1,
1223
+ ownProps = objectTypes[typeof iterable] && keys(iterable),
1224
+ length = ownProps ? ownProps.length : 0;
1093
1225
 
1094
- // If there is no 'error' event listener then throw.
1095
- if (type === 'error') {
1096
- if (!this._events.error ||
1097
- (isObject(this._events.error) && !this._events.error.length)) {
1098
- er = arguments[1];
1099
- if (er instanceof Error) {
1100
- throw er; // Unhandled 'error' event
1101
- } else {
1102
- throw TypeError('Uncaught, unspecified "error" event.');
1103
- }
1104
- return false;
1226
+ while (++ownIndex < length) {
1227
+ index = ownProps[ownIndex];
1228
+ if (callback(iterable[index], index, collection) === false) return result;
1105
1229
  }
1106
- }
1230
+ return result
1231
+ };
1107
1232
 
1108
- handler = this._events[type];
1233
+ module.exports = forOwn;
1234
+
1235
+
1236
+ /***/ },
1237
+ /* 13 */
1238
+ /***/ function(module, exports, __webpack_require__) {
1239
+
1240
+ /**
1241
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1242
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1243
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1244
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1245
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1246
+ * Available under MIT license <http://lodash.com/license>
1247
+ */
1248
+ var isNative = __webpack_require__(29),
1249
+ isObject = __webpack_require__(22),
1250
+ shimKeys = __webpack_require__(30);
1109
1251
 
1110
- if (isUndefined(handler))
1111
- return false;
1252
+ /* Native method shortcuts for methods with the same name as other `lodash` methods */
1253
+ var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
1112
1254
 
1113
- if (isFunction(handler)) {
1114
- switch (arguments.length) {
1115
- // fast cases
1116
- case 1:
1117
- handler.call(this);
1118
- break;
1119
- case 2:
1120
- handler.call(this, arguments[1]);
1121
- break;
1122
- case 3:
1123
- handler.call(this, arguments[1], arguments[2]);
1124
- break;
1125
- // slower
1126
- default:
1127
- len = arguments.length;
1128
- args = new Array(len - 1);
1129
- for (i = 1; i < len; i++)
1130
- args[i - 1] = arguments[i];
1131
- handler.apply(this, args);
1132
- }
1133
- } else if (isObject(handler)) {
1134
- len = arguments.length;
1135
- args = new Array(len - 1);
1136
- for (i = 1; i < len; i++)
1137
- args[i - 1] = arguments[i];
1138
-
1139
- listeners = handler.slice();
1140
- len = listeners.length;
1141
- for (i = 0; i < len; i++)
1142
- listeners[i].apply(this, args);
1143
- }
1144
-
1145
- return true;
1146
- };
1147
-
1148
- EventEmitter.prototype.addListener = function(type, listener) {
1149
- var m;
1150
-
1151
- if (!isFunction(listener))
1152
- throw TypeError('listener must be a function');
1153
-
1154
- if (!this._events)
1155
- this._events = {};
1156
-
1157
- // To avoid recursion in the case that type === "newListener"! Before
1158
- // adding it to the listeners, first emit "newListener".
1159
- if (this._events.newListener)
1160
- this.emit('newListener', type,
1161
- isFunction(listener.listener) ?
1162
- listener.listener : listener);
1163
-
1164
- if (!this._events[type])
1165
- // Optimize the case of one listener. Don't need the extra array object.
1166
- this._events[type] = listener;
1167
- else if (isObject(this._events[type]))
1168
- // If we've already got an array, just append.
1169
- this._events[type].push(listener);
1170
- else
1171
- // Adding the second element, need to change to array.
1172
- this._events[type] = [this._events[type], listener];
1173
-
1174
- // Check for listener leak
1175
- if (isObject(this._events[type]) && !this._events[type].warned) {
1176
- var m;
1177
- if (!isUndefined(this._maxListeners)) {
1178
- m = this._maxListeners;
1179
- } else {
1180
- m = EventEmitter.defaultMaxListeners;
1181
- }
1182
-
1183
- if (m && m > 0 && this._events[type].length > m) {
1184
- this._events[type].warned = true;
1185
- console.error('(node) warning: possible EventEmitter memory ' +
1186
- 'leak detected. %d listeners added. ' +
1187
- 'Use emitter.setMaxListeners() to increase limit.',
1188
- this._events[type].length);
1189
- if (typeof console.trace === 'function') {
1190
- // not supported in IE 10
1191
- console.trace();
1192
- }
1193
- }
1194
- }
1195
-
1196
- return this;
1197
- };
1198
-
1199
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1200
-
1201
- EventEmitter.prototype.once = function(type, listener) {
1202
- if (!isFunction(listener))
1203
- throw TypeError('listener must be a function');
1204
-
1205
- var fired = false;
1206
-
1207
- function g() {
1208
- this.removeListener(type, g);
1209
-
1210
- if (!fired) {
1211
- fired = true;
1212
- listener.apply(this, arguments);
1213
- }
1214
- }
1215
-
1216
- g.listener = listener;
1217
- this.on(type, g);
1218
-
1219
- return this;
1220
- };
1221
-
1222
- // emits a 'removeListener' event iff the listener was removed
1223
- EventEmitter.prototype.removeListener = function(type, listener) {
1224
- var list, position, length, i;
1225
-
1226
- if (!isFunction(listener))
1227
- throw TypeError('listener must be a function');
1228
-
1229
- if (!this._events || !this._events[type])
1230
- return this;
1231
-
1232
- list = this._events[type];
1233
- length = list.length;
1234
- position = -1;
1235
-
1236
- if (list === listener ||
1237
- (isFunction(list.listener) && list.listener === listener)) {
1238
- delete this._events[type];
1239
- if (this._events.removeListener)
1240
- this.emit('removeListener', type, listener);
1241
-
1242
- } else if (isObject(list)) {
1243
- for (i = length; i-- > 0;) {
1244
- if (list[i] === listener ||
1245
- (list[i].listener && list[i].listener === listener)) {
1246
- position = i;
1247
- break;
1248
- }
1249
- }
1250
-
1251
- if (position < 0)
1252
- return this;
1253
-
1254
- if (list.length === 1) {
1255
- list.length = 0;
1256
- delete this._events[type];
1257
- } else {
1258
- list.splice(position, 1);
1259
- }
1260
-
1261
- if (this._events.removeListener)
1262
- this.emit('removeListener', type, listener);
1263
- }
1264
-
1265
- return this;
1266
- };
1267
-
1268
- EventEmitter.prototype.removeAllListeners = function(type) {
1269
- var key, listeners;
1270
-
1271
- if (!this._events)
1272
- return this;
1273
-
1274
- // not listening for removeListener, no need to emit
1275
- if (!this._events.removeListener) {
1276
- if (arguments.length === 0)
1277
- this._events = {};
1278
- else if (this._events[type])
1279
- delete this._events[type];
1280
- return this;
1281
- }
1282
-
1283
- // emit removeListener for all listeners on all events
1284
- if (arguments.length === 0) {
1285
- for (key in this._events) {
1286
- if (key === 'removeListener') continue;
1287
- this.removeAllListeners(key);
1288
- }
1289
- this.removeAllListeners('removeListener');
1290
- this._events = {};
1291
- return this;
1292
- }
1293
-
1294
- listeners = this._events[type];
1295
-
1296
- if (isFunction(listeners)) {
1297
- this.removeListener(type, listeners);
1298
- } else {
1299
- // LIFO order
1300
- while (listeners.length)
1301
- this.removeListener(type, listeners[listeners.length - 1]);
1255
+ /**
1256
+ * Creates an array composed of the own enumerable property names of an object.
1257
+ *
1258
+ * @static
1259
+ * @memberOf _
1260
+ * @category Objects
1261
+ * @param {Object} object The object to inspect.
1262
+ * @returns {Array} Returns an array of property names.
1263
+ * @example
1264
+ *
1265
+ * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
1266
+ * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
1267
+ */
1268
+ var keys = !nativeKeys ? shimKeys : function(object) {
1269
+ if (!isObject(object)) {
1270
+ return [];
1302
1271
  }
1303
- delete this._events[type];
1304
-
1305
- return this;
1306
- };
1307
-
1308
- EventEmitter.prototype.listeners = function(type) {
1309
- var ret;
1310
- if (!this._events || !this._events[type])
1311
- ret = [];
1312
- else if (isFunction(this._events[type]))
1313
- ret = [this._events[type]];
1314
- else
1315
- ret = this._events[type].slice();
1316
- return ret;
1317
- };
1318
-
1319
- EventEmitter.listenerCount = function(emitter, type) {
1320
- var ret;
1321
- if (!emitter._events || !emitter._events[type])
1322
- ret = 0;
1323
- else if (isFunction(emitter._events[type]))
1324
- ret = 1;
1325
- else
1326
- ret = emitter._events[type].length;
1327
- return ret;
1272
+ return nativeKeys(object);
1328
1273
  };
1329
1274
 
1330
- function isFunction(arg) {
1331
- return typeof arg === 'function';
1332
- }
1333
-
1334
- function isNumber(arg) {
1335
- return typeof arg === 'number';
1336
- }
1337
-
1338
- function isObject(arg) {
1339
- return typeof arg === 'object' && arg !== null;
1340
- }
1341
-
1342
- function isUndefined(arg) {
1343
- return arg === void 0;
1344
- }
1275
+ module.exports = keys;
1345
1276
 
1346
1277
 
1347
1278
  /***/ },
1348
- /* 11 */
1279
+ /* 14 */
1349
1280
  /***/ function(module, exports, __webpack_require__) {
1350
1281
 
1351
1282
  /**
@@ -1356,243 +1287,12 @@ return /******/ (function(modules) { // webpackBootstrap
1356
1287
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1357
1288
  * Available under MIT license <http://lodash.com/license>
1358
1289
  */
1359
- var baseClone = __webpack_require__(25),
1360
- baseCreateCallback = __webpack_require__(26);
1290
+ var createCallback = __webpack_require__(39),
1291
+ forOwn = __webpack_require__(12);
1361
1292
 
1362
1293
  /**
1363
- * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
1364
- * be cloned, otherwise they will be assigned by reference. If a callback
1365
- * is provided it will be executed to produce the cloned values. If the
1366
- * callback returns `undefined` cloning will be handled by the method instead.
1367
- * The callback is bound to `thisArg` and invoked with one argument; (value).
1368
- *
1369
- * @static
1370
- * @memberOf _
1371
- * @category Objects
1372
- * @param {*} value The value to clone.
1373
- * @param {boolean} [isDeep=false] Specify a deep clone.
1374
- * @param {Function} [callback] The function to customize cloning values.
1375
- * @param {*} [thisArg] The `this` binding of `callback`.
1376
- * @returns {*} Returns the cloned value.
1377
- * @example
1378
- *
1379
- * var characters = [
1380
- * { 'name': 'barney', 'age': 36 },
1381
- * { 'name': 'fred', 'age': 40 }
1382
- * ];
1383
- *
1384
- * var shallow = _.clone(characters);
1385
- * shallow[0] === characters[0];
1386
- * // => true
1387
- *
1388
- * var deep = _.clone(characters, true);
1389
- * deep[0] === characters[0];
1390
- * // => false
1391
- *
1392
- * _.mixin({
1393
- * 'clone': _.partialRight(_.clone, function(value) {
1394
- * return _.isElement(value) ? value.cloneNode(false) : undefined;
1395
- * })
1396
- * });
1397
- *
1398
- * var clone = _.clone(document.body);
1399
- * clone.childNodes.length;
1400
- * // => 0
1401
- */
1402
- function clone(value, isDeep, callback, thisArg) {
1403
- // allows working with "Collections" methods without using their `index`
1404
- // and `collection` arguments for `isDeep` and `callback`
1405
- if (typeof isDeep != 'boolean' && isDeep != null) {
1406
- thisArg = callback;
1407
- callback = isDeep;
1408
- isDeep = false;
1409
- }
1410
- return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
1411
- }
1412
-
1413
- module.exports = clone;
1414
-
1415
-
1416
- /***/ },
1417
- /* 12 */
1418
- /***/ function(module, exports, __webpack_require__) {
1419
-
1420
- /**
1421
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1422
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1423
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1424
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1425
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1426
- * Available under MIT license <http://lodash.com/license>
1427
- */
1428
- var createCallback = __webpack_require__(39),
1429
- forOwn = __webpack_require__(13);
1430
-
1431
- /**
1432
- * Creates an object with the same keys as `object` and values generated by
1433
- * running each own enumerable property of `object` through the callback.
1434
- * The callback is bound to `thisArg` and invoked with three arguments;
1435
- * (value, key, object).
1436
- *
1437
- * If a property name is provided for `callback` the created "_.pluck" style
1438
- * callback will return the property value of the given element.
1439
- *
1440
- * If an object is provided for `callback` the created "_.where" style callback
1441
- * will return `true` for elements that have the properties of the given object,
1442
- * else `false`.
1443
- *
1444
- * @static
1445
- * @memberOf _
1446
- * @category Objects
1447
- * @param {Object} object The object to iterate over.
1448
- * @param {Function|Object|string} [callback=identity] The function called
1449
- * per iteration. If a property name or object is provided it will be used
1450
- * to create a "_.pluck" or "_.where" style callback, respectively.
1451
- * @param {*} [thisArg] The `this` binding of `callback`.
1452
- * @returns {Array} Returns a new object with values of the results of each `callback` execution.
1453
- * @example
1454
- *
1455
- * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
1456
- * // => { 'a': 3, 'b': 6, 'c': 9 }
1457
- *
1458
- * var characters = {
1459
- * 'fred': { 'name': 'fred', 'age': 40 },
1460
- * 'pebbles': { 'name': 'pebbles', 'age': 1 }
1461
- * };
1462
- *
1463
- * // using "_.pluck" callback shorthand
1464
- * _.mapValues(characters, 'age');
1465
- * // => { 'fred': 40, 'pebbles': 1 }
1466
- */
1467
- function mapValues(object, callback, thisArg) {
1468
- var result = {};
1469
- callback = createCallback(callback, thisArg, 3);
1470
-
1471
- forOwn(object, function(value, key, object) {
1472
- result[key] = callback(value, key, object);
1473
- });
1474
- return result;
1475
- }
1476
-
1477
- module.exports = mapValues;
1478
-
1479
-
1480
- /***/ },
1481
- /* 13 */
1482
- /***/ function(module, exports, __webpack_require__) {
1483
-
1484
- /**
1485
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1486
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1487
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1488
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1489
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1490
- * Available under MIT license <http://lodash.com/license>
1491
- */
1492
- var baseCreateCallback = __webpack_require__(26),
1493
- keys = __webpack_require__(14),
1494
- objectTypes = __webpack_require__(27);
1495
-
1496
- /**
1497
- * Iterates over own enumerable properties of an object, executing the callback
1498
- * for each property. The callback is bound to `thisArg` and invoked with three
1499
- * arguments; (value, key, object). Callbacks may exit iteration early by
1500
- * explicitly returning `false`.
1501
- *
1502
- * @static
1503
- * @memberOf _
1504
- * @type Function
1505
- * @category Objects
1506
- * @param {Object} object The object to iterate over.
1507
- * @param {Function} [callback=identity] The function called per iteration.
1508
- * @param {*} [thisArg] The `this` binding of `callback`.
1509
- * @returns {Object} Returns `object`.
1510
- * @example
1511
- *
1512
- * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
1513
- * console.log(key);
1514
- * });
1515
- * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
1516
- */
1517
- var forOwn = function(collection, callback, thisArg) {
1518
- var index, iterable = collection, result = iterable;
1519
- if (!iterable) return result;
1520
- if (!objectTypes[typeof iterable]) return result;
1521
- callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1522
- var ownIndex = -1,
1523
- ownProps = objectTypes[typeof iterable] && keys(iterable),
1524
- length = ownProps ? ownProps.length : 0;
1525
-
1526
- while (++ownIndex < length) {
1527
- index = ownProps[ownIndex];
1528
- if (callback(iterable[index], index, collection) === false) return result;
1529
- }
1530
- return result
1531
- };
1532
-
1533
- module.exports = forOwn;
1534
-
1535
-
1536
- /***/ },
1537
- /* 14 */
1538
- /***/ function(module, exports, __webpack_require__) {
1539
-
1540
- /**
1541
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1542
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1543
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1544
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1545
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1546
- * Available under MIT license <http://lodash.com/license>
1547
- */
1548
- var isNative = __webpack_require__(28),
1549
- isObject = __webpack_require__(22),
1550
- shimKeys = __webpack_require__(29);
1551
-
1552
- /* Native method shortcuts for methods with the same name as other `lodash` methods */
1553
- var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
1554
-
1555
- /**
1556
- * Creates an array composed of the own enumerable property names of an object.
1557
- *
1558
- * @static
1559
- * @memberOf _
1560
- * @category Objects
1561
- * @param {Object} object The object to inspect.
1562
- * @returns {Array} Returns an array of property names.
1563
- * @example
1564
- *
1565
- * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
1566
- * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
1567
- */
1568
- var keys = !nativeKeys ? shimKeys : function(object) {
1569
- if (!isObject(object)) {
1570
- return [];
1571
- }
1572
- return nativeKeys(object);
1573
- };
1574
-
1575
- module.exports = keys;
1576
-
1577
-
1578
- /***/ },
1579
- /* 15 */
1580
- /***/ function(module, exports, __webpack_require__) {
1581
-
1582
- /**
1583
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1584
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1585
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1586
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1587
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1588
- * Available under MIT license <http://lodash.com/license>
1589
- */
1590
- var createCallback = __webpack_require__(39),
1591
- forOwn = __webpack_require__(13);
1592
-
1593
- /**
1594
- * This method is like `_.findIndex` except that it returns the key of the
1595
- * first element that passes the callback check, instead of the element itself.
1294
+ * This method is like `_.findIndex` except that it returns the key of the
1295
+ * first element that passes the callback check, instead of the element itself.
1596
1296
  *
1597
1297
  * If a property name is provided for `callback` the created "_.pluck" style
1598
1298
  * callback will return the property value of the given element.
@@ -1647,7 +1347,7 @@ return /******/ (function(modules) { // webpackBootstrap
1647
1347
 
1648
1348
 
1649
1349
  /***/ },
1650
- /* 16 */
1350
+ /* 15 */
1651
1351
  /***/ function(module, exports, __webpack_require__) {
1652
1352
 
1653
1353
  /**
@@ -1658,15 +1358,15 @@ return /******/ (function(modules) { // webpackBootstrap
1658
1358
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1659
1359
  * Available under MIT license <http://lodash.com/license>
1660
1360
  */
1661
- var baseIndexOf = __webpack_require__(30),
1662
- cacheIndexOf = __webpack_require__(31),
1663
- createCache = __webpack_require__(32),
1664
- getArray = __webpack_require__(33),
1361
+ var baseIndexOf = __webpack_require__(31),
1362
+ cacheIndexOf = __webpack_require__(32),
1363
+ createCache = __webpack_require__(33),
1364
+ getArray = __webpack_require__(34),
1665
1365
  isArguments = __webpack_require__(23),
1666
1366
  isArray = __webpack_require__(24),
1667
- largeArraySize = __webpack_require__(34),
1668
- releaseArray = __webpack_require__(35),
1669
- releaseObject = __webpack_require__(36);
1367
+ largeArraySize = __webpack_require__(35),
1368
+ releaseArray = __webpack_require__(36),
1369
+ releaseObject = __webpack_require__(37);
1670
1370
 
1671
1371
  /**
1672
1372
  * Creates an array of unique values present in all provided arrays using
@@ -1736,7 +1436,7 @@ return /******/ (function(modules) { // webpackBootstrap
1736
1436
 
1737
1437
 
1738
1438
  /***/ },
1739
- /* 17 */
1439
+ /* 16 */
1740
1440
  /***/ function(module, exports, __webpack_require__) {
1741
1441
 
1742
1442
  /**
@@ -1747,7 +1447,7 @@ return /******/ (function(modules) { // webpackBootstrap
1747
1447
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1748
1448
  * Available under MIT license <http://lodash.com/license>
1749
1449
  */
1750
- var baseUniq = __webpack_require__(37),
1450
+ var baseUniq = __webpack_require__(38),
1751
1451
  createCallback = __webpack_require__(39);
1752
1452
 
1753
1453
  /**
@@ -1811,7 +1511,7 @@ return /******/ (function(modules) { // webpackBootstrap
1811
1511
 
1812
1512
 
1813
1513
  /***/ },
1814
- /* 18 */
1514
+ /* 17 */
1815
1515
  /***/ function(module, exports, __webpack_require__) {
1816
1516
 
1817
1517
  /**
@@ -1823,7 +1523,7 @@ return /******/ (function(modules) { // webpackBootstrap
1823
1523
  * Available under MIT license <http://lodash.com/license>
1824
1524
  */
1825
1525
  var createCallback = __webpack_require__(39),
1826
- forOwn = __webpack_require__(13);
1526
+ forOwn = __webpack_require__(12);
1827
1527
 
1828
1528
  /**
1829
1529
  * Creates an array of values by running each element in the collection
@@ -1887,7 +1587,7 @@ return /******/ (function(modules) { // webpackBootstrap
1887
1587
 
1888
1588
 
1889
1589
  /***/ },
1890
- /* 19 */
1590
+ /* 18 */
1891
1591
  /***/ function(module, exports, __webpack_require__) {
1892
1592
 
1893
1593
  /**
@@ -1898,8 +1598,8 @@ return /******/ (function(modules) { // webpackBootstrap
1898
1598
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1899
1599
  * Available under MIT license <http://lodash.com/license>
1900
1600
  */
1901
- var baseCreateCallback = __webpack_require__(26),
1902
- forOwn = __webpack_require__(13);
1601
+ var baseCreateCallback = __webpack_require__(27),
1602
+ forOwn = __webpack_require__(12);
1903
1603
 
1904
1604
  /**
1905
1605
  * Iterates over elements of a collection, executing the callback for each
@@ -1939,54 +1639,363 @@ return /******/ (function(modules) { // webpackBootstrap
1939
1639
  }
1940
1640
  }
1941
1641
  } else {
1942
- forOwn(collection, callback);
1642
+ forOwn(collection, callback);
1643
+ }
1644
+ return collection;
1645
+ }
1646
+
1647
+ module.exports = forEach;
1648
+
1649
+
1650
+ /***/ },
1651
+ /* 19 */
1652
+ /***/ function(module, exports, __webpack_require__) {
1653
+
1654
+ /**
1655
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1656
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1657
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1658
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1659
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1660
+ * Available under MIT license <http://lodash.com/license>
1661
+ */
1662
+ var keys = __webpack_require__(13);
1663
+
1664
+ /**
1665
+ * Gets the size of the `collection` by returning `collection.length` for arrays
1666
+ * and array-like objects or the number of own enumerable properties for objects.
1667
+ *
1668
+ * @static
1669
+ * @memberOf _
1670
+ * @category Collections
1671
+ * @param {Array|Object|string} collection The collection to inspect.
1672
+ * @returns {number} Returns `collection.length` or number of own enumerable properties.
1673
+ * @example
1674
+ *
1675
+ * _.size([1, 2]);
1676
+ * // => 2
1677
+ *
1678
+ * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1679
+ * // => 3
1680
+ *
1681
+ * _.size('pebbles');
1682
+ * // => 7
1683
+ */
1684
+ function size(collection) {
1685
+ var length = collection ? collection.length : 0;
1686
+ return typeof length == 'number' ? length : keys(collection).length;
1687
+ }
1688
+
1689
+ module.exports = size;
1690
+
1691
+
1692
+ /***/ },
1693
+ /* 20 */
1694
+ /***/ function(module, exports, __webpack_require__) {
1695
+
1696
+ // Copyright Joyent, Inc. and other Node contributors.
1697
+ //
1698
+ // Permission is hereby granted, free of charge, to any person obtaining a
1699
+ // copy of this software and associated documentation files (the
1700
+ // "Software"), to deal in the Software without restriction, including
1701
+ // without limitation the rights to use, copy, modify, merge, publish,
1702
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
1703
+ // persons to whom the Software is furnished to do so, subject to the
1704
+ // following conditions:
1705
+ //
1706
+ // The above copyright notice and this permission notice shall be included
1707
+ // in all copies or substantial portions of the Software.
1708
+ //
1709
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1710
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1711
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1712
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1713
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1714
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1715
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
1716
+
1717
+ function EventEmitter() {
1718
+ this._events = this._events || {};
1719
+ this._maxListeners = this._maxListeners || undefined;
1720
+ }
1721
+ module.exports = EventEmitter;
1722
+
1723
+ // Backwards-compat with node 0.10.x
1724
+ EventEmitter.EventEmitter = EventEmitter;
1725
+
1726
+ EventEmitter.prototype._events = undefined;
1727
+ EventEmitter.prototype._maxListeners = undefined;
1728
+
1729
+ // By default EventEmitters will print a warning if more than 10 listeners are
1730
+ // added to it. This is a useful default which helps finding memory leaks.
1731
+ EventEmitter.defaultMaxListeners = 10;
1732
+
1733
+ // Obviously not all Emitters should be limited to 10. This function allows
1734
+ // that to be increased. Set to zero for unlimited.
1735
+ EventEmitter.prototype.setMaxListeners = function(n) {
1736
+ if (!isNumber(n) || n < 0 || isNaN(n))
1737
+ throw TypeError('n must be a positive number');
1738
+ this._maxListeners = n;
1739
+ return this;
1740
+ };
1741
+
1742
+ EventEmitter.prototype.emit = function(type) {
1743
+ var er, handler, len, args, i, listeners;
1744
+
1745
+ if (!this._events)
1746
+ this._events = {};
1747
+
1748
+ // If there is no 'error' event listener then throw.
1749
+ if (type === 'error') {
1750
+ if (!this._events.error ||
1751
+ (isObject(this._events.error) && !this._events.error.length)) {
1752
+ er = arguments[1];
1753
+ if (er instanceof Error) {
1754
+ throw er; // Unhandled 'error' event
1755
+ } else {
1756
+ throw TypeError('Uncaught, unspecified "error" event.');
1757
+ }
1758
+ return false;
1759
+ }
1760
+ }
1761
+
1762
+ handler = this._events[type];
1763
+
1764
+ if (isUndefined(handler))
1765
+ return false;
1766
+
1767
+ if (isFunction(handler)) {
1768
+ switch (arguments.length) {
1769
+ // fast cases
1770
+ case 1:
1771
+ handler.call(this);
1772
+ break;
1773
+ case 2:
1774
+ handler.call(this, arguments[1]);
1775
+ break;
1776
+ case 3:
1777
+ handler.call(this, arguments[1], arguments[2]);
1778
+ break;
1779
+ // slower
1780
+ default:
1781
+ len = arguments.length;
1782
+ args = new Array(len - 1);
1783
+ for (i = 1; i < len; i++)
1784
+ args[i - 1] = arguments[i];
1785
+ handler.apply(this, args);
1786
+ }
1787
+ } else if (isObject(handler)) {
1788
+ len = arguments.length;
1789
+ args = new Array(len - 1);
1790
+ for (i = 1; i < len; i++)
1791
+ args[i - 1] = arguments[i];
1792
+
1793
+ listeners = handler.slice();
1794
+ len = listeners.length;
1795
+ for (i = 0; i < len; i++)
1796
+ listeners[i].apply(this, args);
1797
+ }
1798
+
1799
+ return true;
1800
+ };
1801
+
1802
+ EventEmitter.prototype.addListener = function(type, listener) {
1803
+ var m;
1804
+
1805
+ if (!isFunction(listener))
1806
+ throw TypeError('listener must be a function');
1807
+
1808
+ if (!this._events)
1809
+ this._events = {};
1810
+
1811
+ // To avoid recursion in the case that type === "newListener"! Before
1812
+ // adding it to the listeners, first emit "newListener".
1813
+ if (this._events.newListener)
1814
+ this.emit('newListener', type,
1815
+ isFunction(listener.listener) ?
1816
+ listener.listener : listener);
1817
+
1818
+ if (!this._events[type])
1819
+ // Optimize the case of one listener. Don't need the extra array object.
1820
+ this._events[type] = listener;
1821
+ else if (isObject(this._events[type]))
1822
+ // If we've already got an array, just append.
1823
+ this._events[type].push(listener);
1824
+ else
1825
+ // Adding the second element, need to change to array.
1826
+ this._events[type] = [this._events[type], listener];
1827
+
1828
+ // Check for listener leak
1829
+ if (isObject(this._events[type]) && !this._events[type].warned) {
1830
+ var m;
1831
+ if (!isUndefined(this._maxListeners)) {
1832
+ m = this._maxListeners;
1833
+ } else {
1834
+ m = EventEmitter.defaultMaxListeners;
1835
+ }
1836
+
1837
+ if (m && m > 0 && this._events[type].length > m) {
1838
+ this._events[type].warned = true;
1839
+ console.error('(node) warning: possible EventEmitter memory ' +
1840
+ 'leak detected. %d listeners added. ' +
1841
+ 'Use emitter.setMaxListeners() to increase limit.',
1842
+ this._events[type].length);
1843
+ if (typeof console.trace === 'function') {
1844
+ // not supported in IE 10
1845
+ console.trace();
1846
+ }
1847
+ }
1848
+ }
1849
+
1850
+ return this;
1851
+ };
1852
+
1853
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1854
+
1855
+ EventEmitter.prototype.once = function(type, listener) {
1856
+ if (!isFunction(listener))
1857
+ throw TypeError('listener must be a function');
1858
+
1859
+ var fired = false;
1860
+
1861
+ function g() {
1862
+ this.removeListener(type, g);
1863
+
1864
+ if (!fired) {
1865
+ fired = true;
1866
+ listener.apply(this, arguments);
1867
+ }
1868
+ }
1869
+
1870
+ g.listener = listener;
1871
+ this.on(type, g);
1872
+
1873
+ return this;
1874
+ };
1875
+
1876
+ // emits a 'removeListener' event iff the listener was removed
1877
+ EventEmitter.prototype.removeListener = function(type, listener) {
1878
+ var list, position, length, i;
1879
+
1880
+ if (!isFunction(listener))
1881
+ throw TypeError('listener must be a function');
1882
+
1883
+ if (!this._events || !this._events[type])
1884
+ return this;
1885
+
1886
+ list = this._events[type];
1887
+ length = list.length;
1888
+ position = -1;
1889
+
1890
+ if (list === listener ||
1891
+ (isFunction(list.listener) && list.listener === listener)) {
1892
+ delete this._events[type];
1893
+ if (this._events.removeListener)
1894
+ this.emit('removeListener', type, listener);
1895
+
1896
+ } else if (isObject(list)) {
1897
+ for (i = length; i-- > 0;) {
1898
+ if (list[i] === listener ||
1899
+ (list[i].listener && list[i].listener === listener)) {
1900
+ position = i;
1901
+ break;
1902
+ }
1903
+ }
1904
+
1905
+ if (position < 0)
1906
+ return this;
1907
+
1908
+ if (list.length === 1) {
1909
+ list.length = 0;
1910
+ delete this._events[type];
1911
+ } else {
1912
+ list.splice(position, 1);
1913
+ }
1914
+
1915
+ if (this._events.removeListener)
1916
+ this.emit('removeListener', type, listener);
1917
+ }
1918
+
1919
+ return this;
1920
+ };
1921
+
1922
+ EventEmitter.prototype.removeAllListeners = function(type) {
1923
+ var key, listeners;
1924
+
1925
+ if (!this._events)
1926
+ return this;
1927
+
1928
+ // not listening for removeListener, no need to emit
1929
+ if (!this._events.removeListener) {
1930
+ if (arguments.length === 0)
1931
+ this._events = {};
1932
+ else if (this._events[type])
1933
+ delete this._events[type];
1934
+ return this;
1935
+ }
1936
+
1937
+ // emit removeListener for all listeners on all events
1938
+ if (arguments.length === 0) {
1939
+ for (key in this._events) {
1940
+ if (key === 'removeListener') continue;
1941
+ this.removeAllListeners(key);
1942
+ }
1943
+ this.removeAllListeners('removeListener');
1944
+ this._events = {};
1945
+ return this;
1946
+ }
1947
+
1948
+ listeners = this._events[type];
1949
+
1950
+ if (isFunction(listeners)) {
1951
+ this.removeListener(type, listeners);
1952
+ } else {
1953
+ // LIFO order
1954
+ while (listeners.length)
1955
+ this.removeListener(type, listeners[listeners.length - 1]);
1943
1956
  }
1944
- return collection;
1957
+ delete this._events[type];
1958
+
1959
+ return this;
1960
+ };
1961
+
1962
+ EventEmitter.prototype.listeners = function(type) {
1963
+ var ret;
1964
+ if (!this._events || !this._events[type])
1965
+ ret = [];
1966
+ else if (isFunction(this._events[type]))
1967
+ ret = [this._events[type]];
1968
+ else
1969
+ ret = this._events[type].slice();
1970
+ return ret;
1971
+ };
1972
+
1973
+ EventEmitter.listenerCount = function(emitter, type) {
1974
+ var ret;
1975
+ if (!emitter._events || !emitter._events[type])
1976
+ ret = 0;
1977
+ else if (isFunction(emitter._events[type]))
1978
+ ret = 1;
1979
+ else
1980
+ ret = emitter._events[type].length;
1981
+ return ret;
1982
+ };
1983
+
1984
+ function isFunction(arg) {
1985
+ return typeof arg === 'function';
1945
1986
  }
1946
1987
 
1947
- module.exports = forEach;
1948
-
1949
-
1950
- /***/ },
1951
- /* 20 */
1952
- /***/ function(module, exports, __webpack_require__) {
1953
-
1954
- /**
1955
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1956
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1957
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1958
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1959
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1960
- * Available under MIT license <http://lodash.com/license>
1961
- */
1962
- var keys = __webpack_require__(14);
1988
+ function isNumber(arg) {
1989
+ return typeof arg === 'number';
1990
+ }
1963
1991
 
1964
- /**
1965
- * Gets the size of the `collection` by returning `collection.length` for arrays
1966
- * and array-like objects or the number of own enumerable properties for objects.
1967
- *
1968
- * @static
1969
- * @memberOf _
1970
- * @category Collections
1971
- * @param {Array|Object|string} collection The collection to inspect.
1972
- * @returns {number} Returns `collection.length` or number of own enumerable properties.
1973
- * @example
1974
- *
1975
- * _.size([1, 2]);
1976
- * // => 2
1977
- *
1978
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1979
- * // => 3
1980
- *
1981
- * _.size('pebbles');
1982
- * // => 7
1983
- */
1984
- function size(collection) {
1985
- var length = collection ? collection.length : 0;
1986
- return typeof length == 'number' ? length : keys(collection).length;
1992
+ function isObject(arg) {
1993
+ return typeof arg === 'object' && arg !== null;
1987
1994
  }
1988
1995
 
1989
- module.exports = size;
1996
+ function isUndefined(arg) {
1997
+ return arg === void 0;
1998
+ }
1990
1999
 
1991
2000
 
1992
2001
  /***/ },
@@ -2012,7 +2021,7 @@ return /******/ (function(modules) { // webpackBootstrap
2012
2021
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2013
2022
  * Available under MIT license <http://lodash.com/license>
2014
2023
  */
2015
- var objectTypes = __webpack_require__(27);
2024
+ var objectTypes = __webpack_require__(28);
2016
2025
 
2017
2026
  /**
2018
2027
  * Checks if `value` is the language type of Object.
@@ -2103,7 +2112,7 @@ return /******/ (function(modules) { // webpackBootstrap
2103
2112
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2104
2113
  * Available under MIT license <http://lodash.com/license>
2105
2114
  */
2106
- var isNative = __webpack_require__(28);
2115
+ var isNative = __webpack_require__(29);
2107
2116
 
2108
2117
  /** `Object#toString` result shortcuts */
2109
2118
  var arrayClass = '[object Array]';
@@ -2144,6 +2153,72 @@ return /******/ (function(modules) { // webpackBootstrap
2144
2153
 
2145
2154
  /***/ },
2146
2155
  /* 25 */
2156
+ /***/ function(module, exports, __webpack_require__) {
2157
+
2158
+ // shim for using process in browser
2159
+
2160
+ var process = module.exports = {};
2161
+
2162
+ process.nextTick = (function () {
2163
+ var canSetImmediate = typeof window !== 'undefined'
2164
+ && window.setImmediate;
2165
+ var canPost = typeof window !== 'undefined'
2166
+ && window.postMessage && window.addEventListener
2167
+ ;
2168
+
2169
+ if (canSetImmediate) {
2170
+ return function (f) { return window.setImmediate(f) };
2171
+ }
2172
+
2173
+ if (canPost) {
2174
+ var queue = [];
2175
+ window.addEventListener('message', function (ev) {
2176
+ var source = ev.source;
2177
+ if ((source === window || source === null) && ev.data === 'process-tick') {
2178
+ ev.stopPropagation();
2179
+ if (queue.length > 0) {
2180
+ var fn = queue.shift();
2181
+ fn();
2182
+ }
2183
+ }
2184
+ }, true);
2185
+
2186
+ return function nextTick(fn) {
2187
+ queue.push(fn);
2188
+ window.postMessage('process-tick', '*');
2189
+ };
2190
+ }
2191
+
2192
+ return function nextTick(fn) {
2193
+ setTimeout(fn, 0);
2194
+ };
2195
+ })();
2196
+
2197
+ process.title = 'browser';
2198
+ process.browser = true;
2199
+ process.env = {};
2200
+ process.argv = [];
2201
+
2202
+ function noop() {}
2203
+
2204
+ process.on = noop;
2205
+ process.once = noop;
2206
+ process.off = noop;
2207
+ process.emit = noop;
2208
+
2209
+ process.binding = function (name) {
2210
+ throw new Error('process.binding is not supported');
2211
+ }
2212
+
2213
+ // TODO(shtylman)
2214
+ process.cwd = function () { return '/' };
2215
+ process.chdir = function (dir) {
2216
+ throw new Error('process.chdir is not supported');
2217
+ };
2218
+
2219
+
2220
+ /***/ },
2221
+ /* 26 */
2147
2222
  /***/ function(module, exports, __webpack_require__) {
2148
2223
 
2149
2224
  /**
@@ -2155,12 +2230,12 @@ return /******/ (function(modules) { // webpackBootstrap
2155
2230
  * Available under MIT license <http://lodash.com/license>
2156
2231
  */
2157
2232
  var assign = __webpack_require__(41),
2158
- forEach = __webpack_require__(19),
2159
- forOwn = __webpack_require__(13),
2160
- getArray = __webpack_require__(33),
2233
+ forEach = __webpack_require__(18),
2234
+ forOwn = __webpack_require__(12),
2235
+ getArray = __webpack_require__(34),
2161
2236
  isArray = __webpack_require__(24),
2162
2237
  isObject = __webpack_require__(22),
2163
- releaseArray = __webpack_require__(35),
2238
+ releaseArray = __webpack_require__(36),
2164
2239
  slice = __webpack_require__(42);
2165
2240
 
2166
2241
  /** Used to match regexp flags from their coerced string values */
@@ -2301,7 +2376,7 @@ return /******/ (function(modules) { // webpackBootstrap
2301
2376
 
2302
2377
 
2303
2378
  /***/ },
2304
- /* 26 */
2379
+ /* 27 */
2305
2380
  /***/ function(module, exports, __webpack_require__) {
2306
2381
 
2307
2382
  /**
@@ -2387,7 +2462,7 @@ return /******/ (function(modules) { // webpackBootstrap
2387
2462
 
2388
2463
 
2389
2464
  /***/ },
2390
- /* 27 */
2465
+ /* 28 */
2391
2466
  /***/ function(module, exports, __webpack_require__) {
2392
2467
 
2393
2468
  /**
@@ -2413,7 +2488,7 @@ return /******/ (function(modules) { // webpackBootstrap
2413
2488
 
2414
2489
 
2415
2490
  /***/ },
2416
- /* 28 */
2491
+ /* 29 */
2417
2492
  /***/ function(module, exports, __webpack_require__) {
2418
2493
 
2419
2494
  /**
@@ -2453,7 +2528,7 @@ return /******/ (function(modules) { // webpackBootstrap
2453
2528
 
2454
2529
 
2455
2530
  /***/ },
2456
- /* 29 */
2531
+ /* 30 */
2457
2532
  /***/ function(module, exports, __webpack_require__) {
2458
2533
 
2459
2534
  /**
@@ -2464,7 +2539,7 @@ return /******/ (function(modules) { // webpackBootstrap
2464
2539
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2465
2540
  * Available under MIT license <http://lodash.com/license>
2466
2541
  */
2467
- var objectTypes = __webpack_require__(27);
2542
+ var objectTypes = __webpack_require__(28);
2468
2543
 
2469
2544
  /** Used for native method references */
2470
2545
  var objectProto = Object.prototype;
@@ -2497,7 +2572,7 @@ return /******/ (function(modules) { // webpackBootstrap
2497
2572
 
2498
2573
 
2499
2574
  /***/ },
2500
- /* 30 */
2575
+ /* 31 */
2501
2576
  /***/ function(module, exports, __webpack_require__) {
2502
2577
 
2503
2578
  /**
@@ -2535,7 +2610,7 @@ return /******/ (function(modules) { // webpackBootstrap
2535
2610
 
2536
2611
 
2537
2612
  /***/ },
2538
- /* 31 */
2613
+ /* 32 */
2539
2614
  /***/ function(module, exports, __webpack_require__) {
2540
2615
 
2541
2616
  /**
@@ -2546,7 +2621,7 @@ return /******/ (function(modules) { // webpackBootstrap
2546
2621
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2547
2622
  * Available under MIT license <http://lodash.com/license>
2548
2623
  */
2549
- var baseIndexOf = __webpack_require__(30),
2624
+ var baseIndexOf = __webpack_require__(31),
2550
2625
  keyPrefix = __webpack_require__(46);
2551
2626
 
2552
2627
  /**
@@ -2580,7 +2655,7 @@ return /******/ (function(modules) { // webpackBootstrap
2580
2655
 
2581
2656
 
2582
2657
  /***/ },
2583
- /* 32 */
2658
+ /* 33 */
2584
2659
  /***/ function(module, exports, __webpack_require__) {
2585
2660
 
2586
2661
  /**
@@ -2593,7 +2668,7 @@ return /******/ (function(modules) { // webpackBootstrap
2593
2668
  */
2594
2669
  var cachePush = __webpack_require__(47),
2595
2670
  getObject = __webpack_require__(48),
2596
- releaseObject = __webpack_require__(36);
2671
+ releaseObject = __webpack_require__(37);
2597
2672
 
2598
2673
  /**
2599
2674
  * Creates a cache object to optimize linear searches of large arrays.
@@ -2631,7 +2706,7 @@ return /******/ (function(modules) { // webpackBootstrap
2631
2706
 
2632
2707
 
2633
2708
  /***/ },
2634
- /* 33 */
2709
+ /* 34 */
2635
2710
  /***/ function(module, exports, __webpack_require__) {
2636
2711
 
2637
2712
  /**
@@ -2658,7 +2733,7 @@ return /******/ (function(modules) { // webpackBootstrap
2658
2733
 
2659
2734
 
2660
2735
  /***/ },
2661
- /* 34 */
2736
+ /* 35 */
2662
2737
  /***/ function(module, exports, __webpack_require__) {
2663
2738
 
2664
2739
  /**
@@ -2677,7 +2752,7 @@ return /******/ (function(modules) { // webpackBootstrap
2677
2752
 
2678
2753
 
2679
2754
  /***/ },
2680
- /* 35 */
2755
+ /* 36 */
2681
2756
  /***/ function(module, exports, __webpack_require__) {
2682
2757
 
2683
2758
  /**
@@ -2708,7 +2783,7 @@ return /******/ (function(modules) { // webpackBootstrap
2708
2783
 
2709
2784
 
2710
2785
  /***/ },
2711
- /* 36 */
2786
+ /* 37 */
2712
2787
  /***/ function(module, exports, __webpack_require__) {
2713
2788
 
2714
2789
  /**
@@ -2743,7 +2818,7 @@ return /******/ (function(modules) { // webpackBootstrap
2743
2818
 
2744
2819
 
2745
2820
  /***/ },
2746
- /* 37 */
2821
+ /* 38 */
2747
2822
  /***/ function(module, exports, __webpack_require__) {
2748
2823
 
2749
2824
  /**
@@ -2754,13 +2829,13 @@ return /******/ (function(modules) { // webpackBootstrap
2754
2829
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2755
2830
  * Available under MIT license <http://lodash.com/license>
2756
2831
  */
2757
- var baseIndexOf = __webpack_require__(30),
2758
- cacheIndexOf = __webpack_require__(31),
2759
- createCache = __webpack_require__(32),
2760
- getArray = __webpack_require__(33),
2761
- largeArraySize = __webpack_require__(34),
2762
- releaseArray = __webpack_require__(35),
2763
- releaseObject = __webpack_require__(36);
2832
+ var baseIndexOf = __webpack_require__(31),
2833
+ cacheIndexOf = __webpack_require__(32),
2834
+ createCache = __webpack_require__(33),
2835
+ getArray = __webpack_require__(34),
2836
+ largeArraySize = __webpack_require__(35),
2837
+ releaseArray = __webpack_require__(36),
2838
+ releaseObject = __webpack_require__(37);
2764
2839
 
2765
2840
  /**
2766
2841
  * The base implementation of `_.uniq` without support for callback shorthands
@@ -2812,72 +2887,6 @@ return /******/ (function(modules) { // webpackBootstrap
2812
2887
  module.exports = baseUniq;
2813
2888
 
2814
2889
 
2815
- /***/ },
2816
- /* 38 */
2817
- /***/ function(module, exports, __webpack_require__) {
2818
-
2819
- // shim for using process in browser
2820
-
2821
- var process = module.exports = {};
2822
-
2823
- process.nextTick = (function () {
2824
- var canSetImmediate = typeof window !== 'undefined'
2825
- && window.setImmediate;
2826
- var canPost = typeof window !== 'undefined'
2827
- && window.postMessage && window.addEventListener
2828
- ;
2829
-
2830
- if (canSetImmediate) {
2831
- return function (f) { return window.setImmediate(f) };
2832
- }
2833
-
2834
- if (canPost) {
2835
- var queue = [];
2836
- window.addEventListener('message', function (ev) {
2837
- var source = ev.source;
2838
- if ((source === window || source === null) && ev.data === 'process-tick') {
2839
- ev.stopPropagation();
2840
- if (queue.length > 0) {
2841
- var fn = queue.shift();
2842
- fn();
2843
- }
2844
- }
2845
- }, true);
2846
-
2847
- return function nextTick(fn) {
2848
- queue.push(fn);
2849
- window.postMessage('process-tick', '*');
2850
- };
2851
- }
2852
-
2853
- return function nextTick(fn) {
2854
- setTimeout(fn, 0);
2855
- };
2856
- })();
2857
-
2858
- process.title = 'browser';
2859
- process.browser = true;
2860
- process.env = {};
2861
- process.argv = [];
2862
-
2863
- function noop() {}
2864
-
2865
- process.on = noop;
2866
- process.once = noop;
2867
- process.off = noop;
2868
- process.emit = noop;
2869
-
2870
- process.binding = function (name) {
2871
- throw new Error('process.binding is not supported');
2872
- }
2873
-
2874
- // TODO(shtylman)
2875
- process.cwd = function () { return '/' };
2876
- process.chdir = function (dir) {
2877
- throw new Error('process.chdir is not supported');
2878
- };
2879
-
2880
-
2881
2890
  /***/ },
2882
2891
  /* 39 */
2883
2892
  /***/ function(module, exports, __webpack_require__) {
@@ -2890,10 +2899,10 @@ return /******/ (function(modules) { // webpackBootstrap
2890
2899
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2891
2900
  * Available under MIT license <http://lodash.com/license>
2892
2901
  */
2893
- var baseCreateCallback = __webpack_require__(26),
2902
+ var baseCreateCallback = __webpack_require__(27),
2894
2903
  baseIsEqual = __webpack_require__(52),
2895
2904
  isObject = __webpack_require__(22),
2896
- keys = __webpack_require__(14),
2905
+ keys = __webpack_require__(13),
2897
2906
  property = __webpack_require__(54);
2898
2907
 
2899
2908
  /**
@@ -3006,9 +3015,9 @@ return /******/ (function(modules) { // webpackBootstrap
3006
3015
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3007
3016
  * Available under MIT license <http://lodash.com/license>
3008
3017
  */
3009
- var baseCreateCallback = __webpack_require__(26),
3010
- keys = __webpack_require__(14),
3011
- objectTypes = __webpack_require__(27);
3018
+ var baseCreateCallback = __webpack_require__(27),
3019
+ keys = __webpack_require__(13),
3020
+ objectTypes = __webpack_require__(28);
3012
3021
 
3013
3022
  /**
3014
3023
  * Assigns own enumerable properties of source object(s) to the destination
@@ -3172,7 +3181,7 @@ return /******/ (function(modules) { // webpackBootstrap
3172
3181
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3173
3182
  * Available under MIT license <http://lodash.com/license>
3174
3183
  */
3175
- var isNative = __webpack_require__(28),
3184
+ var isNative = __webpack_require__(29),
3176
3185
  noop = __webpack_require__(56);
3177
3186
 
3178
3187
  /** Used as the property descriptor for `__bindData__` */
@@ -3221,7 +3230,7 @@ return /******/ (function(modules) { // webpackBootstrap
3221
3230
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3222
3231
  * Available under MIT license <http://lodash.com/license>
3223
3232
  */
3224
- var isNative = __webpack_require__(28);
3233
+ var isNative = __webpack_require__(29);
3225
3234
 
3226
3235
  /** Used to detect functions containing a `this` reference */
3227
3236
  var reThis = /\bthis\b/;
@@ -3430,10 +3439,10 @@ return /******/ (function(modules) { // webpackBootstrap
3430
3439
  * Available under MIT license <http://lodash.com/license>
3431
3440
  */
3432
3441
  var forIn = __webpack_require__(57),
3433
- getArray = __webpack_require__(33),
3442
+ getArray = __webpack_require__(34),
3434
3443
  isFunction = __webpack_require__(58),
3435
- objectTypes = __webpack_require__(27),
3436
- releaseArray = __webpack_require__(35);
3444
+ objectTypes = __webpack_require__(28),
3445
+ releaseArray = __webpack_require__(36);
3437
3446
 
3438
3447
  /** `Object#toString` result shortcuts */
3439
3448
  var argsClass = '[object Arguments]',
@@ -3868,8 +3877,8 @@ return /******/ (function(modules) { // webpackBootstrap
3868
3877
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3869
3878
  * Available under MIT license <http://lodash.com/license>
3870
3879
  */
3871
- var baseCreateCallback = __webpack_require__(26),
3872
- objectTypes = __webpack_require__(27);
3880
+ var baseCreateCallback = __webpack_require__(27),
3881
+ objectTypes = __webpack_require__(28);
3873
3882
 
3874
3883
  /**
3875
3884
  * Iterates over own and inherited enumerable properties of an object,
@@ -4113,7 +4122,7 @@ return /******/ (function(modules) { // webpackBootstrap
4113
4122
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
4114
4123
  * Available under MIT license <http://lodash.com/license>
4115
4124
  */
4116
- var isNative = __webpack_require__(28),
4125
+ var isNative = __webpack_require__(29),
4117
4126
  isObject = __webpack_require__(22),
4118
4127
  noop = __webpack_require__(56);
4119
4128