@girders-elements/core
Version:
Girders Elements is an architectural framework that assists with building data-driven apps with React or React Native.
17 lines (12 loc) • 430 B
JavaScript
import { curry } from 'ramda'
import { onPre, onPost, visit } from '../vendor/zippa'
const reduceVisitor = fn => (item, state) => ({ state: fn(state, item) })
export const reduce = curry(
(fn, initialAcc, zipper) =>
visit([onPost(reduceVisitor(fn))], initialAcc, zipper).state
)
export const reducePre = curry(
(fn, initialAcc, zipper) =>
visit([onPre(reduceVisitor(fn))], initialAcc, zipper).state
)