UNPKG

@cumulus/message

Version:

Utilities for building and parsing Cumulus messages

35 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMessageProviderId = exports.getMessageProvider = exports.isMessageWithProvider = exports.isMessageProvider = void 0; const CumulusMessage_1 = require("./CumulusMessage"); const isMessageProvider = (obj) => (obj instanceof Object // in testing instanceof String can return false for string literals && 'id' in obj && (typeof (obj.id) === 'string' || obj.id instanceof String) && 'protocol' in obj && (typeof (obj.protocol) === 'string' || obj.protocol instanceof String) && 'host' in obj && (typeof (obj.host) === 'string' || obj.host instanceof String) && ('port' in obj ? (typeof (obj.port) === 'number' || obj.port instanceof Number) : true)); exports.isMessageProvider = isMessageProvider; const isMessageWithProvider = (obj) => ((0, CumulusMessage_1.isCumulusMessageLike)(obj) && (0, exports.isMessageProvider)(obj?.meta?.provider)); exports.isMessageWithProvider = isMessageWithProvider; /** * Get the provider from a workflow message, if any. * * @param {MessageWithProvider} message - A workflow message object * @returns {MessageProvider|string} The provider object * * @alias module:Providers */ const getMessageProvider = (message) => message.meta?.provider; exports.getMessageProvider = getMessageProvider; /** * Get the provider ID from a workflow message, if any. * * @param {MessageWithProvider} message - A workflow message object * @returns {undefined|string} The provider ID * * @alias module:Providers */ const getMessageProviderId = (message) => (0, exports.getMessageProvider)(message)?.id; exports.getMessageProviderId = getMessageProviderId; //# sourceMappingURL=Providers.js.map