const tree = pipe(
RedBlackTree.empty(Order.bigint),
RedBlackTree.insert(1n, 1),
RedBlackTree.insert(1n, 2),
RedBlackTree.insert(1n, 3),
RedBlackTree.insert(1n, 4),
RedBlackTree.insert(1n, 5)
);
// When I try to find all values against the key `1n`
console.log(pipe(tree, RedBlackTree.find(1n)));
// Prints only a subset
// { _tag: 'Chunk', values: [ 5, 4, 2 ] }
// However
console.log(
pipe(
tree,
RedBlackTree.forEachGreaterThanEqual(1n, (k, v) => console.log(k, v))
)
);
// Prints
// 1n 5
// 1n 4
// 1n 3
// 1n 2
// 1n 1
const tree = pipe(
RedBlackTree.empty(Order.bigint),
RedBlackTree.insert(1n, 1),
RedBlackTree.insert(1n, 2),
RedBlackTree.insert(1n, 3),
RedBlackTree.insert(1n, 4),
RedBlackTree.insert(1n, 5)
);
// When I try to find all values against the key `1n`
console.log(pipe(tree, RedBlackTree.find(1n)));
// Prints only a subset
// { _tag: 'Chunk', values: [ 5, 4, 2 ] }
// However
console.log(
pipe(
tree,
RedBlackTree.forEachGreaterThanEqual(1n, (k, v) => console.log(k, v))
)
);
// Prints
// 1n 5
// 1n 4
// 1n 3
// 1n 2
// 1n 1