export { parseExpression } from './parser.js'; export { evaluate } from './evaluate.js'; export { parseQuery, executeQuery, query } from './query.js'; export { SqlSyntaxError, SqlEvaluationError } from './errors.js'; import { parseExpression } from './parser.js'; import { evaluate } from './evaluate.js'; /** * Parses (if needed) and evaluates a SQL-like expression against a JSON context object. * @param {string|import('./parser.js').Expr} source - expression text, or an already-parsed AST * @param {Record} context * @param {{functions?: Record any>}} [options] * @returns {any} */ export function evaluateExpression(source, context, options) { const ast = typeof source === 'string' ? parseExpression(source) : source; return evaluate(ast, context, options); }