0.1.3 #4
20
src/tests2.ts
Normal file
20
src/tests2.ts
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import { Option } from "effect"
|
||||||
|
import { z } from "zod"
|
||||||
|
import { s } from "./schema/lib"
|
||||||
|
|
||||||
|
|
||||||
|
const schema = z.object({
|
||||||
|
id: s.effect.option(z.bigint())
|
||||||
|
})
|
||||||
|
|
||||||
|
const jsonifySchema = schema.extend({
|
||||||
|
id: s.effect.option.jsonify(schema.shape.id, s.bigint.jsonify)
|
||||||
|
})
|
||||||
|
|
||||||
|
const dejsonifySchema = schema.extend({
|
||||||
|
id: s.effect.option.dejsonify(schema.shape.id, s.bigint.dejsonify)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
const jsonified = jsonifySchema.parse({ id: Option.some(1n) })
|
||||||
|
console.log(dejsonifySchema.parse(jsonified))
|
||||||
Reference in New Issue
Block a user