all files / couch/util/ compose-url.js

100% Statements 14/14
100% Branches 6/6
100% Functions 0/0
100% Lines 14/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30            273× 220×   53× 53× 290× 290× 127×     53×       273× 273× 43×   230×      
import Ember from 'ember';
 
const {
  isNone,
  A
} = Ember;
 
const objectToQueryString = obj => {
  if(!obj) {
    return;
  }
  let pairs = A();
  for(let key in obj) {
    let value = obj[key];
    if(!isNone(value)) {
      pairs.push([key, encodeURIComponent(value)].join('='));
    }
  }
  return pairs.join('&');
};
 
export default (url, qs) => {
  qs = objectToQueryString(qs);
  if(qs) {
    return `${url}?${qs}`;
  }
  return url;
};