1declare namespace locatePath { 2 interface Options { 3 /** 4 Current working directory. 5 6 @default process.cwd() 7 */ 8 readonly cwd?: string; 9 10 /** 11 Type of path to match. 12 13 @default 'file' 14 */ 15 readonly type?: 'file' | 'directory'; 16 17 /** 18 Allow symbolic links to match if they point to the requested path type. 19 20 @default true 21 */ 22 readonly allowSymlinks?: boolean; 23 } 24 25 interface AsyncOptions extends Options { 26 /** 27 Number of concurrently pending promises. Minimum: `1`. 28 29 @default Infinity 30 */ 31 readonly concurrency?: number; 32 33 /** 34 Preserve `paths` order when searching. 35 36 Disable this to improve performance if you don't care about the order. 37 38 @default true 39 */ 40 readonly preserveOrder?: boolean; 41 } 42} 43 44declare const locatePath: { 45 /** 46 Get the first path that exists on disk of multiple paths. 47 48 @param paths - Paths to check. 49 @returns The first path that exists or `undefined` if none exists. 50 51 @example 52 ``` 53 import locatePath = require('locate-path'); 54 55 const files = [ 56 'unicorn.png', 57 'rainbow.png', // Only this one actually exists on disk 58 'pony.png' 59 ]; 60 61 (async () => { 62 console(await locatePath(files)); 63 //=> 'rainbow' 64 })(); 65 ``` 66 */ 67 (paths: Iterable<string>, options?: locatePath.AsyncOptions): Promise< 68 string | undefined 69 >; 70 71 /** 72 Synchronously get the first path that exists on disk of multiple paths. 73 74 @param paths - Paths to check. 75 @returns The first path that exists or `undefined` if none exists. 76 */ 77 sync( 78 paths: Iterable<string>, 79 options?: locatePath.Options 80 ): string | undefined; 81}; 82 83export = locatePath; 84