22 lines
		
	
	
		
			622 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			622 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| export function addQueryParameters(url, parameters) {
 | |
|     const separator = /\?/.test(url) ? "&" : "?";
 | |
|     const names = Object.keys(parameters);
 | |
|     if (names.length === 0) {
 | |
|         return url;
 | |
|     }
 | |
|     return (url +
 | |
|         separator +
 | |
|         names
 | |
|             .map(name => {
 | |
|             if (name === "q") {
 | |
|                 return ("q=" +
 | |
|                     parameters
 | |
|                         .q.split("+")
 | |
|                         .map(encodeURIComponent)
 | |
|                         .join("+"));
 | |
|             }
 | |
|             return `${name}=${encodeURIComponent(parameters[name])}`;
 | |
|         })
 | |
|             .join("&"));
 | |
| }
 |