UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

45 lines 1.79 kB
"use strict"; 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