MCPcopy
hub / github.com/Effect-TS/effect / lessThanEqual

Function lessThanEqual

packages/effect/src/internal/redBlackTree.ts:645–672  ·  view source on GitHub ↗
(
  self: RBT.RedBlackTree<K, V>,
  key: K,
  direction: RBT.RedBlackTree.Direction
)

Source from the content-addressed store, hash-verified

643>(2, (self, key) => lessThanEqual(self, key, Direction.Forward))
644
645const lessThanEqual = <K, V>(
646 self: RBT.RedBlackTree<K, V>,
647 key: K,
648 direction: RBT.RedBlackTree.Direction
649): Iterable<[K, V]> => {
650 return {
651 [Symbol.iterator]: () => {
652 const cmp = (self as RedBlackTreeImpl<K, V>)._ord
653 let node = (self as RedBlackTreeImpl<K, V>)._root
654 const stack = []
655 let last_ptr = 0
656 while (node !== undefined) {
657 const d = cmp(key, node.key)
658 stack.push(node)
659 if (d >= 0) {
660 last_ptr = stack.length
661 }
662 if (d < 0) {
663 node = node.left
664 } else {
665 node = node.right
666 }
667 }
668 stack.length = last_ptr
669 return new RedBlackTreeIterator(self, stack, direction)
670 }
671 }
672}
673
674/** @internal */
675export const forEach = dual<

Callers 1

redBlackTree.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected