UNPKG

1.33 kBTypeScriptView Raw
1import type * as ASTv1 from './api';
2declare const visitorKeys: {
3 readonly Template: readonly ["body"];
4 readonly Block: readonly ["body"];
5 readonly MustacheStatement: readonly ["path", "params", "hash"];
6 readonly BlockStatement: readonly ["path", "params", "hash", "program", "inverse"];
7 readonly ElementModifierStatement: readonly ["path", "params", "hash"];
8 readonly CommentStatement: readonly [];
9 readonly MustacheCommentStatement: readonly [];
10 readonly ElementNode: readonly ["attributes", "modifiers", "children", "comments"];
11 readonly AttrNode: readonly ["value"];
12 readonly TextNode: readonly [];
13 readonly ConcatStatement: readonly ["parts"];
14 readonly SubExpression: readonly ["path", "params", "hash"];
15 readonly PathExpression: readonly [];
16 readonly StringLiteral: readonly [];
17 readonly BooleanLiteral: readonly [];
18 readonly NumberLiteral: readonly [];
19 readonly NullLiteral: readonly [];
20 readonly UndefinedLiteral: readonly [];
21 readonly Hash: readonly ["pairs"];
22 readonly HashPair: readonly ["value"];
23};
24type VisitorKeysMap = typeof visitorKeys;
25export type VisitorKeys = {
26 [P in keyof VisitorKeysMap]: VisitorKeysMap[P][number];
27};
28export type VisitorKey<N extends ASTv1.Node> = VisitorKeys[N['type']] & keyof N;
29export default visitorKeys;