Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,213
  • Linux
  • Apple
printGeneratorConfig.ts1.87 kB
import type { BinaryTargetsEnvValue, GeneratorConfig } from '@prisma/generator' import indent from 'indent-string' export function printGeneratorConfig(config: GeneratorConfig): string { return String(new GeneratorConfigClass(config)) } export class GeneratorConfigClass { constructor(private readonly config: GeneratorConfig) {} toString(): string { const { config } = this // parse & stringify trims out all the undefined values const provider = config.provider.fromEnvVar ? `env("${config.provider.fromEnvVar}")` : config.provider.value const obj = JSON.parse( JSON.stringify({ provider, binaryTargets: getOriginalBinaryTargetsValue(config.binaryTargets), }), ) return `generator ${config.name} { ${indent(printDatamodelObject(obj), 2)} }` } } export function getOriginalBinaryTargetsValue(binaryTargets: BinaryTargetsEnvValue[]) { let value: string | string[] | undefined if (binaryTargets.length > 0) { const binaryTargetsFromEnvVar = binaryTargets.find((object) => object.fromEnvVar !== null) if (binaryTargetsFromEnvVar) { value = `env("${binaryTargetsFromEnvVar.fromEnvVar}")` } else { value = binaryTargets.map((object) => (object.native ? 'native' : object.value)) } } else { value = undefined } return value } export function printDatamodelObject(obj): string { const maxLength = Object.keys(obj).reduce((max, curr) => Math.max(max, curr.length), 0) return Object.entries(obj) .map(([key, value]) => `${key.padEnd(maxLength)} = ${niceStringify(value)}`) .join('\n') } function niceStringify(value): any { return JSON.parse( JSON.stringify(value, (_, value) => { if (Array.isArray(value)) { return `[${value.map((element) => JSON.stringify(element)).join(', ')}]` } return JSON.stringify(value) }), ) }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prisma/prisma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server