ifc-expressions
Version:
Parsing and evaluation of IFC expressions
22 lines (21 loc) • 925 B
TypeScript
import { ExpressionValue } from "../../value/ExpressionValue.js";
import { ExprEvalResult } from "../ExprEvalResult.js";
import { ExprType } from "../../type/ExprType.js";
import { FunctionExpr } from "./FunctionExpr.js";
export declare class FuncArg<T> {
protected _required: boolean;
protected _name: string;
protected _defaultValue?: T;
constructor(required: boolean, name: string, defaultValue?: T);
getType(): ExprType;
/**
* For the value provided for a specific invocation of the function, return an appropriate result (maybe some kind of type conversion or type check might happen here)
*
* @param invocationValue
*/
transformValue(callingExpr: FunctionExpr, invocationValue: ExprEvalResult<ExpressionValue>): ExprEvalResult<ExpressionValue>;
get required(): boolean;
get name(): string;
get defaultValue(): T | undefined;
hasDefaultValue(): boolean;
}