UNPKG

glance-selector

Version:
36 lines (31 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.reduce = reduce; exports.unique = unique; function reduce(collection, memo, iteratee, resultHandler) { function process(i, collection, memo, iteratee, handler) { if (i < collection.length) { return iteratee(memo, collection[i], function (err, result) { if (err) { return handler(err, memo); } return process(++i, collection, result, iteratee, handler); }); } return handler(null, memo); } return process(0, collection, memo, iteratee, resultHandler); } function unique(array, resultHandler) { return browserExecute(function (array, handler) { try { return handler(null, array.filter(function (x, i) { return array.indexOf(x) === i; })); } catch (err) { return handler(err, []); } }, array, resultHandler); }