@pawel-up/jexl
Version:
Javascript Expression Language: Powerful context-based expression parser and evaluator
22 lines • 970 B
TypeScript
import type { Grammar, ASTNode } from '../grammar.js';
export default class Evaluator {
_grammar: Grammar;
_context: Record<string, unknown>;
_relContext: Record<string, unknown>;
constructor(grammar: Grammar, context: Record<string, unknown>, relativeContext?: Record<string, unknown>);
eval(ast: ASTNode): Promise<unknown>;
evalArray(arr: ASTNode[]): Promise<unknown[]>;
evalMap(map: Record<string, ASTNode>): Promise<Record<string, unknown>>;
_filterRelative(subject: unknown, expr: ASTNode): Promise<unknown[]>;
_filterStatic(subject: unknown, expr: ASTNode): Promise<unknown>;
private _handleArrayLiteral;
private _handleBinaryExpression;
private _handleConditionalExpression;
private _handleFilterExpression;
private _handleIdentifier;
private _handleLiteral;
private _handleObjectLiteral;
private _handleFunctionCall;
private _handleUnaryExpression;
}
//# sourceMappingURL=Evaluator.d.ts.map