diff --git a/src/types.ts b/src/types.ts index 11444fa8..874369a5 100644 --- a/src/types.ts +++ b/src/types.ts @@ -147,6 +147,8 @@ export const frigateCardCustomActionSchema = z.union([ ]); export type FrigateCardCustomAction = z.infer; +// Cannot use discriminatedUnion since frigateCardCustomActionSchema uses a +// transform on the discriminated union key. const actionSchema = z.union([ toggleActionSchema, callServiceActionSchema, @@ -353,7 +355,7 @@ const frigateConditionalSchema = z.object({ }); export type FrigateConditional = z.infer; -const pictureElementSchema = z.union([ +const pictureElementSchema = z.discriminatedUnion("type", [ menuStateIconSchema, menuIconSchema, menuSubmenuSchema, @@ -798,7 +800,7 @@ export const frigateCardConfigDefaults = { image: imageConfigDefault, }; -const menuButtonSchema = z.union([ +const menuButtonSchema = z.discriminatedUnion("type", [ menuIconSchema, menuStateIconSchema, menuSubmenuSchema,