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

@gluedigital/ruse-fetch-extras

v1.2.10

Published

Extra utilities for ruse-fetch

Downloads

25

Readme

ruse-fetch-extras

Extra utilities for ruse-fetch.

API

useFetch / useFetchCb

These methods are similar to the ones from ruse-fetch, but they add:

  • Support for JSON bodies: set body to an object, and it will serialize it, and set the content-type
  • Support for GET params: set params to an object, and it will be converted to a query string and added to the url
  • Auto-add the user token from the store: just save it at store.user.token

useFetchUncachedCb

Similar to useFetchCb, but does not dispatch anything. This is similar to calling plain fetch, but with all the additions above.

usePaginatedFetch

This hook helps deal with "infinite scroll" use cases. It works like useFetch, but returns an object with the following fields:

  • data: The aggregated results from the pages loaded so far
  • page: The last page loaded
  • isLoadingMore: Indicates if we are loading a new page
  • hasNext: Indicates if there are more pages to load
  • loadMore: Function to load the next page of results

The behaviour for concatenating pages and detecting the last page can be customised with the merger and hasNext options

useCRUD

Provides CRUD methods for an entity. It assumes the standard REST URLs for each method.

usePeriodicFetch

Similar to useFetch, but updates the data automatically with the specified period.

Please note that this method does not de-duplicate calls with the same URL.