0.1.4 (#5)
All checks were successful
Publish / publish (push) Successful in 13s
Lint / lint (push) Successful in 10s

Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Reviewed-on: https://git.jvalver.de/Thilawyn/thilalib/pulls/5
This commit was merged in pull request #5.
This commit is contained in:
Julien Valverdé
2024-06-27 18:47:11 +02:00
parent aa2478eb86
commit cdba0c9187
7 changed files with 66 additions and 26 deletions

View File

@@ -2,12 +2,38 @@ 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<A, I, R>,
// jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>,
// ) {
// return jsonifiable.pipe(S.compose(schema))
// }
// export function Jsonifiable<A, I, R>(
// schema: S.Schema<A, I, R>
// ) {
// return <
// JsonifiableA extends I,
// JsonifiableI extends TF.Jsonifiable,
// JsonifiableR,
// >(
// jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>
// ) =>
// jsonifiable.pipe(S.compose(schema))
// }
export function Jsonifiable<
A, I, R,
JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR,
JsonifiableA,
JsonifiableI extends TF.Jsonifiable,
JsonifiableR,
>(
schema: S.Schema<A, I, R>,
jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>,
jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>
) {
return jsonifiable.pipe(S.compose(schema))
return <A, R>(
schema: S.Schema<A, JsonifiableA, R>
) =>
jsonifiable.pipe(S.compose(schema))
}