MCPcopy Create free account
hub / github.com/FlashpointProject/launcher / findSuperstr

Method findSuperstr

src/back/util/map.ts:264–289  ·  view source on GitHub ↗
(key: K)

Source from the content-addressed store, hash-verified

262 }
263
264 findSuperstr(key: K): Iterator<V> | undefined {
265 const iter = this._iter.reset(key);
266 let node = this._root;
267 while (node) {
268 const val = iter.cmp(node.segment);
269 if (val > 0) {
270 // left
271 node = node.left;
272 } else if (val < 0) {
273 // right
274 node = node.right;
275 } else if (iter.hasNext()) {
276 // mid
277 iter.next();
278 node = node.mid;
279 } else {
280 // collect
281 if (!node.mid) {
282 return undefined;
283 } else {
284 return this._nodeIterator(node.mid);
285 }
286 }
287 }
288 return undefined;
289 }
290
291 private _nodeIterator(node: TernarySearchTreeNode<K, V>): Iterator<V> {
292 let res: { done: false; value: V; };

Callers

nothing calls this directly

Calls 5

_nodeIteratorMethod · 0.95
resetMethod · 0.65
cmpMethod · 0.65
hasNextMethod · 0.65
nextMethod · 0.65

Tested by

no test coverage detected