@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
56 lines • 2.15 kB
TypeScript
import { Declaracao } from '../declaracoes';
import { EstilizadorInterface, OpcoesFormatacaoEstilizadorInterface, RegraEstilizacaoInterface, ViolacaoEstiloInterface } from '../interfaces/estilizador';
/**
* Estilizador de código para Delégua.
* Aplica transformações no AST para enforcar convenções e melhorar qualidade do código.
*/
export declare class EstilizadorDelegua implements EstilizadorInterface {
regras: RegraEstilizacaoInterface[];
private violacoes;
private modoValidacao;
constructor(regras?: RegraEstilizacaoInterface[]);
adicionarRegra(regra: RegraEstilizacaoInterface): void;
removerRegra(nomeRegra: string): void;
/**
* Aplica as regras de estilização recursivamente em uma declaração.
* @param declaracao A declaração a ser estilizada.
* @returns A declaração estilizada.
*/
private estilizarDeclaracao;
/**
* Verifica se uma declaração foi modificada comparando propriedades relevantes.
*/
private declaracaoFoiModificada;
/**
* Clona uma declaração de forma superficial.
*/
private clonarDeclaracao;
/**
* Estiliza construtos dentro de uma declaração.
* @param declaracao A declaração cujos campos serão estilizados.
*/
private estilizarCamposDeclaracao;
/**
* Aplica as regras de estilização em um construto.
* @param construto O construto a ser estilizado.
* @returns O construto estilizado.
*/
private estilizarConstruto;
/**
* Estiliza campos dentro de um construto.
* @param construto O construto cujos campos serão estilizados.
*/
private estilizarCamposConstruto;
/**
* Verifica se um objeto é uma Declaração.
*/
private ehDeclaracao;
/**
* Verifica se um objeto é um Construto.
*/
private ehConstruto;
estilizar(declaracoes: Declaracao[]): Declaracao[];
validar(declaracoes: Declaracao[]): ViolacaoEstiloInterface[];
estilizarEFormatar(declaracoes: Declaracao[], opcoesFormatacao?: OpcoesFormatacaoEstilizadorInterface): string;
}
//# sourceMappingURL=estilizador-delegua.d.ts.map