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.
		
		
		
		
			
				
					50 lines
				
				576 B
			
		
		
			
		
	
	
					50 lines
				
				576 B
			| 
								 
											4 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function joinPath(pathArray)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if (pathArray.length > 0)
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										return pathArray.join("/") + "/";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									else
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										return "";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function resolveDotSegments(pathArray)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									var pathAbsolute = [];
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									pathArray.forEach( function(dir)
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										if (dir !== "..")
							 | 
						||
| 
								 | 
							
										{
							 | 
						||
| 
								 | 
							
											if (dir !== ".")
							 | 
						||
| 
								 | 
							
											{
							 | 
						||
| 
								 | 
							
												pathAbsolute.push(dir);
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else
							 | 
						||
| 
								 | 
							
										{
							 | 
						||
| 
								 | 
							
											// Remove parent
							 | 
						||
| 
								 | 
							
											if (pathAbsolute.length > 0)
							 | 
						||
| 
								 | 
							
											{
							 | 
						||
| 
								 | 
							
												pathAbsolute.splice(pathAbsolute.length-1, 1);
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									});
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									return pathAbsolute;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports =
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									join: joinPath,
							 | 
						||
| 
								 | 
							
									resolveDotSegments: resolveDotSegments
							 | 
						||
| 
								 | 
							
								};
							 |