sendou.ink/lib/setSearchParams.ts
2021-01-08 15:26:08 +02:00

19 lines
449 B
TypeScript

export const setSearchParams = (key: string, value: string | undefined) => {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
if (!value) {
params.delete(key);
} else {
params.set(key, value); // encodeURIComponent(value)
}
history.replaceState(
{},
"",
`${window.location.pathname}${
Array.from(params.entries()).length ? "?" : ""
}${params.toString()}`
);
};