UNPKG

@signiant/media-shuttle-sdk-base

Version:

The base parent sdk behind other media shuttle sdks (e.g. media-shuttle-sdk)

32 lines (31 loc) 1.27 kB
/* eslint-disable import/first */ import { v4 as uuid } from 'uuid'; import LogManager from '../../system/LogManager'; import MessageType from './MessageType'; /** * MessageChannel is the top level class for external messaging. Most of the implementation comes from the * [[MessageChannelProvider]] class but the MessageChannel is still valuable because the sdk * uses [[MessageChannelDecorator]]s liberally which delegate their function calls to the [[MessageChannelProvider]] * they are decorating rather then provide their own implementation. */ var MessageChannel = /** @class */ (function () { function MessageChannel() { } MessageChannel.prototype.sendMessageRequest = function (originator, requestName, requestCallback, content) { this.setEventHandler(originator, requestName, requestCallback); var messageId = uuid(); var message = { messageid: messageId, originator: originator, currentpart: 1, totalparts: 1, type: MessageType.REQUEST, context: requestName, content: content, }; LogManager.debug('Send message', message); this.publish(message); }; return MessageChannel; }()); export default MessageChannel;