feat: guest information form enter details

This commit is contained in:
Simon Emanuelsson
2024-10-03 11:12:36 +02:00
parent 4103e3fb37
commit 451d461c7f
50 changed files with 834 additions and 442 deletions

View File

@@ -21,7 +21,7 @@ import type {
* is an Interface e.g).
*/
export function discriminatedUnion<T extends Option>(options: T[]) {
export function discriminatedUnion<R>(options: Option[]) {
return z
.discriminatedUnion("__typename", [
z.object({ __typename: z.literal(undefined) }),
@@ -37,6 +37,12 @@ export function discriminatedUnion<T extends Option>(options: T[]) {
}
throw new Error(error.message)
})
.transform((data) => {
if (data.__typename === "undefined" || data.__typename === undefined) {
return null
}
return data as R
})
}
export function discriminatedUnionArray<T extends Option>(options: T[]) {