0.1.1 #2
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user