14 lines
394 B
TypeScript
14 lines
394 B
TypeScript
import { Schema } from "@effect/schema"
|
|
import type { Jsonifiable as TJsonifiable } from "type-fest"
|
|
|
|
|
|
export const Jsonifiable = <
|
|
JsonifiableA,
|
|
JsonifiableI extends TJsonifiable,
|
|
JsonifiableR,
|
|
>(
|
|
jsonifiable: Schema.Schema<JsonifiableA, JsonifiableI, JsonifiableR>
|
|
) =>
|
|
<A, R>(schema: Schema.Schema<A, JsonifiableA, R>) =>
|
|
jsonifiable.pipe(Schema.compose(schema))
|