84 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			84 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | declare namespace locatePath { | ||
|  | 	interface Options { | ||
|  | 		/** | ||
|  | 		Current working directory. | ||
|  | 
 | ||
|  | 		@default process.cwd() | ||
|  | 		*/ | ||
|  | 		readonly cwd?: string; | ||
|  | 
 | ||
|  | 		/** | ||
|  | 		Type of path to match. | ||
|  | 
 | ||
|  | 		@default 'file' | ||
|  | 		*/ | ||
|  | 		readonly type?: 'file' | 'directory'; | ||
|  | 
 | ||
|  | 		/** | ||
|  | 		Allow symbolic links to match if they point to the requested path type. | ||
|  | 
 | ||
|  | 		@default true | ||
|  | 		*/ | ||
|  | 		readonly allowSymlinks?: boolean; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	interface AsyncOptions extends Options { | ||
|  | 		/** | ||
|  | 		Number of concurrently pending promises. Minimum: `1`. | ||
|  | 
 | ||
|  | 		@default Infinity | ||
|  | 		*/ | ||
|  | 		readonly concurrency?: number; | ||
|  | 
 | ||
|  | 		/** | ||
|  | 		Preserve `paths` order when searching. | ||
|  | 
 | ||
|  | 		Disable this to improve performance if you don't care about the order. | ||
|  | 
 | ||
|  | 		@default true | ||
|  | 		*/ | ||
|  | 		readonly preserveOrder?: boolean; | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | declare const locatePath: { | ||
|  | 	/** | ||
|  | 	Get the first path that exists on disk of multiple paths. | ||
|  | 
 | ||
|  | 	@param paths - Paths to check. | ||
|  | 	@returns The first path that exists or `undefined` if none exists. | ||
|  | 
 | ||
|  | 	@example | ||
|  | 	```
 | ||
|  | 	import 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'
 | ||
|  | 	})(); | ||
|  | 	```
 | ||
|  | 	*/ | ||
|  | 	(paths: Iterable<string>, options?: locatePath.AsyncOptions): Promise< | ||
|  | 		string | undefined | ||
|  | 	>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	Synchronously get the first path that exists on disk of multiple paths. | ||
|  | 
 | ||
|  | 	@param paths - Paths to check. | ||
|  | 	@returns The first path that exists or `undefined` if none exists. | ||
|  | 	*/ | ||
|  | 	sync( | ||
|  | 		paths: Iterable<string>, | ||
|  | 		options?: locatePath.Options | ||
|  | 	): string | undefined; | ||
|  | }; | ||
|  | 
 | ||
|  | export = locatePath; |