Variable: flatMapConcur()
const
flatMapConcur: {<From
,To
>(fn
): (concurIterable
) =>ConcurIterable
<To
>; <From
,To
>(fn
,concurIterable
):ConcurIterable
<To
>; <From
,To
>(fn
): (concurIterable
) =>ConcurIterable
<To
>; <From
,To
>(fn
,concurIterable
):ConcurIterable
<To
>; }
Defined in: transforms.d.ts:281
Returns an concur iterable containing the values of the concur iterables
returned, or resolving from promises returned, from applying fn
to each
value of concurIterable
.
Like Array.prototype.flatMap
, but for concur iterables.
Call Signature
<
From
,To
>(fn
): (concurIterable
) =>ConcurIterable
<To
>
Type Parameters
From
From
To
To
extends [] | unknown
[]
Parameters
fn
(value
) => MaybePromiseLike
<ConcurIterable
<To
> | Iterable
<To
, any
, any
> | AsyncIterable
<To
, any
, any
>>
Returns
(
concurIterable
):ConcurIterable
<To
>
Parameters
concurIterable
ConcurIterable
<From
>
Returns
ConcurIterable
<To
>
Call Signature
<
From
,To
>(fn
,concurIterable
):ConcurIterable
<To
>
Type Parameters
From
From
To
To
extends [] | unknown
[]
Parameters
fn
(value
) => MaybePromiseLike
<ConcurIterable
<To
> | Iterable
<To
, any
, any
> | AsyncIterable
<To
, any
, any
>>
concurIterable
ConcurIterable
<From
>
Returns
ConcurIterable
<To
>
Call Signature
<
From
,To
>(fn
): (concurIterable
) =>ConcurIterable
<To
>
Type Parameters
From
From
To
To
Parameters
fn
(value
) => MaybePromiseLike
<ConcurIterable
<To
> | Iterable
<To
, any
, any
> | AsyncIterable
<To
, any
, any
>>
Returns
(
concurIterable
):ConcurIterable
<To
>
Parameters
concurIterable
ConcurIterable
<From
>
Returns
ConcurIterable
<To
>
Call Signature
<
From
,To
>(fn
,concurIterable
):ConcurIterable
<To
>
Type Parameters
From
From
To
To
Parameters
fn
(value
) => MaybePromiseLike
<ConcurIterable
<To
> | Iterable
<To
, any
, any
> | AsyncIterable
<To
, any
, any
>>
concurIterable
ConcurIterable
<From
>
Returns
ConcurIterable
<To
>
Example
import { asConcur, flatMapConcur, map, pipe, reduceConcur, toArray } from 'lfi'
const API_URL = `https://api.dictionaryapi.dev/api/v2/entries/en`
console.log(
await pipe(
asConcur([`sloth`, `lazy`, `sleep`]),
flatMapConcur(async word => {
const response = await fetch(`${API_URL}/${word}`)
const [{ meanings }] = await response.json()
return map(meaning => meaning.partOfSpeech, meanings)
}),
reduceConcur(toArray()),
),
)
// NOTE: This order may change between runs
//=> [
//=> 'noun',
//=> 'verb',
//=> 'noun',
//=> 'verb',
//=> 'adjective',
//=> 'verb'
//=> ]
Since
v0.0.1