UNPKG

ts-flex-query

Version:
23 lines 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MapExpression = void 0; const evaluate_expression_1 = require("../helpers/evaluate-expression"); const evaluation_context_utils_1 = require("../helpers/evaluation-context-utils"); const data_type_1 = require("../types/data-type"); class MapExpression { constructor(input, variableSymbol, body) { this.input = input; this.variableSymbol = variableSymbol; this.body = body; this.dataType = { type: data_type_1.DataTypeType.array, elementType: body.dataType }; } evaluate(context) { const inputValue = (0, evaluate_expression_1.evaluateExpression)(this.input, context); const elementsResult = Array.isArray(inputValue) ? inputValue.map((element) => (0, evaluate_expression_1.evaluateExpression)(this.body, (0, evaluation_context_utils_1.addVariable)(context, this.variableSymbol, element))) : []; return elementsResult; } } exports.MapExpression = MapExpression; //# sourceMappingURL=map.js.map