diff --git a/src/jsonifiable/makeJsonifiableSchemableClass.ts b/src/jsonifiable/makeJsonifiableSchemableClass.ts index d3e0478..020d658 100644 --- a/src/jsonifiable/makeJsonifiableSchemableClass.ts +++ b/src/jsonifiable/makeJsonifiableSchemableClass.ts @@ -6,61 +6,6 @@ import { SchemableClass } from ".." 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< C extends SchemableClass< SchemaT, @@ -95,23 +40,43 @@ export function makeJsonifiableSchemableClass< DefaultValues >, - props: MakeJsonifiableSchemableClassProps< - SchemaT, - SchemaUnknownKeys, - SchemaCatchall, + props: { + jsonifySchema: (props: { + schema: z.ZodObject< + SchemaT, + SchemaUnknownKeys, + SchemaCatchall, + Values, + Values + > - Values, + shape: SchemaT + }) => z.ZodObject< + JsonifySchemaT, + JsonifySchemaUnknownKeys, + JsonifySchemaCatchall, + JsonifiedValues, + Values + > - JsonifySchemaT, - JsonifySchemaUnknownKeys, - JsonifySchemaCatchall, + dejsonifySchema: (props: { + schema: z.ZodObject< + SchemaT, + SchemaUnknownKeys, + SchemaCatchall, + Values, + Values + > - DejsonifySchemaT, - DejsonifySchemaUnknownKeys, - DejsonifySchemaCatchall, - - JsonifiedValues - >, + shape: SchemaT + }) => z.ZodObject< + DejsonifySchemaT, + DejsonifySchemaUnknownKeys, + DejsonifySchemaCatchall, + Values, + JsonifiedValues + > + }, ) { type Class = ( C extends ConcreteClass @@ -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, - - 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) -} diff --git a/src/makeSchemableClass.ts b/src/makeSchemableClass.ts index 7c334eb..8268b52 100644 --- a/src/makeSchemableClass.ts +++ b/src/makeSchemableClass.ts @@ -3,16 +3,14 @@ import { z } from "zod" import { StaticMembers } from "./util" -type MakeSchemableClassFromInputClass = AbstractClass<{ - schema?: never - defaultValues?: never -}, []> & { - schema?: never - defaultValues?: never -} - export function makeSchemableClassFrom< - C extends MakeSchemableClassFromInputClass, + C extends AbstractClass<{ + schema?: never + defaultValues?: never + }, []> & { + schema?: never + defaultValues?: never + }, SchemaT extends z.ZodRawShape, 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, ->( - schema: z.ZodObject< - SchemaT, - SchemaUnknownKeys, - SchemaCatchall, - Values, - Values - >, - - defaultValues: DefaultValues, -) { - return < - C extends MakeSchemableClassFromInputClass - >(extend: C) => - makeSchemableClassFrom(extend, schema, defaultValues) -} - export function makeSchemableClass< SchemaT extends z.ZodRawShape,