Each processor keeps state of its own, such as a position in the tree or a queue of records. All are Baseline widely available.
| Interface | Created with | Key members |
|---|---|---|
| NodeIterator (Iterating with NodeIterator) | document.createNodeIterator() | nextNode(), previousNode() |
| TreeWalker (Walking with TreeWalker) | document.createTreeWalker() | currentNode, parentNode(), nextNode() |
| MutationObserver (MutationObserver) | new MutationObserver(fn) | observe(), disconnect() |
| URLSearchParams (URLSearchParams) | url.searchParams | get(), getAll(), set() |
| TextEncoder (Encoding Strings) | new TextEncoder() | encode(), encodeInto() |
| Blob URLs (Creating Object URLs) | URL.createObjectURL(blob) | URL.revokeObjectURL() |
Both traversal objects take a root, a whatToShow bitmask such as NodeFilter.SHOW_ELEMENT and an optional filter returning NodeFilter.FILTER_ACCEPT, FILTER_SKIP or FILTER_REJECT. Other observers: Observers.