// TODO: separate out printers from transformers import { Generatable } from '../generator/helpers'; import TOCGenerator from '../generator/toc'; import ModelGenerator from '../generator/model'; import TypesGenerator from '../generator/apitypes'; import { DMMFDocument } from '../generator/transformDMMF'; export default class HTMLPrinter implements Generatable { data: DMMFDocument; constructor(d: DMMFDocument) { this.data = this.getData(d); } getPrismaSvg(): string { return ` `; } getHead(csspath: string): string { return ` Prisma Generated Docs `; } getData(d: DMMFDocument) { // this can seem redundant but we can have a transform here in the future return d; } toHTML() { // all the printers const tocGen = new TOCGenerator(this.data); const modelGen = new ModelGenerator(this.data); const typeGen = new TypesGenerator(this.data); return ` ${this.getHead('styles/main.css')}
${this.getPrismaSvg()}
${tocGen.toHTML()}
${modelGen.toHTML()} ${typeGen.toHTML()}
`; } }