1- import type { AnyZodObject , ZodDefault , ZodEffects , ZodUnion } from 'zod' ;
1+ import type { AnyZodObject , ZodDefault , ZodEffects , ZodType , ZodTypeDef , ZodUnion } from 'zod' ;
22import type { JSONSchema7 } from 'json-schema' ;
33import {
44 type AdapterOptions ,
@@ -27,7 +27,11 @@ type ZodObjectUnion<T extends AnyZodObject> = ZodUnion<
2727 [ ZodValidation < T > , ZodValidation < T > , ...ZodValidation < T > [ ] ]
2828> ;
2929
30- export type ZodValidation < T extends AnyZodObject | ZodObjectUnion < AnyZodObject > > =
30+ type ZodObjectType = ZodType < Record < string , unknown > , ZodTypeDef , Record < string , unknown > > ;
31+
32+ type ZodObjectTypes = AnyZodObject | ZodObjectUnion < AnyZodObject > | ZodObjectType ;
33+
34+ export type ZodValidation < T extends ZodObjectTypes > =
3135 | T
3236 | ZodEffects < T >
3337 | ZodEffects < ZodEffects < T > >
@@ -47,7 +51,7 @@ export type ZodValidation<T extends AnyZodObject | ZodObjectUnion<AnyZodObject>>
4751 ZodEffects < ZodEffects < ZodEffects < ZodEffects < ZodEffects < ZodEffects < ZodEffects < T > > > > > > >
4852 > ;
4953
50- async function validate < T extends ZodValidation < AnyZodObject | ZodObjectUnion < AnyZodObject > > > (
54+ async function validate < T extends ZodValidation < ZodObjectTypes > > (
5155 schema : T ,
5256 data : unknown
5357) : Promise < ValidationResult < Infer < T > > > {
@@ -64,7 +68,7 @@ async function validate<T extends ZodValidation<AnyZodObject | ZodObjectUnion<An
6468 } ;
6569}
6670
67- function _zod < T extends ZodValidation < AnyZodObject | ZodObjectUnion < AnyZodObject > > > (
71+ function _zod < T extends ZodValidation < ZodObjectTypes > > (
6872 schema : T ,
6973 options ?: AdapterOptions < T >
7074) : ValidationAdapter < Infer < T > , InferIn < T > > {
@@ -76,7 +80,7 @@ function _zod<T extends ZodValidation<AnyZodObject | ZodObjectUnion<AnyZodObject
7680 } ) ;
7781}
7882
79- function _zodClient < T extends ZodValidation < AnyZodObject | ZodObjectUnion < AnyZodObject > > > (
83+ function _zodClient < T extends ZodValidation < ZodObjectTypes > > (
8084 schema : T
8185) : ClientValidationAdapter < Infer < T > , InferIn < T > > {
8286 return {
0 commit comments