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