discriminatedUnion (#1193)

## Description:

Use the `discriminatedUnion` zod function to more accurately describe
how the `type` field is being used.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
This commit is contained in:
Scott Anderson
2025-06-15 23:14:45 -04:00
committed by GitHub
parent ff0e04e0c6
commit fde34699eb
+2 -2
View File
@@ -372,7 +372,7 @@ export const ServerDesyncSchema = ServerBaseMessageSchema.extend({
yourHash: z.number().optional(),
});
export const ServerMessageSchema = z.union([
export const ServerMessageSchema = z.discriminatedUnion("type", [
ServerTurnMessageSchema,
ServerPrestartMessageSchema,
ServerStartGameMessageSchema,
@@ -428,7 +428,7 @@ export const ClientJoinMessageSchema = z.object({
flag: SafeString.optional(),
});
export const ClientMessageSchema = z.union([
export const ClientMessageSchema = z.discriminatedUnion("type", [
ClientSendWinnerSchema,
ClientPingMessageSchema,
ClientIntentMessageSchema,