From 3cba87d55baedec62bf5668674410998883693b4 Mon Sep 17 00:00:00 2001 From: Jamie V Date: Mon, 30 Dec 2024 15:28:55 -0800 Subject: [PATCH] clean up the new hasNumericTelemetry method in the telemetry api --- src/api/telemetry/TelemetryAPI.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/api/telemetry/TelemetryAPI.js b/src/api/telemetry/TelemetryAPI.js index 9d83152b24..122a38ec96 100644 --- a/src/api/telemetry/TelemetryAPI.js +++ b/src/api/telemetry/TelemetryAPI.js @@ -284,17 +284,23 @@ export default class TelemetryAPI { return value; } + /** + * Determines whether a domain object has numeric telemetry data. + * A domain object has numeric telemetry if it: + * 1. Has a telemetry property + * 2. Has telemetry metadata with domain values (like timestamps) + * 3. Has range values (measurements) where at least one is numeric + * + * @method hasNumericTelemetry + * @param {import('openmct').DomainObject} domainObject The domain object to check + * @returns {boolean} True if the object has numeric telemetry, false otherwise + */ hasNumericTelemetry(domainObject) { if (!Object.prototype.hasOwnProperty.call(domainObject, 'telemetry')) { return false; } - let metadata = this.openmct.telemetry.getMetadata(domainObject); - - return metadata.values().length > 0 && this.#hasDomainAndNumericRange(metadata); - } - - #hasDomainAndNumericRange(metadata) { + const metadata = this.openmct.telemetry.getMetadata(domainObject); const rangeValues = metadata.valuesForHints(['range']); const domains = metadata.valuesForHints(['domain']);