Files
thilalib/src/Schema/toJsonifiable.ts
Julien Valverdé 24d4ab6e46
All checks were successful
Publish / publish (push) Successful in 17s
Lint / lint (push) Successful in 12s
0.1.15 (#16)
Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Reviewed-on: #16
2024-09-04 00:33:45 +02:00

14 lines
414 B
TypeScript

import { Schema } from "@effect/schema"
import type { JsonValue } from "type-fest"
export const toJsonifiable = <
JsonifiableA,
JsonifiableI extends JsonValue,
JsonifiableR,
>(
jsonifiableSchema: Schema.Schema<JsonifiableA, JsonifiableI, JsonifiableR>
) =>
<A, R>(decodedSchema: Schema.Schema<A, JsonifiableA, R>) =>
Schema.compose(jsonifiableSchema, decodedSchema, { strict: true })