UNPKG

@configurator/ravendb

Version:
56 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LazyAggregationQueryOperation = void 0; const IndexQuery_1 = require("../../../Queries/IndexQuery"); const GetRequest_1 = require("../../../Commands/MultiGet/GetRequest"); const FacetQueryCommand_1 = require("../../../Commands/FacetQueryCommand"); const StreamUtil_1 = require("../../../../Utility/StreamUtil"); class LazyAggregationQueryOperation { constructor(session, indexQuery, parent, processResults) { this._session = session; this._indexQuery = indexQuery; this._processResults = processResults; this._parent = parent; } createRequest() { const request = new GetRequest_1.GetRequest(); request.url = "/queries"; request.method = "POST"; request.query = "?queryHash=" + this._indexQuery.getQueryHash(this._session.conventions.objectMapper); request.body = (0, IndexQuery_1.writeIndexQuery)(this._session.conventions, this._indexQuery); return request; } get result() { return this._result; } set result(result) { this._result = result; } get queryResult() { return this._queryResult; } set queryResult(queryResult) { this._queryResult = queryResult; } get requiresRetry() { return this._requiresRetry; } set requiresRetry(result) { this._requiresRetry = result; } async handleResponseAsync(response) { if (response.forceRetry) { this._result = null; this._requiresRetry = true; return; } const result = await FacetQueryCommand_1.FacetQueryCommand.parseQueryResultResponseAsync((0, StreamUtil_1.stringToReadable)(response.result), this._session.conventions, false); this._handleResponse(result); } _handleResponse(queryResult) { this.result = this._processResults(queryResult); this.queryResult = queryResult; } } exports.LazyAggregationQueryOperation = LazyAggregationQueryOperation; //# sourceMappingURL=LazyAggregationQueryOperation.js.map