aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Utility
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-24 03:03:55 -0800
committerFuwn <[email protected]>2023-12-24 03:03:55 -0800
commitd7b57b41ff39d7d0c60c60b66e47cdacf0db9753 (patch)
treecf4655842e8333af0e9e6abec388bce6f445be4b /src/lib/Utility
parentstyle(src): remove .js extension from imports (diff)
downloaddue.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.ts1
-rw-r--r--src/lib/Utility/parameters.ts32
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, '&nbsp;');
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);