fork-join-deep

<div align="center"> <h1>fork-join-deep</h1> <p>Like RxJS <a href="https://rxjs-dev.firebaseapp.com/api/index/function/forkJoin">forkJoin</a> operator, but deep traversal of the source.</p> </div>

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
fork-join-deep
501.2.03 years ago3 years agoMinified + gzip package size for fork-join-deep in KB

Readme

fork-join-deep

Like RxJS forkJoin operator, but deep traversal of the source.


Build Status codecov npm npm MIT license PRs Welcome

Installation

npm i --save fork-join-deep

Feature

  1. Support primitive values. (codesandbox)

❌ forkJoin

forkJoin({
  a: 0,
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // Error: You provided '0' where a stream was expected.
  // You can provide an Observable, Promise, Array, or Iterable.
});

✅ forkJoinDeep

forkJoinDeep({
  a: 0,
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // {a: 0}
});

  1. Support nested objects. (codesandbox)

❌ forkJoin

forkJoin({
  a: {
    a1: of(0),
  },
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // Error: You provided '0' where a stream was expected.
  // You can provide an Observable, Promise, Array, or Iterable.
});

✅ forkJoinDeep

forkJoinDeep({
  a: {
    a1: of(0),
  },
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // {a: a1: {0}}
});

  1. Support Higher-order Observables. (codesandbox)

❌ forkJoin

forkJoin({
  a: of(of(0)),
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // {a: Observable}
});

✅ forkJoinDeep

forkJoinDeep({
  a: of(of(0)),
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // {a: 0}
});

LICENSE

MIT