Executando verificação de segurança...
2

Toop demais mano. Queria poder ajudar a desenvolver.

Deixarei uma sugestão aqui: Você já tem uma "contrato" para definição do que é um provider na sua aplicação. E eles seguem os seguintes métodos.

  • generatePix
  • getPixStatus
  • delPixCob
  • transfer

Na hora de instanciar sua classe principal, receba como parâmetro a classe do provider, e sua classe de provider que vai lidar com a chave de API ou se ta em sandbox ou não, separando assim as responsabilidades. Por que o que ce ta fazendo é recebendo APIKey e sandbox pela classe EasyPix e passando ela para o provider.

No momento sua classe EasyPix ta totalmente acoplada aos provider que você da suporte, caso eu usuário da sua lib tenha um serviço próprio e queira criar minha própria classe de provider eu não conseguiria sem mexer na classe EasyPix e adicionando la no switch do construtor o meu provider personalizado.

Carregando publicação patrocinada...
1

opa! Eae lucasgab! Tem um pull que fizeram que vai resolver isso, vou dar merge e fazer os testes nele, dai vou lançar a atualização. Tá bem mais fácil adicionar um provider nela e agora vai ter o suporte a typescript.

1

Atualizando: Acabei de dar merge no pull que separa as responsabilidades, to fazendo os testes agora, se quiser dar uma olhada em como ta agora, bem mais fácil de adicionar um provider, ainda teria que editar a classe easy pix, mas agora aqui

const providers = {
      [PROVIDERS.ASAAS]: AsaasProvider,
      [PROVIDERS.MERCADO_PAGO]: MercadoPagoProvider
    }

mapeando seu provider.

Caso queira melhorar justamente isso, fique a vontade pra fazer seu pull request! Aguardo anciosamente por mais contribuições incriveis <3