New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

vyfetch

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vyfetch

Consume your apis in React projects quickly and easily

latest
npmnpm
Version
0.3.0
Version published
Maintainers
0
Created
Source

VyFetch - HTTP Client para TypeScript/JavaScript 🚀 (WIP)

VyFetch é uma biblioteca poderosa e extensível para realizar requisições HTTP de forma simplificada, com suporte a interceptadores, sistema de plugins e transformação avançada de respostas usando SuperJSON.

📦 Instalação

pnpm add vyfetch

🚀 Uso Básico

import { vyfetch } from "vyfetch";

const response = await vyfetch("/api/users");
console.log(response);

📌 Recursos Atuais

RecursoDescriçãoStatus
✅ Base URL GlobalDefine um base URL para requisições
✅ InterceptadoresPermite manipular requisições e respostas
✅ Sistema de Plugins (Beta)Suporte a extensões personalizadas
✅ Suporte a SuperJSON (Beta)Transformação avançada de dados
✅ Cache IntegradoConfiguração de cache para requisições
✅ Configuração GlobalPersonalização de opções padrão

🔮 Recursos Planejados

RecursoDescriçãoStatus
⏳ Suporte a WebSocketsComunicação em tempo real
⏳ CLI para GerenciamentoFerramenta CLI para configuração
⏳ Suporte a GraphQLSuporte nativo para GraphQL
⏳ Melhor Gerenciamento de ErrosNovas opções para tratamento de falhas
⏳ Extensibilidade AvançadaMelhorias no sistema de plugins

📖 Documentação Completa

Para mais detalhes, acesse a documentação oficial: Em breve

Overview

Vyfetch é um wrapper poderoso para o fetch nativo, que agrega diversas funcionalidades:

  • Configuração Global: Permite definir uma base URL, timeout, headers, interceptadores e callbacks que serão aplicados a todas as requisições.
  • Sistema de Plugins: Possibilita a injeção de lógica customizada em pontos-chave do fluxo de requisição (pré e pós-processamento, tratamento de erros).
  • Integração Opcional com SuperJSON (Beta): Suporta a desserialização de tipos complexos (como Date, Map, Set, BigInt) via flag useSuperJSON ou função transformResponse.
  • Cache, Timeout e Batching: Mecanismos integrados para otimizar performance e evitar requisições duplicadas.

Configurações Globais

import { configure } from 'vyfetch';

configure({
  baseUrl: "https://jsonplaceholder.typicode.com", // URL base para requisições relativas
  timeout: 5000, // Timeout padrão de 5000ms
  cacheOptions: { ttl: 60000 }, // Cache com TTL de 60 segundos
  useSuperJSON: true, // Ativa o uso do SuperJSON para transformações de resposta
  interceptors: {
    request: [
      async (url, options) => {
        options.headers = { ...options.headers, "Authorization": "Bearer TOKEN_GLOBAL" };
        return { url, options };
      },
    ],
  },
  onError: (error) => {
    console.error("Erro global:", error);
  },
});

Suporte SuperJSON

Ative o uso do SuperJSON para transformar a resposta:

vyfetch('/api/data', {
  method: 'GET',
  useSuperJSON: true, // ou use transformResponse: (rawData, response) => SuperJSON.parse(rawData)
});

Referências da API

  • vyfetch<T = any>(url: string, options?: SuperFetchOptions): Promise<SuperFetchResponse> Realiza a requisição HTTP e retorna um objeto contendo:

    • data: Dados transformados da resposta.
    • status: Código de status HTTP.
    • headers: Cabeçalhos da resposta.
    • fromCache: Flag indicando se os dados vieram do cache.
    • duration: Tempo total da requisição (em milissegundos).
    • configure(options: Partial): void
    • Define configurações globais para todas as requisições, incluindo baseUrl, timeout, interceptadores e outras opções.

Criado com 💙 por [@binhodev]

Keywords

fetch

FAQs

Package last updated on 12 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts