@4players/odin-common
Version:
A collection of commonly used type definitions and utility functions across ODIN web projects
259 lines (258 loc) • 8.94 kB
TypeScript
import { type infer, z } from 'zod';
export type { infer as Infer };
export type Commands = Record<string, {
request: z.ZodTypeAny;
response: z.ZodTypeAny;
}>;
export declare const MainCommandsRpc: {
Hello: {
request: z.ZodObject<{
stream: z.ZodLiteral<"main">;
}, "strip", z.ZodTypeAny, {
stream: "main";
}, {
stream: "main";
}>;
response: z.ZodNull;
};
JoinRoom: {
request: z.ZodObject<{
token: z.ZodString;
room_id: z.ZodString;
user_data: z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>;
position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
}, "strip", z.ZodTypeAny, {
position: [number, number] | [number, number, number];
user_data: Uint8Array;
room_id: string;
token: string;
}, {
position: [number, number] | [number, number, number];
user_data: Uint8Array;
room_id: string;
token: string;
}>;
response: z.ZodObject<{
peer_id: z.ZodNumber;
stream_id: z.ZodOptional<z.ZodNumber>;
token: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
peer_id: number;
token?: string | undefined;
stream_id?: number | undefined;
}, {
peer_id: number;
token?: string | undefined;
stream_id?: number | undefined;
}>;
};
WebRtcUpdate: {
request: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
kind: z.ZodLiteral<"Sdp">;
type: z.ZodEnum<["Answer", "Offer"]>;
sdp: z.ZodString;
media_map: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodString], null>, "many">;
}, "strip", z.ZodTypeAny, {
type: "Answer" | "Offer";
kind: "Sdp";
sdp: string;
media_map: [number, string][];
}, {
type: "Answer" | "Offer";
kind: "Sdp";
sdp: string;
media_map: [number, string][];
}>, z.ZodObject<{
kind: z.ZodLiteral<"Trickle">;
candidate: z.ZodString;
spd_mid: z.ZodOptional<z.ZodString>;
spd_mline_index: z.ZodOptional<z.ZodNumber>;
username_fragment: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
candidate: string;
kind: "Trickle";
spd_mid?: string | undefined;
spd_mline_index?: number | undefined;
username_fragment?: string | null | undefined;
}, {
candidate: string;
kind: "Trickle";
spd_mid?: string | undefined;
spd_mline_index?: number | undefined;
username_fragment?: string | null | undefined;
}>, z.ZodObject<{
kind: z.ZodLiteral<"TrickleFinished">;
}, "strip", z.ZodTypeAny, {
kind: "TrickleFinished";
}, {
kind: "TrickleFinished";
}>]>;
response: z.ZodNull;
};
RequestReconnectToken: {
request: z.ZodObject<{
peer_id: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
peer_id?: number | undefined;
}, {
peer_id?: number | undefined;
}>;
response: z.ZodString;
};
Ping: {
request: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
response: z.ZodNull;
};
};
export type MainCommands = typeof MainCommandsRpc;
export declare const RoomCommandsRpc: {
Hello: {
request: z.ZodObject<{
stream: z.ZodLiteral<"room">;
token: z.ZodString;
room_id: z.ZodString;
user_data: z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>;
position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
}, "strip", z.ZodTypeAny, {
stream: "room";
position: [number, number] | [number, number, number];
user_data: Uint8Array;
room_id: string;
token: string;
}, {
stream: "room";
position: [number, number] | [number, number, number];
user_data: Uint8Array;
room_id: string;
token: string;
}>;
response: z.ZodNull;
};
UpdatePeer: {
request: z.ZodObject<{
user_data: z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>;
}, "strip", z.ZodTypeAny, {
user_data: Uint8Array;
}, {
user_data: Uint8Array;
}>;
response: z.ZodNull;
};
StartMedia: {
request: z.ZodObject<{
media_id: z.ZodNumber;
properties: z.ZodUnion<[z.ZodObject<{
kind: z.ZodOptional<z.ZodLiteral<"audio">>;
uid: z.ZodOptional<z.ZodString>;
customType: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
uid?: string | undefined;
kind?: "audio" | undefined;
customType?: string | undefined;
}, {
uid?: string | undefined;
kind?: "audio" | undefined;
customType?: string | undefined;
}>, z.ZodObject<{
kind: z.ZodOptional<z.ZodLiteral<"video">>;
codec: z.ZodOptional<z.ZodString>;
uid: z.ZodOptional<z.ZodString>;
customType: z.ZodOptional<z.ZodString>;
id: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
id?: string | undefined;
codec?: string | undefined;
uid?: string | undefined;
kind?: "video" | undefined;
customType?: string | undefined;
}, {
id?: string | undefined;
codec?: string | undefined;
uid?: string | undefined;
kind?: "video" | undefined;
customType?: string | undefined;
}>]>;
}, "strip", z.ZodTypeAny, {
properties: {
uid?: string | undefined;
kind?: "audio" | undefined;
customType?: string | undefined;
} | {
id?: string | undefined;
codec?: string | undefined;
uid?: string | undefined;
kind?: "video" | undefined;
customType?: string | undefined;
};
media_id: number;
}, {
properties: {
uid?: string | undefined;
kind?: "audio" | undefined;
customType?: string | undefined;
} | {
id?: string | undefined;
codec?: string | undefined;
uid?: string | undefined;
kind?: "video" | undefined;
customType?: string | undefined;
};
media_id: number;
}>;
response: z.ZodNull;
};
StopMedia: {
request: z.ZodObject<{
media_id: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
media_id: number;
}, {
media_id: number;
}>;
response: z.ZodNull;
};
PauseMedia: {
request: z.ZodObject<{
media_id: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
media_id: number;
}, {
media_id: number;
}>;
response: z.ZodNull;
};
ResumeMedia: {
request: z.ZodObject<{
media_id: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
media_id: number;
}, {
media_id: number;
}>;
response: z.ZodNull;
};
SetPeerPosition: {
request: z.ZodObject<{
position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>]>;
}, "strip", z.ZodTypeAny, {
position: [number, number] | [number, number, number];
}, {
position: [number, number] | [number, number, number];
}>;
response: z.ZodNull;
};
SendMessage: {
request: z.ZodObject<{
target_peer_ids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
message: z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>;
}, "strip", z.ZodTypeAny, {
message: Uint8Array;
target_peer_ids?: number[] | undefined;
}, {
message: Uint8Array;
target_peer_ids?: number[] | undefined;
}>;
response: z.ZodNull;
};
};
export type RoomCommands = typeof RoomCommandsRpc;