Use new zod discriminatedUnion type.

This commit is contained in:
Dermot Duffy
2022-02-27 16:42:06 -08:00
parent 9fec54ab5e
commit ae7891d4b3
+4 -2
View File
@@ -147,6 +147,8 @@ export const frigateCardCustomActionSchema = z.union([
]); ]);
export type FrigateCardCustomAction = z.infer<typeof frigateCardCustomActionSchema>; export type FrigateCardCustomAction = z.infer<typeof frigateCardCustomActionSchema>;
// Cannot use discriminatedUnion since frigateCardCustomActionSchema uses a
// transform on the discriminated union key.
const actionSchema = z.union([ const actionSchema = z.union([
toggleActionSchema, toggleActionSchema,
callServiceActionSchema, callServiceActionSchema,
@@ -353,7 +355,7 @@ const frigateConditionalSchema = z.object({
}); });
export type FrigateConditional = z.infer<typeof frigateConditionalSchema>; export type FrigateConditional = z.infer<typeof frigateConditionalSchema>;
const pictureElementSchema = z.union([ const pictureElementSchema = z.discriminatedUnion("type", [
menuStateIconSchema, menuStateIconSchema,
menuIconSchema, menuIconSchema,
menuSubmenuSchema, menuSubmenuSchema,
@@ -798,7 +800,7 @@ export const frigateCardConfigDefaults = {
image: imageConfigDefault, image: imageConfigDefault,
}; };
const menuButtonSchema = z.union([ const menuButtonSchema = z.discriminatedUnion("type", [
menuIconSchema, menuIconSchema,
menuStateIconSchema, menuStateIconSchema,
menuSubmenuSchema, menuSubmenuSchema,