BrasilAPI / cep-promise

Busca por CEP integrado diretamente aos serviços dos Correios, ViaCEP e outros (Node.js e Browser)
MIT License
2.88k stars 316 forks source link

RFC: Configurações da biblioteca #163

Open SkyaTura opened 4 years ago

SkyaTura commented 4 years ago

O propósito dessa Issue é discutir a melhor forma de inserir configurações na biblioteca e quais seriam suas funções configuráveis.

Irei citar aqui algumas coisas que já foram mapeadas para facilitar na elaboração de melhorias até chegarmos ao melhor cenário.

Issues relacionadas

Propostas

Parâmetro adicional

cep('05010000', { format: true }).then(console.log)

Originally posted by @dansoliveira in https://github.com/filipedeschamps/cep-promise/issues/148#issuecomment-585550625

Método config

const cep = require('cep').config({
  providers: ['ViaCep', 'Correios'],
  masked: true,
})

Originally posted by @lucianopf in https://github.com/filipedeschamps/cep-promise/issues/148#issuecomment-588230177

Híbrido

Utilizar as duas propostas citadas acima.

Propriedades

>>> Considerações importantes <<<

Formatação do CEP

Define se a resposta da API deve, ou não, aplicar a máscara de CEP.

Considerações importantes

Nome da propriedade: format ou mask ou formatCEP Valor padrão: ? Valores possíveis: ? Tipos de valor aceitos: ?

Lista de fornecedores aceitos

Define quais os providers devem ser consultados na chamada.

Nome da propriedade: providers Valor padrão: [] (Se vazio, utiliza todos os providers disponíveis) Tipos de valor aceitos: Array de Strings Valores possíveis:

Lista de fornecedores negados

Define quais os providers não devem ser consultados na chamada.

Considerações importantes

Caso de uso: Evitar o looping de chamadas caso um fornecedor decida utilizar o cep-promise em sua implementação, como por exemplo, a BrasilAPI.

Nome da propriedade: ignoredProviders Valor padrão: [] (Se vazio, não altera o comportamento) Tipos de valor aceitos: Array de Strings Valores possíveis:

SkyaTura commented 4 years ago

Aproveitando o embalo, gostaria que vocês avaliassem a minha proposta para a propriedade de formatação de CEP.

Nome da propriedade: maskResponseCEP Tipos de valor aceitos: String Valor padrão: 'none' Valores possíveis:

luciancaetano commented 4 years ago

Poderia-se permitir utilizar ou não o proxy

SkyaTura commented 4 years ago

@luciancaetano pode dar mais detalhes da idéia? E um exemplo de caso de uso.

LorhanSohaky commented 3 years ago

@SkyaTura, fiz um esquema dele receber configurações para todos os providers e específicos de cada um, além de adicionar a funcionalidade de keep-alive #191