@glimmer/syntax
Version:
11 lines (10 loc) • 499 B
TypeScript
import type { Nullable } from '@glimmer/interfaces';
import type * as ASTv1 from '../v1/api';
export type NodeCallback<N extends ASTv1.Node> = (node: N, walker: Walker) => void;
export default class Walker {
order?: unknown | undefined;
stack: unknown[];
constructor(order?: unknown | undefined);
visit<N extends ASTv1.Node>(node: Nullable<N>, visitor: NodeCallback<N>): void;
children<N extends ASTv1.Node>(node: N & ASTv1.Node, callback: NodeCallback<N & ASTv1.Node>): void;
}