MCPcopy Create free account
hub / github.com/PaulTaykalo/objc-dependency-visualizer / createReduce

Function createReduce

Scripts/ace/worker-javascript.js:1478–1498  ·  view source on GitHub ↗
(dir)

Source from the content-addressed store, hash-verified

1476 return results;
1477 };
1478 function createReduce(dir) {
1479 function iterator(obj, iteratee, memo, keys, index, length) {
1480 for (; index >= 0 && index < length; index += dir) {
1481 var currentKey = keys ? keys[index] : index;
1482 memo = iteratee(memo, obj[currentKey], currentKey, obj);
1483 }
1484 return memo;
1485 }
1486
1487 return function(obj, iteratee, memo, context) {
1488 iteratee = optimizeCb(iteratee, context, 4);
1489 var keys = !isArrayLike(obj) && _.keys(obj),
1490 length = (keys || obj).length,
1491 index = dir > 0 ? 0 : length - 1;
1492 if (arguments.length < 3) {
1493 memo = obj[keys ? keys[index] : index];
1494 index += dir;
1495 }
1496 return iterator(obj, iteratee, memo, keys, index, length);
1497 };
1498 }
1499 _.reduce = _.foldl = _.inject = createReduce(1);
1500 _.reduceRight = _.foldr = createReduce(-1);
1501 _.find = _.detect = function(obj, predicate, context) {

Callers 1

Calls 3

optimizeCbFunction · 0.85
isArrayLikeFunction · 0.85
iteratorFunction · 0.85

Tested by

no test coverage detected