UNPKG

1.2 kBJavaScriptView Raw
1"use strict";
2var optimizeCb = function (func, context, argCount) {
3 if (context === void 0)
4 return func;
5 switch (argCount) {
6 case 1: return function (value) {
7 return func.call(context, value);
8 };
9 }
10 return function () {
11 var args = [];
12 for (var _i = 0; _i < arguments.length; _i++) {
13 args[_i] = arguments[_i];
14 }
15 return func.apply(context, args);
16 };
17};
18var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
19var each = function (obj, iteratee, context) {
20 iteratee = optimizeCb(iteratee, context);
21 var i, length;
22 if (isArrayLike(obj)) {
23 for (i = 0, length = obj.length; i < length; i++) {
24 iteratee(obj[i], i, obj);
25 }
26 }
27 else {
28 var keys = Object.keys(obj);
29 for (i = 0, length = keys.length; i < length; i++) {
30 iteratee(obj[keys[i]], keys[i], obj);
31 }
32 }
33 return this;
34};
35var isArrayLike = function (collection) {
36 var length = collection === null ? void 0 : collection['length'];
37 return typeof length === 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
38};
39module.exports = each;
40//# sourceMappingURL=each.js.map
\No newline at end of file