feishin/src/renderer/utils/parse-search-params.ts

18 lines
536 B
TypeScript
Raw Normal View History

2022-12-26 05:15:19 -08:00
import isUndefined from 'lodash/isUndefined';
import omitBy from 'lodash/omitBy';
2022-12-19 15:59:14 -08:00
export const parseSearchParams = (searchParams: Record<any, any>) => {
2022-12-26 05:15:19 -08:00
const params = new URLSearchParams();
const paramsWithoutUndefined = omitBy(searchParams, isUndefined);
Object.entries(paramsWithoutUndefined).forEach(([key, value]) => {
if (!Array.isArray(value)) {
params.append(key, value.toString());
} else {
value.forEach((value) => params.append(key, value.toString()));
}
});
return params.toString();
2022-12-19 15:59:14 -08:00
};