0.1.3 #4
@@ -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
|
|
||||||
>
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user