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

easyfetch

v0.0.6

Published

Simple wrapper around fetch with json support

Downloads

47

Readme

easyfetch

npm version

easyfetch is a simple package that aims to facilitate the use of the default fetch function by wrapping it inside an easy to use api.

It uses isomorphic-fetch to support node.js and non-compatible browsers.

Getting started

Install

$ npm install --save easyfetch

or

$ yarn add easyfetch

Api

easyFetch(url)

It returns the EasyFetch class instance.

jsonFetch(url)

It returns the JsonFetch class instance. It also adds Accept and Content-Type headers to : application/json and automatically calls .json() on the response object returned by the promise.

setHeaders(headers)

Set headers on the request. headers is an object. It returns the EasyFetch or JsonFetch class instance in order to chain calls. Should be called before _fetch.

setQueryParams(queryParams)

Set query parameters on the url. queryParams is an object. It returns the EasyFetch or JsonFetch class instance in order to chain calls. Should be called before _fetch.

setOptions(options)

Set options for fetch. options is an object. It returns the EasyFetch or JsonFetch class instance in order to chain calls. Should be called before _fetch.

basicAuth(login, password)

Set the Authorization header to Basic with login and password. It returns the EasyFetch or JsonFetch class instance in order to chain calls. Should be called before _fetch.

head()

It returns the promise returned by fetch. Calls _fetch.

get()

It returns the promise returned by fetch. Calls _fetch.

post(body)

It returns the promise returned by fetch. Calls _fetch.

put(body)

It returns the promise returned by fetch. Calls _fetch.

patch(body)

It returns the promise returned by fetch. Calls _fetch.

delete(body)

It returns the promise returned by fetch. Calls _fetch.

Usage Example

import {easyFetch, jsonFetch} from 'easyfetch'

var data = {test: "data", field: "test", field2: 1}
var formdata = Object.keys(data).map((k) => [k, encodeURIComponent(data[k])].join('=')).join('&')

easyFetch("https://httpbin.org/get").get()
    .then(response => /* do what you want with the response */)
    .catch(error => console.log(error.response))

easyFetch("https://httpbin.org/post")
    .setHeaders({"Content-Type": "application/x-www-form-urlencoded"})
    .post(formdata)
    .then(response => response.json())
    .catch(error => console.log("Request failed: ", error.response))
    
jsonFetch("https://httpbin.org/get")
    .setHeaders({'X-Api-Key': config.easyPOSLogApi.apiKey})
    .get().then(data => console.log(data))

jsonFetch("https://httpbin.org/post").post(data)
    .then(data => console.log(data))

Contributing

Feel free to open issues and submit pull-requests.