npm.io
2.0.0 • Published 6 months ago

rjs-api

Licence
MIT
Version
2.0.0
Deps
1
Size
20 kB
Vulns
0
Weekly
0

rjs-api

npm version downloads license typescript

Uma coleção de utilitários para Node.js/TypeScript com foco em produtividade, segurança e suporte a documentos brasileiros.
Inclui ferramentas para:

  • Documentos (CPF/CNPJ)
  • Datas com timezone
  • Segurança (tokens, UUID, criptografia)
  • Hash de senha
  • Middlewares Express e Fastify

Instalação

npm install rjs-api

Ou:

yarn add rjs-api

Recursos Inclusos


1. Documentos (CPF e CNPJ)

Arquivo: src/utils/documents.ts

Funções disponíveis:

  • formatCPF(cpf)
  • validateCPF(cpf)
  • unformatCPF(cpf)
  • formatCNPJ(cnpj)
  • validateCNPJ(cnpj)
  • unformatCNPJ(cnpj)

Exemplo:

import { documents } from "rjs-api";

documents.formatCPF("12345678901");
documents.validateCNPJ("12.345.678/0001-99");

2. Datas e Timezone

Baseado em moment-timezone

Funções:

  • formatDate(date, format, timezone?)
  • current(timezone?)
Exemplo:
import { time } from "rjs-api";

const agora = time.current();
const dataBR = time.formatDate(new Date(), "DD/MM/YYYY");

3. Segurança

Pasta: src/utils/security/

Criptografia (AES-256)
import { security } from "rjs-api";

const cipher = security.encryption.encrypt("texto", "chave-secreta");
const text = security.encryption.decrypt(cipher, "chave-secreta");

Hash de Senha (bcrypt)
const hash = await security.password.hashPassword("senha123");
const ok = await security.password.comparePassword("senha123", hash);

Tokens & UUID
security.tokens.generateToken(32);
security.tokens.generateUUID();

4. Middlewares (Express + Fastify)

Arquivos:

  • src/utils/security/middleware/express.ts
  • src/utils/security/middleware/fastify.ts
Exemplo com Express:
import express from "express";
import { security } from "rjs-api";

const app = express();
app.use(security.middleware.express.apiKey("MINHA-KEY"));
Exemplo com Fastify:
import Fastify from "fastify";
import { security } from "rjs-api";

const app = Fastify();
app.register(security.middleware.fastify.apiKey, { key: "MINHA-KEY" });

Estrutura do Projeto

src/
 ├─ index.ts
 ├─ utils/
 │   ├─ documents.ts
 │   ├─ time.ts
 │   └─ security/
 │       ├─ encryption.ts
 │       ├─ index.ts
 │       ├─ password.ts
 │       ├─ tokens.ts
 │       └─ middleware/
 │            ├─ express.ts
 │            ├─ fastify.ts
 │            └─ index.ts

Importação Completa

import * as rjs from "rjs-api";

rjs.documents.validateCPF("123...");
rjs.time.current();
rjs.security.tokens.generateUUID();
rjs.security.password.hashPassword("abc");

Tipos TypeScript

Total suporte a IntelliSense e tipagem automática. Todos os módulos possuem .d.ts.


Licença

MIT — livre para uso pessoal e comercial.