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