@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
JavaScript
/* 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;