MCPcopy Create free account
hub / github.com/ShaderFrog/glsl-parser / evaluate

Function evaluate

src/preprocessor/preprocessor.ts:139–151  ·  view source on GitHub ↗
(ast: PreprocessorAstNode, evaluators: NodeEvaluators)

Source from the content-addressed store, hash-verified

137>;
138
139const evaluate = (ast: PreprocessorAstNode, evaluators: NodeEvaluators) => {
140 const visit = (node: PreprocessorAstNode) => {
141 const evaluator = evaluators[node.type];
142 if (!evaluator) {
143 throw new Error(`No evaluate() evaluator for ${node.type}`);
144 }
145
146 // I can't figure out why evalutor has node type never here
147 // @ts-ignore
148 return evaluator(node, visit);
149 };
150 return visit(ast);
151};
152
153export type Macro = {
154 args?: PreprocessorAstNode[];

Callers 1

evaluteExpressionFunction · 0.85

Calls 1

visitFunction · 0.70

Tested by

no test coverage detected