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);