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.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							817 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							817 B
						
					
					
				| "use strict"; | |
| 
 | |
| module.exports = function (url, options) { | |
|   if (!options) { | |
|     // eslint-disable-next-line no-param-reassign | |
|     options = {}; | |
|   } | |
| 
 | |
|   if (!url) { | |
|     return url; | |
|   } // eslint-disable-next-line no-underscore-dangle, no-param-reassign | |
|  | |
| 
 | |
|   url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them | |
|  | |
|   if (/^['"].*['"]$/.test(url)) { | |
|     // eslint-disable-next-line no-param-reassign | |
|     url = url.slice(1, -1); | |
|   } | |
| 
 | |
|   if (options.hash) { | |
|     // eslint-disable-next-line no-param-reassign | |
|     url += options.hash; | |
|   } // Should url be wrapped? | |
|   // See https://drafts.csswg.org/css-values-3/#urls | |
|  | |
| 
 | |
|   if (/["'() \t\n]|(%20)/.test(url) || options.needQuotes) { | |
|     return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, "\\n"), "\""); | |
|   } | |
| 
 | |
|   return url; | |
| };
 |