0.1.3 #4

Merged
Thilawyn merged 74 commits from next into master 2024-03-24 22:24:25 +01:00
Showing only changes of commit 4a20846058 - Show all commits

View File

@@ -11,32 +11,15 @@ export function stripZodObjectDefaults<
>( >(
schema: z.ZodObject<T, UnknownKeys, Catchall, Output, Input> schema: z.ZodObject<T, UnknownKeys, Catchall, Output, Input>
) { ) {
const s = schema.extend( return schema.extend(
mapValues(schema.shape, v => mapValues(schema.shape, v =>
v instanceof z.ZodDefault v instanceof z.ZodDefault
? v.removeDefault() ? v.removeDefault()
: v : v
) as { ) as {
[K in keyof T]: T[K] extends z.ZodDefault<infer Def> [K in keyof T]: T[K] extends z.ZodDefault<z.ZodTypeAny>
? Def ? ReturnType<T[K]["removeDefault"]>
: T[K] : T[K]
} }
) )
type test = z.input<typeof s>
return s as unknown as z.ZodObject<
{
[K in keyof T]: T[K] extends z.ZodDefault<infer Def>
? Def
: T[K]
},
UnknownKeys,
Catchall,
{
[K in keyof z.output<typeof s>]: T[K] extends z.ZodDefault<infer Def>
? Def
: T[K]
},
Input
>
} }