in src/utils/urls.js [35:63]
export function stripDefaultValues(params, defaults) {
return Object.keys(params)
.filter((k) => {
// If it's empty or undefined, remove it.
if (!params[k]) return false;
if (Object.keys(defaults).includes(k)) {
// If this param has a default value defined.
if (defaults[k].isMulti) {
// If it has multiple values, use JSON.stringify for an easy
// equality check since these are arrays.
return (
JSON.stringify(params[k]) !==
JSON.stringify(defaults[k].defaultValue)
);
}
// It's not `isMulti`, so just compare value to value.
return params[k] !== defaults[k].defaultValue;
}
// If no default defined, return true to include it in the URL.
return true;
})
.reduce(
(obj, k) => ({
...obj,
[k]: params[k],
}),
{}
);
}