Sha256: 7a57601cd8c75dce5ad70b1ebe9844f77e46506c825ece66c208c34b3eee577d

Contents?: true

Size: 1.51 KB

Versions: 77

Compression:

Stored size: 1.51 KB

Contents

# locate-path [![Build Status](https://travis-ci.org/sindresorhus/locate-path.svg?branch=master)](https://travis-ci.org/sindresorhus/locate-path)

> Get the first path that exists on disk of multiple paths


## Install

```
$ npm install --save locate-path
```


## Usage

Here we find the first file that exists on disk, in array order.

```js
const locatePath = require('locate-path');

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

locatePath(files).then(foundPath => {
	console.log(foundPath);
	//=> 'rainbow'
});
```


## API

### locatePath(input, [options])

Returns a `Promise` for the first path that exists or `undefined` if none exists.

#### input

Type: `Iterable<string>`

Paths to check.

#### options

Type: `Object`

##### concurrency

Type: `number`<br>
Default: `Infinity`<br>
Minimum: `1`

Number of concurrently pending promises.

##### preserveOrder

Type: `boolean`<br>
Default: `true`

Preserve `input` order when searching.

Disable this to improve performance if you don't care about the order.

##### cwd

Type: `string`<br>
Default: `process.cwd()`

Current working directory.

### locatePath.sync(input, [options])

Returns the first path that exists or `undefined` if none exists.

#### input

Type: `Iterable<string>`

Paths to check.

#### options

Type: `Object`

##### cwd

Same as above.


## Related

- [path-exists](https://github.com/sindresorhus/path-exists) - Check if a path exists


## License

MIT © [Sindre Sorhus](https://sindresorhus.com)

Version data entries

77 entries across 77 versions & 9 rubygems

Version Path
trusty-cms-4.1.7 node_modules/pkg-up/node_modules/locate-path/readme.md
trusty-cms-4.1.6 node_modules/pkg-up/node_modules/locate-path/readme.md
trusty-cms-4.1.5 node_modules/pkg-up/node_modules/locate-path/readme.md
condenser-0.3 lib/condenser/processors/node_modules/locate-path/readme.md
ilog-0.4.1 node_modules/locate-path/readme.md
ilog-0.4.0 node_modules/locate-path/readme.md
ilog-0.3.3 node_modules/locate-path/readme.md
govuk_publishing_components-18.0.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.21.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.20.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.19.1 node_modules/locate-path/readme.md
govuk_publishing_components-17.19.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.18.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.17.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.16.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.15.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.14.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.13.0 node_modules/locate-path/readme.md
govuk_publishing_components-17.12.2 node_modules/locate-path/readme.md
govuk_publishing_components-17.12.1 node_modules/locate-path/readme.md