import { browser } from "$app/environment"; import { page } from "$app/stores"; import { get } from "svelte/store"; export const clearAllParameters = (saved: string[] = []) => { if (browser) { if (get(page).url.searchParams.size === 0) return; const parameters = new URLSearchParams(); saved.forEach((key) => { if (get(page).url.searchParams.has(key)) { parameters.set(key, get(page).url.searchParams.get(key) || ""); } }); history.replaceState(null, "", `${get(page).url.pathname}?${parameters}`); } }; export const parseOrDefault = ( urlParameters: URLSearchParams | null, parameter: string, fallback: T, ): T => typeof fallback === "number" ? ((browser && urlParameters?.size !== 0 ? parseInt(urlParameters?.get(parameter) || "", 10) || fallback : fallback) as T) : ((browser && urlParameters?.size !== 0 ? urlParameters?.get(parameter) || fallback : fallback) as T);