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

rx-helper

v2.1.5

Published

Structure your applications around events. Focus on causes ⟺ effects.

Readme

Rx-Helper

ES 2015 npm version <22 kb Travis Appveyor for Windows Greenkeeper badge

Dev Dependencies npm type definitions styled with prettier try on runkit twitter link

npm install -S rxjs rx-helper

What Is Rx-Helper?

Rx-Helper is a library to help you use the power of RxJS to:

  • Modularize your apps, building out from a core of framework-independent logic
  • Stub out unknowns so you can get right to work on the essence of your application
  • Have a clean architecture that allows you to swap out UI frameworks, persistence tiers, or any other component while leaving most of your program unchanged.

What's the API?

There are only 4 important functions in the public API: The 2 that get events into an Agent, and the 2 that flexibly assign Handlers to a subset of those events.

  1. Through either process or trigger, an instance of Agent is given events— objects with a type field (Flux Standard Actions).
  2. If you have an Observable of items to process as events, you can pass it to subscribe.
  3. Events are synchronously processed through Handler functions attached via filter
  4. Async processing is begun by Handlers attached via on, whose concurrency mode (parallel, serial, cutoff, mute) can be specified to control what it does in the event of overlap with its own previous event processings.

Handler functions can be written to explicitly call trigger or process on the events they create. However, the config argument to on allows them to declare that they will make their events available as an Observable, and set that Observable to be processed as events using either the processResults: true, or type: String parameter.

What Benefits Can I Get By Using It?

  • A Clean Architecture of code with a high degree of decoupling and fault-tolerance.
  • A clean, cancelable model of async effects, compatible with, but not dependent on a component library like React or Angular.
  • Faster prototyping by building abstractions that simulate input or output, allowing you to focus on the core functionality of your app.
  • Take advantage the Observable datatype - a type that is a superset of Promise, with a high degree of performance-tunability.
  • Solve performance and timing issues declaratively, keeping code mostly free from those details by applying modes for these common use cases:

What kinds of apps can I build with it?

There are many demo apps included in this project that show what you can build.

  • A Single Page App using React
  • A Web Server using Express
  • A utility that turns all-at-the-end AJAX requests for arrays (eg /users/) into streaming Observables
  • A Canvas-based requestAnimationFrame animation.
  • A console app that writes names to a file, and speaks them aloud.
  • A console app that detects a cheat-code of 5 clicks in a short interval.
  • A Web Audio app that streams and queues up music from attachments in your Inbox.
  • An IOT application interfacing with Raspberry Pi GPIO

OK, but where should I start?

The Wiki is a great place and has some case-studies.

If you're interested in learning more, or updating me on your progress, tweet me!

Testing? Yes, please!

Rx-Helper is highly tested. And since testing async is hard, some integration level tests run a bunch of complex stuff (our demos), and simply assert on the console output. The slightest change in behavior can thus be visible in the output of the demo as a large change. This, with Jest Snapshot testing makes asserting on our output a piece of cake.

Show your love!

  • Display a badge on your project: I ♥️ Rx-Helper

Gratitude, Props, Thanks To

References