@stryke/prisma-trpc-generator
Version:
A fork of the prisma-trpc-generator code to work in ESM with Prisma v6.
34 lines (32 loc) • 1.25 kB
JavaScript
const require_transformer = require('./transformer.cjs');
//#region src/zod/generator-helpers.ts
async function generateZodEnumSchemas(prismaSchemaEnum, modelSchemaEnum) {
const enumTypes = [...prismaSchemaEnum, ...modelSchemaEnum];
require_transformer.default.enumNames = enumTypes.map((enumItem) => enumItem.name) ?? [];
await new require_transformer.default({ enumTypes }).generateEnumSchemas();
}
async function generateZodObjectSchemas(inputObjectTypes) {
for (let i = 0; i < inputObjectTypes.length; i += 1) {
const fields = inputObjectTypes[i]?.fields;
const name = inputObjectTypes[i]?.name;
await new require_transformer.default({
name,
fields
}).generateObjectSchema();
}
}
async function generateZodModelSchemas(models, modelOperations, aggregateOperationSupport) {
await new require_transformer.default({
models,
modelOperations,
aggregateOperationSupport
}).generateModelSchemas();
}
async function generateZodIndex() {
await require_transformer.default.generateIndex();
}
//#endregion
exports.generateZodEnumSchemas = generateZodEnumSchemas;
exports.generateZodIndex = generateZodIndex;
exports.generateZodModelSchemas = generateZodModelSchemas;
exports.generateZodObjectSchemas = generateZodObjectSchemas;