diff options
Diffstat (limited to 'common/packets.d.ts')
-rw-r--r-- | common/packets.d.ts | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/common/packets.d.ts b/common/packets.d.ts index 369d221..0b04183 100644 --- a/common/packets.d.ts +++ b/common/packets.d.ts @@ -13,31 +13,34 @@ interface F_RTCIceCandidateInit { usernameFragment?: string | null } -export type ClientboundPacket = - { init: { your_id: number, version: string } } - | { client_join: { id: number } } // join: more like "appear" - also sent when you join for others that were there before you. - | { client_leave: { id: number } } - | { message: { sender: number, message: string /* encrypted RelayMessageWrapper */ } } +export interface ClientboundPacket { + init?: { your_id: number, version: string } + client_join?: { id: number } // join: more like "appear" - also sent when you join for others that were there before you. + client_leave?: { id: number } + message?: { sender: number, message: string /* encrypted RelayMessageWrapper */ } +} -export type ServerboundPacket = - { ping: null } - | { relay: { recipient?: number, message: string /* encrypted RelayMessageWrapper */ } } +export interface ServerboundPacket { + ping?: null + relay?: { recipient?: number, message: string /* encrypted RelayMessageWrapper */ } +} export interface RelayMessageWrapper { sender: number, // redundancy to ensure the server didn't cheat inner: RelayMessage } -export type RelayMessage = - { chat: ChatMessage } - | { identify: { username: string } } - | { provide: ProvideInfo } - | { request: { id: string } } - | { provide_stop: { id: string } } - | { request_stop: { id: string } } - | { offer: Sdp } - | { answer: Sdp } - | { ice_candidate: F_RTCIceCandidateInit } +export interface RelayMessage { + chat?: ChatMessage + identify?: { username: string } + provide?: ProvideInfo + request?: { id: string } + provide_stop?: { id: string } + request_stop?: { id: string } + offer?: Sdp + answer?: Sdp + ice_candidate?: F_RTCIceCandidateInit +} export interface ChatMessage { text?: string, image?: string } export type ResourceKind = "track" | "file" |