14 lines
		
	
	
		
			394 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			394 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| // warning: extremely hot code path.
 | |
| // This has been meticulously optimized for use
 | |
| // within npm install on large package trees.
 | |
| // Do not edit without careful benchmarking.
 | |
| module.exports = str => {
 | |
|   let i = str.length - 1
 | |
|   let slashesStart = -1
 | |
|   while (i > -1 && str.charAt(i) === '/') {
 | |
|     slashesStart = i
 | |
|     i--
 | |
|   }
 | |
|   return slashesStart === -1 ? str : str.slice(0, slashesStart)
 | |
| }
 |