123 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # locate-path [](https://travis-ci.org/sindresorhus/locate-path)
 | |
| 
 | |
| > Get the first path that exists on disk of multiple paths
 | |
| 
 | |
| 
 | |
| ## Install
 | |
| 
 | |
| ```
 | |
| $ npm install 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'
 | |
| ];
 | |
| 
 | |
| (async () => {
 | |
| 	console(await locatePath(files));
 | |
| 	//=> 'rainbow'
 | |
| })();
 | |
| ```
 | |
| 
 | |
| 
 | |
| ## API
 | |
| 
 | |
| ### locatePath(paths, [options])
 | |
| 
 | |
| Returns a `Promise<string>` for the first path that exists or `undefined` if none exists.
 | |
| 
 | |
| #### paths
 | |
| 
 | |
| 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 `paths` 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.
 | |
| 
 | |
| ##### type
 | |
| 
 | |
| Type: `string`<br>
 | |
| Default: `file`<br>
 | |
| Values: `file` `directory`
 | |
| 
 | |
| The type of paths that can match.
 | |
| 
 | |
| ##### allowSymlinks
 | |
| 
 | |
| Type: `boolean`<br>
 | |
| Default: `true`
 | |
| 
 | |
| Allow symbolic links to match if they point to the chosen path type.
 | |
| 
 | |
| ### locatePath.sync(paths, [options])
 | |
| 
 | |
| Returns the first path that exists or `undefined` if none exists.
 | |
| 
 | |
| #### paths
 | |
| 
 | |
| Type: `Iterable<string>`
 | |
| 
 | |
| Paths to check.
 | |
| 
 | |
| #### options
 | |
| 
 | |
| Type: `Object`
 | |
| 
 | |
| ##### cwd
 | |
| 
 | |
| Same as above.
 | |
| 
 | |
| ##### type
 | |
| 
 | |
| Same as above.
 | |
| 
 | |
| ##### allowSymlinks
 | |
| 
 | |
| Same as above.
 | |
| 
 | |
| 
 | |
| ## Related
 | |
| 
 | |
| - [path-exists](https://github.com/sindresorhus/path-exists) - Check if a path exists
 | |
| 
 | |
| 
 | |
| ## License
 | |
| 
 | |
| MIT © [Sindre Sorhus](https://sindresorhus.com)
 |