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