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

burst-queue

v0.1.2

Published

a queue that executes functions in predefined bursts

Downloads

11

Readme

burst-queue

A simple queue that takes functions and executes those functions on a specified interval. Optionally a maximum number of functions to execute per interval can be specified when creating a burst-queue.

Methods

createQueue(period, [functionsPerPeriod])

Returns: a burst-queue that will execute passed in functions every period (milliseconds). The optional functionsPerPeriod value denotes a maximum number of functions to be executed at each interval.

add(fn) / add([fn1, fn2, ...])

Adds functions to the queue. The add method takes both single functions or arrays of functions.

Returns: the queue's internal id(s) of the passed in functions. The internal ids can be later used to remove items from the queue. If an array of functions is passed to add, an array of ids is returned in the same order as the functions that were passed in.

availableCalls

Only valid when functionsPerPeriod is defined.

Returns: the number of calls available in the current period. In other words, any function passed in when availableCalls() returns a value greater than 0 will be executed immediately.

clear

Clears the queue of all functions. Sets the availableCalls back to the original value of functionsPerPeriod that was specified on creation of the queue. If no value was given for functionsPerPeriod, availableCalls remains at 0.

Returns: nothing

counter

Returns: the current value of the counter used for generating the queue's internal ids for functions. This value increments by one each time a function is added to the queue.

enqueued

Returns: the current count of items in the queue.

remove(id)

Takes an id returned from an add call and removes that function from the queue, if it is still in the queue.

Returns: a bool that designates whether the remove call successfully found and removed the function from the queue. If a function no longer exists in the queue when remove is called on its id, remove returns false.