import { browser } from '$app/environment'; import { page } from '$app/stores'; export const clearAllParameters = (saved: string[] = []) => { if (browser) page.subscribe((value) => { value.url.searchParams.forEach((_, key) => { if (!saved.includes(key) && key !== 'tool') { value.url.searchParams.delete(key); } }); history.replaceState(null, '', `?${value.url.searchParams.toString()}`); }); }; 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);