import { Schema as S } from "@effect/schema" import type * as TF from "type-fest" // export function Jsonifiable< // A, I, R, // JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR, // >( // schema: S.Schema, // jsonifiable: S.Schema, // ) { // return jsonifiable.pipe(S.compose(schema)) // } // export function Jsonifiable( // schema: S.Schema // ) { // return < // JsonifiableA extends I, // JsonifiableI extends TF.Jsonifiable, // JsonifiableR, // >( // jsonifiable: S.Schema // ) => // jsonifiable.pipe(S.compose(schema)) // } export function Jsonifiable< JsonifiableA, JsonifiableI extends TF.Jsonifiable, JsonifiableR, >( jsonifiable: S.Schema ) { return ( schema: S.Schema ) => jsonifiable.pipe(S.compose(schema)) }