UNPKG

rawsql-ts

Version:

[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.

33 lines 1.04 kB
import { ParameterExpression } from "../models/ValueComponent"; /** * Utility class to collect all ParameterExpression nodes from an AST. */ export class ParameterCollector { /** * Recursively collect all ParameterExpression nodes from AST. * @param node AST root * @returns ParameterExpression[] */ static collect(node) { const result = []; function walk(n) { if (!n || typeof n !== 'object') return; if (n.constructor && n.constructor.kind === ParameterExpression.kind) { result.push(n); } for (const key of Object.keys(n)) { const v = n[key]; if (Array.isArray(v)) { v.forEach(walk); } else if (v && typeof v === 'object' && v.constructor && v.constructor.kind) { walk(v); } } } walk(node); return result; } } //# sourceMappingURL=ParameterCollector.js.map