import type { Schema } from "@effect/schema" import type { JsonValue } from "type-fest" import type { PrismaJson } from "../Types" /** * Takes a schema of which the encoded value satisfies type-fest's `JsonValue` and returns the same schema with Prisma's `JsonValue` as its encoded type instead. * This allows you use to use jsonifiable schemas to strongly type `Json` database fields in Prisma. * * This is needed because Prisma's `JsonValue` is poorly implemented and does not work well with some types, such as readonly arrays. */ export const encodedAsPrismaJsonValue = (schema: Schema.Schema) => schema as unknown as Schema.Schema