fluxxor-rails 1.3.0 → 1.3.1

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: 5059b3d76e577983cb58517d50d6f87bdad4ca8b
4
- data.tar.gz: 45205d4129a5e272e918f45f2a626462d1ee874d
3
+ metadata.gz: e1fdeb6424a27db728e310822f9ffd71a232e631
4
+ data.tar.gz: 5aa67b4dd4bcf80ff9e2276264157ad75f6e8039
5
5
  SHA512:
6
- metadata.gz: 95f404dc001779c786b389cad1978894e9cb994fed661341b91f043778ce1a904c5e2d158f321e330d83cbb98f2a129d8aa09cde677a5b5651309a30af45ad0c
7
- data.tar.gz: fc1223394c6db295341ea7122ce6d4d1726eaad8ff946deaa2a41fcb26c3e26f05fc1c550d382d1196ac6d1e60daacedf7f9fd1675f0ec250d2a9814a8a4c04d
6
+ metadata.gz: 675b46e6d4d3c8c85927b1a6910c08c49224535d5dcaacb1faf72f8b8f6bd424c0e267b2e56813b87e8ba75511dac5e50f4215169a3ecd5361b841f1683f3153
7
+ data.tar.gz: 0f1819e6edcabf289c91c02a97400a8534d0517d836b230b013b4e967c01f8eee1a557c85f8578d07b616ba8add64b2f69dd51c1548e18b0710ab5e55b030740
@@ -1,5 +1,5 @@
1
1
  module Fluxxor
2
2
  module Rails
3
- VERSION = '1.3.0'
3
+ VERSION = '1.3.1'
4
4
  end
5
5
  end
@@ -66,3 +66,12 @@ Compiled fluxxor.js (1ms) (pid 15463)
66
66
  Served asset /fluxxor.js - 200 OK (8ms)
67
67
  Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:49:50 -0500
68
68
  Served asset /fluxxor.js - 200 OK (0ms)
69
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:50:26 -0500
70
+ Compiled fluxxor.js (1ms) (pid 16207)
71
+ Served asset /fluxxor.js - 200 OK (7ms)
72
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:50:26 -0500
73
+ Served asset /fluxxor.js - 200 OK (0ms)
74
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:50:40 -0500
75
+ Served asset /fluxxor.js - 200 OK (2ms)
76
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:50:40 -0500
77
+ 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.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"]}}
82
+ module.exports = {"name":"fluxxor","version":"1.3.1","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__(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);
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);
98
98
 
