Fixed Option
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-03-24 21:52:02 +01:00
parent 79da11f2e0
commit 4c82f05f9f
2 changed files with 11 additions and 5 deletions

View File

@@ -54,9 +54,12 @@ export module option {
schema: InnerS
) {
return z
.custom<Option.Some<z.output<InnerS>>>(v => Option.isOption(v) && Option.isSome(v), "Not an Option.Some")
.custom<Option.Some<z.output<InnerS>>>(
v => Option.isOption(v) && Option.isSome(v),
"Not an Option.Some",
)
.pipe(z.object({ value: schema }).passthrough())
.transform<Option.Some<z.output<InnerS>>>(identity)
.transform(v => Option.some<z.output<InnerS>>(v.value))
}
export module some {
@@ -107,7 +110,10 @@ export module option {
? z.output<InnerS>
: unknown
>
>(v => Option.isOption(v) && Option.isNone(v), "Not an Option.None")
>(
v => Option.isOption(v) && Option.isNone(v),
"Not an Option.None",
)
}
export module none {

View File

@@ -44,8 +44,8 @@ const jsonifiedUserExp = JsonifiedZodSchemaClass(User, {
class JsonifiedUser extends jsonifiedUserExp.extends implements Implements<typeof jsonifiedUserExp> {}
const jsonifiedUserInst = JsonifiedUser.jsonify(userInst)
console.log(JSON.stringify(jsonifiedUserInst))
// jsonifiedUserInst.dejsonify()
// console.log(JSON.stringify(jsonifiedUserInst))
console.log(jsonifiedUserInst.dejsonify().id)
const adminUserExp = ExtendZodSchemaClass(User,