UNPKG

ifc-expressions

Version:

Parsing and evaluation of IFC expressions

16 lines (15 loc) 664 B
import { IfcExpressionContext } from "../context/IfcExpressionContext.js"; import { ExprKind } from "./ExprKind.js"; import { ExprEvalResult } from "./ExprEvalResult.js"; import { ExprType } from "../type/ExprType.js"; import { TextSpan } from "../util/TextSpan.js"; import { ExprStringBuilder } from "./ExprStringBuilder.js"; export interface Expr<T> { evaluate(ctx: IfcExpressionContext, localCtx: Map<string, any>): ExprEvalResult<T>; getKind(): ExprKind; toExprString(builder?: ExprStringBuilder): string; getChildren(): Array<Expr<any>>; setTextSpan(ctx: TextSpan): any; getTextSpan(): TextSpan | undefined; getType(): ExprType; }