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 schema: InnerS
) { ) {
return z 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()) .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 { export module some {
@@ -107,7 +110,10 @@ export module option {
? z.output<InnerS> ? z.output<InnerS>
: unknown : 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 { export module none {

View File

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