bruno/renderer/utils/url/index.js
2022-09-28 02:25:05 +05:30

39 lines
789 B
JavaScript

import isEmpty from 'lodash/isEmpty';
import trim from 'lodash/trim';
import each from 'lodash/each';
import splitOnFirst from 'split-on-first';
export const parseQueryParams = (query) => {
if(!query || !query.length) {
return [];
}
let params = query.split("&");
let result = [];
for (let i = 0; i < params.length; i++) {
let pair = splitOnFirst(params[i], '=');;
result.push({
name: pair[0],
value: pair[1]
});
}
return result;
};
export const stringifyQueryParams = (params) => {
if(!params || isEmpty(params)) {
return '';
}
let queryString = [];
each(params, (p) => {
if(!isEmpty(trim(p.name)) && !isEmpty(trim(p.value))) {
queryString.push(`${p.name}=${p.value}`);
}
});
return queryString.join('&');
};