MCPcopy Index your code
hub / github.com/thesysdev/openui / walk

Function walk

packages/lang-core/src/parser/ast.ts:110–147  ·  view source on GitHub ↗
(current: ASTNode)

Source from the content-addressed store, hash-verified

108
109export function walkAST(node: ASTNode, visit: (node: ASTNode) => void): void {
110 const walk = (current: ASTNode) => {
111 visit(current);
112
113 switch (current.k) {
114 case "Comp":
115 current.args.forEach(walk);
116 Object.values(current.mappedProps ?? {}).forEach(walk);
117 break;
118 case "Arr":
119 current.els.forEach(walk);
120 break;
121 case "Obj":
122 current.entries.forEach(([, value]) => walk(value));
123 break;
124 case "BinOp":
125 walk(current.left);
126 walk(current.right);
127 break;
128 case "UnaryOp":
129 walk(current.operand);
130 break;
131 case "Ternary":
132 walk(current.cond);
133 walk(current.then);
134 walk(current.else);
135 break;
136 case "Member":
137 walk(current.obj);
138 break;
139 case "Index":
140 walk(current.obj);
141 walk(current.index);
142 break;
143 case "Assign":
144 walk(current.value);
145 break;
146 }
147 };
148
149 walk(node);
150}

Callers 1

walkASTFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected