blob: cf24eb8c38432295b1b48378d388c19009216bd2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import { browser } from '$app/environment';
import { page } from '$app/stores';
import { get } from 'svelte/store';
export const clearAllParameters = (saved: string[] = []) => {
if (browser) {
const parameters = new URLSearchParams();
if (get(page).url.searchParams.has('tool'))
parameters.set('tool', get(page).url.searchParams.get('tool') || '');
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 = <T = string | number>(
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);
|