File: /var/www/javago-api-updates/node_modules/@google-cloud/firestore/build/src/query-profile.js
"use strict";
/*!
* Copyright 2024 Google LLC. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExplainResults = exports.ExplainMetrics = exports.ExecutionStats = exports.PlanSummary = void 0;
/**
* PlanSummary contains information about the planning stage of a query.
*
* @class PlanSummary
*/
class PlanSummary {
/**
* @private
* @internal
*/
constructor(indexesUsed) {
this.indexesUsed = indexesUsed;
}
/**
* @private
* @internal
*/
static _fromProto(plan, serializer) {
const indexes = [];
if (plan && plan.indexesUsed) {
for (const index of plan.indexesUsed) {
indexes.push(serializer.decodeGoogleProtobufStruct(index));
}
}
return new PlanSummary(indexes);
}
}
exports.PlanSummary = PlanSummary;
/**
* ExecutionStats contains information about the execution of a query.
*
* @class ExecutionStats
*/
class ExecutionStats {
/**
* @private
* @internal
*/
constructor(resultsReturned, executionDuration, readOperations, debugStats) {
this.resultsReturned = resultsReturned;
this.executionDuration = executionDuration;
this.readOperations = readOperations;
this.debugStats = debugStats;
}
/**
* @private
* @internal
*/
static _fromProto(stats, serializer) {
var _a, _b;
if (stats) {
return new ExecutionStats(Number(stats.resultsReturned), {
seconds: Number((_a = stats.executionDuration) === null || _a === void 0 ? void 0 : _a.seconds),
nanoseconds: Number((_b = stats.executionDuration) === null || _b === void 0 ? void 0 : _b.nanos),
}, Number(stats.readOperations), serializer.decodeGoogleProtobufStruct(stats.debugStats));
}
return null;
}
}
exports.ExecutionStats = ExecutionStats;
/**
* ExplainMetrics contains information about planning and execution of a query.
*
* @class ExplainMetrics
*/
class ExplainMetrics {
/**
* @private
* @internal
*/
constructor(planSummary, executionStats) {
this.planSummary = planSummary;
this.executionStats = executionStats;
}
/**
* @private
* @internal
*/
static _fromProto(metrics, serializer) {
return new ExplainMetrics(PlanSummary._fromProto(metrics.planSummary, serializer), ExecutionStats._fromProto(metrics.executionStats, serializer));
}
}
exports.ExplainMetrics = ExplainMetrics;
/**
* ExplainResults contains information about planning, execution, and results
* of a query.
*
* @class ExplainResults
*/
class ExplainResults {
/**
* @private
* @internal
*/
constructor(metrics, snapshot) {
this.metrics = metrics;
this.snapshot = snapshot;
}
}
exports.ExplainResults = ExplainResults;
//# sourceMappingURL=query-profile.js.map