Variable: findConcur
const
findConcur:FindConcur
Defined in: filters.d.ts:772
Returns a concur iterable containing the first value of concurIterable
for
which fn
returns a value awaitable to a truthy value. Otherwise, returns an
empty concur iterable.
If a non-empty concur iterable is returned, then the returned concur iterable
does not reject, even if the input concurIterable
does and even if the
found value was emitted after an erroring value.
If an empty concur iterable is returned, then it will reject if the input
concurIterable
does.
Like Array.prototype.find
, but for concur iterables. The error semantics
are similar to Promise.any
.
Example
import { asConcur, findConcur, orConcur, pipe } from 'lfi'
const API_URL = `https://api.dictionaryapi.dev/api/v2/entries/en`
const getPartsOfSpeech = async word => {
const response = await fetch(`${API_URL}/${word}`)
const [{ meanings }] = await response.json()
return meanings.map(meaning => meaning.partOfSpeech)
}
console.log(
await pipe(
asConcur([`sloth`, `lazy`, `sleep`]),
findConcur(async word => (await getPartsOfSpeech(word)).includes(`verb`)),
orConcur(() => `not found!`),
),
)
// NOTE: This word may change between runs
//=> sloth
console.log(
await pipe(
asConcur([`sloth`, `lazy`, `sleep`]),
findConcur(async word => (await getPartsOfSpeech(word)).includes(`adverb`)),
orConcur(() => `not found!`),
),
)
//=> not found!
Since
v0.0.1