Variable SourceMessageSchemaConst
SourceMessageSchema: ZodUnion<
readonly [
ZodDiscriminatedUnion<
[
ZodObject<
{
players: ZodRecord<
ZodString,
ZodObject<
{
answerData: ZodOptional<ZodObject<(...), (...)>>;
color: ZodString;
isHost: ZodBoolean;
isSpectator: ZodBoolean;
points: ZodNumber;
username: ZodCustomStringFormat<"user">;
},
$strip,
>,
>;
state: ZodLiteral<"lobby" | "results" | "ingame">;
type: ZodDefault<ZodLiteral<"room_state">>;
uuid: ZodString;
version: ZodString;
},
$strip,
>,
ZodObject<
{
filteredSongsCount: ZodNumber;
playlists: ZodOptional<
ZodArray<
ZodObject<
{
cover: ZodNullable<(...)>;
hrefURL: ZodUnion<(...)>;
name: ZodString;
songs: ZodArray<(...)>;
subtitle: ZodOptional<(...)>;
},
$strip,
>,
>,
>;
type: ZodDefault<ZodLiteral<"update_playlists">>;
},
$strip,
>,
ZodObject<
{
advancedSongFiltering: ZodBoolean;
audioStartPosition: ZodNumber;
distractionsPreferSameArtist: ZodBoolean;
endWhenAnswered: ZodBoolean;
gameMode: ZodLiteral<"multiple_choice" | "player_picks">;
playerPickTimeout: ZodNumber;
roundsCount: ZodNumber;
timePerQuestion: ZodNumber;
type: ZodDefault<ZodLiteral<"room_config">>;
},
$strip,
>,
],
"type",
>,
ZodDiscriminatedUnion<
[
ZodObject<
{
type: ZodDefault<ZodLiteral<"change_username">>;
username: ZodCustomStringFormat<"user">;
},
$strip,
>,
ZodObject<
{
playlists: ZodArray<
ZodObject<
{
cover: ZodNullable<ZodUnion<(...)>>;
hrefURL: ZodUnion<readonly [(...), (...)]>;
name: ZodString;
songs: ZodArray<ZodObject<(...), (...)>>;
subtitle: ZodOptional<ZodString>;
},
$strip,
>,
>;
type: ZodDefault<ZodLiteral<"add_playlists">>;
},
$strip,
>,
ZodObject<
{
index: ZodNullable<ZodInt>;
type: ZodDefault<ZodLiteral<"remove_playlist">>;
},
$strip,
>,
],
"type",
>,
ZodObject<{ type: ZodDefault<ZodLiteral<"other">> }, $strip>,
],
> = ...
Schema for messages that can be either server messages, client messages, or other messages. Used as a discriminated union to handle different message types.