Fixed default values
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-01-17 18:45:00 +01:00
parent 4a27f5c765
commit aef4d23b92
4 changed files with 21 additions and 35 deletions

View File

@@ -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)