Skip to content

RFC: Configurações da biblioteca #163

@SkyaTura

Description

@SkyaTura

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 <<<

  • Todas as propriedades devem ter um valor padrão
  • Nenhum valor padrão não pode alterar o comportamento atual da biblioteca
  • As propriedades devem ser simples e intuitivas, para não aumentar a carga cognitiva de uso da biblioteca

# Formatação do CEP

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

Considerações importantes

  • A propriedade deve considerar que existem 2 formatos populares de máscara (00.000-000 e 00000-000)

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:

  • 'correios'
  • 'viacep'
  • 'widenet'
  • 'brasilapi'

# Lista de fornecedores negados

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

Considerações importantes

  • Essa configuração sobrepõe a lista de fornecedores aceitos

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:

  • 'correios'
  • 'viacep'
  • 'widenet'
  • 'brasilapi'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions