git-limpa-branches
Version:
Utilitário para limpeza segura de branches Git
81 lines (80 loc) • 3.14 kB
TypeScript
/**
* @fileoverview Implementação das funcionalidades principais do git-limpa-branches
*/
import { ExecutarGitFn, TemAlteracoesNaoMescladasFn, ObterBranchesRemotosFn, ObterBranchesLocaisFn, FazerPerguntaFn, ConfirmarEExecutarFn, ResultadoAnalise, AnalisarBranchesGitFn, ExcluirBranchesFn, Cores, IGitLimpaBranchesService } from './git-limpa-branches.types.js';
/**
* Classe que implementa os serviços de limpeza de branches do Git
*/
export declare class GitLimpaBranchesService implements IGitLimpaBranchesService {
private readonly branchesProtegidos;
/**
* Cores para formatação do console
*/
private readonly cores;
/**
* Cria uma nova instância do serviço
* @param branchesProtegidos - Lista de branches que não devem ser excluídos
*/
constructor(branchesProtegidos: string[]);
/**
* Executa um comando git e retorna sua saída
* @param comando - O comando git a ser executado
* @param silencioso - Se true, não lança erro em caso de falha
* @returns A saída do comando
* @throws Error Se o comando falhar e silencioso for false
*/
executarGit: ExecutarGitFn;
/**
* Verifica se um branch tem alterações não mescladas em relação aos branches protegidos
* @param branch - O nome do branch a verificar
* @returns True se o branch tem alterações não mescladas
*/
temAlteracoesNaoMescladas: TemAlteracoesNaoMescladasFn;
/**
* Obtém todos os branches remotos
* @returns Lista de branches remotos
*/
obterBranchesRemotos: ObterBranchesRemotosFn;
/**
* Obtém todos os branches locais
* @returns Lista de branches locais
*/
obterBranchesLocais: ObterBranchesLocaisFn;
/**
* Faz uma pergunta ao usuário e retorna a resposta
* @param pergunta - A pergunta a ser feita
* @returns A resposta do usuário
*/
fazerPergunta: FazerPerguntaFn;
/**
* Solicita confirmação do usuário para executar um comando
* @param mensagem - A mensagem explicando o que será feito
* @param comando - O comando a ser executado
* @returns True se o usuário confirmou, false caso contrário
*/
confirmarEExecutar: ConfirmarEExecutarFn;
/**
* Analisa cada branch e determina quais podem ser excluídos
* @returns Resultado da análise
*/
analisarBranchesGit: AnalisarBranchesGitFn;
/**
* Exibe um resumo dos branches que podem ser excluídos e os que têm alterações
* @param resultado - O resultado da análise de branches
*/
exibirResumo(resultado: ResultadoAnalise): void;
/**
* Realiza a exclusão dos branches identificados como seguros para excluir
* @param resultado - O resultado da análise de branches
* @returns True se a exclusão foi bem-sucedida para todos os branches
*/
excluirBranches: ExcluirBranchesFn;
/**
* Função principal que coordena a execução do utilitário
*/
main(): Promise<void>;
/**
* Retorna as cores usadas pelo serviço para formatação do console
*/
getCores(): Cores;
}