Class: Channel
Constructors
constructor
• new Channel(target, chanId)
RPC communication based on window postMessage
Parameters
| Name | Type | Description |
|---|---|---|
target | Window | essentially a window obj we want to send messages to |
chanId | string | Channel 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
| Name | Type |
|---|---|
listener | ChannelEventListener |
Returns
void
callRPC
▸ callRPC<T>(method, payload, transfer?): Promise<RPCCallReply<T>>
Type parameters
| Name | Type |
|---|---|
T | extends keyof RPCCalls |
Parameters
| Name | Type |
|---|---|
method | T |
payload | RPCCalls[T][``"payload"``] |
transfer? | Transferable[] |
Returns
Promise<RPCCallReply<T>>
emitEvent
▸ Private emitEvent(event): void
Parameters
| Name | Type |
|---|---|
event | ChannelEvent<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
| Name | Type |
|---|---|
evt | MessageEvent<PluginMessage> |
Returns
void
removeEventListener
▸ removeEventListener(listener): void
Parameters
| Name | Type |
|---|---|
listener | ChannelEventListener |
Returns
void
replyRPC
▸ replyRPC<T>(event): void
Type parameters
| Name | Type |
|---|---|
T | extends keyof RPCCalls |
Parameters
| Name | Type |
|---|---|
event | ChannelRPCReply<T> |
Returns
void
sendEvent
▸ sendEvent<T>(event): void
Type parameters
| Name | Type |
|---|---|
T | extends keyof EventMessage |
Parameters
| Name | Type |
|---|---|
event | ChannelEvent<T> |
Returns
void
unregister
▸ unregister(): void
Returns
void