From 4c82f05f9f9b816ff4d79347835e7bd814c0385a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sun, 24 Mar 2024 21:52:02 +0100 Subject: [PATCH] Fixed Option --- src/schema/effect/option.ts | 12 +++++++++--- src/tests.ts | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/schema/effect/option.ts b/src/schema/effect/option.ts index 30e3fd2..8908d0c 100644 --- a/src/schema/effect/option.ts +++ b/src/schema/effect/option.ts @@ -54,9 +54,12 @@ export module option { schema: InnerS ) { return z - .custom>>(v => Option.isOption(v) && Option.isSome(v), "Not an Option.Some") + .custom>>( + v => Option.isOption(v) && Option.isSome(v), + "Not an Option.Some", + ) .pipe(z.object({ value: schema }).passthrough()) - .transform>>(identity) + .transform(v => Option.some>(v.value)) } export module some { @@ -107,7 +110,10 @@ export module option { ? z.output : 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 { diff --git a/src/tests.ts b/src/tests.ts index fc6421a..d73750e 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -44,8 +44,8 @@ const jsonifiedUserExp = JsonifiedZodSchemaClass(User, { class JsonifiedUser extends jsonifiedUserExp.extends implements Implements {} 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,