ifc-expressions
Version:
Parsing and evaluation of IFC expressions
49 lines (48 loc) • 3.17 kB
TypeScript
import { ArrayExpr } from "./expression/structure/ArrayExpr.js";
import { Expr } from "./expression/Expr.js";
import { StringConcatExpr } from "./expression/string/StringConcatExpr.js";
import { StringLiteralExpr } from "./expression/string/StringLiteralExpr.js";
import { ElemObjectReferenceExpr } from "./expression/reference/ElemObjectReferenceExpr.js";
import { PropObjectReferenceExpr } from "./expression/reference/PropObjectReferenceExpr.js";
import { NumericValue } from "./value/NumericValue.js";
import { DivideExpr } from "./expression/numeric/DivideExpr.js";
import { StringValue } from "./value/StringValue.js";
import { MinusExpr } from "./expression/numeric/MinusExpr.js";
import { MultiplyExpr } from "./expression/numeric/MultiplyExpr.js";
import { PlusExpr } from "./expression/numeric/PlusExpr.js";
import { NumericLiteralExpr } from "./expression/numeric/NumericLiteralExpr.js";
import { Decimal } from "decimal.js";
import { ParenthesisExpr } from "./expression/structure/ParenthesisExpr.js";
import { PowerExpr } from "./expression/numeric/PowerExpr.js";
import { UnaryMinusExpr } from "./expression/numeric/UnaryMinusExpr.js";
import { FunctionExpr } from "./expression/function/FunctionExpr.js";
import { BooleanValue } from "./value/BooleanValue.js";
import { AndExpr } from "./expression/boolean/AndExpr.js";
import { OrExpr } from "./expression/boolean/OrExpr.js";
import { XorExpr } from "./expression/boolean/XorExpr.js";
import { BooleanLiteralExpr } from "./expression/boolean/BooleanLiteralExpr.js";
import { NotExpr } from "./expression/boolean/NotExpr.js";
import { Logical } from "./value/LogicalValue.js";
import { LogicalLiteralExpr } from "./expression/boolean/LogicalLiteralExpr.js";
export declare class E {
static array(...elements: Array<Expr<any>>): ArrayExpr;
static concat(left: Expr<StringValue>, right: Expr<StringValue>): StringConcatExpr;
static string(literal: string): StringLiteralExpr;
static element(): ElemObjectReferenceExpr;
static property(): PropObjectReferenceExpr;
static div(left: Expr<NumericValue>, right: Expr<NumericValue>): DivideExpr;
static minus(left: Expr<NumericValue>, right: Expr<NumericValue>): MinusExpr;
static multiply(left: Expr<NumericValue>, right: Expr<NumericValue>): MultiplyExpr;
static plus(left: Expr<NumericValue>, right: Expr<NumericValue>): PlusExpr;
static number(literal: number | string | Decimal): NumericLiteralExpr;
static parenthesis(numericExpression: Expr<NumericValue>): ParenthesisExpr;
static power(base: Expr<NumericValue>, power: Expr<NumericValue>): PowerExpr;
static unaryMinus(numExpr: Expr<NumericValue>): UnaryMinusExpr;
static fun(functionName: string, ...funcArgs: Array<Expr<any>>): FunctionExpr;
static and(left: Expr<BooleanValue>, right: Expr<BooleanValue>): AndExpr;
static or(left: Expr<BooleanValue>, right: Expr<BooleanValue>): OrExpr;
static xor(left: Expr<BooleanValue>, right: Expr<BooleanValue>): XorExpr;
static boolean(literal: boolean): BooleanLiteralExpr;
static logical(literal: Logical): LogicalLiteralExpr;
static not(booleanExpr: Expr<BooleanValue>): NotExpr;
}