JsonifiedZodSchemaClass
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Julien Valverdé
2024-03-18 11:34:50 +01:00
parent 1bb719c0b4
commit c16bfe24fd
3 changed files with 55 additions and 13 deletions

View File

@@ -1,8 +1,8 @@
import { Implements, expression } from "@thilawyn/traitify-ts"
import { Implements } from "@thilawyn/traitify-ts"
import { z } from "zod"
import { JsonifiedZodSchemaClass } from "./JsonifiedZodSchemaClass"
import { ZodSchemaClass } from "./ZodSchemaClass"
import { dejsonify, jsonify } from "./schema/jsonifiable"
import { JsonifiedZodSchemaObject } from "./traits/JsonifiedZodSchemaObject"
import { MobXObservableZodSchemaObject } from "./traits/MobXObservableZodSchemaObject"
@@ -28,21 +28,21 @@ const inst = User.create({ id: 1n, name: "User" })
const instEffect = User.createEffect({ id: 1n, name: "User" })
const jsonifiedUserExp = expression.expresses(
JsonifiedZodSchemaObject(User, {
jsonifySchema: s => s.extend({
id: jsonify.bigint(s.shape.id)
}),
const jsonifiedUserExp = JsonifiedZodSchemaClass(User, {
jsonifySchema: s => s.extend({
id: jsonify.bigint(s.shape.id)
}),
dejsonifySchema: s => s.extend({
id: dejsonify.bigint(s.shape.id)
}),
})
).build()
dejsonifySchema: s => s.extend({
id: dejsonify.bigint(s.shape.id)
}),
}).build()
@jsonifiedUserExp.staticImplements
class JsonifiedUser extends jsonifiedUserExp.extends implements Implements<typeof jsonifiedUserExp> {}
const jsonifiedUser = JsonifiedUser.jsonify(inst)
const adminUserExp = User.extend(s => s.extend({
role: z.literal("Admin").default("Admin")