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
						
					
					
				'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;
 | 
						|
		}
 | 
						|
	}
 | 
						|
};
 |