# fork-join-deep

> fork-join-deep Like RxJS forkJoin operator, but deep traversal of the source.

Latest version **1.2.0** (published 2021-01-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install fork-join-deep
pnpm add fork-join-deep
yarn add fork-join-deep
bun add fork-join-deep
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.0 |
| Published | 2021-01-31 |
| First published | 2021-01-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 35.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5 |
| Author | zhangzilong.zzl@163.com |
| Maintainers | ystarlongzi |
| Keywords | RxJS, forkJoin |

## Links

- npm: https://www.npmjs.com/package/fork-join-deep
- Repository: https://github.com/ystarlongzi/forkJoinDeep
- Homepage: https://github.com/ystarlongzi/forkJoinDeep#readme
- Issues: https://github.com/ystarlongzi/forkJoinDeep/issues
- npm.io page: https://npm.io/package/fork-join-deep

## Alternatives

- [@regle/core](https://npm.io/package/@regle/core.md) — 47.0K weekly downloads
- [typeof-arguments](https://npm.io/package/typeof-arguments.md) — 12.5K weekly downloads
- [@lokalise/projects-engine-contracts](https://npm.io/package/@lokalise/projects-engine-contracts.md) — 978 weekly downloads
- [@osjwnpm/nam-laboriosam-quibusdam](https://npm.io/package/@osjwnpm/nam-laboriosam-quibusdam.md) — 70 weekly downloads
- [@oridune/validator](https://npm.io/package/@oridune/validator.md) — 16 weekly downloads

## Recent versions

- 1.2.0 (latest) — 2021-01-31
- 1.1.1 — 2021-01-30
- 1.1.0 — 2021-01-30
- 1.0.5 — 2021-01-29
- 1.0.4 — 2021-01-28
- 1.0.3 — 2021-01-26
- 1.0.2 — 2021-01-26
- 1.0.1 — 2021-01-25
- 1.0.0 — 2021-01-25

## README

<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>

---

[![Build Status](https://travis-ci.com/ystarlongzi/fork-join-deep.svg?branch=main)](https://travis-ci.com/ystarlongzi/fork-join-deep)
[![codecov](https://codecov.io/gh/ystarlongzi/fork-join-deep/branch/main/graph/badge.svg?token=Z3JXUC3XLK)](https://codecov.io/gh/ystarlongzi/fork-join-deep)
![npm](https://img.shields.io/npm/v/fork-join-deep)
[![npm](https://img.shields.io/npm/dm/fork-join-deep)](https://www.npmtrends.com/fork-join-deep)
[![MIT license](https://img.shields.io/github/license/ystarlongzi/fork-join-deep)](https://github.com/ystarlongzi/fork-join-deep/blob/main/LICENSE)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)


## Installation
```
npm i --save fork-join-deep
```

## Feature
### 1. Support primitive values. ([codesandbox](https://codesandbox.io/s/fork-join-deep-support-primitive-values-b45lm))
#### ❌ forkJoin
``` javascript
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
``` javascript
forkJoinDeep({
  a: 0,
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // {a: 0}
});
```

### 2. Support nested objects. ([codesandbox](https://codesandbox.io/s/fork-join-deep-support-nested-objects-pf2b7))
#### ❌ forkJoin
``` javascript
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
``` javascript
forkJoinDeep({
  a: {
    a1: of(0),
  },
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // {a: a1: {0}}
});
```


### 3. Support Higher-order Observables. ([codesandbox](https://codesandbox.io/s/fork-join-deep-support-higher-order-observables-td9tn))
#### ❌ forkJoin
``` javascript
forkJoin({
  a: of(of(0)),
}).subscribe((result) => {
  console.log(result);
  // ↓↓↓ output ↓↓↓
  // {a: Observable}
});
```

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

## LICENSE

MIT

---
_Source: https://npm.io/package/fork-join-deep · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
