0.1.1 #2

Merged
Thilawyn merged 47 commits from next into master 2024-01-17 20:47:13 +01:00
2 changed files with 16 additions and 18 deletions
Showing only changes of commit 5723829257 - Show all commits

View File

@@ -33,7 +33,6 @@ export function makeJsonifiableSchemableClass<
Type extends ClassType = "AbstractClass"
>(
props: {
extend: C | SchemableClass<
SchemaT,
SchemaUnknownKeys,
@@ -41,8 +40,9 @@ export function makeJsonifiableSchemableClass<
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

View File

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