Skip to main content

Class: Channel

Constructors

constructor

new Channel(target, chanId)

RPC communication based on window postMessage

Parameters

NameTypeDescription
targetWindowessentially a window obj we want to send messages to
chanIdstringChannel id. Allows one frame to contain multiple plugins.

Properties

chanId

Private Readonly chanId: string

Channel id. Allows one frame to contain multiple plugins.


eventListeners

Private eventListeners: Set<ChannelEventListener>


pendingCalls

Private pendingCalls: Map<string, [(_: undefined | string | void | UnlockParticipantResponse | DisconnectParticipantResponse | DialResponse | TransferParticipantResponse | MuteParticipantResponse | UnmuteParticipantResponse | MuteguestsResponse | UnmuteguestsResponse | VideoMuteParticipantResponse | VideoUnmuteParticipantResponse | LockResponse | UnlockResponse | DisconnectResponse | TransformLayoutResponse | MessageConferenceResponse | MessageParticipantResponse | BuzzParticipantResponse | ClearbuzzParticipantResponse | SpotlightonParticipantResponse | SpotlightoffParticipantResponse | OverlaytextParticipantResponse | DtmfParticipantResponse | DtmfResponse | { data: unknown ; status: number } | ParticipantsResponse | { breakout_uuid: RoomID } | BreakoutsDisconnectResponse | BreakoutDisconnectResponse | BreakoutsEmptyResponse | GenericRPCReply<undefined> | ButtonRPCReply<undefined> | { ack: true } | { ack: false ; reason: string } | { ack: true } | { ack: false ; reason: string }) => void, (_: Error) => void]>


target

Private target: Window

essentially a window obj we want to send messages to

Accessors

targetWindow

get targetWindow(): Window

Returns

Window

Methods

addEventListener

addEventListener(listener): void

Parameters

NameType
listenerChannelEventListener

Returns

void


callRPC

callRPC<T>(method, payload, transfer?): Promise<RPCCallReply<T>>

Type parameters

NameType
Textends keyof RPCCalls

Parameters

NameType
methodT
payloadRPCCalls[T][``"payload"``]
transfer?Transferable[]

Returns

Promise<RPCCallReply<T>>


emitEvent

Private emitEvent(event): void

Parameters

