Fixed extendSchemableClass
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { AbstractClass, Class } from "type-fest"
|
||||
import { AbstractClass, Class as ConcreteClass } from "type-fest"
|
||||
import { z } from "zod"
|
||||
import { SchemableClass } from "."
|
||||
import { StaticMembers } from "./util"
|
||||
@@ -23,6 +23,7 @@ export function extendSchemableClass<
|
||||
SchemaUnknownKeys extends z.UnknownKeysParam,
|
||||
SchemaCatchall extends z.ZodTypeAny,
|
||||
SchemaValues extends ExtendSchemaValues,
|
||||
|
||||
DefaultValues extends Partial<SchemaValues>,
|
||||
>(
|
||||
extend: C | SchemableClass<
|
||||
@@ -43,9 +44,9 @@ export function extendSchemableClass<
|
||||
|
||||
defaultValuesApplier: (defaultValues: ExtendDefaultValues) => DefaultValues,
|
||||
) {
|
||||
type ClassKind<T, Arguments extends unknown[]> = (
|
||||
C extends Class<any>
|
||||
? Class<T, Arguments>
|
||||
type Class<T, Arguments extends unknown[]> = (
|
||||
C extends ConcreteClass<any>
|
||||
? ConcreteClass<T, Arguments>
|
||||
: AbstractClass<T, Arguments>
|
||||
)
|
||||
|
||||
@@ -59,7 +60,7 @@ export function extendSchemableClass<
|
||||
static readonly defaultValues = defaultValues
|
||||
readonly defaultValues = defaultValues
|
||||
} as unknown as (
|
||||
ClassKind<
|
||||
Class<
|
||||
Omit<InstanceType<C>, "schema" | "defaultValues" | keyof ExtendSchemaValues> &
|
||||
{
|
||||
readonly schema: typeof schema,
|
||||
|
||||
Reference in New Issue
Block a user