UNPKG

ts-flex-query

Version:
27 lines 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FlatMapExpression = void 0; const lodash_1 = require("lodash"); const evaluate_expression_1 = require("../helpers/evaluate-expression"); const evaluation_context_utils_1 = require("../helpers/evaluation-context-utils"); class FlatMapExpression { constructor(input, variableSymbol, body) { this.input = input; this.variableSymbol = variableSymbol; this.body = body; this.dataType = body.dataType; } evaluate(context) { const inputValue = (0, evaluate_expression_1.evaluateExpression)(this.input, context); const elementsResult = Array.isArray(inputValue) ? inputValue.map((element) => this.evaluateInnerArray((0, evaluation_context_utils_1.addVariable)(context, this.variableSymbol, element))) : []; return (0, lodash_1.flatten)(elementsResult); } evaluateInnerArray(context) { const result = (0, evaluate_expression_1.evaluateExpression)(this.body, context); return result; } } exports.FlatMapExpression = FlatMapExpression; //# sourceMappingURL=flat-map.js.map