NameType
eventChannelEvent<keyof EventMessage> | Omit<{ chanId: string ; payload: undefined | DisconnectParticipantResponse ; replyTo: string ; rpc: "participant:disconnect" }, "chanId"> | Omit<{ chanId: string ; payload: { ack: true } | { ack: false ; reason: string } ; replyTo: string ; rpc: "syn" }, "chanId"> | Omit<{ chanId: string ; payload: { ack: true } | { ack: false ; reason: string } ; replyTo: string ; rpc: "syn:widget" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | DialResponse ; replyTo: string ; rpc: "conference:dialOut" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | MessageConferenceResponse | MessageParticipantResponse ; replyTo: string ; rpc: "conference:sendMessage" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | MessageConferenceResponse | MessageParticipantResponse ; replyTo: string ; rpc: "conference:sendApplicationMessage" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | LockResponse | UnlockResponse ; replyTo: string ; rpc: "conference:lock" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | MuteguestsResponse | UnmuteguestsResponse ; replyTo: string ; rpc: "conference:muteAllGuests" }, "chanId"> | Omit<{ chanId: string ; payload: void ; replyTo: string ; rpc: "conference:setBandwidth" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | TransformLayoutResponse ; replyTo: string ; rpc: "conference:setLayout" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | { data: unknown ; status: number } ; replyTo: string ; rpc: "conference:sendRequest" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | DisconnectResponse ; replyTo: string ; rpc: "conference:disconnectAll" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | ParticipantsResponse ; replyTo: string ; rpc: "conference:requestParticipants" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | { breakout_uuid: RoomID } ; replyTo: string ; rpc: "conference:breakout" }, "chanId"> | Omit<{ chanId: string ; payload: void ; replyTo: string ; rpc: "conference:joinBreakoutRoom" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | BreakoutsDisconnectResponse ; replyTo: string ; rpc: "conference:closeBreakouts" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | BreakoutDisconnectResponse ; replyTo: string ; rpc: "conference:closeBreakoutRoom" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | BreakoutsEmptyResponse ; replyTo: string ; rpc: "conference:emptyBreakouts" }, "chanId"> | Omit<{ chanId: string ; payload: void ; replyTo: string ; rpc: "conference:breakoutMoveParticipants" }, "chanId"> | Omit<{ chanId: string ; payload: string ; replyTo: string ; rpc: "conference:currentRoomId" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | TransferParticipantResponse ; replyTo: string ; rpc: "participant:transfer" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | MuteParticipantResponse | UnmuteParticipantResponse ; replyTo: string ; rpc: "participant:mute" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | VideoMuteParticipantResponse | VideoUnmuteParticipantResponse ; replyTo: string ; rpc: "participant:muteVideo" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | SpotlightonParticipantResponse | SpotlightoffParticipantResponse ; replyTo: string ; rpc: "participant:spotlight" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | UnlockParticipantResponse ; replyTo: string ; rpc: "participant:admit" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | BuzzParticipantResponse | ClearbuzzParticipantResponse ; replyTo: string ; rpc: "participant:raiseHand" }, "chanId"> | Omit<{ chanId: string ; payload: void ; replyTo: string ; rpc: "participant:setRole" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | OverlaytextParticipantResponse ; replyTo: string ; rpc: "participant:setTextOverlay" }, "chanId"> | Omit<{ chanId: string ; payload: undefined | DtmfParticipantResponse | DtmfResponse ; replyTo: string ; rpc: "participant:sendDTMF" }, "chanId"> | Omit<{ chanId: string ; payload: ButtonRPCReply<undefined> ; replyTo: string ; rpc: "ui:button:add" }, "chanId"> | Omit<{ chanId: string ; payload: ButtonRPCReply<undefined> ; replyTo: string ; rpc: "ui:button:update" }, "chanId"> | Omit<{ chanId: string ; payload: GenericRPCReply<undefined> ; replyTo: string ; rpc: "ui:form:open" }, "chanId"> | Omit<{ chanId: string ; payload: GenericRPCReply<undefined> ; replyTo: string ; rpc: "ui:prompt:open" }, "chanId"> | Omit<{ chanId: string ; payload: GenericRPCReply<undefined> ; replyTo: string ; rpc: "ui:toast:show" }, "chanId"> | Omit<{ chanId: string ; payload: GenericRPCReply<undefined> ; replyTo: string ; rpc: "ui:removeElement" }, "chanId"> | Omit<{ chanId: string ; payload: GenericRPCReply<undefined> ; replyTo: string ; rpc: "ui:widget:add" }, "chanId"> | Omit<{ chanId: string ; payload: GenericRPCReply<undefined> ; replyTo: string ; rpc: "ui:widget:toggle" }, "chanId"> | Omit<{ chanId: string ; payload: GenericRPCReply<undefined> ; replyTo: string ; rpc: "app:setDisconnectDestination" }, "chanId">

Returns

void


onMessage

Private onMessage(evt): void

Parameters

NameType
evtMessageEvent<PluginMessage>

Returns

void


removeEventListener

removeEventListener(listener): void

Parameters

NameType
listenerChannelEventListener

Returns

void


replyRPC

replyRPC<T>(event): void

Type parameters

NameType
Textends keyof RPCCalls

Parameters

NameType
eventChannelRPCReply<T>

Returns

void


sendEvent

sendEvent<T>(event): void

Type parameters

NameType
Textends keyof EventMessage

Parameters

NameType
eventChannelEvent<T>

Returns

void


unregister

unregister(): void

Returns

void