• Apply a visitor to a CST document or item.

    Walks through the tree (depth-first) starting from the root, calling a visitor function with two arguments when entering each item:

    • item: The current item, which included the following members:
      • start: SourceToken[] – Source tokens before the key or value, possibly including its anchor or tag.
      • key?: Token | null – Set for pair values. May then be null, if the key before the : separator is empty.
      • sep?: SourceToken[] – Source tokens between the key and the value, which should include the : map value indicator if value is set.
      • value?: Token – The value of a sequence item, or of a map pair.
    • path: The steps from the root to the current node, as an array of ['key' | 'value', number] tuples.

    The return value of the visitor may be used to control the traversal:

    • undefined (default): Do nothing and continue
    • visit.SKIP: Do not visit the children of this token, continue with next sibling
    • visit.BREAK: Terminate traversal completely
    • visit.REMOVE: Remove the current item, then continue with the next one
    • number: Set the index of the next step. This is useful especially if the index of the current token has changed.
    • function: Define the next visitor for this item. After the original visitor is called on item entry, next visitors are called after handling a non-empty key and when exiting the item.

    Parameters

    Returns void