UNPKG

ifc-expressions

Version:

Parsing and evaluation of IFC expressions

28 lines (27 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DivideExpr = void 0; const Expr2_js_1 = require("../Expr2.js"); const NumericValue_js_1 = require("../../value/NumericValue.js"); const ExprKind_js_1 = require("../ExprKind.js"); const ExprEvalResult_js_1 = require("../ExprEvalResult.js"); const Types_js_1 = require("../../type/Types.js"); class DivideExpr extends Expr2_js_1.Expr2 { constructor(left, right) { super(ExprKind_js_1.ExprKind.NUM_DIVIDE, left, right); } calculateResult(ctx, localCtx, left, right) { return NumericValue_js_1.NumericValue.of(left.getValue().dividedBy(right.getValue())); } handleError(error, leftResult, rightResult) { return new ExprEvalResult_js_1.ExprEvalError2Obj(error, leftResult, rightResult, ExprEvalResult_js_1.ExprEvalStatus.MATH_ERROR, error, this.getTextSpan()); } buildExprString(builder) { builder.appendExpr(this.left).appendString(" / ").appendExpr(this.right); } getType() { return Types_js_1.Type.NUMERIC; } } exports.DivideExpr = DivideExpr; //# sourceMappingURL=DivideExpr.js.map