ifc-expressions
Version:
Parsing and evaluation of IFC expressions
15 lines (14 loc) • 837 B
TypeScript
import { FuncArg } from "../FuncArg.js";
import { FunctionExpr } from "../FunctionExpr.js";
import { ExprEvalResult } from "../../ExprEvalResult.js";
import { ExpressionValue } from "../../../value/ExpressionValue.js";
import { ExprType } from "../../../type/ExprType.js";
type UnpackConstructor<T> = T extends new (boolean: any, string: any) => FuncArg<infer U> ? U : never;
export declare class FuncArgUnion<T> extends FuncArg<T> {
private readonly options;
constructor(...options: FuncArg<T>[]);
static of<T extends new (boolean: any, string: any) => FuncArg<any>>(required: boolean, name: string, constructors: T[]): FuncArgUnion<UnpackConstructor<T>>;
transformValue(callingExpr: FunctionExpr, invocationValue: ExprEvalResult<ExpressionValue>): ExprEvalResult<ExpressionValue>;
getType(): ExprType;
}
export {};