UNPKG

ifc-expressions

Version:

Parsing and evaluation of IFC expressions

25 lines (24 loc) 884 B
import { Func } from "../Func.js"; import { FuncArgAny } from "../arg/FuncArgAny.js"; import { Type } from "../../../type/Types.js"; import { ExprEvalSuccessObj } from "../../ExprEvalResult.js"; import { BooleanValue } from "../../../value/BooleanValue.js"; export class EQUALS extends Func { constructor() { super("EQUALS", [ new FuncArgAny(true, EQUALS.KEY_LEFT), new FuncArgAny(true, EQUALS.KEY_RIGHT), ]); } calculateResult(callingExpr, evaluatedArguments) { const left = evaluatedArguments.get(EQUALS.KEY_LEFT); const right = evaluatedArguments.get(EQUALS.KEY_RIGHT); return new ExprEvalSuccessObj(BooleanValue.of(left.equals(right))); } getReturnType(argumentTypes) { return Type.BOOLEAN; } } EQUALS.KEY_LEFT = "left"; EQUALS.KEY_RIGHT = "right"; //# sourceMappingURL=EQUALS.js.map