99
99
  var Dispatcher = function(stores) {
100
100
  this.stores = stores;
@@ -321,7 +321,7 @@ return /******/ (function(modules) { // webpackBootstrap
321
321
  /* 6 */
322
322
  /***/ function(module, exports, __webpack_require__) {
323
323
 
324
- var _each = __webpack_require__(18);
324
+ var _each = __webpack_require__(19);
325
325
 
326
326
  var StoreWatchMixin = function() {
327
327
  var storeNames = Array.prototype.slice.call(arguments);
@@ -363,7 +363,7 @@ return /******/ (function(modules) { // webpackBootstrap
363
363
  /* 7 */
364
364
  /***/ function(module, exports, __webpack_require__) {
365
365
 
366
- var _each = __webpack_require__(18),
366
+ var _each = __webpack_require__(19),
367
367
  Store = __webpack_require__(8),
368
368
  util = __webpack_require__(9);
369
369
 
@@ -408,7 +408,7 @@ return /******/ (function(modules) { // webpackBootstrap
408
408
  /* 8 */
409
409
  /***/ function(module, exports, __webpack_require__) {
410
410
 
411
- var EventEmitter = __webpack_require__(20).EventEmitter,
411
+ var EventEmitter = __webpack_require__(10).EventEmitter,
412
412
  util = __webpack_require__(9);
413
413
 
414
414
  function Store(dispatcher) {
@@ -1048,470 +1048,313 @@ return /******/ (function(modules) { // webpackBootstrap
1048
1048
  /* 10 */
1049
1049
  /***/ function(module, exports, __webpack_require__) {
1050
1050
 
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);
1051
+ // Copyright Joyent, Inc. and other Node contributors.
1052
+ //
1053
+ // Permission is hereby granted, free of charge, to any person obtaining a
1054
+ // copy of this software and associated documentation files (the
1055
+ // "Software"), to deal in the Software without restriction, including
1056
+ // without limitation the rights to use, copy, modify, merge, publish,
1057
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
1058
+ // persons to whom the Software is furnished to do so, subject to the
1059
+ // following conditions:
1060
+ //
1061
+ // The above copyright notice and this permission notice shall be included
1062
+ // in all copies or substantial portions of the Software.
1063
+ //
1064
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1065
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1066
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1067
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1068
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1069
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1070
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
1061
1071
 
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));
1072
+ function EventEmitter() {
1073
+ this._events = this._events || {};
1074
+ this._maxListeners = this._maxListeners || undefined;
1111
1075
  }
1076
+ module.exports = EventEmitter;
1112
1077
 
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);
1078
+ // Backwards-compat with node 0.10.x
1079
+ EventEmitter.EventEmitter = EventEmitter;
1130
1080
 
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);
1081
+ EventEmitter.prototype._events = undefined;
1082
+ EventEmitter.prototype._maxListeners = undefined;
1170
1083
 
1171
- forOwn(object, function(value, key, object) {
1172
- result[key] = callback(value, key, object);
1173
- });
1174
- return result;
1175
- }
1084
+ // By default EventEmitters will print a warning if more than 10 listeners are
1085
+ // added to it. This is a useful default which helps finding memory leaks.
1086
+ EventEmitter.defaultMaxListeners = 10;
1176
1087
 
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);
1088
+ // Obviously not all Emitters should be limited to 10. This function allows
1089
+ // that to be increased. Set to zero for unlimited.
1090
+ EventEmitter.prototype.setMaxListeners = function(n) {
1091
+ if (!isNumber(n) || n < 0 || isNaN(n))
1092
+ throw TypeError('n must be a positive number');
1093
+ this._maxListeners = n;
1094
+ return this;
1095
+ };
1195
1096
 
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;
1097
+ EventEmitter.prototype.emit = function(type) {
1098
+ var er, handler, len, args, i, listeners;
1099
+
1100
+ if (!this._events)
1101
+ this._events = {};
1102
+
1103
+ // If there is no 'error' event listener then throw.
1104
+ if (type === 'error') {
1105
+ if (!this._events.error ||
1106
+ (isObject(this._events.error) && !this._events.error.length)) {
1107
+ er = arguments[1];
1108
+ if (er instanceof Error) {
1109
+ throw er; // Unhandled 'error' event
1110
+ } else {
1111
+ throw TypeError('Uncaught, unspecified "error" event.');
1112
+ }
1113
+ return false;
1114
+ }
1115
+ }
1116
+
1117
+ handler = this._events[type];
1118
+
1119
+ if (isUndefined(handler))
1120
+ return false;
1121
+
1122
+ if (isFunction(handler)) {
1123
+ switch (arguments.length) {
1124
+ // fast cases
1125
+ case 1:
1126
+ handler.call(this);
1127
+ break;
1128
+ case 2:
1129
+ handler.call(this, arguments[1]);
1130
+ break;
1131
+ case 3:
1132
+ handler.call(this, arguments[1], arguments[2]);
1133
+ break;
1134
+ // slower
1135
+ default:
1136
+ len = arguments.length;
1137
+ args = new Array(len - 1);
1138
+ for (i = 1; i < len; i++)
1139
+ args[i - 1] = arguments[i];
1140
+ handler.apply(this, args);
1141
+ }
1142
+ } else if (isObject(handler)) {
1143
+ len = arguments.length;
1144
+ args = new Array(len - 1);
1145
+ for (i = 1; i < len; i++)
1146
+ args[i - 1] = arguments[i];
1147
+
1148
+ listeners = handler.slice();
1149
+ len = listeners.length;
1150
+ for (i = 0; i < len; i++)
1151
+ listeners[i].apply(this, args);
1152
+ }
1153
+
1154
+ return true;
1155
+ };
1156
+
1157
+ EventEmitter.prototype.addListener = function(type, listener) {
1158
+ var m;
1159
+
1160
+ if (!isFunction(listener))
1161
+ throw TypeError('listener must be a function');
1162
+
1163
+ if (!this._events)
1164
+ this._events = {};
1165
+
1166
+ // To avoid recursion in the case that type === "newListener"! Before
1167
+ // adding it to the listeners, first emit "newListener".
1168
+ if (this._events.newListener)
1169
+ this.emit('newListener', type,
1170
+ isFunction(listener.listener) ?
1171
+ listener.listener : listener);
1172
+
1173
+ if (!this._events[type])
1174
+ // Optimize the case of one listener. Don't need the extra array object.
1175
+ this._events[type] = listener;
1176
+ else if (isObject(this._events[type]))
1177
+ // If we've already got an array, just append.
1178
+ this._events[type].push(listener);
1179
+ else
1180
+ // Adding the second element, need to change to array.
1181
+ this._events[type] = [this._events[type], listener];
1225
1182
 
1226
- while (++ownIndex < length) {
1227
- index = ownProps[ownIndex];
1228
- if (callback(iterable[index], index, collection) === false) return result;
1183
+ // Check for listener leak
1184
+ if (isObject(this._events[type]) && !this._events[type].warned) {
1185
+ var m;
1186
+ if (!isUndefined(this._maxListeners)) {
1187
+ m = this._maxListeners;
1188
+ } else {
1189
+ m = EventEmitter.defaultMaxListeners;
1229
1190
  }
1230
- return result
1191
+
1192
+ if (m && m > 0 && this._events[type].length > m) {
1193
+ this._events[type].warned = true;
1194
+ console.error('(node) warning: possible EventEmitter memory ' +
1195
+ 'leak detected. %d listeners added. ' +
1196
+ 'Use emitter.setMaxListeners() to increase limit.',
1197
+ this._events[type].length);
1198
+ if (typeof console.trace === 'function') {
1199
+ // not supported in IE 10
1200
+ console.trace();
1201
+ }
1202
+ }
1203
+ }
1204
+
1205
+ return this;
1231
1206
  };
1232
1207
 
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);
1208
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1251
1209
 
1252
- /* Native method shortcuts for methods with the same name as other `lodash` methods */
1253
- var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
1210
+ EventEmitter.prototype.once = function(type, listener) {
1211
+ if (!isFunction(listener))
1212
+ throw TypeError('listener must be a function');
1254
1213
 
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 [];
1214
+ var fired = false;
1215
+
1216
+ function g() {
1217
+ this.removeListener(type, g);
1218
+
1219
+ if (!fired) {
1220
+ fired = true;
1221
+ listener.apply(this, arguments);
1222
+ }
1271
1223
  }
1272
- return nativeKeys(object);
1224
+
1225
+ g.listener = listener;
1226
+ this.on(type, g);
1227
+
1228
+ return this;
1273
1229
  };
1274
1230
 
1275
- module.exports = keys;
1276
-
1277
-
1278
- /***/ },
1279
- /* 14 */
1280
- /***/ function(module, exports, __webpack_require__) {
1281
-
1282
- /**
1283
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1284
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1285
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1286
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1287
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1288
- * Available under MIT license <http://lodash.com/license>
1289
- */
1290
- var createCallback = __webpack_require__(39),
1291
- forOwn = __webpack_require__(12);
1231
+ // emits a 'removeListener' event iff the listener was removed
1232
+ EventEmitter.prototype.removeListener = function(type, listener) {
1233
+ var list, position, length, i;
1292
1234
 
1293
- /**
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.
1296
- *
1297
- * If a property name is provided for `callback` the created "_.pluck" style
1298
- * callback will return the property value of the given element.
1299
- *
1300
- * If an object is provided for `callback` the created "_.where" style callback
1301
- * will return `true` for elements that have the properties of the given object,
1302
- * else `false`.
1303
- *
1304
- * @static
1305
- * @memberOf _
1306
- * @category Objects
1307
- * @param {Object} object The object to search.
1308
- * @param {Function|Object|string} [callback=identity] The function called per
1309
- * iteration. If a property name or object is provided it will be used to
1310
- * create a "_.pluck" or "_.where" style callback, respectively.
1311
- * @param {*} [thisArg] The `this` binding of `callback`.
1312
- * @returns {string|undefined} Returns the key of the found element, else `undefined`.
1313
- * @example
1314
- *
1315
- * var characters = {
1316
- * 'barney': { 'age': 36, 'blocked': false },
1317
- * 'fred': { 'age': 40, 'blocked': true },
1318
- * 'pebbles': { 'age': 1, 'blocked': false }
1319
- * };
1320
- *
1321
- * _.findKey(characters, function(chr) {
1322
- * return chr.age < 40;
1323
- * });
1324
- * // => 'barney' (property order is not guaranteed across environments)
1325
- *
1326
- * // using "_.where" callback shorthand
1327
- * _.findKey(characters, { 'age': 1 });
1328
- * // => 'pebbles'
1329
- *
1330
- * // using "_.pluck" callback shorthand
1331
- * _.findKey(characters, 'blocked');
1332
- * // => 'fred'
1333
- */
1334
- function findKey(object, callback, thisArg) {
1335
- var result;
1336
- callback = createCallback(callback, thisArg, 3);
1337
- forOwn(object, function(value, key, object) {
1338
- if (callback(value, key, object)) {
1339
- result = key;
1340
- return false;
1341
- }
1342
- });
1343
- return result;
1344
- }
1235
+ if (!isFunction(listener))
1236
+ throw TypeError('listener must be a function');
1345
1237
 
1346
- module.exports = findKey;
1347
-
1348
-
1349
- /***/ },
1350
- /* 15 */
1351
- /***/ function(module, exports, __webpack_require__) {
1352
-
1353
- /**
1354
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1355
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1356
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1357
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1358
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1359
- * Available under MIT license <http://lodash.com/license>
1360
- */
1361
- var baseIndexOf = __webpack_require__(31),
1362
- cacheIndexOf = __webpack_require__(32),
1363
- createCache = __webpack_require__(33),
1364
- getArray = __webpack_require__(34),
1365
- isArguments = __webpack_require__(23),
1366
- isArray = __webpack_require__(24),
1367
- largeArraySize = __webpack_require__(35),
1368
- releaseArray = __webpack_require__(36),
1369
- releaseObject = __webpack_require__(37);
1238
+ if (!this._events || !this._events[type])
1239
+ return this;
1370
1240
 
1371
- /**
1372
- * Creates an array of unique values present in all provided arrays using
1373
- * strict equality for comparisons, i.e. `===`.
1374
- *
1375
- * @static
1376
- * @memberOf _
1377
- * @category Arrays
1378
- * @param {...Array} [array] The arrays to inspect.
1379
- * @returns {Array} Returns an array of shared values.
1380
- * @example
1381
- *
1382
- * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
1383
- * // => [1, 2]
1384
- */
1385
- function intersection() {
1386
- var args = [],
1387
- argsIndex = -1,
1388
- argsLength = arguments.length,
1389
- caches = getArray(),
1390
- indexOf = baseIndexOf,
1391
- trustIndexOf = indexOf === baseIndexOf,
1392
- seen = getArray();
1241
+ list = this._events[type];
1242
+ length = list.length;
1243
+ position = -1;
1393
1244
 
1394
- while (++argsIndex < argsLength) {
1395
- var value = arguments[argsIndex];
1396
- if (isArray(value) || isArguments(value)) {
1397
- args.push(value);
1398
- caches.push(trustIndexOf && value.length >= largeArraySize &&
1399
- createCache(argsIndex ? args[argsIndex] : seen));
1245
+ if (list === listener ||
1246
+ (isFunction(list.listener) && list.listener === listener)) {
1247
+ delete this._events[type];
1248
+ if (this._events.removeListener)
1249
+ this.emit('removeListener', type, listener);
1250
+
1251
+ } else if (isObject(list)) {
1252
+ for (i = length; i-- > 0;) {
1253
+ if (list[i] === listener ||
1254
+ (list[i].listener && list[i].listener === listener)) {
1255
+ position = i;
1256
+ break;
1257
+ }
1258
+ }
1259
+
1260
+ if (position < 0)
1261
+ return this;
1262
+
1263
+ if (list.length === 1) {
1264
+ list.length = 0;
1265
+ delete this._events[type];
1266
+ } else {
1267
+ list.splice(position, 1);
1400
1268
  }
1269
+
1270
+ if (this._events.removeListener)
1271
+ this.emit('removeListener', type, listener);
1272
+ }
1273
+
1274
+ return this;
1275
+ };
1276
+
1277
+ EventEmitter.prototype.removeAllListeners = function(type) {
1278
+ var key, listeners;
1279
+
1280
+ if (!this._events)
1281
+ return this;
1282
+
1283
+ // not listening for removeListener, no need to emit
1284
+ if (!this._events.removeListener) {
1285
+ if (arguments.length === 0)
1286
+ this._events = {};
1287
+ else if (this._events[type])
1288
+ delete this._events[type];
1289
+ return this;
1401
1290
  }
1402
- var array = args[0],
1403
- index = -1,
1404
- length = array ? array.length : 0,
1405
- result = [];
1406
-
1407
- outer:
1408
- while (++index < length) {
1409
- var cache = caches[0];
1410
- value = array[index];
1411
1291
 
1412
- if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
1413
- argsIndex = argsLength;
1414
- (cache || seen).push(value);
1415
- while (--argsIndex) {
1416
- cache = caches[argsIndex];
1417
- if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
1418
- continue outer;
1419
- }
1420
- }
1421
- result.push(value);
1292
+ // emit removeListener for all listeners on all events
1293
+ if (arguments.length === 0) {
1294
+ for (key in this._events) {
1295
+ if (key === 'removeListener') continue;
1296
+ this.removeAllListeners(key);
1422
1297
  }
1298
+ this.removeAllListeners('removeListener');
1299
+ this._events = {};
1300
+ return this;
1423
1301
  }
1424
- while (argsLength--) {
1425
- cache = caches[argsLength];
1426
- if (cache) {
1427
- releaseObject(cache);
1428
- }
1302
+
1303
+ listeners = this._events[type];
1304
+
1305
+ if (isFunction(listeners)) {
1306
+ this.removeListener(type, listeners);
1307
+ } else {
1308
+ // LIFO order
1309
+ while (listeners.length)
1310
+ this.removeListener(type, listeners[listeners.length - 1]);
1429
1311
  }
1430
- releaseArray(caches);
1431
- releaseArray(seen);
1432
- return result;
1312
+ delete this._events[type];
1313
+
1314
+ return this;
1315
+ };
1316
+
1317
+ EventEmitter.prototype.listeners = function(type) {
1318
+ var ret;
1319
+ if (!this._events || !this._events[type])
1320
+ ret = [];
1321
+ else if (isFunction(this._events[type]))
1322
+ ret = [this._events[type]];
1323
+ else
1324
+ ret = this._events[type].slice();
1325
+ return ret;
1326
+ };
1327
+
1328
+ EventEmitter.listenerCount = function(emitter, type) {
1329
+ var ret;
1330
+ if (!emitter._events || !emitter._events[type])
1331
+ ret = 0;
1332
+ else if (isFunction(emitter._events[type]))
1333
+ ret = 1;
1334
+ else
1335
+ ret = emitter._events[type].length;
1336
+ return ret;
1337
+ };
1338
+
1339
+ function isFunction(arg) {
1340
+ return typeof arg === 'function';
1433
1341
  }
1434
1342
 
1435
- module.exports = intersection;
1436
-
1437
-
1438
- /***/ },
1439
- /* 16 */
1440
- /***/ function(module, exports, __webpack_require__) {
1441
-
1442
- /**
1443
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1444
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1445
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1446
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1447
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1448
- * Available under MIT license <http://lodash.com/license>
1449
- */
1450
- var baseUniq = __webpack_require__(38),
1451
- createCallback = __webpack_require__(39);
1343
+ function isNumber(arg) {
1344
+ return typeof arg === 'number';
1345
+ }
1452
1346
 
1453
- /**
1454
- * Creates a duplicate-value-free version of an array using strict equality
1455
- * for comparisons, i.e. `===`. If the array is sorted, providing
1456
- * `true` for `isSorted` will use a faster algorithm. If a callback is provided
1457
- * each element of `array` is passed through the callback before uniqueness
1458
- * is computed. The callback is bound to `thisArg` and invoked with three
1459
- * arguments; (value, index, array).
1460
- *
1461
- * If a property name is provided for `callback` the created "_.pluck" style
1462
- * callback will return the property value of the given element.
1463
- *
1464
- * If an object is provided for `callback` the created "_.where" style callback
1465
- * will return `true` for elements that have the properties of the given object,
1466
- * else `false`.
1467
- *
1468
- * @static
1469
- * @memberOf _
1470
- * @alias unique
1471
- * @category Arrays
1472
- * @param {Array} array The array to process.
1473
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
1474
- * @param {Function|Object|string} [callback=identity] The function called
1475
- * per iteration. If a property name or object is provided it will be used
1476
- * to create a "_.pluck" or "_.where" style callback, respectively.
1477
- * @param {*} [thisArg] The `this` binding of `callback`.
1478
- * @returns {Array} Returns a duplicate-value-free array.
1479
- * @example
1480
- *
1481
- * _.uniq([1, 2, 1, 3, 1]);
1482
- * // => [1, 2, 3]
1483
- *
1484
- * _.uniq([1, 1, 2, 2, 3], true);
1485
- * // => [1, 2, 3]
1486
- *
1487
- * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
1488
- * // => ['A', 'b', 'C']
1489
- *
1490
- * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
1491
- * // => [1, 2.5, 3]
1492
- *
1493
- * // using "_.pluck" callback shorthand
1494
- * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
1495
- * // => [{ 'x': 1 }, { 'x': 2 }]
1496
- */
1497
- function uniq(array, isSorted, callback, thisArg) {
1498
- // juggle arguments
1499
- if (typeof isSorted != 'boolean' && isSorted != null) {
1500
- thisArg = callback;
1501
- callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
1502
- isSorted = false;
1503
- }
1504
- if (callback != null) {
1505
- callback = createCallback(callback, thisArg, 3);
1506
- }
1507
- return baseUniq(array, isSorted, callback);
1347
+ function isObject(arg) {
1348
+ return typeof arg === 'object' && arg !== null;
1508
1349
  }
1509
1350
 
1510
- module.exports = uniq;
1351
+ function isUndefined(arg) {
1352
+ return arg === void 0;
1353
+ }
1511
1354
 
1512
1355
 
1513
1356
  /***/ },
1514
- /* 17 */
1357
+ /* 11 */
1515
1358
  /***/ function(module, exports, __webpack_require__) {
1516
1359
 
1517
1360
  /**
@@ -1522,133 +1365,65 @@ return /******/ (function(modules) { // webpackBootstrap
1522
1365
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1523
1366
  * Available under MIT license <http://lodash.com/license>
1524
1367
  */
1525
- var createCallback = __webpack_require__(39),
1526
- forOwn = __webpack_require__(12);
1368
+ var baseClone = __webpack_require__(26),
1369
+ baseCreateCallback = __webpack_require__(27);
1527
1370
 
1528
1371
  /**
1529
- * Creates an array of values by running each element in the collection
1530
- * through the callback. The callback is bound to `thisArg` and invoked with
1531
- * three arguments; (value, index|key, collection).
1532
- *
1533
- * If a property name is provided for `callback` the created "_.pluck" style
1534
- * callback will return the property value of the given element.
1535
- *
1536
- * If an object is provided for `callback` the created "_.where" style callback
1537
- * will return `true` for elements that have the properties of the given object,
1538
- * else `false`.
1372
+ * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
1373
+ * be cloned, otherwise they will be assigned by reference. If a callback
1374
+ * is provided it will be executed to produce the cloned values. If the
1375
+ * callback returns `undefined` cloning will be handled by the method instead.
1376
+ * The callback is bound to `thisArg` and invoked with one argument; (value).
1539
1377
  *
1540
1378
  * @static
1541
1379
  * @memberOf _
1542
- * @alias collect
1543
- * @category Collections
1544
- * @param {Array|Object|string} collection The collection to iterate over.
1545
- * @param {Function|Object|string} [callback=identity] The function called
1546
- * per iteration. If a property name or object is provided it will be used
1547
- * to create a "_.pluck" or "_.where" style callback, respectively.
1380
+ * @category Objects
1381
+ * @param {*} value The value to clone.
1382
+ * @param {boolean} [isDeep=false] Specify a deep clone.
1383
+ * @param {Function} [callback] The function to customize cloning values.
1548
1384
  * @param {*} [thisArg] The `this` binding of `callback`.
1549
- * @returns {Array} Returns a new array of the results of each `callback` execution.
1385
+ * @returns {*} Returns the cloned value.
1550
1386
  * @example
1551
1387
  *
1552
- * _.map([1, 2, 3], function(num) { return num * 3; });
1553
- * // => [3, 6, 9]
1554
- *
1555
- * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
1556
- * // => [3, 6, 9] (property order is not guaranteed across environments)
1557
- *
1558
1388
  * var characters = [
1559
1389
  * { 'name': 'barney', 'age': 36 },
1560
1390
  * { 'name': 'fred', 'age': 40 }
1561
1391
  * ];
1562
1392
  *
1563
- * // using "_.pluck" callback shorthand
1564
- * _.map(characters, 'name');
1565
- * // => ['barney', 'fred']
1566
- */
1567
- function map(collection, callback, thisArg) {
1568
- var index = -1,
1569
- length = collection ? collection.length : 0;
1570
-
1571
- callback = createCallback(callback, thisArg, 3);
1572
- if (typeof length == 'number') {
1573
- var result = Array(length);
1574
- while (++index < length) {
1575
- result[index] = callback(collection[index], index, collection);
1576
- }
1577
- } else {
1578
- result = [];
1579
- forOwn(collection, function(value, key, collection) {
1580
- result[++index] = callback(value, key, collection);
1581
- });
1582
- }
1583
- return result;
1584
- }
1585
-
1586
- module.exports = map;
1587
-
1588
-
1589
- /***/ },
1590
- /* 18 */
1591
- /***/ function(module, exports, __webpack_require__) {
1592
-
1593
- /**
1594
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1595
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1596
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1597
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1598
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1599
- * Available under MIT license <http://lodash.com/license>
1600
- */
1601
- var baseCreateCallback = __webpack_require__(27),
1602
- forOwn = __webpack_require__(12);
1603
-
1604
- /**
1605
- * Iterates over elements of a collection, executing the callback for each
1606
- * element. The callback is bound to `thisArg` and invoked with three arguments;
1607
- * (value, index|key, collection). Callbacks may exit iteration early by
1608
- * explicitly returning `false`.
1609
- *
1610
- * Note: As with other "Collections" methods, objects with a `length` property
1611
- * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
1612
- * may be used for object iteration.
1393
+ * var shallow = _.clone(characters);
1394
+ * shallow[0] === characters[0];
1395
+ * // => true
1613
1396
  *
1614
- * @static
1615
- * @memberOf _
1616
- * @alias each
1617
- * @category Collections
1618
- * @param {Array|Object|string} collection The collection to iterate over.
1619
- * @param {Function} [callback=identity] The function called per iteration.
1620
- * @param {*} [thisArg] The `this` binding of `callback`.
1621
- * @returns {Array|Object|string} Returns `collection`.
1622
- * @example
1397
+ * var deep = _.clone(characters, true);
1398
+ * deep[0] === characters[0];
1399
+ * // => false
1623
1400
  *
1624
- * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
1625
- * // => logs each number and returns '1,2,3'
1401
+ * _.mixin({
1402
+ * 'clone': _.partialRight(_.clone, function(value) {
1403
+ * return _.isElement(value) ? value.cloneNode(false) : undefined;
1404
+ * })
1405
+ * });
1626
1406
  *
1627
- * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
1628
- * // => logs each number and returns the object (property order is not guaranteed across environments)
1407
+ * var clone = _.clone(document.body);
1408
+ * clone.childNodes.length;
1409
+ * // => 0
1629
1410
  */
1630
- function forEach(collection, callback, thisArg) {
1631
- var index = -1,
1632
- length = collection ? collection.length : 0;
1633
-
1634
- callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1635
- if (typeof length == 'number') {
1636
- while (++index < length) {
1637
- if (callback(collection[index], index, collection) === false) {
1638
- break;
1639
- }
1640
- }
1641
- } else {
1642
- forOwn(collection, callback);
1411
+ function clone(value, isDeep, callback, thisArg) {
1412
+ // allows working with "Collections" methods without using their `index`
1413
+ // and `collection` arguments for `isDeep` and `callback`
1414
+ if (typeof isDeep != 'boolean' && isDeep != null) {
1415
+ thisArg = callback;
1416
+ callback = isDeep;
1417
+ isDeep = false;
1643
1418
  }
1644
- return collection;
1419
+ return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
1645
1420
  }
1646
1421
 
1647
- module.exports = forEach;
1422
+ module.exports = clone;
1648
1423
 
1649
1424
 
1650
1425
  /***/ },
1651
- /* 19 */
1426
+ /* 12 */
1652
1427
  /***/ function(module, exports, __webpack_require__) {
1653
1428
 
1654
1429
  /**
@@ -1659,343 +1434,568 @@ return /******/ (function(modules) { // webpackBootstrap
1659
1434
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1660
1435
  * Available under MIT license <http://lodash.com/license>
1661
1436
  */
1662
- var keys = __webpack_require__(13);
1437
+ var createCallback = __webpack_require__(39),
1438
+ forOwn = __webpack_require__(13);
1663
1439
 
1664
1440
  /**
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.
1441
+ * Creates an object with the same keys as `object` and values generated by
1442
+ * running each own enumerable property of `object` through the callback.
1443
+ * The callback is bound to `thisArg` and invoked with three arguments;
1444
+ * (value, key, object).
1445
+ *
1446
+ * If a property name is provided for `callback` the created "_.pluck" style
1447
+ * callback will return the property value of the given element.
1448
+ *
1449
+ * If an object is provided for `callback` the created "_.where" style callback
1450
+ * will return `true` for elements that have the properties of the given object,
1451
+ * else `false`.
1667
1452
  *
1668
1453
  * @static
1669
1454
  * @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.
1455
+ * @category Objects
1456
+ * @param {Object} object The object to iterate over.
1457
+ * @param {Function|Object|string} [callback=identity] The function called
1458
+ * per iteration. If a property name or object is provided it will be used
1459
+ * to create a "_.pluck" or "_.where" style callback, respectively.
1460
+ * @param {*} [thisArg] The `this` binding of `callback`.
1461
+ * @returns {Array} Returns a new object with values of the results of each `callback` execution.
1673
1462
  * @example
1674
1463
  *
1675
- * _.size([1, 2]);
1676
- * // => 2
1464
+ * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
1465
+ * // => { 'a': 3, 'b': 6, 'c': 9 }
1677
1466
  *
1678
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1679
- * // => 3
1467
+ * var characters = {
1468
+ * 'fred': { 'name': 'fred', 'age': 40 },
1469
+ * 'pebbles': { 'name': 'pebbles', 'age': 1 }
1470
+ * };
1680
1471
  *
1681
- * _.size('pebbles');
1682
- * // => 7
1472
+ * // using "_.pluck" callback shorthand
1473
+ * _.mapValues(characters, 'age');
1474
+ * // => { 'fred': 40, 'pebbles': 1 }
1683
1475
  */
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;
1476
+ function mapValues(object, callback, thisArg) {
1477
+ var result = {};
1478
+ callback = createCallback(callback, thisArg, 3);
1860
1479
 
1861
- function g() {
1862
- this.removeListener(type, g);
1480
+ forOwn(object, function(value, key, object) {
1481
+ result[key] = callback(value, key, object);
1482
+ });
1483
+ return result;
1484
+ }
1863
1485
 
1864
- if (!fired) {
1865
- fired = true;
1866
- listener.apply(this, arguments);
1867
- }
1868
- }
1486
+ module.exports = mapValues;
1487
+
1488
+
1489
+ /***/ },
1490
+ /* 13 */
1491
+ /***/ function(module, exports, __webpack_require__) {
1492
+
1493
+ /**
1494
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1495
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1496
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1497
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1498
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1499
+ * Available under MIT license <http://lodash.com/license>
1500
+ */
1501
+ var baseCreateCallback = __webpack_require__(27),
1502
+ keys = __webpack_require__(14),
1503
+ objectTypes = __webpack_require__(28);
1869
1504
 
1870
- g.listener = listener;
1871
- this.on(type, g);
1505
+ /**
1506
+ * Iterates over own enumerable properties of an object, executing the callback
1507
+ * for each property. The callback is bound to `thisArg` and invoked with three
1508
+ * arguments; (value, key, object). Callbacks may exit iteration early by
1509
+ * explicitly returning `false`.
1510
+ *
1511
+ * @static
1512
+ * @memberOf _
1513
+ * @type Function
1514
+ * @category Objects
1515
+ * @param {Object} object The object to iterate over.
1516
+ * @param {Function} [callback=identity] The function called per iteration.
1517
+ * @param {*} [thisArg] The `this` binding of `callback`.
1518
+ * @returns {Object} Returns `object`.
1519
+ * @example
1520
+ *
1521
+ * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
1522
+ * console.log(key);
1523
+ * });
1524
+ * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
1525
+ */
1526
+ var forOwn = function(collection, callback, thisArg) {
1527
+ var index, iterable = collection, result = iterable;
1528
+ if (!iterable) return result;
1529
+ if (!objectTypes[typeof iterable]) return result;
1530
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1531
+ var ownIndex = -1,
1532
+ ownProps = objectTypes[typeof iterable] && keys(iterable),
1533
+ length = ownProps ? ownProps.length : 0;
1872
1534
 
1873
- return this;
1535
+ while (++ownIndex < length) {
1536
+ index = ownProps[ownIndex];
1537
+ if (callback(iterable[index], index, collection) === false) return result;
1538
+ }
1539
+ return result
1874
1540
  };
1875
1541
 
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');
1542
+ module.exports = forOwn;
1543
+
1544
+
1545
+ /***/ },
1546
+ /* 14 */
1547
+ /***/ function(module, exports, __webpack_require__) {
1548
+
1549
+ /**
1550
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1551
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1552
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1553
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1554
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1555
+ * Available under MIT license <http://lodash.com/license>
1556
+ */
1557
+ var isNative = __webpack_require__(29),
1558
+ isObject = __webpack_require__(22),
1559
+ shimKeys = __webpack_require__(30);
1882
1560
 
1883
- if (!this._events || !this._events[type])
1884
- return this;
1561
+ /* Native method shortcuts for methods with the same name as other `lodash` methods */
1562
+ var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
1885
1563
 
1886
- list = this._events[type];
1887
- length = list.length;
1888
- position = -1;
1564
+ /**
1565
+ * Creates an array composed of the own enumerable property names of an object.
1566
+ *
1567
+ * @static
1568
+ * @memberOf _
1569
+ * @category Objects
1570
+ * @param {Object} object The object to inspect.
1571
+ * @returns {Array} Returns an array of property names.
1572
+ * @example
1573
+ *
1574
+ * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
1575
+ * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
1576
+ */
1577
+ var keys = !nativeKeys ? shimKeys : function(object) {
1578
+ if (!isObject(object)) {
1579
+ return [];
1580
+ }
1581
+ return nativeKeys(object);
1582
+ };
1889
1583
 
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);
1584
+ module.exports = keys;
1585
+
1586
+
1587
+ /***/ },
1588
+ /* 15 */
1589
+ /***/ function(module, exports, __webpack_require__) {
1590
+
1591
+ /**
1592
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1593
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1594
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1595
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1596
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1597
+ * Available under MIT license <http://lodash.com/license>
1598
+ */
1599
+ var createCallback = __webpack_require__(39),
1600
+ forOwn = __webpack_require__(13);
1895
1601
 
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
- }
1602
+ /**
1603
+ * This method is like `_.findIndex` except that it returns the key of the
1604
+ * first element that passes the callback check, instead of the element itself.
1605
+ *
1606
+ * If a property name is provided for `callback` the created "_.pluck" style
1607
+ * callback will return the property value of the given element.
1608
+ *
1609
+ * If an object is provided for `callback` the created "_.where" style callback
1610
+ * will return `true` for elements that have the properties of the given object,
1611
+ * else `false`.
1612
+ *
1613
+ * @static
1614
+ * @memberOf _
1615
+ * @category Objects
1616
+ * @param {Object} object The object to search.
1617
+ * @param {Function|Object|string} [callback=identity] The function called per
1618
+ * iteration. If a property name or object is provided it will be used to
1619
+ * create a "_.pluck" or "_.where" style callback, respectively.
1620
+ * @param {*} [thisArg] The `this` binding of `callback`.
1621
+ * @returns {string|undefined} Returns the key of the found element, else `undefined`.
1622
+ * @example
1623
+ *
1624
+ * var characters = {
1625
+ * 'barney': { 'age': 36, 'blocked': false },
1626
+ * 'fred': { 'age': 40, 'blocked': true },
1627
+ * 'pebbles': { 'age': 1, 'blocked': false }
1628
+ * };
1629
+ *
1630
+ * _.findKey(characters, function(chr) {
1631
+ * return chr.age < 40;
1632
+ * });
1633
+ * // => 'barney' (property order is not guaranteed across environments)
1634
+ *
1635
+ * // using "_.where" callback shorthand
1636
+ * _.findKey(characters, { 'age': 1 });
1637
+ * // => 'pebbles'
1638
+ *
1639
+ * // using "_.pluck" callback shorthand
1640
+ * _.findKey(characters, 'blocked');
1641
+ * // => 'fred'
1642
+ */
1643
+ function findKey(object, callback, thisArg) {
1644
+ var result;
1645
+ callback = createCallback(callback, thisArg, 3);
1646
+ forOwn(object, function(value, key, object) {
1647
+ if (callback(value, key, object)) {
1648
+ result = key;
1649
+ return false;
1903
1650
  }
1651
+ });
1652
+ return result;
1653
+ }
1904
1654
 
1905
- if (position < 0)
1906
- return this;
1655
+ module.exports = findKey;
1656
+
1657
+
1658
+ /***/ },
1659
+ /* 16 */
1660
+ /***/ function(module, exports, __webpack_require__) {
1661
+
1662
+ /**
1663
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1664
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1665
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1666
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1667
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1668
+ * Available under MIT license <http://lodash.com/license>
1669
+ */
1670
+ var baseIndexOf = __webpack_require__(31),
1671
+ cacheIndexOf = __webpack_require__(32),
1672
+ createCache = __webpack_require__(33),
1673
+ getArray = __webpack_require__(34),
1674
+ isArguments = __webpack_require__(23),
1675
+ isArray = __webpack_require__(24),
1676
+ largeArraySize = __webpack_require__(35),
1677
+ releaseArray = __webpack_require__(36),
1678
+ releaseObject = __webpack_require__(37);
1907
1679
 
1908
- if (list.length === 1) {
1909
- list.length = 0;
1910
- delete this._events[type];
1911
- } else {
1912
- list.splice(position, 1);
1680
+ /**
1681
+ * Creates an array of unique values present in all provided arrays using
1682
+ * strict equality for comparisons, i.e. `===`.
1683
+ *
1684
+ * @static
1685
+ * @memberOf _
1686
+ * @category Arrays
1687
+ * @param {...Array} [array] The arrays to inspect.
1688
+ * @returns {Array} Returns an array of shared values.
1689
+ * @example
1690
+ *
1691
+ * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
1692
+ * // => [1, 2]
1693
+ */
1694
+ function intersection() {
1695
+ var args = [],
1696
+ argsIndex = -1,
1697
+ argsLength = arguments.length,
1698
+ caches = getArray(),
1699
+ indexOf = baseIndexOf,
1700
+ trustIndexOf = indexOf === baseIndexOf,
1701
+ seen = getArray();
1702
+
1703
+ while (++argsIndex < argsLength) {
1704
+ var value = arguments[argsIndex];
1705
+ if (isArray(value) || isArguments(value)) {
1706
+ args.push(value);
1707
+ caches.push(trustIndexOf && value.length >= largeArraySize &&
1708
+ createCache(argsIndex ? args[argsIndex] : seen));
1913
1709
  }
1914
-
1915
- if (this._events.removeListener)
1916
- this.emit('removeListener', type, listener);
1917
1710
  }
1711
+ var array = args[0],
1712
+ index = -1,
1713
+ length = array ? array.length : 0,
1714
+ result = [];
1918
1715
 
1919
- return this;
1920
- };
1716
+ outer:
1717
+ while (++index < length) {
1718
+ var cache = caches[0];
1719
+ value = array[index];
1921
1720
 
1922
- EventEmitter.prototype.removeAllListeners = function(type) {
1923
- var key, listeners;
1721
+ if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
1722
+ argsIndex = argsLength;
1723
+ (cache || seen).push(value);
1724
+ while (--argsIndex) {
1725
+ cache = caches[argsIndex];
1726
+ if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
1727
+ continue outer;
1728
+ }
1729
+ }
1730
+ result.push(value);
1731
+ }
1732
+ }
1733
+ while (argsLength--) {
1734
+ cache = caches[argsLength];
1735
+ if (cache) {
1736
+ releaseObject(cache);
1737
+ }
1738
+ }
1739
+ releaseArray(caches);
1740
+ releaseArray(seen);
1741
+ return result;
1742
+ }
1924
1743
 
1925
- if (!this._events)
1926
- return this;
1744
+ module.exports = intersection;
1745
+
1746
+
1747
+ /***/ },
1748
+ /* 17 */
1749
+ /***/ function(module, exports, __webpack_require__) {
1750
+
1751
+ /**
1752
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1753
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1754
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1755
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1756
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1757
+ * Available under MIT license <http://lodash.com/license>
1758
+ */
1759
+ var baseUniq = __webpack_require__(38),
1760
+ createCallback = __webpack_require__(39);
1927
1761
 
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;
1762
+ /**
1763
+ * Creates a duplicate-value-free version of an array using strict equality
1764
+ * for comparisons, i.e. `===`. If the array is sorted, providing
1765
+ * `true` for `isSorted` will use a faster algorithm. If a callback is provided
1766
+ * each element of `array` is passed through the callback before uniqueness
1767
+ * is computed. The callback is bound to `thisArg` and invoked with three
1768
+ * arguments; (value, index, array).
1769
+ *
1770
+ * If a property name is provided for `callback` the created "_.pluck" style
1771
+ * callback will return the property value of the given element.
1772
+ *
1773
+ * If an object is provided for `callback` the created "_.where" style callback
1774
+ * will return `true` for elements that have the properties of the given object,
1775
+ * else `false`.
1776
+ *
1777
+ * @static
1778
+ * @memberOf _
1779
+ * @alias unique
1780
+ * @category Arrays
1781
+ * @param {Array} array The array to process.
1782
+ * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
1783
+ * @param {Function|Object|string} [callback=identity] The function called
1784
+ * per iteration. If a property name or object is provided it will be used
1785
+ * to create a "_.pluck" or "_.where" style callback, respectively.
1786
+ * @param {*} [thisArg] The `this` binding of `callback`.
1787
+ * @returns {Array} Returns a duplicate-value-free array.
1788
+ * @example
1789
+ *
1790
+ * _.uniq([1, 2, 1, 3, 1]);
1791
+ * // => [1, 2, 3]
1792
+ *
1793
+ * _.uniq([1, 1, 2, 2, 3], true);
1794
+ * // => [1, 2, 3]
1795
+ *
1796
+ * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
1797
+ * // => ['A', 'b', 'C']
1798
+ *
1799
+ * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
1800
+ * // => [1, 2.5, 3]
1801
+ *
1802
+ * // using "_.pluck" callback shorthand
1803
+ * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
1804
+ * // => [{ 'x': 1 }, { 'x': 2 }]
1805
+ */
1806
+ function uniq(array, isSorted, callback, thisArg) {
1807
+ // juggle arguments
1808
+ if (typeof isSorted != 'boolean' && isSorted != null) {
1809
+ thisArg = callback;
1810
+ callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
1811
+ isSorted = false;
1935
1812
  }
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;
1813
+ if (callback != null) {
1814
+ callback = createCallback(callback, thisArg, 3);
1946
1815
  }
1816
+ return baseUniq(array, isSorted, callback);
1817
+ }
1947
1818
 
1948
- listeners = this._events[type];
1819
+ module.exports = uniq;
1820
+
1821
+
1822
+ /***/ },
1823
+ /* 18 */
1824
+ /***/ function(module, exports, __webpack_require__) {
1825
+
1826
+ /**
1827
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1828
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1829
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1830
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1831
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1832
+ * Available under MIT license <http://lodash.com/license>
1833
+ */
1834
+ var createCallback = __webpack_require__(39),
1835
+ forOwn = __webpack_require__(13);
1949
1836
 
1950
- if (isFunction(listeners)) {
1951
- this.removeListener(type, listeners);
1837
+ /**
1838
+ * Creates an array of values by running each element in the collection
1839
+ * through the callback. The callback is bound to `thisArg` and invoked with
1840
+ * three arguments; (value, index|key, collection).
1841
+ *
1842
+ * If a property name is provided for `callback` the created "_.pluck" style
1843
+ * callback will return the property value of the given element.
1844
+ *
1845
+ * If an object is provided for `callback` the created "_.where" style callback
1846
+ * will return `true` for elements that have the properties of the given object,
1847
+ * else `false`.
1848
+ *
1849
+ * @static
1850
+ * @memberOf _
1851
+ * @alias collect
1852
+ * @category Collections
1853
+ * @param {Array|Object|string} collection The collection to iterate over.
1854
+ * @param {Function|Object|string} [callback=identity] The function called
1855
+ * per iteration. If a property name or object is provided it will be used
1856
+ * to create a "_.pluck" or "_.where" style callback, respectively.
1857
+ * @param {*} [thisArg] The `this` binding of `callback`.
1858
+ * @returns {Array} Returns a new array of the results of each `callback` execution.
1859
+ * @example
1860
+ *
1861
+ * _.map([1, 2, 3], function(num) { return num * 3; });
1862
+ * // => [3, 6, 9]
1863
+ *
1864
+ * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
1865
+ * // => [3, 6, 9] (property order is not guaranteed across environments)
1866
+ *
1867
+ * var characters = [
1868
+ * { 'name': 'barney', 'age': 36 },
1869
+ * { 'name': 'fred', 'age': 40 }
1870
+ * ];
1871
+ *
1872
+ * // using "_.pluck" callback shorthand
1873
+ * _.map(characters, 'name');
1874
+ * // => ['barney', 'fred']
1875
+ */
1876
+ function map(collection, callback, thisArg) {
1877
+ var index = -1,
1878
+ length = collection ? collection.length : 0;
1879
+
1880
+ callback = createCallback(callback, thisArg, 3);
1881
+ if (typeof length == 'number') {
1882
+ var result = Array(length);
1883
+ while (++index < length) {
1884
+ result[index] = callback(collection[index], index, collection);
1885
+ }
1952
1886
  } else {
1953
- // LIFO order
1954
- while (listeners.length)
1955
- this.removeListener(type, listeners[listeners.length - 1]);
1887
+ result = [];
1888
+ forOwn(collection, function(value, key, collection) {
1889
+ result[++index] = callback(value, key, collection);
1890
+ });
1956
1891
  }
1957
- delete this._events[type];
1958
-
1959
- return this;
1960
- };
1892
+ return result;
1893
+ }
1961
1894
 
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
- };
1895
+ module.exports = map;
1896
+
1897
+
1898
+ /***/ },
1899
+ /* 19 */
1900
+ /***/ function(module, exports, __webpack_require__) {
1901
+
1902
+ /**
1903
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1904
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1905
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1906
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1907
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1908
+ * Available under MIT license <http://lodash.com/license>
1909
+ */
1910
+ var baseCreateCallback = __webpack_require__(27),
1911
+ forOwn = __webpack_require__(13);
1972
1912
 
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
- };
1913
+ /**
1914
+ * Iterates over elements of a collection, executing the callback for each
1915
+ * element. The callback is bound to `thisArg` and invoked with three arguments;
1916
+ * (value, index|key, collection). Callbacks may exit iteration early by
1917
+ * explicitly returning `false`.
1918
+ *
1919
+ * Note: As with other "Collections" methods, objects with a `length` property
1920
+ * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
1921
+ * may be used for object iteration.
1922
+ *
1923
+ * @static
1924
+ * @memberOf _
1925
+ * @alias each
1926
+ * @category Collections
1927
+ * @param {Array|Object|string} collection The collection to iterate over.
1928
+ * @param {Function} [callback=identity] The function called per iteration.
1929
+ * @param {*} [thisArg] The `this` binding of `callback`.
1930
+ * @returns {Array|Object|string} Returns `collection`.
1931
+ * @example
1932
+ *
1933
+ * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
1934
+ * // => logs each number and returns '1,2,3'
1935
+ *
1936
+ * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
1937
+ * // => logs each number and returns the object (property order is not guaranteed across environments)
1938
+ */
1939
+ function forEach(collection, callback, thisArg) {
1940
+ var index = -1,
1941
+ length = collection ? collection.length : 0;
1983
1942
 
1984
- function isFunction(arg) {
1985
- return typeof arg === 'function';
1943
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1944
+ if (typeof length == 'number') {
1945
+ while (++index < length) {
1946
+ if (callback(collection[index], index, collection) === false) {
1947
+ break;
1948
+ }
1949
+ }
1950
+ } else {
1951
+ forOwn(collection, callback);
1952
+ }
1953
+ return collection;
1986
1954
  }
1987
1955
 
1988
- function isNumber(arg) {
1989
- return typeof arg === 'number';
1990
- }
1956
+ module.exports = forEach;
1957
+
1958
+
1959
+ /***/ },
1960
+ /* 20 */
1961
+ /***/ function(module, exports, __webpack_require__) {
1962
+
1963
+ /**
1964
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1965
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1966
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1967
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1968
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1969
+ * Available under MIT license <http://lodash.com/license>
1970
+ */
1971
+ var keys = __webpack_require__(14);
1991
1972
 
1992
- function isObject(arg) {
1993
- return typeof arg === 'object' && arg !== null;
1973
+ /**
1974
+ * Gets the size of the `collection` by returning `collection.length` for arrays
1975
+ * and array-like objects or the number of own enumerable properties for objects.
1976
+ *
1977
+ * @static
1978
+ * @memberOf _
1979
+ * @category Collections
1980
+ * @param {Array|Object|string} collection The collection to inspect.
1981
+ * @returns {number} Returns `collection.length` or number of own enumerable properties.
1982
+ * @example
1983
+ *
1984
+ * _.size([1, 2]);
1985
+ * // => 2
1986
+ *
1987
+ * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1988
+ * // => 3
1989
+ *
1990
+ * _.size('pebbles');
1991
+ * // => 7
1992
+ */
1993
+ function size(collection) {
1994
+ var length = collection ? collection.length : 0;
1995
+ return typeof length == 'number' ? length : keys(collection).length;
1994
1996
  }
1995
1997
 
1996
- function isUndefined(arg) {
1997
- return arg === void 0;
1998
- }
1998
+ module.exports = size;
1999
1999
 
2000
2000
 
2001
2001
  /***/ },
@@ -2230,8 +2230,8 @@ return /******/ (function(modules) { // webpackBootstrap
2230
2230
  * Available under MIT license <http://lodash.com/license>
2231
2231
  */
2232
2232
  var assign = __webpack_require__(41),
2233
- forEach = __webpack_require__(18),
2234
- forOwn = __webpack_require__(12),
2233
+ forEach = __webpack_require__(19),
2234
+ forOwn = __webpack_require__(13),
2235
2235
  getArray = __webpack_require__(34),
2236
2236
  isArray = __webpack_require__(24),
2237
2237
  isObject = __webpack_require__(22),
@@ -2388,7 +2388,7 @@ return /******/ (function(modules) { // webpackBootstrap
2388
2388
  * Available under MIT license <http://lodash.com/license>
2389
2389
  */
2390
2390
  var bind = __webpack_require__(43),
2391
- identity = __webpack_require__(53),
2391
+ identity = __webpack_require__(51),
2392
2392
  setBindData = __webpack_require__(44),
2393
2393
  support = __webpack_require__(45);
2394
2394
 
@@ -2666,8 +2666,8 @@ return /******/ (function(modules) { // webpackBootstrap
2666
2666
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2667
2667
  * Available under MIT license <http://lodash.com/license>
2668
2668
  */
2669
- var cachePush = __webpack_require__(47),
2670
- getObject = __webpack_require__(48),
2669
+ var cachePush = __webpack_require__(49),
2670
+ getObject = __webpack_require__(50),
2671
2671
  releaseObject = __webpack_require__(37);
2672
2672
 
2673
2673
  /**
@@ -2717,7 +2717,7 @@ return /******/ (function(modules) { // webpackBootstrap
2717
2717
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2718
2718
  * Available under MIT license <http://lodash.com/license>
2719
2719
  */
2720
- var arrayPool = __webpack_require__(49);
2720
+ var arrayPool = __webpack_require__(47);
2721
2721
 
2722
2722
  /**
2723
2723
  * Gets an array from the array pool or creates a new one if the pool is empty.
@@ -2763,8 +2763,8 @@ return /******/ (function(modules) { // webpackBootstrap
2763
2763
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2764
2764
  * Available under MIT license <http://lodash.com/license>
2765
2765
  */
2766
- var arrayPool = __webpack_require__(49),
2767
- maxPoolSize = __webpack_require__(50);
2766
+ var arrayPool = __webpack_require__(47),
2767
+ maxPoolSize = __webpack_require__(48);
2768
2768
 
2769
2769
  /**
2770
2770
  * Releases the given array back to the array pool.
@@ -2794,8 +2794,8 @@ return /******/ (function(modules) { // webpackBootstrap
2794
2794
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2795
2795
  * Available under MIT license <http://lodash.com/license>
2796
2796
  */
2797
- var maxPoolSize = __webpack_require__(50),
2798
- objectPool = __webpack_require__(51);
2797
+ var maxPoolSize = __webpack_require__(48),
2798
+ objectPool = __webpack_require__(52);
2799
2799
 
2800
2800
  /**
2801
2801
  * Releases the given object back to the object pool.
@@ -2900,9 +2900,9 @@ return /******/ (function(modules) { // webpackBootstrap
2900
2900
  * Available under MIT license <http://lodash.com/license>
2901
2901
  */
2902
2902
  var baseCreateCallback = __webpack_require__(27),
2903
- baseIsEqual = __webpack_require__(52),
2903
+ baseIsEqual = __webpack_require__(53),
2904
2904
  isObject = __webpack_require__(22),
2905
- keys = __webpack_require__(13),
2905
+ keys = __webpack_require__(14),
2906
2906
  property = __webpack_require__(54);
2907
2907
 
2908
2908
  /**
@@ -3016,7 +3016,7 @@ return /******/ (function(modules) { // webpackBootstrap
3016
3016
  * Available under MIT license <http://lodash.com/license>
3017
3017
  */
3018
3018
  var baseCreateCallback = __webpack_require__(27),
3019
- keys = __webpack_require__(13),
3019
+ keys = __webpack_require__(14),
3020
3020
  objectTypes = __webpack_require__(28);
3021
3021
 
3022
3022
  /**
@@ -3135,7 +3135,7 @@ return /******/ (function(modules) { // webpackBootstrap
3135
3135
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3136
3136
  * Available under MIT license <http://lodash.com/license>
3137
3137
  */
3138
- var createWrapper = __webpack_require__(55),
3138
+ var createWrapper = __webpack_require__(56),
3139
3139
  slice = __webpack_require__(42);
3140
3140
 
3141
3141
  /**
@@ -3182,7 +3182,7 @@ return /******/ (function(modules) { // webpackBootstrap
3182
3182
  * Available under MIT license <http://lodash.com/license>
3183
3183
  */
3184
3184
  var isNative = __webpack_require__(29),
3185
- noop = __webpack_require__(56);
3185
+ noop = __webpack_require__(55);
3186
3186
 
3187
3187
  /** Used as the property descriptor for `__bindData__` */
3188
3188
  var descriptor = {
@@ -3286,6 +3286,44 @@ return /******/ (function(modules) { // webpackBootstrap
3286
3286
 
3287
3287
  /***/ },
3288
3288
  /* 47 */
3289
+ /***/ function(module, exports, __webpack_require__) {
3290
+
3291
+ /**
3292
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3293
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
3294
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3295
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3296
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3297
+ * Available under MIT license <http://lodash.com/license>
3298
+ */
3299
+
3300
+ /** Used to pool arrays and objects used internally */
3301
+ var arrayPool = [];
3302
+
3303
+ module.exports = arrayPool;
3304
+
3305
+
3306
+ /***/ },
3307
+ /* 48 */
3308
+ /***/ function(module, exports, __webpack_require__) {
3309
+
3310
+ /**
3311
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3312
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
3313
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3314
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3315
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3316
+ * Available under MIT license <http://lodash.com/license>
3317
+ */
3318
+
3319
+ /** Used as the max size of the `arrayPool` and `objectPool` */
3320
+ var maxPoolSize = 40;
3321
+
3322
+ module.exports = maxPoolSize;
3323
+
3324
+
3325
+ /***/ },
3326
+ /* 49 */
3289
3327
  /***/ function(module, exports, __webpack_require__) {
3290
3328
 
3291
3329
  /**
@@ -3329,7 +3367,7 @@ return /******/ (function(modules) { // webpackBootstrap
3329
3367
 
3330
3368
 
3331
3369
  /***/ },
3332
- /* 48 */
3370
+ /* 50 */
3333
3371
  /***/ function(module, exports, __webpack_require__) {
3334
3372
 
3335
3373
  /**
@@ -3340,7 +3378,7 @@ return /******/ (function(modules) { // webpackBootstrap
3340
3378
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3341
3379
  * Available under MIT license <http://lodash.com/license>
3342
3380
  */
3343
- var objectPool = __webpack_require__(51);
3381
+ var objectPool = __webpack_require__(52);
3344
3382
 
3345
3383
  /**
3346
3384
  * Gets an object from the object pool or creates a new one if the pool is empty.
@@ -3370,7 +3408,7 @@ return /******/ (function(modules) { // webpackBootstrap
3370
3408
 
3371
3409
 
3372
3410
  /***/ },
3373
- /* 49 */
3411
+ /* 51 */
3374
3412
  /***/ function(module, exports, __webpack_require__) {
3375
3413
 
3376
3414
  /**
@@ -3382,33 +3420,29 @@ return /******/ (function(modules) { // webpackBootstrap
3382
3420
  * Available under MIT license <http://lodash.com/license>
3383
3421
  */
3384
3422
 
3385
- /** Used to pool arrays and objects used internally */
3386
- var arrayPool = [];
3387
-
3388
- module.exports = arrayPool;
3389
-
3390
-
3391
- /***/ },
3392
- /* 50 */
3393
- /***/ function(module, exports, __webpack_require__) {
3394
-
3395
3423
  /**
3396
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3397
- * Build: `lodash modularize modern exports="node" -o ./modern/`
3398
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3399
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3400
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3401
- * Available under MIT license <http://lodash.com/license>
3424
+ * This method returns the first argument provided to it.
3425
+ *
3426
+ * @static
3427
+ * @memberOf _
3428
+ * @category Utilities
3429
+ * @param {*} value Any value.
3430
+ * @returns {*} Returns `value`.
3431
+ * @example
3432
+ *
3433
+ * var object = { 'name': 'fred' };
3434
+ * _.identity(object) === object;
3435
+ * // => true
3402
3436
  */
3437
+ function identity(value) {
3438
+ return value;
3439
+ }
3403
3440
 
3404
- /** Used as the max size of the `arrayPool` and `objectPool` */
3405
- var maxPoolSize = 40;
3406
-
3407
- module.exports = maxPoolSize;
3441
+ module.exports = identity;
3408
3442
 
3409
3443
 
3410
3444
  /***/ },
3411
- /* 51 */
3445
+ /* 52 */
3412
3446
  /***/ function(module, exports, __webpack_require__) {
3413
3447
 
3414
3448
  /**
@@ -3427,7 +3461,7 @@ return /******/ (function(modules) { // webpackBootstrap
3427
3461
 
3428
3462
 
3429
3463
  /***/ },
3430
- /* 52 */
3464
+ /* 53 */
3431
3465
  /***/ function(module, exports, __webpack_require__) {
3432
3466
 
3433
3467
  /**
@@ -3642,7 +3676,7 @@ return /******/ (function(modules) { // webpackBootstrap
3642
3676
 
3643
3677
 
3644
3678
  /***/ },
3645
- /* 53 */
3679
+ /* 54 */
3646
3680
  /***/ function(module, exports, __webpack_require__) {
3647
3681
 
3648
3682
  /**
@@ -3655,28 +3689,40 @@ return /******/ (function(modules) { // webpackBootstrap
3655
3689
  */
3656
3690
 
3657
3691
  /**
3658
- * This method returns the first argument provided to it.
3692
+ * Creates a "_.pluck" style function, which returns the `key` value of a
3693
+ * given object.
3659
3694
  *
3660
3695
  * @static
3661
3696
  * @memberOf _
3662
3697
  * @category Utilities
3663
- * @param {*} value Any value.
3664
- * @returns {*} Returns `value`.
3698
+ * @param {string} key The name of the property to retrieve.
3699
+ * @returns {Function} Returns the new function.
3665
3700
  * @example
3666
3701
  *
3667
- * var object = { 'name': 'fred' };
3668
- * _.identity(object) === object;
3669
- * // => true
3702
+ * var characters = [
3703
+ * { 'name': 'fred', 'age': 40 },
3704
+ * { 'name': 'barney', 'age': 36 }
3705
+ * ];
3706
+ *
3707
+ * var getName = _.property('name');
3708
+ *
3709
+ * _.map(characters, getName);
3710
+ * // => ['barney', 'fred']
3711
+ *
3712
+ * _.sortBy(characters, getName);
3713
+ * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]
3670
3714
  */
3671
- function identity(value) {
3672
- return value;
3715
+ function property(key) {
3716
+ return function(object) {
3717
+ return object[key];
3718
+ };
3673
3719
  }
3674
3720
 
3675
- module.exports = identity;
3721
+ module.exports = property;
3676
3722
 
3677
3723
 
3678
3724
  /***/ },
3679
- /* 54 */
3725
+ /* 55 */
3680
3726
  /***/ function(module, exports, __webpack_require__) {
3681
3727
 
3682
3728
  /**
@@ -3689,40 +3735,26 @@ return /******/ (function(modules) { // webpackBootstrap
3689
3735
  */
3690
3736
 
3691
3737
  /**
3692
- * Creates a "_.pluck" style function, which returns the `key` value of a
3693
- * given object.
3738
+ * A no-operation function.
3694
3739
  *
3695
3740
  * @static
3696
3741
  * @memberOf _
3697
3742
  * @category Utilities
3698
- * @param {string} key The name of the property to retrieve.
3699
- * @returns {Function} Returns the new function.
3700
3743
  * @example
3701
3744
  *
3702
- * var characters = [
3703
- * { 'name': 'fred', 'age': 40 },
3704
- * { 'name': 'barney', 'age': 36 }
3705
- * ];
3706
- *
3707
- * var getName = _.property('name');
3708
- *
3709
- * _.map(characters, getName);
3710
- * // => ['barney', 'fred']
3711
- *
3712
- * _.sortBy(characters, getName);
3713
- * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }]
3745
+ * var object = { 'name': 'fred' };
3746
+ * _.noop(object) === undefined;
3747
+ * // => true
3714
3748
  */
3715
- function property(key) {
3716
- return function(object) {
3717
- return object[key];
3718
- };
3749
+ function noop() {
3750
+ // no operation performed
3719
3751
  }
3720
3752
 
3721
- module.exports = property;
3753
+ module.exports = noop;
3722
3754
 
3723
3755
 
3724
3756
  /***/ },
3725
- /* 55 */
3757
+ /* 56 */
3726
3758
  /***/ function(module, exports, __webpack_require__) {
3727
3759
 
3728
3760
  /**
@@ -3833,38 +3865,6 @@ return /******/ (function(modules) { // webpackBootstrap
3833
3865
  module.exports = createWrapper;
3834
3866
 
3835
3867
 
3836
- /***/ },
3837
- /* 56 */
3838
- /***/ function(module, exports, __webpack_require__) {
3839
-
3840
- /**
3841
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3842
- * Build: `lodash modularize modern exports="node" -o ./modern/`
3843
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3844
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3845
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3846
- * Available under MIT license <http://lodash.com/license>
3847
- */
3848
-
3849
- /**
3850
- * A no-operation function.
3851
- *
3852
- * @static
3853
- * @memberOf _
3854
- * @category Utilities
3855
- * @example
3856
- *
3857
- * var object = { 'name': 'fred' };
3858
- * _.noop(object) === undefined;
3859
- * // => true
3860
- */
3861
- function noop() {
3862
- // no operation performed
3863
- }
3864
-
3865
- module.exports = noop;
3866
-
3867
-
3868
3868
  /***/ },
3869
3869
  /* 57 */
3870
3870
  /***/ function(module, exports, __webpack_require__) {
@@ -4124,7 +4124,7 @@ return /******/ (function(modules) { // webpackBootstrap
4124
4124
  */
4125
4125
  var isNative = __webpack_require__(29),
4126
4126
  isObject = __webpack_require__(22),
4127
- noop = __webpack_require__(56);
4127
+ noop = __webpack_require__(55);
4128
4128
 
4129
4129
  /* Native method shortcuts for methods with the same name as other `lodash` methods */
4130
4130
  var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate;