interface ITermFunction {
    apply: (evalContext: IEvalContext) => Promise<TermExpression>;
    applyOnTerms: (
        args: TermExpression[],
        exprEval: IInternalEvaluator,
    ) => TermExpression;
    checkArity: (args: Expression[]) => boolean;
    supportsTermExpressions: true;
}

Hierarchy (View Summary)

Implemented by

Properties

apply: (evalContext: IEvalContext) => Promise<TermExpression>
applyOnTerms: (
    args: TermExpression[],
    exprEval: IInternalEvaluator,
) => TermExpression
checkArity: (args: Expression[]) => boolean

The arity of the function will be checked when parsing and preparing a function. This allows us to check if the query is correct even before we process any bindings.

supportsTermExpressions: true