20 lines
		
	
	
	
		
			847 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
	
		
			847 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Un-escape a string that has been escaped with {@link escape}.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * If the {@link windowsPathsNoEscape} option is used, then square-brace
							 | 
						||
| 
								 | 
							
								 * escapes are removed, but not backslash escapes.  For example, it will turn
							 | 
						||
| 
								 | 
							
								 * the string `'[*]'` into `*`, but it will not turn `'\\*'` into `'*'`,
							 | 
						||
| 
								 | 
							
								 * becuase `\` is a path separator in `windowsPathsNoEscape` mode.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * When `windowsPathsNoEscape` is not set, then both brace escapes and
							 | 
						||
| 
								 | 
							
								 * backslash escapes are removed.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped
							 | 
						||
| 
								 | 
							
								 * or unescaped.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {
							 | 
						||
| 
								 | 
							
								    return windowsPathsNoEscape
							 | 
						||
| 
								 | 
							
								        ? s.replace(/\[([^\/\\])\]/g, '$1')
							 | 
						||
| 
								 | 
							
								        : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1');
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=unescape.js.map
							 |