UNPKG

ts-flex-query

Version:
24 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FlatMapOperator = void 0; exports.flatMap = flatMap; const flat_map_1 = require("../../expressions/flat-map"); const variable_1 = require("../../expressions/variable"); const object_value_selector_1 = require("../../helpers/object-value-selector"); const data_type_1 = require("../../types/data-type"); class FlatMapOperator { constructor(mapper) { this.mapper = mapper; } instantiate(input) { const variableSymbol = Symbol('vFlatMap'); const variableExpression = (0, variable_1.variable)(input.dataType.type === data_type_1.DataTypeType.array ? input.dataType.elementType : { type: data_type_1.DataTypeType.unknownArray }, variableSymbol); return new flat_map_1.FlatMapExpression(input, variableSymbol, this.mapper(variableExpression)); } } exports.FlatMapOperator = FlatMapOperator; FlatMapOperator.inputIdentifier = Symbol('inputIdentifier'); function flatMap(selector) { return new FlatMapOperator((input) => (0, object_value_selector_1.createQueryFromObjectValueSelector)(selector).instantiate(input)); } //# sourceMappingURL=flat-map.js.map