© 2026 Hedgehog Software, LLC
import type { Prisma } from "@prisma/client"; import type { Operation as PrismaOperation } from "@prisma/client/runtime/library"; import type { Database } from "@/libs/database"; import type { FilterDollarSignKeys } from "@/utils/types"; export type Model = keyof Database; export type Operation = FilterDollarSignKeys<PrismaOperation>; export type Args<M extends Model, O extends Operation> = Prisma.Args<Database[M], O>; export type Payload<M extends Model, O extends Operation> = Prisma.Payload<Database[M], O>; export type Result<M extends Model, O extends Operation, A extends Args<M, O>> = Prisma.Result< Database[M], A, O >; // Example Usage: const model: Model = "user"; const operation: Operation = "findMany"; const _args: Args<typeof model, typeof operation> = { select: { id: true } }; const _result: Result<typeof model, typeof operation, { select: { id: true } }> = [{ id: "1" }];
prisma-bark-extension
prisma.modelName.operation
import type { Operation } from "@prisma/client/runtime/library";