diff options
Diffstat (limited to 'packages/webapi/src/lib/TreeWalker.ts')
-rw-r--r-- | packages/webapi/src/lib/TreeWalker.ts | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/webapi/src/lib/TreeWalker.ts b/packages/webapi/src/lib/TreeWalker.ts new file mode 100644 index 000000000..86e32ff20 --- /dev/null +++ b/packages/webapi/src/lib/TreeWalker.ts @@ -0,0 +1,55 @@ +import * as _ from './utils' + +export class TreeWalker { + parentNode(): Node | null { + return null + } + + firstChild(): Node | null { + return null + } + + lastChild(): Node | null { + return null + } + + previousSibling(): Node | null { + return null + } + + nextSibling(): Node | null { + return null + } + + previousNode(): Node | null { + return null + } + + nextNode(): Node | null { + return null + } + + get currentNode(): Node { + const internals = _.internalsOf<TreeWalkerInternals>(this, 'TreeWalker', 'currentNode') + return internals.currentNode + } + + get root(): Node { + const internals = _.internalsOf<TreeWalkerInternals>(this, 'TreeWalker', 'root') + return internals.root + } + + get whatToShow(): number { + const internals = _.internalsOf<TreeWalkerInternals>(this, 'TreeWalker', 'whatToShow') + return internals.whatToShow + } +} + +_.allowStringTag(TreeWalker) + +export interface TreeWalkerInternals { + filter: NodeFilter + currentNode: Node + root: Node + whatToShow: number +} |