Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yabaernesto/angola-locale-utils-api
Uma solução focada na formatação de números “moedas” e datas para a localidade angolana (pt-AO).
https://github.com/yabaernesto/angola-locale-utils-api
express javascript nodejs typescript
Last synced: about 1 month ago
JSON representation
Uma solução focada na formatação de números “moedas” e datas para a localidade angolana (pt-AO).
- Host: GitHub
- URL: https://github.com/yabaernesto/angola-locale-utils-api
- Owner: yabaernesto
- Created: 2024-11-01T19:50:11.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-01T20:29:38.000Z (about 2 months ago)
- Last Synced: 2024-11-01T21:23:54.618Z (about 2 months ago)
- Topics: express, javascript, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Angola Locale Utils API
Derivado da biblioteca Angola Locale Utils, que é uma solução focada na formatação de números “moedas” e datas para a localidade angolana (pt-AO). A API permite que os usuários formate valores monetários, datas e números de acordo com as especificações da localidade angolana (pt-AO).
## Estrutura da API
A API possui três endpoints principais, cada um voltado para uma funcionalidade específica da biblioteca que você desenvolveu. Todos os endpoints utilizam o método HTTP POST.1. Endpoint: /formatCurrency
- Método: POST
- Descrição: Este endpoint formata um valor monetário de acordo com as especificações da localidade angolana.
- Requisição:
- Body (JSON):
```json
{
"amount": 9876543.21,
"position": "before" // ou "after"
}
```
- Parâmetros:
- amount: O valor numérico que você deseja formatar como moeda.
- position: Define se o símbolo da moeda (Kz) deve aparecer antes ou depois do número.
- Resposta:
- Body (JSON):
```json
{
"formattedCurrency": "Kz 9.876.543,21" // ou "9.876.543,21 Kz" dependendo da posição
}
```2. Endpoint: /formatDate
- Método: POST
- Descrição: Este endpoint formata uma data de acordo com o formato especificado e pode incluir a hora, minuto e segundo.
- Requisição:
- Body (JSON):
```json
{
"date": "2024-10-31T14:30:00Z", // A data em formato ISO 8601
"format": "DD/MM/YYYY", // Formato desejado da data
"includeTime": true, // Incluir a hora
}
```
- Parâmetros:
- date: A data a ser formatada (em formato ISO 8601).
- format: O formato desejado para a data (DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD, extenso).
- includeTime: Um booleano que indica se a hora deve ser incluída.
- Resposta:
- Body (JSON):
```json
{
"formattedDate": "31/10/2024 14:30:00" // ou o formato especificado
}
```3. Endpoint: /formatNumber
- Método: POST
- Descrição: Este endpoint formata um número de acordo com as especificações da localidade angolana.
- Requisição:
- Body (JSON):
```json
{
"number": 1234567.89
}
```
- Parâmetros:
- number: O valor numérico que você deseja formatar.
- Resposta:
- Body (JSON):
```json
{
"formattedNumber": "1.234.567,89" // O número formatado
}
```## Exemplo de Consumo com Axios (Node.js ou Frontend)
```js
const axios = require('axios');
const baseURL = 'http://localhost:3000';async function getFormattedCurrency(amount) {
const { data } = await axios.post(`${baseURL}/formatCurrency`, { amount });
return data.formattedCurrency;
}async function getFormattedDate(date, format = 'DD/MM/YYYY') {
const { data } = await axios.post(`${baseURL}/formatDate`, { date, format });
return data.formattedDate;
}async function getFormattedNumber(number) {
const { data } = await axios.post(`${baseURL}/formatNumber`, { number });
return data.formattedNumber;
}// Uso direto dos resultados
async main() => {
console.log(await getFormattedCurrency(1500.50));
console.log(await getFormattedDate('2024-11-01', 'YYYY-MM-DD'));
console.log(await getFormattedNumber(123456.789));
}main()
```Nota: Todos os endpoints recebem dados via método POST e retornam respostas em formato JSON, facilitando a integração com outros sistemas ou front-ends.