@girders-elements/core
Version:
Girders Elements is an architectural framework that assists with building data-driven apps with React or React Native.
77 lines (30 loc) • 1.12 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:true});exports.walk=exports.preWalk=exports.postWalk=undefined;
var _curry=require('ramda/src/curry');var _curry2=_interopRequireDefault(_curry);
var _visit=require('./visit');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
var makeStatelessVisitor=function makeStatelessVisitor(fn){return function(item,_){return{item:fn(item)};};};
var postWalk=exports.postWalk=(0,_curry2.default)(function(fn,zipper){return(
(0,_visit.visit)(
[
(0,_visit.onPost)(makeStatelessVisitor(fn))],
undefined,
zipper).
zipper);});
var preWalk=exports.preWalk=(0,_curry2.default)(function(fn,zipper){return(
(0,_visit.visit)(
[
(0,_visit.onPre)(makeStatelessVisitor(fn))],
undefined,
zipper).
zipper);});
var walk=exports.walk=(0,_curry2.default)(function(innerFn,outerFn,zipper){return(
(0,_visit.visit)(
[
(0,_visit.onPre)(makeStatelessVisitor(innerFn)),
(0,_visit.onPost)(makeStatelessVisitor(outerFn))],
undefined,
zipper).
zipper);});exports.default=
{
walk:walk,
postWalk:postWalk,
preWalk:preWalk};