@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
45 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SubgrafoClasse = void 0;
class SubgrafoClasse {
constructor(nomeClasse, linha, arestaInicial, arestaFinal, superClasse) {
this.nomeClasse = nomeClasse;
this.linha = linha;
this.superClasse = superClasse;
this.vertices = [];
this.metodos = [];
this.arestaInicial = arestaInicial;
this.arestaFinal = arestaFinal;
}
paraTexto() {
let resultado = ` subgraph ${this.nomeClasse}["Classe: ${this.nomeClasse}`;
if (this.superClasse) {
resultado += ` (estende ${this.superClasse})`;
}
resultado += `"]\n`;
// Renderiza o construtor se existir
if (this.construtor) {
resultado += ` subgraph construtor_${this.nomeClasse}["Construtor"]\n`;
resultado += ` direction TB\n`;
for (const vertice of this.construtor.vertices) {
const textoVertice = vertice.paraTexto();
resultado += ' ' + textoVertice;
}
resultado += ` end\n`;
}
// Renderiza os métodos
for (const metodo of this.metodos) {
resultado += ` subgraph ${metodo.nomeMetodo}_${this.nomeClasse}["Método: ${metodo.nomeMetodo}()"]\n`;
resultado += ` direction TB\n`;
for (const vertice of metodo.vertices) {
const textoVertice = vertice.paraTexto();
resultado += ' ' + textoVertice;
}
resultado += ` end\n`;
}
resultado += ` end\n`;
return resultado;
}
}
exports.SubgrafoClasse = SubgrafoClasse;
//# sourceMappingURL=subgrafo-classe.js.map