UNPKG

zippa

Version:
17 lines (12 loc) 384 B
import { onPre, visit } from '../index'; const reduceVisitor = fn => (item, state) => ({ state: fn(state, item) }); export const reduce = (fn, initialAcc, zipper) => visit( [onPre(reduceVisitor(fn))], initialAcc, zipper ).state; export const collect = (fn, zipper) => reduce((acc, item) => { acc.push(fn(item)); return acc; }, [], zipper);