single-source-of-truth
Version:
Use Zod schemas to your generate Prisma schema
16 lines • 697 B
JavaScript
import Cursor from 'code-block-writer';
import { buildFieldLine } from './field.js';
export function buildModelBlock(model) {
const cursor = new Cursor({ indentNumberOfSpaces: 2 });
cursor.write(`model ${model.name}`).block(() => {
for (const field of model.fields)
cursor.writeLine(buildFieldLine(field));
if (model.attributes.id?.length)
cursor.writeLine(`@@id([${model.attributes.id.join(', ')}])`);
if (model.attributes.unique?.length)
for (const unique of model.attributes.unique)
cursor.writeLine(`@@unique([${unique.join(', ')}])`);
});
return cursor.toString();
}
//# sourceMappingURL=model.js.map