You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					25 lines
				
				539 B
			
		
		
			
		
	
	
					25 lines
				
				539 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | const path = require('path'); | ||
|  | const pathExists = require('path-exists'); | ||
|  | const pLocate = require('p-locate'); | ||
|  | 
 | ||
|  | module.exports = (iterable, options) => { | ||
|  | 	options = Object.assign({ | ||
|  | 		cwd: process.cwd() | ||
|  | 	}, options); | ||
|  | 
 | ||
|  | 	return pLocate(iterable, el => pathExists(path.resolve(options.cwd, el)), options); | ||
|  | }; | ||
|  | 
 | ||
|  | module.exports.sync = (iterable, options) => { | ||
|  | 	options = Object.assign({ | ||
|  | 		cwd: process.cwd() | ||
|  | 	}, options); | ||
|  | 
 | ||
|  | 	for (const el of iterable) { | ||
|  | 		if (pathExists.sync(path.resolve(options.cwd, el))) { | ||
|  | 			return el; | ||
|  | 		} | ||
|  | 	} | ||
|  | }; |