UNPKG

ts-flex-query

Version:
26 lines 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MapOperator = void 0; exports.map = map; const map_1 = require("../../expressions/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 MapOperator { constructor(mapper) { this.mapper = mapper; } instantiate(input) { const variableSymbol = Symbol('vMap'); const variableType = input.dataType.type === data_type_1.DataTypeType.array ? input.dataType.elementType : { type: data_type_1.DataTypeType.unknown }; const variableExpression = (0, variable_1.variable)(variableType, variableSymbol); return new map_1.MapExpression(input, variableSymbol, this.mapper(variableExpression)); } } exports.MapOperator = MapOperator; function map(selector) { return new MapOperator((input) => (0, object_value_selector_1.createQueryFromObjectValueSelector)(selector).instantiate(input)); } //# sourceMappingURL=map.js.map