diff 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); |