From 516cc765827ae69908f79337fddd2e24cdb721eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Tue, 18 Jun 2024 01:35:09 +0200 Subject: [PATCH] JsonifiableStruct --- src/effect/schema/Jsonifiable.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/effect/schema/Jsonifiable.ts b/src/effect/schema/Jsonifiable.ts index 19cb15f..c4db527 100644 --- a/src/effect/schema/Jsonifiable.ts +++ b/src/effect/schema/Jsonifiable.ts @@ -21,14 +21,24 @@ const MyJsonifiedObject = S.Struct({ export function Jsonifiable< A, I, R, JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR, - // JsonifiableFields extends Schema.Struct.Fields >( schema: S.Schema, - // jsonifiable: Schema.Struct & { readonly Type: I }, jsonifiable: S.Schema, ) { return jsonifiable.pipe(S.compose(schema)) } +export function JsonifiableStruct< + A, I, R, + JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR, + JsonifiableFields extends S.Struct.Fields, +>( + schema: S.Schema, + jsonifiable: S.Struct & S.Schema, +) { + return jsonifiable.pipe(S.compose(schema)) +} + const MyJsonifiableObject = Jsonifiable(MyObjectStruct, MyJsonifiedObject) +const MyJsonifiableObject2 = JsonifiableStruct(MyObjectStruct, MyJsonifiedObject)