@skele/core
Version:
Core package of the Skele framework. Element definitions, registrations and traversal.
1 lines • 1.86 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.descendants=exports.ancestors=void 0;var I=_interopRequireWildcard(require("immutable"));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;}}var ancestors=function ancestors(loc){return I.Seq(_ancestors(loc));};exports.ancestors=ancestors;var _ancestors=regeneratorRuntime.mark(function _ancestors(loc){var currentLoc;return regeneratorRuntime.wrap(function _ancestors$(_context){while(1){switch(_context.prev=_context.next){case 0:currentLoc=loc;case 1:if(!((currentLoc=zip.up(currentLoc))!=null)){_context.next=6;break;}_context.next=4;return currentLoc;case 4:_context.next=1;break;case 6:case"end":return _context.stop();}}},_ancestors,this);});var descendants=function descendants(loc){return I.Seq(_descendants(loc));};exports.descendants=descendants;var _descendants=regeneratorRuntime.mark(function _descendants(loc){var current;return regeneratorRuntime.wrap(function _descendants$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:current=null;if(!((current=zip.down(loc))!=null)){_context2.next=5;break;}return _context2.delegateYield(_descendants(current),"t0",3);case 3:_context2.next=5;return current;case 5:if(!((current=zip.right(loc))!=null)){_context2.next=9;break;}return _context2.delegateYield(_descendants(current),"t1",7);case 7:_context2.next=9;return current;case 9:case"end":return _context2.stop();}}},_descendants,this);});