fork-join-deep
Like RxJS forkJoin operator, but deep traversal of the source.
Installation
npm i --save fork-join-deep
Feature
codesandbox)
1. Support primitive values. (
❌ 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}
});
codesandbox)
2. Support nested objects. (
❌ 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}}
});
codesandbox)
3. Support Higher-order Observables. (
❌ 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