diff options
| author | Fuwn <[email protected]> | 2023-12-14 16:43:33 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-14 16:43:33 -0800 |
| commit | 2cca45221b7bd1dc3d65361a341a7310271a280d (patch) | |
| tree | 3b7b4ca1ce27ab1503de7a23ea7eb1dca31d1cc6 /src/lib/Tools/tool.ts | |
| parent | feat(sequelspy): display upcoming date (diff) | |
| download | due.moe-2cca45221b7bd1dc3d65361a341a7310271a280d.tar.xz due.moe-2cca45221b7bd1dc3d65361a341a7310271a280d.zip | |
feat(sequelspy): save options
Diffstat (limited to 'src/lib/Tools/tool.ts')
| -rw-r--r-- | src/lib/Tools/tool.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/Tools/tool.ts b/src/lib/Tools/tool.ts index 77d80418..fc50a715 100644 --- a/src/lib/Tools/tool.ts +++ b/src/lib/Tools/tool.ts @@ -12,3 +12,16 @@ export const clearAllParameters = (saved: string[] = []) => { history.replaceState(null, '', `?${value.url.searchParams.toString()}`); }); }; + +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); |