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.
		
		
		
		
		
			
		
			
				
					26 lines
				
				517 B
			
		
		
			
		
	
	
					26 lines
				
				517 B
			| 
											3 years ago
										 | 'use strict' | ||
|  | 
 | ||
|  | const path = require('path') | ||
|  | 
 | ||
|  | // get drive on windows
 | ||
|  | function getRootPath (p) { | ||
|  |   p = path.normalize(path.resolve(p)).split(path.sep) | ||
|  |   if (p.length > 0) return p[0] | ||
|  |   return null | ||
|  | } | ||
|  | 
 | ||
|  | // http://stackoverflow.com/a/62888/10333 contains more accurate
 | ||
|  | // TODO: expand to include the rest
 | ||
|  | const INVALID_PATH_CHARS = /[<>:"|?*]/ | ||
|  | 
 | ||
|  | function invalidWin32Path (p) { | ||
|  |   const rp = getRootPath(p) | ||
|  |   p = p.replace(rp, '') | ||
|  |   return INVALID_PATH_CHARS.test(p) | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = { | ||
|  |   getRootPath, | ||
|  |   invalidWin32Path | ||
|  | } |