UNPKG

zippa

Version:
25 lines (20 loc) 649 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.collect = exports.reduce = undefined; var _index = require('../index'); var reduceVisitor = function reduceVisitor(fn) { return function (item, state) { return { state: fn(state, item) }; }; }; var reduce = exports.reduce = function reduce(fn, initialAcc, zipper) { return (0, _index.visit)([(0, _index.onPre)(reduceVisitor(fn))], initialAcc, zipper).state; }; var collect = exports.collect = function collect(fn, zipper) { return reduce(function (acc, item) { acc.push(fn(item)); return acc; }, [], zipper); };