prisma-markdown
Version:
Prisma Markdown documents generator including ERD diagrams and comment descriptions
23 lines (19 loc) • 675 B
text/typescript
import { DMMF } from "@prisma/generator-helper";
export namespace PrismaUtil {
export const tagValues =
(kind: string) =>
(model: DMMF.Model | DMMF.Field): string[] => {
if (!model.documentation?.length) return [];
const output: string[] = [];
const splitted: string[] = model.documentation
.split("\r\n")
.join("\n")
.split("\n");
for (const line of splitted) {
const first: number = line.indexOf(`@${kind} `);
if (first === -1) continue;
output.push(line.slice(first + kind.length + 2).trim());
}
return output.map((str) => str.trim()).filter((str) => !!str.length);
};
}