0.1.11 (#12)
Co-authored-by: Julien Valverdé <julien.valverde@mailo.com> Reviewed-on: #12
This commit was merged in pull request #12.
This commit is contained in:
13
src/Schema/encodedAsPrismaJsonValue.ts
Normal file
13
src/Schema/encodedAsPrismaJsonValue.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
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 = <A, E extends JsonValue, R>(schema: Schema.Schema<A, E, R>) =>
|
||||
schema as unknown as Schema.Schema<A, PrismaJson.JsonValue, R>
|
||||
Reference in New Issue
Block a user