Refactoring
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-01-28 02:33:05 +01:00
parent a4b8166af8
commit e35db63da8
2 changed files with 21 additions and 17 deletions

View File

@@ -6,7 +6,7 @@ import { Class, GetClassType, MergeInheritanceTree, MergeInheritanceTreeWithoutO
export function ZodSchemaClassOf<
Parent extends AbstractClass<any, []>,
Super extends AbstractClass<any, []>,
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
@@ -15,7 +15,7 @@ export function ZodSchemaClassOf<
Values extends {},
DefaultValues extends Partial<Values>,
>(
of: Parent,
of: Super,
{ schema, defaultValues }: {
schema: z.ZodObject<SchemaT, SchemaUnknownKeys, SchemaCatchall, Values, Values>
@@ -107,10 +107,10 @@ export function ZodSchemaClassOf<
}
} as unknown as (
Class<
GetClassType<Parent>,
GetClassType<Super>,
MergeInheritanceTreeWithoutOverriding<[
InstanceType<Parent>,
InstanceType<Super>,
InstanceType<TZodSchemaClassImpl>,
]> &
@@ -118,13 +118,15 @@ export function ZodSchemaClassOf<
> &
MergeInheritanceTree<[
StaticMembers<Parent>,
StaticMembers<Super>,
StaticMembers<TZodSchemaClassImpl>,
]>
)
}
class DefaultRoot {}
export function ZodSchemaClass<
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
@@ -138,5 +140,5 @@ export function ZodSchemaClass<
defaultValues: Opaque<DefaultValues, DefinedDefaultValuesTag>
},
) {
return ZodSchemaClassOf(Object, props)
return ZodSchemaClassOf(DefaultRoot, props)
}