From 2466480348d0603e9086e5cec2ec287d6f5fb498 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Tue, 20 Aug 2024 19:18:36 +0200 Subject: [PATCH] Lint --- src/asyncFilterObject.mjs | 5 +++++ src/asyncFindKey.mjs | 8 ++++++++ src/asyncForEachObject.mjs | 6 ++++++ src/asyncGroupBy.mjs | 22 +++++++++++++--------- src/asyncReduceRight.mjs | 2 +- src/generatorEntries.mjs | 2 ++ 6 files changed, 35 insertions(+), 10 deletions(-) diff --git a/src/asyncFilterObject.mjs b/src/asyncFilterObject.mjs index a6e500c..4a6bb8a 100644 --- a/src/asyncFilterObject.mjs +++ b/src/asyncFilterObject.mjs @@ -5,6 +5,11 @@ import asyncGeneratorFilter from './asyncGeneratorFilter.mjs' import generatorEntries from './generatorEntries.mjs' import asyncWrap from './asyncWrap.mjs' +/** + * @param obj + * @param iteratee + * @param queueOrConcurrency + */ async function asyncFilterObject (obj, iteratee, queueOrConcurrency = 1) { iteratee = asyncWrap(iteratee) return await asyncFromEntries(asyncGeneratorFilter(generatorEntries(obj), async ([k, v]) => { diff --git a/src/asyncFindKey.mjs b/src/asyncFindKey.mjs index cf24671..f7bb453 100644 --- a/src/asyncFindKey.mjs +++ b/src/asyncFindKey.mjs @@ -1,10 +1,18 @@ import asyncFindInternal from './asyncFindInternal.mjs' import generatorEntries from './generatorEntries.mjs' +import asyncWrap from './asyncWrap.mjs' import Queue from './Queue.mjs' +/** + * @param obj + * @param iteratee + * @param queueOrConcurrency + * @param ordered + */ async function asyncFindKey (obj, iteratee, queueOrConcurrency = 1, ordered = false) { iteratee = asyncWrap(iteratee) + // eslint-disable-next-line no-unused-vars const [k, _] = (await asyncFindInternal(generatorEntries(obj), async ([k, v]) => { return await iteratee(v, k, obj) }, queueOrConcurrency, ordered))[1] diff --git a/src/asyncForEachObject.mjs b/src/asyncForEachObject.mjs index d954eb8..0046e50 100644 --- a/src/asyncForEachObject.mjs +++ b/src/asyncForEachObject.mjs @@ -2,7 +2,13 @@ import asyncGeneratorMap from './asyncGeneratorMap.mjs' import generatorEntries from './generatorEntries.mjs' import Queue from './Queue.mjs' +import asyncWrap from './asyncWrap.mjs' +/** + * @param obj + * @param iteratee + * @param queueOrConcurrency + */ async function asyncForEachObject (obj, iteratee, queueOrConcurrency = 1) { iteratee = asyncWrap(iteratee) // eslint-disable-next-line no-unused-vars diff --git a/src/asyncGroupBy.mjs b/src/asyncGroupBy.mjs index c69b3fa..a374308 100644 --- a/src/asyncGroupBy.mjs +++ b/src/asyncGroupBy.mjs @@ -3,20 +3,24 @@ import asyncGeneratorMap from './asyncGeneratorMap.mjs' import asyncWrap from './asyncWrap.mjs' import Queue from './Queue.mjs' +/** + * @param iterable + * @param iteratee + * @param queueOrConcurrency + */ async function asyncGroupBy (iterable, iteratee, queueOrConcurrency = 1) { - interatee = asyncWrap(iteratee) + iteratee = asyncWrap(iteratee) const groups = {} - for await (const [group, value] of asyncGeneratorMap(iterable, async (v, i, it) => - { - const group = await iteratee(v, i, it) - return [group, v] - }, queueOrConcurrency)) - { - if (!(group in groups)) - { + for await (const [group, value] of asyncGeneratorMap(iterable, async (v, i, it) => { + const group = await iteratee(v, i, it) + return [group, v] + }, queueOrConcurrency)) { + if (!(group in groups)) { groups[group] = [] } groups[group].push(value) } return groups } + +export default asyncGroupBy diff --git a/src/asyncReduceRight.mjs b/src/asyncReduceRight.mjs index 7493e6f..3fd516b 100644 --- a/src/asyncReduceRight.mjs +++ b/src/asyncReduceRight.mjs @@ -6,7 +6,7 @@ import asyncIterableToArray from './asyncIterableToArray.mjs' /** * Performs a reduce operation as defined in the `Array.reduceRight()` method but using an asynchronous * function as reducer. The reducer will be called sequentially. - * + * * Please note that this function exists only to provide compatibility with standard `Array.reduceRight()`. * Internally it only reads all values from the given iterator, store them all in an array, revert that array * and performs a common {@link asyncReduce} call. (Functions iterating on arrays from right to left do not diff --git a/src/generatorEntries.mjs b/src/generatorEntries.mjs index 1920f63..1fde1ea 100644 --- a/src/generatorEntries.mjs +++ b/src/generatorEntries.mjs @@ -1,4 +1,6 @@ +import assert from 'nanoassert' + /** * An alternative to standard `Object.entries()` function, but returning an iterable * returning each key-value pair in the object.