Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@patrten/vero-unde

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@patrten/vero-unde

Migrated into monorepo: [bjesuiter/rxjs-pipes](https://github.com/bjesuiter/rxjs-pipes/tree/main/packages/throttle-async)

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

ARCHIVED!

Migrated into monorepo: bjesuiter/rxjs-pipes


@patrten/vero-unde

A pipe functions for rxjs 6+ which accepts a 'wait' observable, emits 1 elements of the source stream and waits for an event on the 'wait' observable.

Changelog

The latest changelog on master: https://github.com/patrten/vero-unde/blob/master/CHANGELOG.md

What does throttleAsync do (in order)?

  1. Get a waitUntil$ observable as parameter
  2. Emit one value (may be configurable in the future)
  3. Wait until waitUntil$ observable emits a value.
  4. If waitUntil$ emits a value, emit another value from the source observable.

Why is this useful?

I personally need it for splitting up resize events from the browser into a resize-start and a resize-end observable.

First, we need an observable of window resize events:

const windowResize$ = fromEvent(window, 'resize');

We can produce a resize-end observable by

const windowResizeEnd$ = windowResize$.pipe(debounceTime(500));

But how would you build the windowResizeStart$ observable? This is, where the throttleAsync pipe comes in.
We need windowResize$ to emit exactly one event and then pause emission
until windowResizeEnd$ emits a value.

    const windowResizeStart$ = windowResize$.pipe(
        throttleAsync(windowResizeEnd$)
    );

Future Features (eventually)

  • Emit n source events between waitUntil$ observable emissions instead of only one.
    The parameter n should be configureable when instantiating throttleAsync.
  • Make the parameter n dynamic by using the value of the waitUntil$ observable as a number of how many events to emit next.
  • Add https://github.com/xripcsu/rxjs-watcher to help visualize the function of these operators

Tooling

Keywords

FAQs

Package last updated on 24 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc