falcor-http-datasource
Version:
This package contains falcor components for use in browsers.
28 lines (23 loc) • 686 B
JavaScript
;
module.exports = function buildQueryObject(url, method, queryData) {
var qData = [];
var keys;
var data = {url: url};
var isQueryParamUrl = url.indexOf('?') !== -1;
var startUrl = (isQueryParamUrl) ? '&' : '?';
if (typeof queryData === 'string') {
qData.push(queryData);
} else {
keys = Object.keys(queryData);
keys.forEach(function (k) {
var value = (typeof queryData[k] === 'object') ? JSON.stringify(queryData[k]) : queryData[k];
qData.push(k + '=' + encodeURIComponent(value));
});
}
if (method === 'GET') {
data.url += startUrl + qData.join('&');
} else {
data.data = qData.join('&');
}
return data;
};