@mdf.js/openc2
Version:
MMS - API - Observability
86 lines • 3.56 kB
JavaScript
;
/**
* Copyright 2024 Mytra Control S.L. All rights reserved.
*
* Use of this source code is governed by an MIT-style license that can be found in the LICENSE file
* or at https://opensource.org/licenses/MIT.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Events = void 0;
const types_1 = require("../types");
class Events {
/**
* Check if the event is the general command event
* @param event - event to be checked
* @param separator - event separator
* @returns
*/
static isGeneralCommandEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event === `${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_COMMAND_PREFIX}${separator}all`;
}
/**
* Check if the event is the general response event
* @param event - event to be checked
* @param separator - event separator
* @returns
*/
static isGeneralResponseEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event === `${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_RESPONSE_PREFIX}`;
}
/**
* Check if the event is for an actuator profile command event
* @param event - event to be checked
* @param separator - event separator
* @returns
*/
static isActuatorCommandEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event.startsWith(`${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_COMMAND_PREFIX}${separator}ap${separator}`);
}
/**
* Return the event for an concrete actuator profile
* @param event - event to be processed
* @param separator - event separator
* @returns
*/
static getActuatorFromCommandEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event.replace(`${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_COMMAND_PREFIX}${separator}ap${separator}`, '');
}
/**
* Check if the event is for a concrete device
* @param event - event to be checked
* @param separator - event separator
* @returns
*/
static isDeviceCommandEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event.startsWith(`${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_COMMAND_PREFIX}${separator}device${separator}`);
}
/**
* Return the event for a concrete device
* @param event - event to be processed
* @param separator - event separator
* @returns
*/
static getDeviceFromCommandEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event.replace(`${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_COMMAND_PREFIX}${separator}device${separator}`, '');
}
/**
* Check if the event is for a concrete producer
* @param event - event to be checked
* @param separator - event separator
* @returns
*/
static isProducerResponseEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event.startsWith(`${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_RESPONSE_PREFIX}${separator}`);
}
/**
* Return the event for a concrete producer
* @param event - event to be processed
* @param separator - event separator
* @returns
*/
static getProducerFromResponseEvent(event, separator = types_1.OC2_TOPIC_SEPARATOR) {
return event.replace(`${types_1.OC2_TOPIC_PREFIX}${separator}${types_1.OC2_TOPIC_RESPONSE_PREFIX}${separator}`, '');
}
}
exports.Events = Events;
//# sourceMappingURL=Events.js.map