33 lines
743 B
JavaScript
Raw Normal View History

2019-07-09 18:11:09 +02:00
/**
* Generate filters object from string
* @param {String} search
* @return {Object}
*/
const generateFiltersFromSearch = search => {
return search
.split('&')
.filter(
x =>
!x.includes('_limit') &&
!x.includes('_page') &&
!x.includes('_sort') &&
!x.includes('source') &&
!x.includes('_q=')
)
.reduce((acc, current) => {
const [name, value] = current.split('=');
acc[name] = value;
return acc;
}, {});
};
const generateSearchFromFilters = filters => {
return Object.keys(filters)
2019-07-10 08:43:40 +02:00
.filter(key => filters[key] !== '')
2019-07-09 18:11:09 +02:00
.map(key => `${key}=${filters[key]}`)
.join('&');
};
export { generateFiltersFromSearch, generateSearchFromFilters };