@@ -49,6 +49,14 @@ const useUrlFilters = <T = string, K = unknown>({
4949 const history = useHistory ( )
5050 const searchParams = new URLSearchParams ( location . search )
5151
52+ const getParsedSearchParams : UseUrlFiltersProps < T , K > [ 'parseSearchParams' ] = ( searchParamsToParse ) => {
53+ if ( parseSearchParams ) {
54+ return parseSearchParams ( searchParamsToParse )
55+ }
56+
57+ return { } as K
58+ }
59+
5260 const { pageSize, pageNumber, searchKey, sortBy, sortOrder, parsedParams } = useMemo ( ( ) => {
5361 const _pageSize = searchParams . get ( PAGE_SIZE )
5462 const _pageNumber = searchParams . get ( PAGE_NUMBER )
@@ -60,7 +68,7 @@ const useUrlFilters = <T = string, K = unknown>({
6068 // Fallback to ascending order
6169 const sortByOrder = Object . values ( SortingOrder ) . includes ( _sortOrder ) ? _sortOrder : SortingOrder . ASC
6270
63- const _parsedParams = parseSearchParams ? parseSearchParams ( searchParams ) : ( { } as K )
71+ const _parsedParams = getParsedSearchParams ( searchParams )
6472
6573 return {
6674 pageSize : Number ( _pageSize ) || DEFAULT_BASE_PAGE_SIZE ,
@@ -147,7 +155,7 @@ const useUrlFilters = <T = string, K = unknown>({
147155 }
148156 } )
149157 // Skipping primary params => pageSize, pageNumber, searchKey, sortBy, sortOrder
150- setItemInLocalStorageIfKeyExists ( localStorageKey , JSON . stringify ( parseSearchParams ( searchParams ) ) )
158+ setItemInLocalStorageIfKeyExists ( localStorageKey , JSON . stringify ( getParsedSearchParams ( searchParams ) ) )
151159 // Not replacing the params as it is being done by _resetPageNumber
152160 _resetPageNumber ( )
153161 }
0 commit comments