Sha256: 093a64b9e65ad2b28fa2a5d2e7cab81851e3dc1d7f3c193e35f7eda124223cf1

Contents?: true

Size: 1.43 KB

Versions: 54

Compression:

Stored size: 1.43 KB

Contents

declare namespace pLocate {
	interface Options {
		/**
		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;
	}
}

/**
Get the first fulfilled promise that satisfies the provided testing function.

@param input - An iterable of promises/values to test.
@param tester - This function will receive resolved values from `input` and is expected to return a `Promise<boolean>` or `boolean`.
@returns A `Promise` that is fulfilled when `tester` resolves to `true` or the iterable is done, or rejects if any of the promises reject. The fulfilled value is the current iterable value or `undefined` if `tester` never resolved to `true`.

@example
```
import pathExists = require('path-exists');
import pLocate = require('p-locate');

const files = [
	'unicorn.png',
	'rainbow.png', // Only this one actually exists on disk
	'pony.png'
];

(async () => {
	const foundPath = await pLocate(files, file => pathExists(file));

	console.log(foundPath);
	//=> 'rainbow'
})();
```
*/
declare function pLocate<ValueType>(
	input: Iterable<PromiseLike<ValueType> | ValueType>,
	tester: (element: ValueType) => PromiseLike<boolean> | boolean,
	options?: pLocate.Options
): Promise<ValueType | undefined>;

export = pLocate;

Version data entries

54 entries across 54 versions & 3 rubygems

Version Path
immosquare-cleaner-0.1.62 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.61 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.60 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.59 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.58 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.57 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.56 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.55 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.54 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.53 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.52 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.51 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.50 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.49 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.48 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.47 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.46 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.45 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.44 node_modules/p-locate/index.d.ts
immosquare-cleaner-0.1.43 node_modules/p-locate/index.d.ts