@@ -49,6 +49,14 @@ const useUrlFilters = <T = string, K = unknown>({
49
49
const history = useHistory ( )
50
50
const searchParams = new URLSearchParams ( location . search )
51
51
52
+ const getParsedSearchParams : UseUrlFiltersProps < T , K > [ 'parseSearchParams' ] = ( searchParamsToParse ) => {
53
+ if ( parseSearchParams ) {
54
+ return parseSearchParams ( searchParamsToParse )
55
+ }
56
+
57
+ return { } as K
58
+ }
59
+
52
60
const { pageSize, pageNumber, searchKey, sortBy, sortOrder, parsedParams } = useMemo ( ( ) => {
53
61
const _pageSize = searchParams . get ( PAGE_SIZE )
54
62
const _pageNumber = searchParams . get ( PAGE_NUMBER )
@@ -60,7 +68,7 @@ const useUrlFilters = <T = string, K = unknown>({
60
68
// Fallback to ascending order
61
69
const sortByOrder = Object . values ( SortingOrder ) . includes ( _sortOrder ) ? _sortOrder : SortingOrder . ASC
62
70
63
- const _parsedParams = parseSearchParams ? parseSearchParams ( searchParams ) : ( { } as K )
71
+ const _parsedParams = getParsedSearchParams ( searchParams )
64
72
65
73
return {
66
74
pageSize : Number ( _pageSize ) || DEFAULT_BASE_PAGE_SIZE ,
@@ -147,7 +155,7 @@ const useUrlFilters = <T = string, K = unknown>({
147
155
}
148
156
} )
149
157
// Skipping primary params => pageSize, pageNumber, searchKey, sortBy, sortOrder
150
- setItemInLocalStorageIfKeyExists ( localStorageKey , JSON . stringify ( parseSearchParams ( searchParams ) ) )
158
+ setItemInLocalStorageIfKeyExists ( localStorageKey , JSON . stringify ( getParsedSearchParams ( searchParams ) ) )
151
159
// Not replacing the params as it is being done by _resetPageNumber
152
160
_resetPageNumber ( )
153
161
}
0 commit comments