UNPKG

@tsed/prisma

Version:

Generate Ts.ED JsonSchema based on Prisma models

19 lines 1.01 kB
import path from "node:path"; import { toMap } from "@tsed/core"; import { DmmfEnum } from "../domain/DmmfEnum.js"; import { transformEnumsToEnums } from "../transform/transformEnumsToEnums.js"; import { generateDocuments } from "./generateDocuments.js"; import { generateOutputsBarrelFile } from "./generateOutputsBarrelFile.js"; export function generateEnums(dmmf, project, baseDirPath) { const enumsMap = toMap(dmmf.datamodel.enums, "name"); const enums = DmmfEnum.getEnums(dmmf, enumsMap); const enumsDirPath = path.resolve(baseDirPath, "enums"); const enumsDirectory = project.createDirectory(enumsDirPath); const enumsIndex = enumsDirectory.createSourceFile(`index.ts`, undefined, { overwrite: true }); const exportedEnums = generateDocuments(enums, enumsDirectory, (document) => transformEnumsToEnums(document)); if (enums.length) { return !!generateOutputsBarrelFile(enumsIndex, exportedEnums); } return false; } //# sourceMappingURL=generateEnums.js.map