diff --git a/src/effect/schema/Jsonifiable.ts b/src/effect/schema/Jsonifiable.ts index c4db527..8ddad92 100644 --- a/src/effect/schema/Jsonifiable.ts +++ b/src/effect/schema/Jsonifiable.ts @@ -2,43 +2,12 @@ import { Schema as S } from "@effect/schema" import * as TF from "type-fest" -const MyObjectStruct = S.Struct({ - id: S.BigIntFromSelf, - name: S.String, -}) - -class MyObjectClass extends S.Class("MyObjectClass")({ - id: S.BigIntFromSelf, - name: S.String, -}) {} - -const MyJsonifiedObject = S.Struct({ - ...MyObjectStruct.fields, - id: S.BigInt, -}) - - export function Jsonifiable< A, I, R, JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR, >( - schema: S.Schema, - jsonifiable: S.Schema, + schema: S.Schema, + 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) diff --git a/src/effect/schema/index.ts b/src/effect/schema/index.ts new file mode 100644 index 0000000..e77bc0e --- /dev/null +++ b/src/effect/schema/index.ts @@ -0,0 +1 @@ +export { Jsonifiable } from "./Jsonifiable"