@prisma-extensions/core
Version:
A collection of core helpers for @prisma-extensions/* packages.
26 lines (18 loc) • 661 B
text/typescript
import { Prisma } from '@prisma/client'
import type { ModelName } from './types/models'
let prismaModelNamesCache: Prisma.ModelName[] | undefined
let modelNamesCache: ModelName[] | undefined
export const models = {
get prismaNames() {
if (prismaModelNamesCache) return prismaModelNamesCache
prismaModelNamesCache = Prisma.dmmf.datamodel.models.map(
(model) => model.dbName || model.name,
) as Prisma.ModelName[]
return prismaModelNamesCache
},
get names() {
if (modelNamesCache) return modelNamesCache
modelNamesCache = this.prismaNames.map((name) => name.toLowerCase() as ModelName)
return modelNamesCache
},
}