UNPKG

ts-flex-query

Version:
19 lines 933 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IfExpression = void 0; const evaluate_expression_1 = require("../helpers/evaluate-expression"); const data_type_1 = require("../types/data-type"); class IfExpression { constructor(condition, thenExpression, elseExpression) { this.condition = condition; this.thenExpression = thenExpression; this.elseExpression = elseExpression; this.dataType = (0, data_type_1.createUnion)(thenExpression.dataType, elseExpression.dataType); } evaluate(context) { const condition = !!(0, evaluate_expression_1.evaluateExpression)(this.condition, context); return condition ? (0, evaluate_expression_1.evaluateExpression)(this.thenExpression, context) : (0, evaluate_expression_1.evaluateExpression)(this.elseExpression, context); } } exports.IfExpression = IfExpression; //# sourceMappingURL=if.js.map