sorted-btree
Version:
A sorted list of key-value pairs in a fast, typed in-memory B+ tree with a powerful API.
2 lines (1 loc) • 1.11 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var shared_1=require("./shared"),parallelWalk_1=require("./parallelWalk");function forEachKeyInBoth(l,a,e){var r=l,o=a;if((0,shared_1.checkCanDoSetOperation)(r,o,!0),0!==a.size&&0!==l.size)for(var p=l._compare,l=function(){},k=(0,parallelWalk_1.createCursor)(r,l,parallelWalk_1.noop,parallelWalk_1.noop,parallelWalk_1.noop,parallelWalk_1.noop,parallelWalk_1.noop),_=(0,parallelWalk_1.createCursor)(o,l,parallelWalk_1.noop,parallelWalk_1.noop,parallelWalk_1.noop,parallelWalk_1.noop,parallelWalk_1.noop),n=k,W=_,t=p((0,parallelWalk_1.getKey)(n),(0,parallelWalk_1.getKey)(W));;){var f=0===t;if(f){var s=e((0,parallelWalk_1.getKey)(n),k.leaf.values[k.leafIndex],_.leaf.values[_.leafIndex]);if(s&&s.break)return s.break;var i=(0,parallelWalk_1.moveForwardOne)(W,n),s=(0,parallelWalk_1.moveForwardOne)(n,W);if(i&&s)break;t=p((0,parallelWalk_1.getKey)(n),(0,parallelWalk_1.getKey)(W))}else{t<0&&(u=W,W=n,n=u);var u=(0,parallelWalk_1.moveTo)(W,n,(0,parallelWalk_1.getKey)(n),!0,f),f=u[0],u=u[1];if(f)break;t=u?0:-1}}}exports.default=forEachKeyInBoth;