import { BinarySearchTree } from "npm:@datastructures-js/binary-search-tree@5.3.1"; export function traverseInOrder>( tree: T, cb: (node: NonNullable>) => void, signal?: AbortSignal, ) { if (typeof cb !== "function") { throw new Error(".traverseInOrder expects a callback function"); } function traverseRecursive(current: ReturnType | null) { if (signal?.aborted) { return; } if (current === null) { return; } //@ts-ignore traverseRecursive(current.getLeft()); if (signal?.aborted) { return; } //@ts-ignore cb(current); //@ts-ignore traverseRecursive(current.getRight()); } //@ts-ignore traverseRecursive(tree.root()); }