diff options
| author | Melonai <einebeere@gmail.com> | 2021-07-14 19:36:29 +0200 |
|---|---|---|
| committer | Melonai <einebeere@gmail.com> | 2021-07-14 19:36:29 +0200 |
| commit | 251cba56d9103c9ac38f9b98b69ee953ce23111e (patch) | |
| tree | ebe7f48b99fd4d754084ebe416e6bbbc9f71092d /assets/src/network/channel/messages/messages.ts | |
| parent | c3b05a72b7185112ece6e42c99e9a828c8298f04 (diff) | |
| download | rook-251cba56d9103c9ac38f9b98b69ee953ce23111e.tar.zst rook-251cba56d9103c9ac38f9b98b69ee953ce23111e.zip | |
Started better typing for message handler
Diffstat (limited to 'assets/src/network/channel/messages/messages.ts')
| -rw-r--r-- | assets/src/network/channel/messages/messages.ts | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/assets/src/network/channel/messages/messages.ts b/assets/src/network/channel/messages/messages.ts index 3f2253d..67f70ac 100644 --- a/assets/src/network/channel/messages/messages.ts +++ b/assets/src/network/channel/messages/messages.ts @@ -1,5 +1,12 @@ export type AnyMessage = ShareMessage | RequestMessage; +export type EventName = AnyMessage["event_name"]; +export type MessageForEvent<EN> = Extract<AnyMessage, { event_name: EN }>; + +export type TokenizedMessage = { + token: string; +} & AnyMessage; + // Messages for the sharer export type ShareMessage = @@ -9,20 +16,24 @@ export type ShareMessage = | RequestIceCandidateMessage; export type NewRequestMessage = { + event_name: "new_request"; token: string; }; export type RequestCancelledMessage = { + event_name: "request_cancelled"; token: string; }; export type ShareAcceptedMessage = { + event_name: "share_accepted"; token: string; sdp: string; type: RTCSdpType; }; export type RequestIceCandidateMessage = { + event_name: "request_ice_candidate"; token: string; candidate: RTCIceCandidateInit; }; @@ -35,15 +46,21 @@ export type RequestMessage = | ShareCancelledMessage | ShareIceCandidateMessage; -export type RequestAcknowledgedMessage = {}; +export type RequestAcknowledgedMessage = { + event_name: "request_acknowledged"; +}; export type RequestAcceptedMessage = { + event_name: "request_accepted"; sdp: string; type: RTCSdpType; }; -export type ShareCancelledMessage = {}; +export type ShareCancelledMessage = { + event_name: "share_cancelled"; +}; export type ShareIceCandidateMessage = { + event_name: "share_ice_candidate"; candidate: RTCIceCandidateInit; }; |
