diff options
| author | Fuwn <[email protected]> | 2023-12-24 03:03:55 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-24 03:03:55 -0800 |
| commit | d7b57b41ff39d7d0c60c60b66e47cdacf0db9753 (patch) | |
| tree | cf4655842e8333af0e9e6abec388bce6f445be4b /src/lib/Utility | |
| parent | style(src): remove .js extension from imports (diff) | |
| download | due.moe-d7b57b41ff39d7d0c60c60b66e47cdacf0db9753.tar.xz due.moe-d7b57b41ff39d7d0c60c60b66e47cdacf0db9753.zip | |
refactor(utility): move utilities to module
Diffstat (limited to 'src/lib/Utility')
| -rw-r--r-- | src/lib/Utility/html.ts | 1 | ||||
| -rw-r--r-- | src/lib/Utility/parameters.ts | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/Utility/html.ts b/src/lib/Utility/html.ts new file mode 100644 index 00000000..6d2136aa --- /dev/null +++ b/src/lib/Utility/html.ts @@ -0,0 +1 @@ +export const nbsp = (str: string) => str.replace(/ /g, ' '); diff --git a/src/lib/Utility/parameters.ts b/src/lib/Utility/parameters.ts new file mode 100644 index 00000000..cf24eb8c --- /dev/null +++ b/src/lib/Utility/parameters.ts @@ -0,0 +1,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); |