@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
34 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Vetor = void 0;
const comentario_como_construto_1 = require("./comentario-como-construto");
const separador_1 = require("./separador");
class Vetor {
constructor(hashArquivo, linha, valores, tipo) {
this.linha = linha;
this.hashArquivo = hashArquivo;
this.tipo = tipo;
this.valores = valores;
}
/**
* Retorna apenas os elementos de dados do vetor, excluindo nós sintáticos
* (Separador, comentários) que podem aparecer entre os elementos.
*/
get elementos() {
return this.valores.filter((v) => v.constructor !== separador_1.Separador && v.constructor !== comentario_como_construto_1.ComentarioComoConstruto);
}
get tamanho() {
return this.elementos.length;
}
async aceitar(visitante) {
return await visitante.visitarExpressaoVetor(this);
}
paraTexto() {
return `<vetor tipo=${this.tipo} valores=${this.valores.reduce((anterior, atual) => (anterior += atual.paraTexto()), '')} />`;
}
paraTextoSaida() {
throw new Error('Método não implementado.');
}
}
exports.Vetor = Vetor;
//# sourceMappingURL=vetor.js.map