fluxxor-rails 1.4.1 → 1.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fluxxor-rails/version.rb +1 -1
- data/test/dummy/log/test.log +5 -0
- data/test/dummy/tmp/cache/assets/C4E/EE0/sprockets%2F68de70436326426a3329c3b58b59b106 +0 -0
- data/test/dummy/tmp/cache/assets/DC6/C40/sprockets%2F2617ffa3fab6631cdff29bbf623e2d12 +0 -0
- data/test/dummy/tmp/cache/assets/DCC/260/sprockets%2F7c5104b0d6ae29c2ec84168e5cacf8fb +0 -0
- data/vendor/assets/javascripts/fluxxor.js +334 -417
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b6d32a893e4ec3097ec4d59f726bb692e950d89
|
4
|
+
data.tar.gz: a84d5308516767f364898bc4fab340805ff6bd78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d400b59589858b2ab674455bb81e4972af3cc37db68cface0c722719c19551fbf6e9b6bebe278c4f1f10ebe8ffda0b540d4a91bf79820a3f7d00338d41f2cac
|
7
|
+
data.tar.gz: d735cd3b449b51e1a19edfda23fc6280bb65528ae000ebcfec40f9b9d68a794a3f48709ee5f3b7c31b3af42b99e6637b1c8689c76182f458adef683c0cec2049
|
data/test/dummy/log/test.log
CHANGED
@@ -94,3 +94,8 @@ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:52:53 -0500
|
|
94
94
|
Served asset /fluxxor.js - 200 OK (2ms)
|
95
95
|
Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:52:53 -0500
|
96
96
|
Served asset /fluxxor.js - 200 OK (0ms)
|
97
|
+
Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:53:19 -0500
|
98
|
+
Compiled fluxxor.js (1ms) (pid 18880)
|
99
|
+
Served asset /fluxxor.js - 200 OK (7ms)
|
100
|
+
Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:53:19 -0500
|
101
|
+
Served asset /fluxxor.js - 200 OK (0ms)
|
Binary file
|
Binary file
|
Binary file
|
@@ -79,7 +79,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
79
79
|
/* 1 */
|
80
80
|
/***/ function(module, exports, __webpack_require__) {
|
81
81
|
|
82
|
-
module.exports = "1.4.
|
82
|
+
module.exports = "1.4.2"
|
83
83
|
|
84
84
|
/***/ },
|
85
85
|
/* 2 */
|
@@ -131,7 +131,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
131
131
|
};
|
132
132
|
|
133
133
|
Dispatcher.prototype.doDispatchLoop = function(action) {
|
134
|
-
var dispatch, canBeDispatchedTo,
|
134
|
+
var dispatch, canBeDispatchedTo, wasHandled = false,
|
135
135
|
removeFromDispatchQueue = [], dispatchedThisLoop = [];
|
136
136
|
|
137
137
|
_forOwn(this.waitingToDispatch, function(value, key) {
|
@@ -148,9 +148,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
148
148
|
dispatch.waitingOn = [];
|
149
149
|
dispatch.resolved = true;
|
150
150
|
fn.apply(null, stores);
|
151
|
+
wasHandled = true;
|
151
152
|
} else {
|
152
153
|
dispatch.resolved = true;
|
153
|
-
this.stores[key].__handleAction__(action);
|
154
|
+
var handled = this.stores[key].__handleAction__(action);
|
155
|
+
if (handled) {
|
156
|
+
wasHandled = true;
|
157
|
+
}
|
154
158
|
}
|
155
159
|
|
156
160
|
dispatchedThisLoop.push(key);
|
@@ -173,6 +177,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
173
177
|
if (_size(this.waitingToDispatch)) {
|
174
178
|
this.doDispatchLoop(action);
|
175
179
|
}
|
180
|
+
|
181
|
+
if (!wasHandled && console && console.warn) {
|
182
|
+
console.warn("An action of type " + action.type + " was dispatched, but no store handled it");
|
183
|
+
}
|
184
|
+
|
176
185
|
};
|
177
186
|
|
178
187
|
Dispatcher.prototype.waitForStores = function(store, stores, fn) {
|
@@ -411,7 +420,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
411
420
|
/* 8 */
|
412
421
|
/***/ function(module, exports, __webpack_require__) {
|
413
422
|
|
414
|
-
var EventEmitter = __webpack_require__(20)
|
423
|
+
var EventEmitter = __webpack_require__(20),
|
415
424
|
inherits = __webpack_require__(9);
|
416
425
|
|
417
426
|
function Store(dispatcher) {
|
@@ -430,6 +439,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
430
439
|
} else if (handler && typeof this[handler] === "function") {
|
431
440
|
this[handler].call(this, action.payload, action.type);
|
432
441
|
}
|
442
|
+
return true;
|
443
|
+
} else {
|
444
|
+
return false;
|
433
445
|
}
|
434
446
|
};
|
435
447
|
|
@@ -443,6 +455,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
443
455
|
var type = actions[i],
|
444
456
|
handler = actions[i+1];
|
445
457
|
|
458
|
+
if (!type) {
|
459
|
+
throw new Error("Argument " + (i+1) + " to bindActions is a falsy value");
|
460
|
+
}
|
461
|
+
|
446
462
|
this.__actions__[type] = handler;
|
447
463
|
}
|
448
464
|
};
|
@@ -1132,308 +1148,209 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1132
1148
|
/* 20 */
|
1133
1149
|
/***/ function(module, exports, __webpack_require__) {
|
1134
1150
|
|
1135
|
-
|
1136
|
-
|
1137
|
-
|
1138
|
-
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1149
|
-
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
1150
|
-
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
1151
|
-
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
1152
|
-
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
1153
|
-
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
1154
|
-
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1155
|
-
|
1156
|
-
function EventEmitter() {
|
1157
|
-
this._events = this._events || {};
|
1158
|
-
this._maxListeners = this._maxListeners || undefined;
|
1151
|
+
'use strict';
|
1152
|
+
|
1153
|
+
/**
|
1154
|
+
* Representation of a single EventEmitter function.
|
1155
|
+
*
|
1156
|
+
* @param {Function} fn Event handler to be called.
|
1157
|
+
* @param {Mixed} context Context for function execution.
|
1158
|
+
* @param {Boolean} once Only emit once
|
1159
|
+
* @api private
|
1160
|
+
*/
|
1161
|
+
function EE(fn, context, once) {
|
1162
|
+
this.fn = fn;
|
1163
|
+
this.context = context;
|
1164
|
+
this.once = once || false;
|
1159
1165
|
}
|
1160
|
-
module.exports = EventEmitter;
|
1161
1166
|
|
1162
|
-
|
1163
|
-
|
1167
|
+
/**
|
1168
|
+
* Minimal EventEmitter interface that is molded against the Node.js
|
1169
|
+
* EventEmitter interface.
|
1170
|
+
*
|
1171
|
+
* @constructor
|
1172
|
+
* @api public
|
1173
|
+
*/
|
1174
|
+
function EventEmitter() { /* Nothing to set */ }
|
1164
1175
|
|
1176
|
+
/**
|
1177
|
+
* Holds the assigned EventEmitters by name.
|
1178
|
+
*
|
1179
|
+
* @type {Object}
|
1180
|
+
* @private
|
1181
|
+
*/
|
1165
1182
|
EventEmitter.prototype._events = undefined;
|
1166
|
-
EventEmitter.prototype._maxListeners = undefined;
|
1167
|
-
|
1168
|
-
// By default EventEmitters will print a warning if more than 10 listeners are
|
1169
|
-
// added to it. This is a useful default which helps finding memory leaks.
|
1170
|
-
EventEmitter.defaultMaxListeners = 10;
|
1171
|
-
|
1172
|
-
// Obviously not all Emitters should be limited to 10. This function allows
|
1173
|
-
// that to be increased. Set to zero for unlimited.
|
1174
|
-
EventEmitter.prototype.setMaxListeners = function(n) {
|
1175
|
-
if (!isNumber(n) || n < 0 || isNaN(n))
|
1176
|
-
throw TypeError('n must be a positive number');
|
1177
|
-
this._maxListeners = n;
|
1178
|
-
return this;
|
1179
|
-
};
|
1180
1183
|
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1184
|
+
/**
|
1185
|
+
* Return a list of assigned event listeners.
|
1186
|
+
*
|
1187
|
+
* @param {String} event The events that should be listed.
|
1188
|
+
* @returns {Array}
|
1189
|
+
* @api public
|
1190
|
+
*/
|
1191
|
+
EventEmitter.prototype.listeners = function listeners(event) {
|
1192
|
+
if (!this._events || !this._events[event]) return [];
|
1186
1193
|
|
1187
|
-
|
1188
|
-
|
1189
|
-
if (!this._events.error ||
|
1190
|
-
(isObject(this._events.error) && !this._events.error.length)) {
|
1191
|
-
er = arguments[1];
|
1192
|
-
if (er instanceof Error) {
|
1193
|
-
throw er; // Unhandled 'error' event
|
1194
|
-
} else {
|
1195
|
-
throw TypeError('Uncaught, unspecified "error" event.');
|
1196
|
-
}
|
1197
|
-
return false;
|
1198
|
-
}
|
1194
|
+
for (var i = 0, l = this._events[event].length, ee = []; i < l; i++) {
|
1195
|
+
ee.push(this._events[event][i].fn);
|
1199
1196
|
}
|
1200
1197
|
|
1201
|
-
|
1198
|
+
return ee;
|
1199
|
+
};
|
1202
1200
|
|
1203
|
-
|
1204
|
-
|
1201
|
+
/**
|
1202
|
+
* Emit an event to all registered event listeners.
|
1203
|
+
*
|
1204
|
+
* @param {String} event The name of the event.
|
1205
|
+
* @returns {Boolean} Indication if we've emitted an event.
|
1206
|
+
* @api public
|
1207
|
+
*/
|
1208
|
+
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
1209
|
+
if (!this._events || !this._events[event]) return false;
|
1205
1210
|
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
case 2:
|
1213
|
-
handler.call(this, arguments[1]);
|
1214
|
-
break;
|
1215
|
-
case 3:
|
1216
|
-
handler.call(this, arguments[1], arguments[2]);
|
1217
|
-
break;
|
1218
|
-
// slower
|
1219
|
-
default:
|
1220
|
-
len = arguments.length;
|
1221
|
-
args = new Array(len - 1);
|
1222
|
-
for (i = 1; i < len; i++)
|
1223
|
-
args[i - 1] = arguments[i];
|
1224
|
-
handler.apply(this, args);
|
1225
|
-
}
|
1226
|
-
} else if (isObject(handler)) {
|
1227
|
-
len = arguments.length;
|
1228
|
-
args = new Array(len - 1);
|
1229
|
-
for (i = 1; i < len; i++)
|
1230
|
-
args[i - 1] = arguments[i];
|
1211
|
+
var listeners = this._events[event]
|
1212
|
+
, length = listeners.length
|
1213
|
+
, len = arguments.length
|
1214
|
+
, ee = listeners[0]
|
1215
|
+
, args
|
1216
|
+
, i, j;
|
1231
1217
|
|
1232
|
-
|
1233
|
-
|
1234
|
-
for (i = 0; i < len; i++)
|
1235
|
-
listeners[i].apply(this, args);
|
1236
|
-
}
|
1218
|
+
if (1 === length) {
|
1219
|
+
if (ee.once) this.removeListener(event, ee.fn, true);
|
1237
1220
|
|
1238
|
-
|
1239
|
-
|
1221
|
+
switch (len) {
|
1222
|
+
case 1: return ee.fn.call(ee.context), true;
|
1223
|
+
case 2: return ee.fn.call(ee.context, a1), true;
|
1224
|
+
case 3: return ee.fn.call(ee.context, a1, a2), true;
|
1225
|
+
case 4: return ee.fn.call(ee.context, a1, a2, a3), true;
|
1226
|
+
case 5: return ee.fn.call(ee.context, a1, a2, a3, a4), true;
|
1227
|
+
case 6: return ee.fn.call(ee.context, a1, a2, a3, a4, a5), true;
|
1228
|
+
}
|
1240
1229
|
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
if (!isFunction(listener))
|
1245
|
-
throw TypeError('listener must be a function');
|
1246
|
-
|
1247
|
-
if (!this._events)
|
1248
|
-
this._events = {};
|
1249
|
-
|
1250
|
-
// To avoid recursion in the case that type === "newListener"! Before
|
1251
|
-
// adding it to the listeners, first emit "newListener".
|
1252
|
-
if (this._events.newListener)
|
1253
|
-
this.emit('newListener', type,
|
1254
|
-
isFunction(listener.listener) ?
|
1255
|
-
listener.listener : listener);
|
1256
|
-
|
1257
|
-
if (!this._events[type])
|
1258
|
-
// Optimize the case of one listener. Don't need the extra array object.
|
1259
|
-
this._events[type] = listener;
|
1260
|
-
else if (isObject(this._events[type]))
|
1261
|
-
// If we've already got an array, just append.
|
1262
|
-
this._events[type].push(listener);
|
1263
|
-
else
|
1264
|
-
// Adding the second element, need to change to array.
|
1265
|
-
this._events[type] = [this._events[type], listener];
|
1266
|
-
|
1267
|
-
// Check for listener leak
|
1268
|
-
if (isObject(this._events[type]) && !this._events[type].warned) {
|
1269
|
-
var m;
|
1270
|
-
if (!isUndefined(this._maxListeners)) {
|
1271
|
-
m = this._maxListeners;
|
1272
|
-
} else {
|
1273
|
-
m = EventEmitter.defaultMaxListeners;
|
1230
|
+
for (i = 1, args = new Array(len -1); i < len; i++) {
|
1231
|
+
args[i - 1] = arguments[i];
|
1274
1232
|
}
|
1275
1233
|
|
1276
|
-
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
1234
|
+
ee.fn.apply(ee.context, args);
|
1235
|
+
} else {
|
1236
|
+
for (i = 0; i < length; i++) {
|
1237
|
+
if (listeners[i].once) this.removeListener(event, listeners[i].fn, true);
|
1238
|
+
|
1239
|
+
switch (len) {
|
1240
|
+
case 1: listeners[i].fn.call(listeners[i].context); break;
|
1241
|
+
case 2: listeners[i].fn.call(listeners[i].context, a1); break;
|
1242
|
+
case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
|
1243
|
+
default:
|
1244
|
+
if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
|
1245
|
+
args[j - 1] = arguments[j];
|
1246
|
+
}
|
1247
|
+
|
1248
|
+
listeners[i].fn.apply(listeners[i].context, args);
|
1285
1249
|
}
|
1286
1250
|
}
|
1287
1251
|
}
|
1288
1252
|
|
1289
|
-
return
|
1253
|
+
return true;
|
1290
1254
|
};
|
1291
1255
|
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
|
1298
|
-
|
1299
|
-
|
1300
|
-
|
1301
|
-
|
1302
|
-
|
1303
|
-
|
1304
|
-
fired = true;
|
1305
|
-
listener.apply(this, arguments);
|
1306
|
-
}
|
1307
|
-
}
|
1308
|
-
|
1309
|
-
g.listener = listener;
|
1310
|
-
this.on(type, g);
|
1256
|
+
/**
|
1257
|
+
* Register a new EventListener for the given event.
|
1258
|
+
*
|
1259
|
+
* @param {String} event Name of the event.
|
1260
|
+
* @param {Functon} fn Callback function.
|
1261
|
+
* @param {Mixed} context The context of the function.
|
1262
|
+
* @api public
|
1263
|
+
*/
|
1264
|
+
EventEmitter.prototype.on = function on(event, fn, context) {
|
1265
|
+
if (!this._events) this._events = {};
|
1266
|
+
if (!this._events[event]) this._events[event] = [];
|
1267
|
+
this._events[event].push(new EE( fn, context || this ));
|
1311
1268
|
|
1312
1269
|
return this;
|
1313
1270
|
};
|
1314
1271
|
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
position = -1;
|
1328
|
-
|
1329
|
-
if (list === listener ||
|
1330
|
-
(isFunction(list.listener) && list.listener === listener)) {
|
1331
|
-
delete this._events[type];
|
1332
|
-
if (this._events.removeListener)
|
1333
|
-
this.emit('removeListener', type, listener);
|
1334
|
-
|
1335
|
-
} else if (isObject(list)) {
|
1336
|
-
for (i = length; i-- > 0;) {
|
1337
|
-
if (list[i] === listener ||
|
1338
|
-
(list[i].listener && list[i].listener === listener)) {
|
1339
|
-
position = i;
|
1340
|
-
break;
|
1341
|
-
}
|
1342
|
-
}
|
1343
|
-
|
1344
|
-
if (position < 0)
|
1345
|
-
return this;
|
1346
|
-
|
1347
|
-
if (list.length === 1) {
|
1348
|
-
list.length = 0;
|
1349
|
-
delete this._events[type];
|
1350
|
-
} else {
|
1351
|
-
list.splice(position, 1);
|
1352
|
-
}
|
1353
|
-
|
1354
|
-
if (this._events.removeListener)
|
1355
|
-
this.emit('removeListener', type, listener);
|
1356
|
-
}
|
1272
|
+
/**
|
1273
|
+
* Add an EventListener that's only called once.
|
1274
|
+
*
|
1275
|
+
* @param {String} event Name of the event.
|
1276
|
+
* @param {Function} fn Callback function.
|
1277
|
+
* @param {Mixed} context The context of the function.
|
1278
|
+
* @api public
|
1279
|
+
*/
|
1280
|
+
EventEmitter.prototype.once = function once(event, fn, context) {
|
1281
|
+
if (!this._events) this._events = {};
|
1282
|
+
if (!this._events[event]) this._events[event] = [];
|
1283
|
+
this._events[event].push(new EE(fn, context || this, true ));
|
1357
1284
|
|
1358
1285
|
return this;
|
1359
1286
|
};
|
1360
1287
|
|
1361
|
-
|
1362
|
-
|
1363
|
-
|
1364
|
-
|
1365
|
-
|
1288
|
+
/**
|
1289
|
+
* Remove event listeners.
|
1290
|
+
*
|
1291
|
+
* @param {String} event The event we want to remove.
|
1292
|
+
* @param {Function} fn The listener that we need to find.
|
1293
|
+
* @param {Boolean} once Only remove once listeners.
|
1294
|
+
* @api public
|
1295
|
+
*/
|
1296
|
+
EventEmitter.prototype.removeListener = function removeListener(event, fn, once) {
|
1297
|
+
if (!this._events || !this._events[event]) return this;
|
1366
1298
|
|
1367
|
-
|
1368
|
-
|
1369
|
-
if (arguments.length === 0)
|
1370
|
-
this._events = {};
|
1371
|
-
else if (this._events[type])
|
1372
|
-
delete this._events[type];
|
1373
|
-
return this;
|
1374
|
-
}
|
1299
|
+
var listeners = this._events[event]
|
1300
|
+
, events = [];
|
1375
1301
|
|
1376
|
-
|
1377
|
-
|
1378
|
-
|
1379
|
-
if (key === 'removeListener') continue;
|
1380
|
-
this.removeAllListeners(key);
|
1302
|
+
if (fn) for (var i = 0, length = listeners.length; i < length; i++) {
|
1303
|
+
if (listeners[i].fn !== fn && listeners[i].once !== once) {
|
1304
|
+
events.push(listeners[i]);
|
1381
1305
|
}
|
1382
|
-
this.removeAllListeners('removeListener');
|
1383
|
-
this._events = {};
|
1384
|
-
return this;
|
1385
1306
|
}
|
1386
1307
|
|
1387
|
-
|
1388
|
-
|
1389
|
-
|
1390
|
-
|
1391
|
-
|
1392
|
-
// LIFO order
|
1393
|
-
while (listeners.length)
|
1394
|
-
this.removeListener(type, listeners[listeners.length - 1]);
|
1395
|
-
}
|
1396
|
-
delete this._events[type];
|
1308
|
+
//
|
1309
|
+
// Reset the array, or remove it completely if we have no more listeners.
|
1310
|
+
//
|
1311
|
+
if (events.length) this._events[event] = events;
|
1312
|
+
else this._events[event] = null;
|
1397
1313
|
|
1398
1314
|
return this;
|
1399
1315
|
};
|
1400
1316
|
|
1401
|
-
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1405
|
-
|
1406
|
-
|
1407
|
-
|
1408
|
-
|
1409
|
-
|
1410
|
-
|
1317
|
+
/**
|
1318
|
+
* Remove all listeners or only the listeners for the specified event.
|
1319
|
+
*
|
1320
|
+
* @param {String} event The event want to remove all listeners for.
|
1321
|
+
* @api public
|
1322
|
+
*/
|
1323
|
+
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
|
1324
|
+
if (!this._events) return this;
|
1325
|
+
|
1326
|
+
if (event) this._events[event] = null;
|
1327
|
+
else this._events = {};
|
1411
1328
|
|
1412
|
-
|
1413
|
-
var ret;
|
1414
|
-
if (!emitter._events || !emitter._events[type])
|
1415
|
-
ret = 0;
|
1416
|
-
else if (isFunction(emitter._events[type]))
|
1417
|
-
ret = 1;
|
1418
|
-
else
|
1419
|
-
ret = emitter._events[type].length;
|
1420
|
-
return ret;
|
1329
|
+
return this;
|
1421
1330
|
};
|
1422
1331
|
|
1423
|
-
|
1424
|
-
|
1425
|
-
|
1332
|
+
//
|
1333
|
+
// Alias methods names because people roll like that.
|
1334
|
+
//
|
1335
|
+
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
1336
|
+
EventEmitter.prototype.addListener = EventEmitter.prototype.on;
|
1426
1337
|
|
1427
|
-
|
1428
|
-
|
1429
|
-
|
1338
|
+
//
|
1339
|
+
// This function doesn't apply anymore.
|
1340
|
+
//
|
1341
|
+
EventEmitter.prototype.setMaxListeners = function setMaxListeners() {
|
1342
|
+
return this;
|
1343
|
+
};
|
1430
1344
|
|
1431
|
-
|
1432
|
-
|
1433
|
-
|
1345
|
+
//
|
1346
|
+
// Expose the module.
|
1347
|
+
//
|
1348
|
+
EventEmitter.EventEmitter = EventEmitter;
|
1349
|
+
EventEmitter.EventEmitter2 = EventEmitter;
|
1350
|
+
EventEmitter.EventEmitter3 = EventEmitter;
|
1434
1351
|
|
1435
|
-
|
1436
|
-
|
1352
|
+
if ('object' === typeof module && module.exports) {
|
1353
|
+
module.exports = EventEmitter;
|
1437
1354
|
}
|
1438
1355
|
|
1439
1356
|
|
@@ -1591,14 +1508,14 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1591
1508
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1592
1509
|
* Available under MIT license <http://lodash.com/license>
|
1593
1510
|
*/
|
1594
|
-
var assign = __webpack_require__(
|
1511
|
+
var assign = __webpack_require__(41),
|
1595
1512
|
forEach = __webpack_require__(18),
|
1596
1513
|
forOwn = __webpack_require__(12),
|
1597
1514
|
getArray = __webpack_require__(32),
|
1598
1515
|
isArray = __webpack_require__(23),
|
1599
1516
|
isObject = __webpack_require__(21),
|
1600
1517
|
releaseArray = __webpack_require__(34),
|
1601
|
-
slice = __webpack_require__(
|
1518
|
+
slice = __webpack_require__(42);
|
1602
1519
|
|
1603
1520
|
/** Used to match regexp flags from their coerced string values */
|
1604
1521
|
var reFlags = /\w*$/;
|
@@ -1749,10 +1666,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
1749
1666
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
1750
1667
|
* Available under MIT license <http://lodash.com/license>
|
1751
1668
|
*/
|
1752
|
-
var bind = __webpack_require__(
|
1669
|
+
var bind = __webpack_require__(38),
|
1753
1670
|
identity = __webpack_require__(50),
|
1754
|
-
setBindData = __webpack_require__(
|
1755
|
-
support = __webpack_require__(
|
1671
|
+
setBindData = __webpack_require__(39),
|
1672
|
+
support = __webpack_require__(40);
|
1756
1673
|
|
1757
1674
|
/** Used to detected named functions */
|
1758
1675
|
var reFuncName = /^\s*function[ \n\r\t]+\w/;
|
@@ -2157,7 +2074,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2157
2074
|
* Available under MIT license <http://lodash.com/license>
|
2158
2075
|
*/
|
2159
2076
|
var maxPoolSize = __webpack_require__(47),
|
2160
|
-
objectPool = __webpack_require__(
|
2077
|
+
objectPool = __webpack_require__(49);
|
2161
2078
|
|
2162
2079
|
/**
|
2163
2080
|
* Releases the given object back to the object pool.
|
@@ -2262,7 +2179,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2262
2179
|
* Available under MIT license <http://lodash.com/license>
|
2263
2180
|
*/
|
2264
2181
|
var baseCreateCallback = __webpack_require__(25),
|
2265
|
-
baseIsEqual = __webpack_require__(
|
2182
|
+
baseIsEqual = __webpack_require__(48),
|
2266
2183
|
isObject = __webpack_require__(21),
|
2267
2184
|
keys = __webpack_require__(13),
|
2268
2185
|
property = __webpack_require__(51);
|
@@ -2338,126 +2255,6 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2338
2255
|
|
2339
2256
|
/***/ },
|
2340
2257
|
/* 38 */
|
2341
|
-
/***/ function(module, exports, __webpack_require__) {
|
2342
|
-
|
2343
|
-
/**
|
2344
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2345
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2346
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2347
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2348
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2349
|
-
* Available under MIT license <http://lodash.com/license>
|
2350
|
-
*/
|
2351
|
-
var baseCreateCallback = __webpack_require__(25),
|
2352
|
-
keys = __webpack_require__(13),
|
2353
|
-
objectTypes = __webpack_require__(26);
|
2354
|
-
|
2355
|
-
/**
|
2356
|
-
* Assigns own enumerable properties of source object(s) to the destination
|
2357
|
-
* object. Subsequent sources will overwrite property assignments of previous
|
2358
|
-
* sources. If a callback is provided it will be executed to produce the
|
2359
|
-
* assigned values. The callback is bound to `thisArg` and invoked with two
|
2360
|
-
* arguments; (objectValue, sourceValue).
|
2361
|
-
*
|
2362
|
-
* @static
|
2363
|
-
* @memberOf _
|
2364
|
-
* @type Function
|
2365
|
-
* @alias extend
|
2366
|
-
* @category Objects
|
2367
|
-
* @param {Object} object The destination object.
|
2368
|
-
* @param {...Object} [source] The source objects.
|
2369
|
-
* @param {Function} [callback] The function to customize assigning values.
|
2370
|
-
* @param {*} [thisArg] The `this` binding of `callback`.
|
2371
|
-
* @returns {Object} Returns the destination object.
|
2372
|
-
* @example
|
2373
|
-
*
|
2374
|
-
* _.assign({ 'name': 'fred' }, { 'employer': 'slate' });
|
2375
|
-
* // => { 'name': 'fred', 'employer': 'slate' }
|
2376
|
-
*
|
2377
|
-
* var defaults = _.partialRight(_.assign, function(a, b) {
|
2378
|
-
* return typeof a == 'undefined' ? b : a;
|
2379
|
-
* });
|
2380
|
-
*
|
2381
|
-
* var object = { 'name': 'barney' };
|
2382
|
-
* defaults(object, { 'name': 'fred', 'employer': 'slate' });
|
2383
|
-
* // => { 'name': 'barney', 'employer': 'slate' }
|
2384
|
-
*/
|
2385
|
-
var assign = function(object, source, guard) {
|
2386
|
-
var index, iterable = object, result = iterable;
|
2387
|
-
if (!iterable) return result;
|
2388
|
-
var args = arguments,
|
2389
|
-
argsIndex = 0,
|
2390
|
-
argsLength = typeof guard == 'number' ? 2 : args.length;
|
2391
|
-
if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {
|
2392
|
-
var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);
|
2393
|
-
} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {
|
2394
|
-
callback = args[--argsLength];
|
2395
|
-
}
|
2396
|
-
while (++argsIndex < argsLength) {
|
2397
|
-
iterable = args[argsIndex];
|
2398
|
-
if (iterable && objectTypes[typeof iterable]) {
|
2399
|
-
var ownIndex = -1,
|
2400
|
-
ownProps = objectTypes[typeof iterable] && keys(iterable),
|
2401
|
-
length = ownProps ? ownProps.length : 0;
|
2402
|
-
|
2403
|
-
while (++ownIndex < length) {
|
2404
|
-
index = ownProps[ownIndex];
|
2405
|
-
result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];
|
2406
|
-
}
|
2407
|
-
}
|
2408
|
-
}
|
2409
|
-
return result
|
2410
|
-
};
|
2411
|
-
|
2412
|
-
module.exports = assign;
|
2413
|
-
|
2414
|
-
|
2415
|
-
/***/ },
|
2416
|
-
/* 39 */
|
2417
|
-
/***/ function(module, exports, __webpack_require__) {
|
2418
|
-
|
2419
|
-
/**
|
2420
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2421
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2422
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2423
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2424
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2425
|
-
* Available under MIT license <http://lodash.com/license>
|
2426
|
-
*/
|
2427
|
-
|
2428
|
-
/**
|
2429
|
-
* Slices the `collection` from the `start` index up to, but not including,
|
2430
|
-
* the `end` index.
|
2431
|
-
*
|
2432
|
-
* Note: This function is used instead of `Array#slice` to support node lists
|
2433
|
-
* in IE < 9 and to ensure dense arrays are returned.
|
2434
|
-
*
|
2435
|
-
* @private
|
2436
|
-
* @param {Array|Object|string} collection The collection to slice.
|
2437
|
-
* @param {number} start The start index.
|
2438
|
-
* @param {number} end The end index.
|
2439
|
-
* @returns {Array} Returns the new array.
|
2440
|
-
*/
|
2441
|
-
function slice(array, start, end) {
|
2442
|
-
start || (start = 0);
|
2443
|
-
if (typeof end == 'undefined') {
|
2444
|
-
end = array ? array.length : 0;
|
2445
|
-
}
|
2446
|
-
var index = -1,
|
2447
|
-
length = end - start || 0,
|
2448
|
-
result = Array(length < 0 ? 0 : length);
|
2449
|
-
|
2450
|
-
while (++index < length) {
|
2451
|
-
result[index] = array[start + index];
|
2452
|
-
}
|
2453
|
-
return result;
|
2454
|
-
}
|
2455
|
-
|
2456
|
-
module.exports = slice;
|
2457
|
-
|
2458
|
-
|
2459
|
-
/***/ },
|
2460
|
-
/* 40 */
|
2461
2258
|
/***/ function(module, exports, __webpack_require__) {
|
2462
2259
|
|
2463
2260
|
/**
|
@@ -2469,7 +2266,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2469
2266
|
* Available under MIT license <http://lodash.com/license>
|
2470
2267
|
*/
|
2471
2268
|
var createWrapper = __webpack_require__(52),
|
2472
|
-
slice = __webpack_require__(
|
2269
|
+
slice = __webpack_require__(42);
|
2473
2270
|
|
2474
2271
|
/**
|
2475
2272
|
* Creates a function that, when called, invokes `func` with the `this`
|
@@ -2503,7 +2300,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2503
2300
|
|
2504
2301
|
|
2505
2302
|
/***/ },
|
2506
|
-
/*
|
2303
|
+
/* 39 */
|
2507
2304
|
/***/ function(module, exports, __webpack_require__) {
|
2508
2305
|
|
2509
2306
|
/**
|
@@ -2552,7 +2349,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2552
2349
|
|
2553
2350
|
|
2554
2351
|
/***/ },
|
2555
|
-
/*
|
2352
|
+
/* 40 */
|
2556
2353
|
/***/ function(module, exports, __webpack_require__) {
|
2557
2354
|
|
2558
2355
|
/* WEBPACK VAR INJECTION */(function(global) {/**
|
@@ -2598,6 +2395,126 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2598
2395
|
|
2599
2396
|
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
|
2600
2397
|
|
2398
|
+
/***/ },
|
2399
|
+
/* 41 */
|
2400
|
+
/***/ function(module, exports, __webpack_require__) {
|
2401
|
+
|
2402
|
+
/**
|
2403
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2404
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2405
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2406
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2407
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2408
|
+
* Available under MIT license <http://lodash.com/license>
|
2409
|
+
*/
|
2410
|
+
var baseCreateCallback = __webpack_require__(25),
|
2411
|
+
keys = __webpack_require__(13),
|
2412
|
+
objectTypes = __webpack_require__(26);
|
2413
|
+
|
2414
|
+
/**
|
2415
|
+
* Assigns own enumerable properties of source object(s) to the destination
|
2416
|
+
* object. Subsequent sources will overwrite property assignments of previous
|
2417
|
+
* sources. If a callback is provided it will be executed to produce the
|
2418
|
+
* assigned values. The callback is bound to `thisArg` and invoked with two
|
2419
|
+
* arguments; (objectValue, sourceValue).
|
2420
|
+
*
|
2421
|
+
* @static
|
2422
|
+
* @memberOf _
|
2423
|
+
* @type Function
|
2424
|
+
* @alias extend
|
2425
|
+
* @category Objects
|
2426
|
+
* @param {Object} object The destination object.
|
2427
|
+
* @param {...Object} [source] The source objects.
|
2428
|
+
* @param {Function} [callback] The function to customize assigning values.
|
2429
|
+
* @param {*} [thisArg] The `this` binding of `callback`.
|
2430
|
+
* @returns {Object} Returns the destination object.
|
2431
|
+
* @example
|
2432
|
+
*
|
2433
|
+
* _.assign({ 'name': 'fred' }, { 'employer': 'slate' });
|
2434
|
+
* // => { 'name': 'fred', 'employer': 'slate' }
|
2435
|
+
*
|
2436
|
+
* var defaults = _.partialRight(_.assign, function(a, b) {
|
2437
|
+
* return typeof a == 'undefined' ? b : a;
|
2438
|
+
* });
|
2439
|
+
*
|
2440
|
+
* var object = { 'name': 'barney' };
|
2441
|
+
* defaults(object, { 'name': 'fred', 'employer': 'slate' });
|
2442
|
+
* // => { 'name': 'barney', 'employer': 'slate' }
|
2443
|
+
*/
|
2444
|
+
var assign = function(object, source, guard) {
|
2445
|
+
var index, iterable = object, result = iterable;
|
2446
|
+
if (!iterable) return result;
|
2447
|
+
var args = arguments,
|
2448
|
+
argsIndex = 0,
|
2449
|
+
argsLength = typeof guard == 'number' ? 2 : args.length;
|
2450
|
+
if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {
|
2451
|
+
var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);
|
2452
|
+
} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {
|
2453
|
+
callback = args[--argsLength];
|
2454
|
+
}
|
2455
|
+
while (++argsIndex < argsLength) {
|
2456
|
+
iterable = args[argsIndex];
|
2457
|
+
if (iterable && objectTypes[typeof iterable]) {
|
2458
|
+
var ownIndex = -1,
|
2459
|
+
ownProps = objectTypes[typeof iterable] && keys(iterable),
|
2460
|
+
length = ownProps ? ownProps.length : 0;
|
2461
|
+
|
2462
|
+
while (++ownIndex < length) {
|
2463
|
+
index = ownProps[ownIndex];
|
2464
|
+
result[index] = callback ? callback(result[index], iterable[index]) : iterable[index];
|
2465
|
+
}
|
2466
|
+
}
|
2467
|
+
}
|
2468
|
+
return result
|
2469
|
+
};
|
2470
|
+
|
2471
|
+
module.exports = assign;
|
2472
|
+
|
2473
|
+
|
2474
|
+
/***/ },
|
2475
|
+
/* 42 */
|
2476
|
+
/***/ function(module, exports, __webpack_require__) {
|
2477
|
+
|
2478
|
+
/**
|
2479
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2480
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2481
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2482
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2483
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2484
|
+
* Available under MIT license <http://lodash.com/license>
|
2485
|
+
*/
|
2486
|
+
|
2487
|
+
/**
|
2488
|
+
* Slices the `collection` from the `start` index up to, but not including,
|
2489
|
+
* the `end` index.
|
2490
|
+
*
|
2491
|
+
* Note: This function is used instead of `Array#slice` to support node lists
|
2492
|
+
* in IE < 9 and to ensure dense arrays are returned.
|
2493
|
+
*
|
2494
|
+
* @private
|
2495
|
+
* @param {Array|Object|string} collection The collection to slice.
|
2496
|
+
* @param {number} start The start index.
|
2497
|
+
* @param {number} end The end index.
|
2498
|
+
* @returns {Array} Returns the new array.
|
2499
|
+
*/
|
2500
|
+
function slice(array, start, end) {
|
2501
|
+
start || (start = 0);
|
2502
|
+
if (typeof end == 'undefined') {
|
2503
|
+
end = array ? array.length : 0;
|
2504
|
+
}
|
2505
|
+
var index = -1,
|
2506
|
+
length = end - start || 0,
|
2507
|
+
result = Array(length < 0 ? 0 : length);
|
2508
|
+
|
2509
|
+
while (++index < length) {
|
2510
|
+
result[index] = array[start + index];
|
2511
|
+
}
|
2512
|
+
return result;
|
2513
|
+
}
|
2514
|
+
|
2515
|
+
module.exports = slice;
|
2516
|
+
|
2517
|
+
|
2601
2518
|
/***/ },
|
2602
2519
|
/* 43 */
|
2603
2520
|
/***/ function(module, exports, __webpack_require__) {
|
@@ -2673,7 +2590,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2673
2590
|
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2674
2591
|
* Available under MIT license <http://lodash.com/license>
|
2675
2592
|
*/
|
2676
|
-
var objectPool = __webpack_require__(
|
2593
|
+
var objectPool = __webpack_require__(49);
|
2677
2594
|
|
2678
2595
|
/**
|
2679
2596
|
* Gets an object from the object pool or creates a new one if the pool is empty.
|
@@ -2742,25 +2659,6 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2742
2659
|
|
2743
2660
|
/***/ },
|
2744
2661
|
/* 48 */
|
2745
|
-
/***/ function(module, exports, __webpack_require__) {
|
2746
|
-
|
2747
|
-
/**
|
2748
|
-
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2749
|
-
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2750
|
-
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2751
|
-
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2752
|
-
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2753
|
-
* Available under MIT license <http://lodash.com/license>
|
2754
|
-
*/
|
2755
|
-
|
2756
|
-
/** Used to pool arrays and objects used internally */
|
2757
|
-
var objectPool = [];
|
2758
|
-
|
2759
|
-
module.exports = objectPool;
|
2760
|
-
|
2761
|
-
|
2762
|
-
/***/ },
|
2763
|
-
/* 49 */
|
2764
2662
|
/***/ function(module, exports, __webpack_require__) {
|
2765
2663
|
|
2766
2664
|
/**
|
@@ -2974,6 +2872,25 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
2974
2872
|
module.exports = baseIsEqual;
|
2975
2873
|
|
2976
2874
|
|
2875
|
+
/***/ },
|
2876
|
+
/* 49 */
|
2877
|
+
/***/ function(module, exports, __webpack_require__) {
|
2878
|
+
|
2879
|
+
/**
|
2880
|
+
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
|
2881
|
+
* Build: `lodash modularize modern exports="node" -o ./modern/`
|
2882
|
+
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
|
2883
|
+
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
|
2884
|
+
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
2885
|
+
* Available under MIT license <http://lodash.com/license>
|
2886
|
+
*/
|
2887
|
+
|
2888
|
+
/** Used to pool arrays and objects used internally */
|
2889
|
+
var objectPool = [];
|
2890
|
+
|
2891
|
+
module.exports = objectPool;
|
2892
|
+
|
2893
|
+
|
2977
2894
|
/***/ },
|
2978
2895
|
/* 50 */
|
2979
2896
|
/***/ function(module, exports, __webpack_require__) {
|
@@ -3069,7 +2986,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3069
2986
|
var baseBind = __webpack_require__(56),
|
3070
2987
|
baseCreateWrapper = __webpack_require__(57),
|
3071
2988
|
isFunction = __webpack_require__(55),
|
3072
|
-
slice = __webpack_require__(
|
2989
|
+
slice = __webpack_require__(42);
|
3073
2990
|
|
3074
2991
|
/**
|
3075
2992
|
* Used for `Array` method references.
|
@@ -3305,8 +3222,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3305
3222
|
*/
|
3306
3223
|
var baseCreate = __webpack_require__(58),
|
3307
3224
|
isObject = __webpack_require__(21),
|
3308
|
-
setBindData = __webpack_require__(
|
3309
|
-
slice = __webpack_require__(
|
3225
|
+
setBindData = __webpack_require__(39),
|
3226
|
+
slice = __webpack_require__(42);
|
3310
3227
|
|
3311
3228
|
/**
|
3312
3229
|
* Used for `Array` method references.
|
@@ -3373,8 +3290,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
3373
3290
|
*/
|
3374
3291
|
var baseCreate = __webpack_require__(58),
|
3375
3292
|
isObject = __webpack_require__(21),
|
3376
|
-
setBindData = __webpack_require__(
|
3377
|
-
slice = __webpack_require__(
|
3293
|
+
setBindData = __webpack_require__(39),
|
3294
|
+
slice = __webpack_require__(42);
|
3378
3295
|
|
3379
3296
|
/**
|
3380
3297
|
* Used for `Array` method references.
|