2.0.2 • Published 10 months ago

@qualicorp_digital/utils v2.0.2

Weekly downloads
84
License
ISC
Repository
-
Last release
10 months ago

Qualicorp Digital (funções úteis)

exemplo de uso:
const { setupEnvironment, responseStructs, AppError, AuthError, middlewares, validations, conversions } = require("@qualicorp_digital/utils");

setupEnviroment

setupEnviroment é uma função comumente usada na inicialização das APIs para atribuir as variáveis de ambiente de acordo com o arquivo .env correspondente ao ambiente da execução. Recomendável realizar a chamada da função setupEnviroment() antes do import das rotas. O parâmetro esperado é uma string contendo o path da pasta onde se encontram o(s) arquivo(s) de extensão env. Caso não seja passado nada será utilizado como padrão o diretório raiz do projeto.

exemplo de uso:
const express = require("express");
const app = express();
const { setupEnviroment } = require("@qualicorp_digital/utils");
setupEnviroment("./config");

responseStructs

Um objeto que detém funções que padronizam as responses das APIs, são elas:

Formato da função:
responseSuccess(res, data, status = 200) {
  //res: é o objeto response do express.<br>
  //data: é o resultado da API, sendo geralmente um objeto ou um array.<br>
  //status: statusCode da response. Se não for atribuído assumirá 200 (sucesso).<br>
}
Formato da função:
responseError(res, error, status = 500) {
  //res: é o objeto response do express.<br>
  //error: é o objeto de erro externado pelo trow. Geralmente será uma string com o erro ou um objeto //contendo a propriedade message.<br>
  //status: statusCode da response. Se não for atribuído assumirá 500 (erro interno).<br>
}
Formato da função:
getErrorMessage(error) {
  //error: é o objeto de erro obtido pelo try-catch. A função irá avaliar o objeto e retornará a mensagem da melhor forma para o client requisitante.
}
Exemplo de uso das 3 funções acima:
app.get("/", (req, res) => {
  try {
    const dados = { message: "hello world" };
    responseSuccess(res, dados)
  } catch (error) {
    const msg = getErrorMessage(error);
    responseError(res, msg);
  }  
});

AppError

Ao importa-lo você recebe uma instância da classe AppError. Utilizado para lançar exceções intencionais da aplicação, diferenciando-as das exceções inexperadas.

Formato do objeto:
{
  message; // string
  statusCode; // number default: 400
}

AuthError

Ao importa-lo você recebe uma instância da classe AuthError. Utilizado para lançar exceções ocasionadas durante a autenticação.

Formato do objeto:
{
  message; // string
  statusCode; // number default: 401
}

middlewares

Um objeto que contém middlewares padrões no formato do express.

middlewares disponíveis:
Formato da função:
const handle404 = function (req, res, next) {
  // req: request
  // res: response
  // next: proxima função da stack
  res.status("404").json({ status: 404, message: "URL não encontrada." });
  next();
};
Formato da função:
const handleError = async (error, req, res, _) => {

}
Formato da função:
const validateAuth = function (req, res, next) {
  // req: request
  // res: response
  // next: proxima função da stack
  // Realiza a chamada da validação do JWT. Para isso é feito uma chamada http na API de acesso.
};

###### Exemplo de uso:
```js
const { middlewares } = require("@qualicorp_digital/utils");
const express = require("express");
const app = express();
app.use(routes);
app.use(middlewares.handle404); // deve sempre estar após as rotas

validations

Contém diversos objetos que possuem funções para diversos gêneros de validações:

1. dateValidations

  • isValidBRFormat(data)
  • isValidUAFormat(data)
  • isValidRange(dataInicio, dataFim)

2. documentsValidations 2.1 cpfValidations

  • unformat(cpf)
  • isValid(unformatedCpf)

3. emailValidations

  • isValid(value)

4. numberValidations

  • isNatural(value)

5. passwordValidations

  • isValid(value)

6. stringValidations

  • onlyLetters(value)
  • onlyNumbers(value)

conversions

Contém diversos objetos que possuem funções para diversos gêneros de conversões:

1. date

  • formatBrasil(data)
  • formatEUA(value)
  • formatEUAdateTime(value)
  • formatTimestamp(value)
  • getDiffBetweenDates(initialDate, finalDate)
  • clear(data, separator = "/")
  • reverse(data, separator = "/")
  • clearAndReverse(data, separator = "/")
  • getAge(birthDate, referenceDate)

2. inputs 2.1 query

  • parse(value)

3. hashs 3.1 base64

  • decode(base64Value)
  • encode(value);

4. number

  • round(decimalValue, places = 2)
  • trunc(decimalValue, places = 2)

5. string

  • getOnlyNumbers(str)
  • hasFileExtension(filename)
  • getFileExtension(filename)
  • normalize(value)
2.0.2

10 months ago

2.0.1

10 months ago

2.0.0

11 months ago

1.12.15

2 years ago

1.12.14

2 years ago

1.12.13

2 years ago

1.12.12

3 years ago

1.12.10

3 years ago

1.12.11

3 years ago

1.12.9

3 years ago

1.12.7

3 years ago

1.12.6

3 years ago

1.12.5

3 years ago

1.12.8

3 years ago

1.12.3

3 years ago

1.12.4

3 years ago

1.12.2

3 years ago

1.12.1

3 years ago

1.12.0

3 years ago

1.11.7

3 years ago

1.11.6

3 years ago

1.11.5

3 years ago

1.11.4

3 years ago

1.11.3

3 years ago

1.11.2

3 years ago

1.11.1

3 years ago

1.11.0

3 years ago

1.10.9

3 years ago

1.10.5

3 years ago

1.10.8

3 years ago

1.10.7

3 years ago

1.10.6

3 years ago

1.10.4

3 years ago

1.10.3

4 years ago

1.10.2

4 years ago

1.10.1

4 years ago

1.10.0

4 years ago

1.9.3

4 years ago

1.9.2

4 years ago

1.9.1

4 years ago

1.9.0

4 years ago

1.8.2

4 years ago

1.8.3

4 years ago

1.8.1

4 years ago

1.8.0

4 years ago

1.7.12

4 years ago

1.7.10

4 years ago

1.7.11

4 years ago

1.7.9

4 years ago

1.7.8

4 years ago

1.7.7

4 years ago

1.7.6

4 years ago

1.7.5

4 years ago

1.7.4

4 years ago

1.7.3

4 years ago

1.7.2

4 years ago

1.7.1

4 years ago

1.7.0

4 years ago

1.6.3

4 years ago

1.6.2

4 years ago

1.6.1

4 years ago

1.6.0

4 years ago

1.5.0

4 years ago

1.4.16

4 years ago

1.4.15

4 years ago

1.4.14

4 years ago

1.4.13

4 years ago

1.4.12

4 years ago

1.4.11

4 years ago

1.4.9

4 years ago

1.4.10

4 years ago

1.4.8

4 years ago

1.4.7

4 years ago

1.4.6

4 years ago

1.4.5

4 years ago

1.4.4

4 years ago

1.4.3

4 years ago

1.4.2

4 years ago

1.4.1

4 years ago

1.3.7

4 years ago

1.4.0

4 years ago

1.3.9

4 years ago

1.3.8

4 years ago

1.3.6

4 years ago

1.3.5

4 years ago

1.3.4

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago