UNPKG

diffusion

Version:

Diffusion JavaScript client

44 lines (43 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RangeQueryResult = void 0; var errors_1 = require("./../../../errors/errors"); var query_result_1 = require("./../../features/time-series/query-result"); var Long = require("long"); /** * Server response from a RANGE_QUERY request. */ var RangeQueryResult = /** @class */ (function () { /** * Create a new RangeQueryResult instance * * @param valueDataType the value data type * @param selectedCount the number of selected events * @param events the time series events returned in the result */ function RangeQueryResult(valueDataType, selectedCount, events) { this.valueDataType = valueDataType; this.selectedCount = selectedCount; this.events = events; } /** * Create a new {@link QueryResult} with a given value type and stream structure * * @param queryValueType the value type * @param streamStructure the stream structure * @return a new query result constructed from the range query result * @throws an {@link InvalidDataError} if queryValueType is incompatible with the data type, * or any of the events do not represent a valid value. */ RangeQueryResult.prototype.createQueryResult = function (queryValueType, streamStructure) { var _this = this; if (!this.valueDataType.canReadAs(queryValueType)) { throw new errors_1.InvalidDataError("Time series topic has an incompatible event data type: " + this.valueDataType); } return new query_result_1.QueryResultImpl(this.selectedCount, Long.fromNumber(this.events.length), streamStructure, this.events.map(function (raw) { return raw.withValue(_this.valueDataType.readAs(queryValueType, raw.value)); })); }; return RangeQueryResult; }()); exports.RangeQueryResult = RangeQueryResult;