add-query-parameters.js 497 B

1234567891011121314151617181920212223
  1. module.exports = addQueryParameters
  2. function addQueryParameters (url, parameters) {
  3. const separator = /\?/.test(url) ? '&' : '?'
  4. const names = Object.keys(parameters)
  5. if (names.length === 0) {
  6. return url
  7. }
  8. return url + separator + names
  9. .map(name => {
  10. if (name === 'q') {
  11. return 'q=' + parameters.q.split('+')
  12. .map(encodeURIComponent)
  13. .join('+')
  14. }
  15. return `${name}=${encodeURIComponent(parameters[name])}`
  16. })
  17. .join('&')
  18. }