File tree Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change 1
1
import React from 'react' ;
2
+ import {
3
+ useSearchParams
4
+ } from 'react-router-dom' ;
2
5
import {
3
6
Divider ,
4
7
DividerProps
@@ -23,3 +26,29 @@ export function insertDividerBetweenElements({
23
26
}
24
27
</ > ) ;
25
28
}
29
+
30
+ export function getSearchParams (
31
+ requiredParams : Record < string , any > = { } ,
32
+ optionalParams : Record < string , any > = { }
33
+ ) : Record < string , any > | null {
34
+ const searchParams = useSearchParams ( ) [ 0 ] ;
35
+
36
+ if ( Object
37
+ . keys ( requiredParams )
38
+ . some ( name => searchParams . get ( name ) === null )
39
+ ) { return null ; }
40
+
41
+ const params = {
42
+ ...requiredParams ,
43
+ ...Object . fromEntries (
44
+ Object . keys ( optionalParams )
45
+ . filter ( name => searchParams . get ( name ) !== null )
46
+ . map ( name => [ name , optionalParams [ name ] ] )
47
+ )
48
+ } ;
49
+
50
+ return Object . fromEntries (
51
+ Object . entries ( params )
52
+ . map ( ( [ key , value ] ) => [ key , value ( searchParams . get ( key ) ) ] )
53
+ ) ;
54
+ }
Original file line number Diff line number Diff line change 5
5
"target" : " es5" ,
6
6
"lib" : [
7
7
" es6" ,
8
+ " esnext" ,
8
9
" dom" ,
9
10
" es2016" ,
10
11
" es2017"
You can’t perform that action at this time.
0 commit comments