it-parallel
Advanced tools
Comparing version 3.0.5 to 3.0.6
@@ -0,1 +1,72 @@ | ||
/** | ||
* @packageDocumentation | ||
* | ||
* Takes an (async) iterable that emits promise-returning functions, invokes them in parallel up to the concurrency limit and emits the results as they become available, optionally in the same order as the input | ||
* | ||
* @example | ||
* | ||
* ```javascript | ||
* import parallel from 'it-parallel' | ||
* import all from 'it-all' | ||
* import delay from 'delay' | ||
* | ||
* // This can also be an iterator, async iterator, generator, etc | ||
* const input = [ | ||
* async () => { | ||
* console.info('start 1') | ||
* await delay(500) | ||
* | ||
* console.info('end 1') | ||
* return 1 | ||
* }, | ||
* async () => { | ||
* console.info('start 2') | ||
* await delay(200) | ||
* | ||
* console.info('end 2') | ||
* return 2 | ||
* }, | ||
* async () => { | ||
* console.info('start 3') | ||
* await delay(100) | ||
* | ||
* console.info('end 3') | ||
* return 3 | ||
* } | ||
* ] | ||
* | ||
* const result = await all(parallel(input, { | ||
* concurrency: 2 | ||
* })) | ||
* | ||
* // output: | ||
* // start 1 | ||
* // start 2 | ||
* // end 2 | ||
* // start 3 | ||
* // end 3 | ||
* // end 1 | ||
* | ||
* console.info(result) // [2, 3, 1] | ||
* ``` | ||
* | ||
* If order is important, pass `ordered: true` as an option: | ||
* | ||
* ```javascript | ||
* const result = await all(parallel(input, { | ||
* concurrency: 2, | ||
* ordered: true | ||
* })) | ||
* | ||
* // output: | ||
* // start 1 | ||
* // start 2 | ||
* // end 2 | ||
* // start 3 | ||
* // end 3 | ||
* // end 1 | ||
* | ||
* console.info(result) // [1, 2, 3] | ||
* ``` | ||
*/ | ||
export interface ParallelOptions { | ||
@@ -2,0 +73,0 @@ /** |
@@ -1,2 +0,72 @@ | ||
/* global EventTarget Event */ | ||
/** | ||
* @packageDocumentation | ||
* | ||
* Takes an (async) iterable that emits promise-returning functions, invokes them in parallel up to the concurrency limit and emits the results as they become available, optionally in the same order as the input | ||
* | ||
* @example | ||
* | ||
* ```javascript | ||
* import parallel from 'it-parallel' | ||
* import all from 'it-all' | ||
* import delay from 'delay' | ||
* | ||
* // This can also be an iterator, async iterator, generator, etc | ||
* const input = [ | ||
* async () => { | ||
* console.info('start 1') | ||
* await delay(500) | ||
* | ||
* console.info('end 1') | ||
* return 1 | ||
* }, | ||
* async () => { | ||
* console.info('start 2') | ||
* await delay(200) | ||
* | ||
* console.info('end 2') | ||
* return 2 | ||
* }, | ||
* async () => { | ||
* console.info('start 3') | ||
* await delay(100) | ||
* | ||
* console.info('end 3') | ||
* return 3 | ||
* } | ||
* ] | ||
* | ||
* const result = await all(parallel(input, { | ||
* concurrency: 2 | ||
* })) | ||
* | ||
* // output: | ||
* // start 1 | ||
* // start 2 | ||
* // end 2 | ||
* // start 3 | ||
* // end 3 | ||
* // end 1 | ||
* | ||
* console.info(result) // [2, 3, 1] | ||
* ``` | ||
* | ||
* If order is important, pass `ordered: true` as an option: | ||
* | ||
* ```javascript | ||
* const result = await all(parallel(input, { | ||
* concurrency: 2, | ||
* ordered: true | ||
* })) | ||
* | ||
* // output: | ||
* // start 1 | ||
* // start 2 | ||
* // end 2 | ||
* // start 3 | ||
* // end 3 | ||
* // end 1 | ||
* | ||
* console.info(result) // [1, 2, 3] | ||
* ``` | ||
*/ | ||
import defer from 'p-defer'; | ||
@@ -3,0 +73,0 @@ const CustomEvent = globalThis.CustomEvent ?? Event; |
{ | ||
"name": "it-parallel", | ||
"version": "3.0.5", | ||
"description": "Takes an (async) iterable that emits promise-returning functions, invokes them in parallel up to the concurrency limit and emits the results as they become available, optionally in the same order as the input", | ||
"version": "3.0.6", | ||
"description": "Process incoming async(iterable) functions in parallel", | ||
"author": "Alex Potsides <alex@achingbrain.net>", | ||
@@ -32,2 +32,3 @@ "license": "Apache-2.0 OR MIT", | ||
"parserOptions": { | ||
"project": true, | ||
"sourceType": "module" | ||
@@ -138,3 +139,3 @@ } | ||
"devDependencies": { | ||
"aegir": "^40.0.11", | ||
"aegir": "^41.1.9", | ||
"delay": "^6.0.0", | ||
@@ -141,0 +142,0 @@ "it-all": "^3.0.0" |
@@ -1,32 +0,12 @@ | ||
# it-parallel <!-- omit in toc --> | ||
[![codecov](https://img.shields.io/codecov/c/github/achingbrain/it.svg?style=flat-square)](https://codecov.io/gh/achingbrain/it) | ||
[![CI](https://img.shields.io/github/actions/workflow/status/achingbrain/it/js-test-and-release.yml?branch=master\&style=flat-square)](https://github.com/achingbrain/it/actions/workflows/js-test-and-release.yml?query=branch%3Amaster) | ||
> Takes an (async) iterable that emits promise-returning functions, invokes them in parallel up to the concurrency limit and emits the results as they become available, optionally in the same order as the input | ||
> Process incoming async(iterable) functions in parallel | ||
## Table of contents <!-- omit in toc --> | ||
# About | ||
- [Install](#install) | ||
- [Browser `<script>` tag](#browser-script-tag) | ||
- [Usage](#usage) | ||
- [License](#license) | ||
- [Contribution](#contribution) | ||
Takes an (async) iterable that emits promise-returning functions, invokes them in parallel up to the concurrency limit and emits the results as they become available, optionally in the same order as the input | ||
## Install | ||
## Example | ||
```console | ||
$ npm i it-parallel | ||
``` | ||
### Browser `<script>` tag | ||
Loading this module through a script tag will make it's exports available as `ItParallel` in the global namespace. | ||
```html | ||
<script src="https://unpkg.com/it-parallel/dist/index.min.js"></script> | ||
``` | ||
## Usage | ||
```javascript | ||
@@ -96,4 +76,18 @@ import parallel from 'it-parallel' | ||
## License | ||
# Install | ||
```console | ||
$ npm i it-parallel | ||
``` | ||
## Browser `<script>` tag | ||
Loading this module through a script tag will make it's exports available as `ItParallel` in the global namespace. | ||
```html | ||
<script src="https://unpkg.com/it-parallel/dist/index.min.js"></script> | ||
``` | ||
# License | ||
Licensed under either of | ||
@@ -104,4 +98,4 @@ | ||
## Contribution | ||
# Contribution | ||
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. |
@@ -1,2 +0,72 @@ | ||
/* global EventTarget Event */ | ||
/** | ||
* @packageDocumentation | ||
* | ||
* Takes an (async) iterable that emits promise-returning functions, invokes them in parallel up to the concurrency limit and emits the results as they become available, optionally in the same order as the input | ||
* | ||
* @example | ||
* | ||
* ```javascript | ||
* import parallel from 'it-parallel' | ||
* import all from 'it-all' | ||
* import delay from 'delay' | ||
* | ||
* // This can also be an iterator, async iterator, generator, etc | ||
* const input = [ | ||
* async () => { | ||
* console.info('start 1') | ||
* await delay(500) | ||
* | ||
* console.info('end 1') | ||
* return 1 | ||
* }, | ||
* async () => { | ||
* console.info('start 2') | ||
* await delay(200) | ||
* | ||
* console.info('end 2') | ||
* return 2 | ||
* }, | ||
* async () => { | ||
* console.info('start 3') | ||
* await delay(100) | ||
* | ||
* console.info('end 3') | ||
* return 3 | ||
* } | ||
* ] | ||
* | ||
* const result = await all(parallel(input, { | ||
* concurrency: 2 | ||
* })) | ||
* | ||
* // output: | ||
* // start 1 | ||
* // start 2 | ||
* // end 2 | ||
* // start 3 | ||
* // end 3 | ||
* // end 1 | ||
* | ||
* console.info(result) // [2, 3, 1] | ||
* ``` | ||
* | ||
* If order is important, pass `ordered: true` as an option: | ||
* | ||
* ```javascript | ||
* const result = await all(parallel(input, { | ||
* concurrency: 2, | ||
* ordered: true | ||
* })) | ||
* | ||
* // output: | ||
* // start 1 | ||
* // start 2 | ||
* // end 2 | ||
* // start 3 | ||
* // end 3 | ||
* // end 1 | ||
* | ||
* console.info(result) // [1, 2, 3] | ||
* ``` | ||
*/ | ||
@@ -3,0 +73,0 @@ import defer from 'p-defer' |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
24115
488
100