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 🙏

© 2024 – Pkg Stats / Ryan Hefner

fetchasync_test

v1.0.3

Published

Fetchasync is a lightweight package created with typescript that provides an easy way to fetch modern API using await/async.

Downloads

10

Readme

Fetchasync npm package

Overview

Fetchasync is a lightweight package created with typescript that provides an easy way to fetch modern API using await/async.

Features

  • Uses await/async
  • Has default configuration for common JSON API
  • Errors 400 >= will go to the catch by default.
  • Errors 200 will stay within the try.
  • Created with Typescript
  • Fixes common curls errors by default.

Usage

Installation

npm i fetchasync

Update

npm update fetchasync

Import

import { FETCHASYNC } from 'fetchasync';

Examples

GET request

  • Simple get request without optional params
const getRequest = async () => 
{
    try
    {
        let response = await FETCHASYNC.get("myURL");

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
  • Url with params, custom headers, and custom options
const getRequest = async () => 
{
    try
    {
        let params = {
            "example": "test"
        };

        let headers = {
            "Content-Type" : "application/json",
            "Accept" : "application/json"
        };
        
        let options = {
            "mode": "cors",
            "cache": "default",
            "credentials": "include",
            "redirect": "follow",
            "policy": "no-referrer-when-downgrade"
        }

        let response = await FETCHASYNC.get("myURL", params, true, headers, options);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
  • To fetch an URL with params ex: http://myURL.com?example=test use the following example
let response = await FETCHASYNC.get("http://myURL.com", {"example" "test"});
Available GET params
  • URL string (required)
  • Params object (optional)
  • returnJson boolean (optional)
  • headers object (optional)
  • options object (optional)

POST request

  • Simple POST request without optional params
const postRequest = async () => 
{
    try
    {
        let body = {
            example: "example"
        };

        let response = await FETCHASYNC.post("myURL", body);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
  • POST request with custom headers and custom options
const postRequest = async () => 
{
    try
    {
        let body = {
            example: "example"
        };

        let headers = {
            "Content-Type" : "application/json",
            "Accept" : "application/json"
        };
        
        let options = {
            "mode": "cors",
            "cache": "default",
            "credentials": "include",
            "redirect": "follow",
            "policy": "no-referrer-when-downgrade"
        }

        let response = await FETCHASYNC.post("myURL", body, true, headers, options);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
Available POST params
  • URL string (required)
  • body object (required)
  • returnJson boolean (optional)
  • headers object (optional)
  • options object (optional)

PUT request

  • Simple PUT request without optional params
const putRequest = async () => 
{
    try
    {
        let body = {
            example: "example"
        };

        let response = await FETCHASYNC.put("myURL", body);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
  • PUT request with custom headers and custom options
const putRequest = async () => 
{
    try
    {
        let body = {
            example: "example"
        };

        let headers = {
            "Content-Type" : "application/json",
            "Accept" : "application/json"
        };
        
        let options = {
            "mode": "cors",
            "cache": "default",
            "credentials": "include",
            "redirect": "follow",
            "policy": "no-referrer-when-downgrade"
        }

        let response = await FETCHASYNC.put("myURL", body, true, headers, options);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
Available PUT params
  • URL string (required)
  • body object (required)
  • returnJson boolean (optional)
  • headers object (optional)
  • options object (optional)

PATCH request

  • Simple PATCH request without optional params
const patchRequest = async () => 
{
    try
    {
        let body = {
            example: "example"
        };

        let response = await FETCHASYNC.patch("myURL", body);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
  • PATCH request with custom headers and custom options
const patchRequest = async () => 
{
    try
    {
        let body = {
            example: "example"
        };

        let headers = {
            "Content-Type" : "application/json",
            "Accept" : "application/json"
        };
        
        let options = {
            "mode": "cors",
            "cache": "default",
            "credentials": "include",
            "redirect": "follow",
            "policy": "no-referrer-when-downgrade"
        }

        let response = await FETCHASYNC.patch("myURL", body, true, headers, options);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
Available PATCH params
  • URL string (required)
  • body object (required)
  • returnJson boolean (optional)
  • headers object (optional)
  • options object (optional)

DELETE request

  • Simple DELETE request without optional params
const deleteRequest = async () => 
{
    try
    {
        let response = await FETCHASYNC._delete("myURL");

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
  • DELETE request with custom headers and custom options
const deleteRequest = async () => 
{
    try
    {
        let headers = {
            "Content-Type" : "application/json",
            "Accept" : "application/json"
        };
        
        let options = {
            "mode": "cors",
            "cache": "default",
            "credentials": "include",
            "redirect": "follow",
            "policy": "no-referrer-when-downgrade"
        }

        let response = await FETCHASYNC._delete("myURL", true, headers, options);

        console.log(response);
    }
    catch(error)
    {
        console.log(error);
    }
}
Available DELETE params
  • URL string (required)
  • returnJson boolean (optional)
  • headers object (optional)
  • options object (optional)

Default optional configuration

Headers
{
  "Content-Type" : "application/json",
  "Accept" : "application/json"
}
Options
{
    "mode": "cors",
    "cache": "default",
    "credentials": "include",
    "redirect": "follow",
    "policy": "no-referrer-when-downgrade"
}

Params details

  • URL: This parameter is to specify the URL that will be fetched
  • returnJson: This parameter is to specify if we are waiting for a JSON response or a promise. If false a promise will be returned. If true a JSON server response is expected.
  • headers: This parameter is to specify the headers required to fetch the API. See Headers above, to see the default headers.
  • options: This parameter is to specify the type of fetch configuration. See Options above to see the default fetch config.

Credits

This module was inspired and created by @jerryurenaa

License

Fetchasync is MIT licensed.

Powered by Nerdtrix.com