p-locate
- Version 7.0.0
- Published
- 8.2 kB
- 1 dependency
- MIT license
Install
npm i p-locateyarn add p-locatepnpm add p-locateOverview
Get the first fulfilled promise that satisfies the provided testing function
Index
Functions
function pLocate
pLocate: { <ValueType>( input: Iterable<PromiseLike<ValueType> | ValueType>, tester: (element: ValueType) => PromiseLike<boolean> | boolean, options?: Options ): Promise<ValueType | undefined>; <ValueType>( input: AsyncIterable<ValueType | PromiseLike<ValueType>>, tester: (element: ValueType) => boolean | PromiseLike<boolean> ): Promise<ValueType>;};Get the first fulfilled promise that satisfies the provided testing function.
Parameter input
An iterable of promises/values to test.
Parameter tester
This function will receive resolved values from
inputand is expected to return aPromise<boolean>orboolean.Returns
A
Promisethat is fulfilled whentesterresolves totrueor the iterable is done, or rejects if any of the promises reject. The fulfilled value is the current iterable value orundefinediftesternever resolved totrue.Example 1
import {pathExists} from 'path-exists';import pLocate from 'p-locate';const files = ['unicorn.png','rainbow.png', // Only this one actually exists on disk'pony.png'];const foundPath = await pLocate(files, file => pathExists(file));console.log(foundPath);//=> 'rainbow.png'Get the first fulfilled promise that satisfies the provided testing function.
This overload accepts an
AsyncIterableas input. Since async iterables are iterated serially, theconcurrencyandpreserveOrderoptions are not applicable.Parameter input
An async iterable of promises/values to test.
Parameter tester
This function will receive resolved values from
inputand is expected to return aPromise<boolean>orboolean.Returns
A
Promisethat is fulfilled whentesterresolves totrueor the iterable is done, or rejects if any of the promises reject. The fulfilled value is the current iterable value orundefinediftesternever resolved totrue.Example 1
import pLocate from 'p-locate';async function * getFiles() {yield 'unicorn.png';yield 'rainbow.png';yield 'pony.png';}const foundPath = await pLocate(getFiles(), file => file === 'rainbow.png');console.log(foundPath);//=> 'rainbow.png'
Type Aliases
type Options
type Options = { /** The number of concurrently pending promises returned by `tester`.
Minimum: `1`
@default Infinity */ readonly concurrency?: number;
/** Preserve `input` order when searching.
Disable this to improve performance if you don't care about the order.
@default true */ readonly preserveOrder?: boolean;};Package Files (1)
Dependencies (1)
Dev Dependencies (6)
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/p-locate.
- Markdown[](https://www.jsdocs.io/package/p-locate)
- HTML<a href="https://www.jsdocs.io/package/p-locate"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 1696 ms. - Missing or incorrect documentation? Open an issue for this package.
