UNPKG

ravendb

Version:
44 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FacetQueryCommand = void 0; const QueryCommand_js_1 = require("./QueryCommand.js"); const RavenCommandResponsePipeline_js_1 = require("../../Http/RavenCommandResponsePipeline.js"); const ObjectUtil_js_1 = require("../../Utility/ObjectUtil.js"); const DateUtil_js_1 = require("../../Utility/DateUtil.js"); class FacetQueryCommand extends QueryCommand_js_1.QueryCommand { async setResponseAsync(bodyStream, fromCache) { if (!bodyStream) { this.result = null; return; } let body = null; this.result = await FacetQueryCommand.parseQueryResultResponseAsync(bodyStream, this._session.conventions, fromCache, b => body = b); return body; } static async parseQueryResultResponseAsync(bodyStream, conventions, fromCache, bodyCallback) { const rawResult = await RavenCommandResponsePipeline_js_1.RavenCommandResponsePipeline.create() .collectBody(bodyCallback) .parseJsonSync() .process(bodyStream); const queryResult = FacetQueryCommand.mapToLocalObject(rawResult, conventions); if (fromCache) { queryResult.durationInMs = -1; } return queryResult; } static mapToLocalObject(json, conventions) { const { Results, Includes, IndexTimestamp, LastQueryTime, ...rest } = json; const restMapped = ObjectUtil_js_1.ObjectUtil.transformObjectKeys(rest, { defaultTransform: ObjectUtil_js_1.ObjectUtil.camel }); return { ...restMapped, indexTimestamp: DateUtil_js_1.DateUtil.utc.parse(IndexTimestamp), lastQueryTime: DateUtil_js_1.DateUtil.utc.parse(LastQueryTime), results: Results.map(x => ObjectUtil_js_1.ObjectUtil.transformObjectKeys(x, { defaultTransform: ObjectUtil_js_1.ObjectUtil.camel })), includes: ObjectUtil_js_1.ObjectUtil.mapIncludesToLocalObject(json.Includes, conventions) }; } } exports.FacetQueryCommand = FacetQueryCommand; //# sourceMappingURL=FacetQueryCommand.js.map