UNPKG

git-limpa-branches

Version:
81 lines (80 loc) 3.14 kB
/** * @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; }