@skele/core
Version:
Core package of the Skele framework. Element definitions, registrations and traversal.
1 lines • 1.27 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.preWalk=exports.postWalk=void 0;var _ramda=_interopRequireDefault(require("ramda"));var zip=_interopRequireWildcard(require("./impl"));function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):{};if(desc.get||desc.set){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var _postwalk=function _postwalk(f,zipper){return _walk(_postwalk.bind(undefined,f),f,zipper);};var _prewalk=function _prewalk(f,zipper){return _walk(_prewalk.bind(undefined,f),function(a){return a;},zip.edit(f,zipper));};function _walk(inner,outer,loc){var cnext=zip.down(loc);if(cnext!=null){var c;do{c=cnext;c=inner(c);}while((cnext=zip.right(c))!=null);return zip.edit(outer,zip.up(c));}else{return zip.edit(outer,loc);}}var postWalk=_ramda.default.curry(_postwalk);exports.postWalk=postWalk;var preWalk=_ramda.default.curry(_prewalk);exports.preWalk=preWalk;