Git Product home page Git Product logo

getzipcode-function-ts's Introduction

getZipCode

Este repositório contém a função getZipCode, que rastreia o código postal (CEP) com base nas coordenadas geográficas fornecidas (latitude e longitude). A função utiliza a API de geocodificação do Google Maps para buscar e extrair o CEP.

Índice

Recursos

  • Busca o código postal com base na latitude e longitude.
  • Trata erros de forma adequada e fornece mensagens de erro significativas.
  • Inclui uma cobertura abrangente de testes para todas as utilidades e a função principal.

Instalação

Para usar esta função, você precisa ter Node.js e npm instalados. Siga os passos abaixo para configurar o projeto:

  1. Clone o repositório:

    git clone https://github.com/GuihCastro/getZipCode-function-TS.git
    cd getZipCode
  2. Instale as dependências:

    npm install

Uso

Para usar a função getZipCode em seu projeto, siga estes passos:

  1. Certifique-se de ter uma chave da API do Google Maps. Substitua YOUR_GOOGLE_MAPS_API_KEY no código pela sua chave real.

  2. Importe a função getZipCode e use-a com os valores apropriados de latitude e longitude:

    import getZipCode from './getZipCode';
    
    (async () => {
        try {
            const zipCode = await getZipCode(-23.5489, -46.6388); // Coordenadas para São Paulo, SP, Brasil
            console.log('CEP:', zipCode); // Saída esperada: 'CEP: 01007040'
        } catch (error) {
            console.error(error.message);
        }
    })();

Detalhes da Implementação

  • Função getZipCode:

    import { constructGeocodingURL, fetchGeocodingData, extractZipCode } from './services/geocodingAPI';
    
    /**
     * Retorna o código postal (CEP) com base nas coordenadas (latitude e longitude) recebidas.
     *
     * @param {number} latitude - A coordenada de latitude.
     * @param {number} longitude - A coordenada de longitude.
     * @returns {Promise<string | null>} - O CEP rastreado a partir das coordenadas.
     */
    async function getZipCode(latitude: number, longitude: number): Promise<string | null> {
        const url = constructGeocodingURL(latitude, longitude);
    
        try {
            const results = await fetchGeocodingData(url);
            return extractZipCode(results);
        } catch (error) {
            console.error('Erro ao buscar o CEP:', error);
            throw new Error('Não foi possível recuperar o CEP.');
        }
    }
    
    export default getZipCode;
  • geocodingAPI.ts: Este arquivo contém as funções auxiliares para construir a URL de geocodificação, buscar os dados de geocodificação e extrair o CEP.

Testes

Este repositório inclui um conjunto de testes unitários para garantir a funcionalidade da função getZipCode e suas utilidades auxiliares. Os testes são escritos usando Jest e podem ser encontrados no arquivo getZipCode.test.ts.

Para executar os testes, execute o seguinte comando:

npm test

Contribuição

O código foi feito principalmente para fins de estudo, e contribuições são sempre bem-vindas! Por favor, siga estes passos para contribuir:

Faça um fork do repositório. Crie uma nova branch para sua funcionalidade ou correção de bug. Faça commit das suas alterações. Faça push da sua branch e crie um pull request.

getzipcode-function-ts's People

Contributors

guihcastro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.