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)