diff --git a/src/jsonifiable/makeJsonifiableSchemableClass.ts b/src/jsonifiable/makeJsonifiableSchemableClass.ts index 36f0ad5..6d7843f 100644 --- a/src/jsonifiable/makeJsonifiableSchemableClass.ts +++ b/src/jsonifiable/makeJsonifiableSchemableClass.ts @@ -33,16 +33,16 @@ export function makeJsonifiableSchemableClass< Type extends ClassType = "AbstractClass" >( - props: { - extend: C | SchemableClass< - SchemaT, - SchemaUnknownKeys, - SchemaCatchall, - Values, - DefaultValues, - Type - > + extend: C | SchemableClass< + SchemaT, + SchemaUnknownKeys, + SchemaCatchall, + Values, + DefaultValues, + Type + >, + props: { jsonifySchema: (props: { schema: C["schema"] shape: C["schema"]["shape"] @@ -64,19 +64,19 @@ export function makeJsonifiableSchemableClass< Values, JsonifiedValues > - } + }, ) { const jsonifySchema = props.jsonifySchema({ - schema: props.extend.schema, - shape: props.extend.schema.shape, + schema: extend.schema, + shape: extend.schema.shape, }) const dejsonifySchema = props.dejsonifySchema({ - schema: props.extend.schema, - shape: props.extend.schema.shape, + schema: extend.schema, + shape: extend.schema.shape, }) - return class extends props.extend { + return class extends extend { static readonly jsonifySchema = jsonifySchema readonly jsonifySchema = jsonifySchema diff --git a/src/tests.ts b/src/tests.ts index bd17337..5e8740f 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -18,9 +18,7 @@ const UserProto = makeSchemableClass(z.object({ UserProto.defaultValues -const JsonifiableUserProto = makeJsonifiableSchemableClass({ - extend: UserProto, - +const JsonifiableUserProto = makeJsonifiableSchemableClass(UserProto, { jsonifySchema: ({ schema, shape }) => schema.extend({ id: jsonifyBigIntSchema(shape.id) }),