Cleanup
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-01-16 10:58:21 +01:00
parent b848e43974
commit e83c3a77be
2 changed files with 41 additions and 158 deletions

View File

@@ -6,61 +6,6 @@ import { SchemableClass } from ".."
import { StaticMembers, parseZodTypeEffect } from "../util" import { StaticMembers, parseZodTypeEffect } from "../util"
export type MakeJsonifiableSchemableClassProps<
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
SchemaCatchall extends z.ZodTypeAny,
Values extends {},
JsonifySchemaT extends z.ZodRawShape,
JsonifySchemaUnknownKeys extends z.UnknownKeysParam,
JsonifySchemaCatchall extends z.ZodTypeAny,
DejsonifySchemaT extends z.ZodRawShape,
DejsonifySchemaUnknownKeys extends z.UnknownKeysParam,
DejsonifySchemaCatchall extends z.ZodTypeAny,
JsonifiedValues extends JsonifiableObject,
> = {
jsonifySchema: (props: {
schema: z.ZodObject<
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
Values
>
shape: SchemaT
}) => z.ZodObject<
JsonifySchemaT,
JsonifySchemaUnknownKeys,
JsonifySchemaCatchall,
JsonifiedValues,
Values
>
dejsonifySchema: (props: {
schema: z.ZodObject<
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
Values
>
shape: SchemaT
}) => z.ZodObject<
DejsonifySchemaT,
DejsonifySchemaUnknownKeys,
DejsonifySchemaCatchall,
Values,
JsonifiedValues
>
}
export function makeJsonifiableSchemableClass< export function makeJsonifiableSchemableClass<
C extends SchemableClass< C extends SchemableClass<
SchemaT, SchemaT,
@@ -95,23 +40,43 @@ export function makeJsonifiableSchemableClass<
DefaultValues DefaultValues
>, >,
props: MakeJsonifiableSchemableClassProps< props: {
SchemaT, jsonifySchema: (props: {
SchemaUnknownKeys, schema: z.ZodObject<
SchemaCatchall, SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
Values
>
Values, shape: SchemaT
}) => z.ZodObject<
JsonifySchemaT,
JsonifySchemaUnknownKeys,
JsonifySchemaCatchall,
JsonifiedValues,
Values
>
JsonifySchemaT, dejsonifySchema: (props: {
JsonifySchemaUnknownKeys, schema: z.ZodObject<
JsonifySchemaCatchall, SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
Values
>
DejsonifySchemaT, shape: SchemaT
DejsonifySchemaUnknownKeys, }) => z.ZodObject<
DejsonifySchemaCatchall, DejsonifySchemaT,
DejsonifySchemaUnknownKeys,
JsonifiedValues DejsonifySchemaCatchall,
>, Values,
JsonifiedValues
>
},
) { ) {
type Class<T, Arguments extends unknown[]> = ( type Class<T, Arguments extends unknown[]> = (
C extends ConcreteClass<any> C extends ConcreteClass<any>
@@ -167,59 +132,3 @@ export function makeJsonifiableSchemableClass<
} }
) )
} }
export function pipeMakeJsonifiableSchemableClass<
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
SchemaCatchall extends z.ZodTypeAny,
Values extends {},
DefaultValues extends Partial<Values>,
JsonifySchemaT extends z.ZodRawShape,
JsonifySchemaUnknownKeys extends z.UnknownKeysParam,
JsonifySchemaCatchall extends z.ZodTypeAny,
DejsonifySchemaT extends z.ZodRawShape,
DejsonifySchemaUnknownKeys extends z.UnknownKeysParam,
DejsonifySchemaCatchall extends z.ZodTypeAny,
JsonifiedValues extends JsonifiableObject,
>(
props: MakeJsonifiableSchemableClassProps<
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
JsonifySchemaT,
JsonifySchemaUnknownKeys,
JsonifySchemaCatchall,
DejsonifySchemaT,
DejsonifySchemaUnknownKeys,
DejsonifySchemaCatchall,
JsonifiedValues
>
) {
return <
C extends SchemableClass<
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
DefaultValues
>
>(
extend: C | SchemableClass<
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
DefaultValues
>
) => makeJsonifiableSchemableClass(extend, props)
}

View File

@@ -3,16 +3,14 @@ import { z } from "zod"
import { StaticMembers } from "./util" import { StaticMembers } from "./util"
type MakeSchemableClassFromInputClass = AbstractClass<{
schema?: never
defaultValues?: never
}, []> & {
schema?: never
defaultValues?: never
}
export function makeSchemableClassFrom< export function makeSchemableClassFrom<
C extends MakeSchemableClassFromInputClass, C extends AbstractClass<{
schema?: never
defaultValues?: never
}, []> & {
schema?: never
defaultValues?: never
},
SchemaT extends z.ZodRawShape, SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam, SchemaUnknownKeys extends z.UnknownKeysParam,
@@ -70,30 +68,6 @@ export function makeSchemableClassFrom<
) )
} }
export function createMakeSchemableClassFromUnary<
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
SchemaCatchall extends z.ZodTypeAny,
Values extends {},
DefaultValues extends Partial<Values>,
>(
schema: z.ZodObject<
SchemaT,
SchemaUnknownKeys,
SchemaCatchall,
Values,
Values
>,
defaultValues: DefaultValues,
) {
return <
C extends MakeSchemableClassFromInputClass
>(extend: C) =>
makeSchemableClassFrom(extend, schema, defaultValues)
}
export function makeSchemableClass< export function makeSchemableClass<
SchemaT extends z.ZodRawShape, SchemaT extends z.ZodRawShape,