1- import { Prisma , PrismaClient } from "@prisma/client" ;
1+ import { PrismaClient } from "../generated/prisma" ;
2+ import { Decimal } from "decimal.js" ;
3+ import { PrismaClientKnownRequestError } from "@prisma/client/runtime/library" ;
4+
5+ // Define the isolation levels manually
6+ type TransactionIsolationLevel =
7+ | "ReadUncommitted"
8+ | "ReadCommitted"
9+ | "RepeatableRead"
10+ | "Serializable" ;
211
312export type PrismaTransactionClient = Omit <
413 PrismaClient ,
@@ -9,13 +18,13 @@ export type PrismaClientOrTransaction = PrismaClient | PrismaTransactionClient;
918
1019export type PrismaReplicaClient = Omit < PrismaClient , "$transaction" > ;
1120
12- export const Decimal = Prisma . Decimal ;
21+ export { Decimal } ;
1322
1423function isTransactionClient ( prisma : PrismaClientOrTransaction ) : prisma is PrismaTransactionClient {
1524 return ! ( "$transaction" in prisma ) ;
1625}
1726
18- export function isPrismaKnownError ( error : unknown ) : error is Prisma . PrismaClientKnownRequestError {
27+ export function isPrismaKnownError ( error : unknown ) : error is PrismaClientKnownRequestError {
1928 return (
2029 typeof error === "object" && error !== null && "code" in error && typeof error . code === "string"
2130 ) ;
@@ -55,7 +64,7 @@ export type PrismaTransactionOptions = {
5564 timeout ?: number ;
5665
5766 /** Sets the transaction isolation level. By default this is set to the value currently configured in your database. */
58- isolationLevel ?: Prisma . TransactionIsolationLevel ;
67+ isolationLevel ?: TransactionIsolationLevel ;
5968
6069 swallowPrismaErrors ?: boolean ;
6170
@@ -70,7 +79,7 @@ export type PrismaTransactionOptions = {
7079export async function $transaction < R > (
7180 prisma : PrismaClientOrTransaction ,
7281 fn : ( prisma : PrismaTransactionClient ) => Promise < R > ,
73- prismaError : ( error : Prisma . PrismaClientKnownRequestError ) => void ,
82+ prismaError : ( error : PrismaClientKnownRequestError ) => void ,
7483 options ?: PrismaTransactionOptions ,
7584 attempt = 0
7685) : Promise < R | undefined > {
0 commit comments