This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { AbstractClass, Class as ConcreteClass } from "type-fest"
|
||||
import { AbstractClass, Class as ConcreteClass, Opaque } from "type-fest"
|
||||
import { z } from "zod"
|
||||
import { DefinedDefaultValues } from "."
|
||||
import { DefinedDefaultValuesTag } from "."
|
||||
import { StaticMembers } from "./util"
|
||||
|
||||
|
||||
@@ -23,15 +23,8 @@ export function makeSchemableClassFrom<
|
||||
extend: C,
|
||||
|
||||
{ schema, defaultValues }: {
|
||||
schema: z.ZodObject<
|
||||
SchemaT,
|
||||
SchemaUnknownKeys,
|
||||
SchemaCatchall,
|
||||
Values,
|
||||
Values
|
||||
>
|
||||
|
||||
defaultValues: DefinedDefaultValues<DefaultValues>
|
||||
schema: z.ZodObject<SchemaT, SchemaUnknownKeys, SchemaCatchall, Values, Values>
|
||||
defaultValues: Opaque<DefaultValues, DefinedDefaultValuesTag>
|
||||
},
|
||||
) {
|
||||
type Class<T, Arguments extends unknown[]> = (
|
||||
@@ -55,8 +48,8 @@ export function makeSchemableClassFrom<
|
||||
Class<
|
||||
InstanceType<C> &
|
||||
{
|
||||
readonly schema: typeof schema,
|
||||
readonly defaultValues: typeof defaultValues,
|
||||
readonly schema: z.ZodObject<SchemaT, SchemaUnknownKeys, SchemaCatchall, Values, Values>,
|
||||
readonly defaultValues: DefaultValues,
|
||||
} &
|
||||
Values,
|
||||
|
||||
@@ -65,8 +58,8 @@ export function makeSchemableClassFrom<
|
||||
|
||||
StaticMembers<C> &
|
||||
{
|
||||
readonly schema: typeof schema,
|
||||
readonly defaultValues: typeof defaultValues,
|
||||
readonly schema: z.ZodObject<SchemaT, SchemaUnknownKeys, SchemaCatchall, Values, Values>,
|
||||
readonly defaultValues: DefaultValues,
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -81,15 +74,8 @@ export function makeSchemableClass<
|
||||
DefaultValues extends Partial<Values>,
|
||||
>(
|
||||
props: {
|
||||
schema: z.ZodObject<
|
||||
SchemaT,
|
||||
SchemaUnknownKeys,
|
||||
SchemaCatchall,
|
||||
Values,
|
||||
Values
|
||||
>
|
||||
|
||||
defaultValues: DefinedDefaultValues<DefaultValues>
|
||||
schema: z.ZodObject<SchemaT, SchemaUnknownKeys, SchemaCatchall, Values, Values>
|
||||
defaultValues: Opaque<DefaultValues, DefinedDefaultValuesTag>
|
||||
}
|
||||
) {
|
||||
return makeSchemableClassFrom(Object, props)
|
||||
|
||||
Reference in New Issue
Block a user