0.1.3 #4

Merged
Thilawyn merged 74 commits from next into master 2024-03-24 22:24:25 +01:00
Showing only changes of commit 272a382887 - Show all commits

View File

@@ -1,34 +1,49 @@
import { Implements } from "@thilawyn/traitify-ts"
import { z } from "zod"
import { zodSchemaClass } from "./builders/ZodSchemaClassBuilder"
import { dejsonify, jsonify } from "./schema/jsonifiable"
import { ZodSchemaClass } from "./ZodSchemaClass"
import { MobXObservableZodSchemaObject } from "./traits/MobXObservableZodSchemaObject"
const exp = zodSchemaClass
.schema({
schema: z.object({
/** User ID */
id: z.bigint(),
// const exp = zodSchemaClass
// .schema({
// schema: z.object({
// /** User ID */
// id: z.bigint(),
/** Username */
name: z.string(),
}),
// /** Username */
// name: z.string(),
// }),
schemaWithDefaultValues: s => s.extend({
id: s.shape.id.default(-1n),
}),
})
.jsonifiable({
jsonifySchema: s => s.extend({
id: jsonify.bigint(s.shape.id)
}),
// schemaWithDefaultValues: s => s.extend({
// id: s.shape.id.default(-1n),
// }),
// })
// .jsonifiable({
// jsonifySchema: s => s.extend({
// id: jsonify.bigint(s.shape.id)
// }),
dejsonifySchema: s => s.extend({
id: dejsonify.bigint(s.shape.id)
}),
})
.toExpression()
// dejsonifySchema: s => s.extend({
// id: dejsonify.bigint(s.shape.id)
// }),
// })
// .toExpression()
// .expresses(MobXObservableZodSchemaObject)
// .build()
const exp = ZodSchemaClass({
schema: z.object({
/** User ID */
id: z.bigint(),
/** Username */
name: z.string(),
}),
schemaWithDefaultValues: s => s.extend({
id: s.shape.id.default(-1n),
}),
})
.expresses(MobXObservableZodSchemaObject)
.build()
@@ -40,8 +55,8 @@ const inst = User.create({ id: 1n, name: "User" })
// console.log(inst.name)
const instEffect = User.createEffect({ id: 1n, name: "User" })
const jsonifiedUser = await inst.jsonifyPromise()
const dejsonifiedInst = await User.dejsonifyPromise(jsonifiedUser)
// const jsonifiedUser = await inst.jsonifyPromise()
// const dejsonifiedInst = await User.dejsonifyPromise(jsonifiedUser)
// const AdminUserProto = User.extend()