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.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.8 KiB
						
					
					
				| # true-case-path
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| `trueCasePathSync(<fileSystemPath>)`
 | |
| 
 | |
| ## Description
 | |
| 
 | |
| Given a possibly case-variant version of an existing filesystem path, returns
 | |
| the case-exact, normalized version as stored in the filesystem.
 | |
| 
 | |
| If the input path is a globbing *pattern* as defined by the 'glob' npm
 | |
| package, only the 1st match, if any, is returned.
 | |
| Only a literal input path guarantees an unambiguous result.
 | |
| 
 | |
| If no matching path exists, undefined is returned.
 | |
| On case-SENSITIVE filesystems, a match will also be found, but if case
 | |
| variations of a given path exist, it is undefined which match is returned.
 | |
| 
 | |
| ## Platforms
 | |
| 
 | |
| Windows, OSX, and Linux (though note the limitations with case-insensitive filesystems).
 | |
| 
 | |
| ## Limitations
 | |
| 
 | |
| - Paths starting with `'./'` are acceptable, but paths starting with `'../'`
 | |
|   are not - when in doubt, resolve with `fs.realPathSync()` first.
 | |
|   An initial `'.'` and *interior* `'..'` instances are normalized, but a relative
 | |
|   input path still results in a relative output path. If you want to ensure
 | |
|   an absolute output path, apply `fs.realPathSync()` to the result.
 | |
| - On Windows, no attempt is made to case-correct the drive letter or UNC-share
 | |
|   component of the path.
 | |
| - Unicode support:
 | |
|   - Be sure to use UTF8 source-code files (with a BOM on Windows)
 | |
|   - On OSX, the input path is automatically converted to NFD Unicode form
 | |
|     to match how the filesystem stores names, but note that the result will
 | |
|     invariably be NFD too (which makes no difference for ASCII-characters-only
 | |
|     names).
 | |
| 
 | |
| ## Examples
 | |
| 
 | |
| ```
 | |
| const trueCasePathSync = require('true-case-path')
 | |
| 
 | |
| trueCasePathSync('/users/guest') // OSX: -> '/Users/Guest'
 | |
| 
 | |
| trueCasePathSync('c:\\users\\all users') // Windows: -> 'c:\Users\All Users'
 | |
| ```
 | |
| 
 | |
| ## Attribution
 | |
| 
 | |
| The code for this project was sourced from [http://stackoverflow.com/a/33139702/45375](http://stackoverflow.com/a/33139702/45375)
 |