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

twopi-rest

v1.0.7

Published

TwoPiRest is a react component that helps you to make rest api requests from your application.

Readme

TwopiRest

TwopiRest is a rest client in shape of a react component. It is useful for playing around with mock apis (as they some of them can only be accessed by the running application) and it also works well with real rest-apis. We can pass an optional parameter "preset" containg the details of rest requests we want to make in order to have request templates(saves a lot a manual work while developing something).

Installation

npm i twopi-rest

or

yarn add twopi-rest

usage

// import
 import TwopiRest from 'twopi-rest';

// usage as a component

 <TwopiRest preset={requests} />

 // with out preset

  <TwopiRest />

Now you should be wondering what should be the shape of preset, right? preset is an array of objects which should look like this:

[  {
    name: "empty", // mustv have a unique name amoung all your request objects
    req_type: "PATCH", // must be one of "PATCH" | "GET" | "POST" | "PUT" | "DELETE"
    base_url: "",  //  contains base url you want to hit
    url: "",       //  contains api end point
    query_str: "", //  contains query string
    body: {},      // contains the body of request
    header: {},    //  contains the body of request
  },
  ]

For more insights here is the type definition of preset:

preset?: Array<{
    name: string;
    req_type: "PATCH" | "GET" | "POST" | "PUT" | "DELETE";
    base_url: string;
    url: string;
    query_str: string;
    body: Object;
    header: Object;
  }>

you can quickly copy this templete to start writing your preset:

[  {
    name: "empty",
    req_type: "PATCH",
    base_url: "",
    url: "",
    query_str: "",
    body: {},
    header: {},
  },]

Now lets see a complete example :

import './App.css';
import TwopiRest from 'twopi-rest';

const sample_requests = [
  {
    name: "user signup",
    req_type: "POST",
    base_url: "",
    url: "/user/signup",
    query_str: "",
    body: {
      fname: "Shiv",
      lname: "Raj",
      username: "sr11",
      dob: "11-12-2012",
      email: "[email protected]",
      contact: "8057761545",
      password: "wah",
    },
    header: {},
  },
  {
    name: "user login",
    req_type: "POST",
    base_url: "",
    url: "/user/login",
    query_str: "",
    body: {
      username: "sr11",
      password: "wah",
    },
    header: {},
  },
  {
    name: "default user login",
    req_type: "POST",
    base_url: "",
    url: "/user/login",
    query_str: "",
    body: {
      username: "sjtgshivam",
      password: "acheDin",
    },
    header: {},
  },

  {
    name: "current user",
    req_type: "GET",
    base_url: "",
    url: "/user",
    query_str: "",
    body: {},
    header: {
      authorization:
        "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InNqdGdzaGl2YW0ifQ.vzWhvz8B8qnFvMDCZ5euP7Dfh0cZLbCcoLsMdaraFQY",
    },
  },

];


function App() {
  return (
    <div className="App">
      <TwopiRest preset={sample_requests} />
    </div>
  );
}

export default App;

** Right now we are seeing some issues with css files, you can directly link the css file from here (or just copy pate it to local file )

https://github.com/SJTGSHIVAM/TwoPiRest/blob/master/src/index.css

or import in your index file using

import 'twopi-rest/dist/index.css';