This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user