( url, paramString, opt_addToFront )
| 182 | * @return {string} |
| 183 | */ |
| 184 | export function appendEncodedParamStringToUrl( |
| 185 | url, |
| 186 | paramString, |
| 187 | opt_addToFront |
| 188 | ) { |
| 189 | if (!paramString) { |
| 190 | return url; |
| 191 | } |
| 192 | const mainAndFragment = url.split('#', 2); |
| 193 | const mainAndQuery = mainAndFragment[0].split('?', 2); |
| 194 | |
| 195 | let newUrl = |
| 196 | mainAndQuery[0] + |
| 197 | (mainAndQuery[1] |
| 198 | ? opt_addToFront |
| 199 | ? `?${paramString}&${mainAndQuery[1]}` |
| 200 | : `?${mainAndQuery[1]}&${paramString}` |
| 201 | : `?${paramString}`); |
| 202 | newUrl += mainAndFragment[1] ? `#${mainAndFragment[1]}` : ''; |
| 203 | return newUrl; |
| 204 | } |
| 205 | |
| 206 | /** |
| 207 | * @param {string} key |
no outgoing calls
no test coverage detected