@tsed/prisma
Version:
Generate Ts.ED JsonSchema based on Prisma models
19 lines • 1.01 kB
JavaScript
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