diff --git a/src/ZodSchemaClass.ts b/src/ZodSchemaClass.ts index 9886e1f..d2dbf62 100644 --- a/src/ZodSchemaClass.ts +++ b/src/ZodSchemaClass.ts @@ -2,7 +2,7 @@ import { Effect, pipe } from "effect" import { AbstractClass, Class as ConcreteClass, Opaque } from "type-fest" import { z } from "zod" import { DefinedDefaultValuesTag, NewZodSchemaInstanceArgs, NewZodSchemaInstanceInput, TZodSchemaClass } from "." -import { StaticMembers, parseZodTypeEffect } from "./util" +import { Class, GetClassType, StaticMembers, parseZodTypeEffect } from "./util" type ExtendableClass = AbstractClass & { @@ -27,12 +27,6 @@ export function ZodSchemaClassOf< defaultValues: Opaque }, ) { - type Class = ( - Parent extends ConcreteClass - ? ConcreteClass - : AbstractClass - ) - type TZodSchemaClassImpl = TZodSchemaClass< SchemaT, SchemaUnknownKeys, @@ -118,6 +112,8 @@ export function ZodSchemaClassOf< } } as unknown as ( Class< + GetClassType, + InstanceType & InstanceType,