@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
79 lines • 2.44 kB
TypeScript
import { Declaracao } from '../../declaracoes';
import { RegraEstilizacaoInterface } from '../../interfaces/estilizador';
/**
* Opções de convenção de nomenclatura.
*/
export interface OpcoesConvencaoNomenclatura {
/**
* Convenção para variáveis.
* - 'caixaCamelo': primeiraPalavraMinuscula
* - 'caixa_cobra': primeira_palavra_minuscula
* - 'CaixaPascal': PrimeiraPalavraMaiuscula
*/
variavel?: 'caixaCamelo' | 'caixa_cobra' | 'CaixaPascal';
/**
* Convenção para constantes.
* - 'CAIXA_ALTA': TODAS_MAIUSCULAS
* - 'caixaCamelo': primeiraPalavraMinuscula
*/
constante?: 'CAIXA_ALTA' | 'caixaCamelo';
/**
* Convenção para funções.
* - 'caixaCamelo': primeiraPalavraMinuscula
* - 'caixa_cobra': primeira_palavra_minuscula
* - 'CaixaPascal': PrimeiraPalavraMaiuscula
*/
funcao?: 'caixaCamelo' | 'caixa_cobra' | 'CaixaPascal';
}
/**
* Regra que enforça convenções de nomenclatura.
*
* Exemplos:
* - Variáveis em caixaCamelo: `var meuNome` (não `var MeuNome` ou `var meu_nome`)
* - Constantes em CAIXA_ALTA: `constante PI_VALOR` (não `constante piValor`)
* - Funções em caixaCamelo: `função calcularTotal()` (não `função CalcularTotal()`)
*/
export declare class RegraConvencaoNomenclatura implements RegraEstilizacaoInterface {
nome: string;
descricao: string;
private opcoes;
constructor(opcoes?: OpcoesConvencaoNomenclatura);
aplicarEmDeclaracao(declaracao: Declaracao): Declaracao;
/**
* Aplica convenção em declaração Var.
*/
private aplicarConvencaoVar;
/**
* Aplica convenção em declaração Const.
*/
private aplicarConvencaoConst;
/**
* Aplica convenção em declaração de Função.
*/
private aplicarConvencaoFuncao;
/**
* Converte um nome para a convenção especificada.
*/
private converterNome;
/**
* Converte nome para camelCase.
*/
private paraCamelCase;
/**
* Converte nome para snake_case.
*/
private paraSnakeCase;
/**
* Converte nome para PascalCase.
*/
private paraPascalCase;
/**
* Converte nome para UPPER_CASE.
*/
private paraUpperCase;
/**
* Valida se um nome está na convenção especificada.
*/
validarNome(nome: string, convencao: string): boolean;
}
//# sourceMappingURL=convencao-nomenclatura.d.ts.map