Tree traversal algorithm that on each level of a tree visits root before traversing its subtrees.
new PreorderTreeTraversal()
/**
* Creates an instance of PreorderTreeTraversal.
*
* @param callback Function to call on each visited element during traversal.
*/
constructor(protected callback: (
element: T,
meta: M,
getPosition: () => ExtractPosition<TR>,
tree: TR,
) => R)
traverseBinary()
/**
* Traverses through a binary tree applying callback to each visited element.
*
* @param traversable Traversable representation of an element of the tree.
*/
traverseBinary(traversable: IBinaryTreeTraversable<T, TR>): R
traverseGeneral()
/**
* Traverses through a general tree applying callback to each visited element.
*
* @param traversable Traversable representation of an element of the tree.
*/
traverseGeneral(traversable: IGeneralTreeTraversable<T, TR>): R