summaryrefslogtreecommitdiffstats
path: root/node_modules/p-map/index.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-18 23:26:45 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-18 23:26:45 +0100
commit81ddf9b700bc48a1f8e472209f080f9c1d9a9b09 (patch)
tree8b959d50c5a614cbf9fcb346ed556140374d4b6d /node_modules/p-map/index.js
parent1870f3fdf43707a15fda0f609a021f516f45eb63 (diff)
downloadwebsite_creator-81ddf9b700bc48a1f8e472209f080f9c1d9a9b09.tar.gz
website_creator-81ddf9b700bc48a1f8e472209f080f9c1d9a9b09.tar.bz2
website_creator-81ddf9b700bc48a1f8e472209f080f9c1d9a9b09.zip
rm node_modules
Diffstat (limited to 'node_modules/p-map/index.js')
-rw-r--r--node_modules/p-map/index.js81
1 files changed, 0 insertions, 81 deletions
diff --git a/node_modules/p-map/index.js b/node_modules/p-map/index.js
deleted file mode 100644
index c11a285..0000000
--- a/node_modules/p-map/index.js
+++ /dev/null
@@ -1,81 +0,0 @@
-'use strict';
-const AggregateError = require('aggregate-error');
-
-module.exports = async (
- iterable,
- mapper,
- {
- concurrency = Infinity,
- stopOnError = true
- } = {}
-) => {
- return new Promise((resolve, reject) => {
- if (typeof mapper !== 'function') {
- throw new TypeError('Mapper function is required');
- }
-
- if (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) {
- throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`);
- }
-
- const result = [];
- const errors = [];
- const iterator = iterable[Symbol.iterator]();
- let isRejected = false;
- let isIterableDone = false;
- let resolvingCount = 0;
- let currentIndex = 0;
-
- const next = () => {
- if (isRejected) {
- return;
- }
-
- const nextItem = iterator.next();
- const index = currentIndex;
- currentIndex++;
-
- if (nextItem.done) {
- isIterableDone = true;
-
- if (resolvingCount === 0) {
- if (!stopOnError && errors.length !== 0) {
- reject(new AggregateError(errors));
- } else {
- resolve(result);
- }
- }
-
- return;
- }
-
- resolvingCount++;
-
- (async () => {
- try {
- const element = await nextItem.value;
- result[index] = await mapper(element, index);
- resolvingCount--;
- next();
- } catch (error) {
- if (stopOnError) {
- isRejected = true;
- reject(error);
- } else {
- errors.push(error);
- resolvingCount--;
- next();
- }
- }
- })();
- };
-
- for (let i = 0; i < concurrency; i++) {
- next();
-
- if (isIterableDone) {
- break;
- }
- }
- });
-};