0.1.2 #3

Merged
Thilawyn merged 136 commits from next into master 2024-03-11 19:44:21 +01:00
Showing only changes of commit 147034e95d - Show all commits

View File

@@ -2,7 +2,7 @@ import { Effect, pipe } from "effect"
import { AbstractClass, Class as ConcreteClass, Opaque } from "type-fest" import { AbstractClass, Class as ConcreteClass, Opaque } from "type-fest"
import { z } from "zod" import { z } from "zod"
import { DefinedDefaultValuesTag, NewZodSchemaInstanceArgs, NewZodSchemaInstanceInput, TZodSchemaClass } from "." import { DefinedDefaultValuesTag, NewZodSchemaInstanceArgs, NewZodSchemaInstanceInput, TZodSchemaClass } from "."
import { StaticMembers, parseZodTypeEffect } from "./util" import { Class, GetClassType, StaticMembers, parseZodTypeEffect } from "./util"
type ExtendableClass = AbstractClass<any, []> & { type ExtendableClass = AbstractClass<any, []> & {
@@ -27,12 +27,6 @@ export function ZodSchemaClassOf<
defaultValues: Opaque<DefaultValues, DefinedDefaultValuesTag> defaultValues: Opaque<DefaultValues, DefinedDefaultValuesTag>
}, },
) { ) {
type Class<T, Arguments extends unknown[]> = (
Parent extends ConcreteClass<any>
? ConcreteClass<T, Arguments>
: AbstractClass<T, Arguments>
)
type TZodSchemaClassImpl = TZodSchemaClass< type TZodSchemaClassImpl = TZodSchemaClass<
SchemaT, SchemaT,
SchemaUnknownKeys, SchemaUnknownKeys,
@@ -118,6 +112,8 @@ export function ZodSchemaClassOf<
} }
} as unknown as ( } as unknown as (
Class< Class<
GetClassType<Parent>,
InstanceType<Parent> & InstanceType<Parent> &
InstanceType<TZodSchemaClassImpl>, InstanceType<TZodSchemaClassImpl>,