UNPKG

@designliquido/delegua

Version:

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

40 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Decorador = void 0; /** * Um decorador é um construto especial que, em código, existe antes de uma declaração, e * na avaliação sintática, é colocado juntamente com a próxima declaração. */ class Decorador { constructor(hashArquivo, linha, nome, atributos) { this.linha = linha; this.hashArquivo = hashArquivo; this.nome = nome; this.atributos = atributos; } async aceitar(visitante) { return Promise.reject(new Error('Este método não deveria ser chamado.')); } paraTexto() { let atributos = ''; for (const chave in this.atributos) { if (!Object.prototype.hasOwnProperty.call(this.atributos, chave)) { continue; } const valor = this.atributos[chave]; const valorTexto = valor && typeof valor === 'object' && typeof valor.paraTexto === 'function' ? valor.paraTexto() : valor; atributos += `${chave}=${valorTexto} `; } if (atributos.length > 0) { return `<decorador nome=${this.nome} ${atributos.slice(0, -1)} />`; } return `<decorador nome=${this.nome} />`; } paraTextoSaida() { throw new Error('Método não implementado.'); } } exports.Decorador = Decorador; //# sourceMappingURL=decorador.js.map