@stryke/prisma-trpc-generator
Version:
A fork of the prisma-trpc-generator code to work in ESM with Prisma v6.
23 lines (21 loc) • 1.02 kB
JavaScript
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
const require_model_helpers = require('./model-helpers.cjs');
let parenthesis = require("parenthesis");
parenthesis = require_runtime.__toESM(parenthesis, 1);
//#region src/zod/docs-helpers.ts
const getJSDocs = (docString) => {
const lines = [];
if (docString) {
const docLines = docString.split("\n").filter((dL) => !dL.trimStart().startsWith("@zod"));
if (docLines.length) {
lines.push("/**");
docLines.forEach((dL) => lines.push(` * ${dL}`));
lines.push(" */");
}
}
return lines;
};
const getZodDocElements = (docString) => docString.split("\n").filter((line) => line.trimStart().startsWith("@zod")).map((line) => line.trimStart().slice(4)).flatMap((line) => require_model_helpers.chunk(parenthesis.default.parse(line), 2).slice(0, -1).map(([each, contents]) => `${each.replace(/\)?\./, "")}${parenthesis.default.stringify(contents)})`));
//#endregion
exports.getJSDocs = getJSDocs;
exports.getZodDocElements = getZodDocElements;