ifc-expressions
Version:
Parsing and evaluation of IFC expressions
21 lines (20 loc) • 1.09 kB
TypeScript
import { FuncArg } from "../FuncArg.js";
import { ExprEvalError, ExprEvalResult, ExprEvalSuccess } from "../../ExprEvalResult.js";
import { ExpressionValue } from "../../../value/ExpressionValue.js";
import { FunctionExpr } from "../FunctionExpr.js";
export declare abstract class FuncArgBase<T> extends FuncArg<T> {
protected constructor(required: boolean, name: string, defaultValue?: T);
transformValue(callingExpr: FunctionExpr, invocationValue: ExprEvalResult<ExpressionValue>): ExprEvalResult<ExpressionValue>;
private errorIfNullish;
/**
* Override to type-check the successfully evaluated invocationValue.
* @protected
*/
protected transformForTypeCheck(callingExpr: FunctionExpr, invocationValue: ExprEvalSuccess<ExpressionValue>): ExprEvalResult<ExpressionValue>;
/**
* Override to transform the error result obtained from evaluating the invocation value.
* @param invocationValue
* @protected
*/
protected transformForError(callingExpr: FunctionExpr, invocationValue: ExprEvalError): ExprEvalResult<ExpressionValue>;
}