UNPKG

prisma-dbml-generator

Version:
48 lines (47 loc) 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getProjectOptions = exports.generateProject = void 0; const fs_1 = require("fs"); const { readFile } = fs_1.promises; function generateProject({ name, databaseType, note, isMd = false, }) { const projectNote = isMd ? `'''\n` + ` ${note .replace(/\n/g, '\n ') .replace(/(\n\s+\n)/g, '\n\n') .replace(/\s+$/g, '')}\n '''` : `'${note}'`; const project = [ `Project ${name} {\n` + ` database_type: '${databaseType}'\n` + ` Note: ${projectNote}\n}`, ]; return name ? project : []; } exports.generateProject = generateProject; async function getProjectOptions({ projectName, projectDatabaseType, projectNote, projectNotePath, }) { if (typeof projectName === 'string') { let projectNoteMd = ''; if (projectNotePath) { const fullPath = `${process.cwd()}/${projectNotePath}`; try { projectNoteMd = await readFile(fullPath, 'utf-8'); } catch (e) { console.log(`❌ Error: project note markdown file not found: ${fullPath}`); } } return { name: projectName && `"${projectName}"`, databaseType: typeof projectDatabaseType === 'string' ? projectDatabaseType : '', note: projectNoteMd ? projectNoteMd : typeof projectNote === 'string' ? projectNote : '', // noteMd takes precedence isMd: projectNoteMd !== '', }; } return undefined; } exports.getProjectOptions = getProjectOptions;