cbm-generic-repo-ts
v1.0.1
Published
Generic repository implementation for Frontend with TS using HttpService. To be used with a Repository + Generics Backend
Maintainers
Readme
cbm-generic-repo-ts
Este projeto é um pacote npm para facilitar operações genéricas de repositório em aplicações Frontend TypeScript, utilizando uma base URL configurável para integração com APIs.
Instalação
npm install cbm-generic-repo-tsConfiguração
Configuração da Base URL
O serviço HTTP (HttpService) utiliza a variável de ambiente CBM_API_URL para definir a base da API. Em projetos Vite, defina no seu .env:
CBM_API_URL=https://sua-api.comNo código, a base será lida automaticamente via import.meta.env.CBM_API_URL. Exemplo de uso:
const httpService = new HttpService(); // baseUrl será lida do import.meta.env.CBM_API_URL
const pessoaRepository = new CbmGenericRepository<PessoaResponse>(
httpService,
'/pessoa'
);Se quiser passar a URL manualmente, altere o construtor do HttpService para aceitar a baseUrl como parâmetro (adapte conforme sua necessidade):
const httpService = new HttpService('https://sua-api.com');Uso Básico
pessoaRepository.get().then((pessoas) => {
import { HttpService } from 'cbm-generic-repo-ts';
import { CbmGenericRepository } from 'cbm-generic-repo-ts';
const httpService = new HttpService(); // baseUrl do import.meta.env.CBM_API_URL
const pessoaRepository = new CbmGenericRepository<PessoaResponse>(
httpService,
'/pessoa'
); // aqui adicione o endpoint correto do seu backend para aquela entidade ex: /pessoa
pessoaRepository.get().then((pessoas) => {
console.log(pessoas);
});Estrutura do Projeto
src/CbmGenericRepository.ts: Implementação principal do repositório genéricosrc/httpService.ts: Serviço HTTP para requisiçõessrc/IRepository.ts: Interface do repositóriosrc/index.ts: Ponto de entrada do pacote
Observações
- Certifique-se de que a variável de ambiente
CBM_API_URLestá definida corretamente no projeto consumidor. - O pacote utiliza
fetchpara requisições HTTP. - Para ambientes de produção, proteja seu arquivo
.enve nunca o envie para o controle de versão.
Licença
MIT
