npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

torc-api

v1.1.8

Published

torc-api is a lightweight wrapper to simplify HTTP requests

Readme

torc-api

torc-api is a lightweight wrapper to simplify HTTP requests, similar to axios, but with a more explicit and strongly-typed approach. It includes two main classes: API for handling HTTP requests, and Data for structuring responses or payloads.


🚀 Installation

npm install torc-api

📦 Basic Example

Fetch data with automatic JSON formatting

This is equivalent to calling response.json() manually:

import { API, Data } from 'torc-api'

const pokeApi = new API({
  url: 'https://pokeapi.co/api/v2/pokemon'
})

async function fetchPokemon(pokemonName: string): Promise<Data<string>> {
  const data = await pokeApi.get<string>({
    endpoint: pokemonName,
    formatToJSON: true
  })

  return data
}

fetchPokemon('ditto').then(data => console.log('data:', data))

Get the raw Response object

If you set formatToJSON to false (which is the default), you'll receive the raw Response instead of a Data object:

async function fetchPokemon(pokemonName: string): Promise<Response> {
  const response = await pokeApi.get({
    endpoint: pokemonName,
    formatToJSON: false
  })

  return response
}

🔧 API: Configuration

When creating an API instance, you can provide:

| Property | Type | Required | Description | | -------- | ------------ | -------- | -------------------------------- | | url | string | ✅ | Base URL for all requests | | headers | HeadersInit| ❌ | Default headers for all requests (can be overridden per call) | | options | APIOptions | ❌ | Default options for all requests |


📄 APIOptions

APIOptions extends the native RequestInit object and adds:

| Property | Type | Default | Description | | ------------ | -------- | ------- | ----------------------------------------- | | formatToJSON | boolean| false | Whether to automatically call .json() on the response | | abortSeconds | number | 20 | Time (in seconds) before the request is automatically aborted |


📦 Data

The Data<T> class wraps a response value and potential error in a unified structure:

Properties

| Property | Type | Description | | -------- | -------------- | ------------------- | | value | DataValue<T> | The response data | | error | DataError | The error (if any) |

Static Methods

| Method | Returns | Description | | -----------------------------| ------------ | ------------------------------------- | | Data.failure(error: DataError) | Data<null> | Creates a Data instance with a given error | | Data.success<T>(value: T) | Data<T> | Creates a Data instance with a given value |