@@ -14,8 +14,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
return ( mod && mod . __esModule ) ? mod : { "default" : mod } ;
15
15
} ;
16
16
Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
17
- exports . insertDividerBetweenElements = exports . openInNewTab = void 0 ;
17
+ exports . getSearchParams = exports . insertDividerBetweenElements = exports . openInNewTab = void 0 ;
18
18
var react_1 = __importDefault ( require ( "react" ) ) ;
19
+ var react_router_dom_1 = require ( "react-router-dom" ) ;
19
20
var material_1 = require ( "@mui/material" ) ;
20
21
function openInNewTab ( url , target ) {
21
22
if ( target === void 0 ) { target = '_blank' ; }
@@ -31,3 +32,22 @@ function insertDividerBetweenElements(_a) {
31
32
: undefined ) ; } ) ;
32
33
}
33
34
exports . insertDividerBetweenElements = insertDividerBetweenElements ;
35
+ function getSearchParams ( requiredParams , optionalParams ) {
36
+ if ( requiredParams === void 0 ) { requiredParams = { } ; }
37
+ if ( optionalParams === void 0 ) { optionalParams = { } ; }
38
+ var searchParams = ( 0 , react_router_dom_1 . useSearchParams ) ( ) [ 0 ] ;
39
+ if ( Object
40
+ . keys ( requiredParams )
41
+ . some ( function ( name ) { return searchParams . get ( name ) === null ; } ) ) {
42
+ return null ;
43
+ }
44
+ var params = __assign ( __assign ( { } , requiredParams ) , Object . fromEntries ( Object . keys ( optionalParams )
45
+ . filter ( function ( name ) { return searchParams . get ( name ) !== null ; } )
46
+ . map ( function ( name ) { return [ name , optionalParams [ name ] ] ; } ) ) ) ;
47
+ return Object . fromEntries ( Object . entries ( params )
48
+ . map ( function ( _a ) {
49
+ var key = _a [ 0 ] , value = _a [ 1 ] ;
50
+ return [ key , value ( searchParams . get ( key ) ) ] ;
51
+ } ) ) ;
52
+ }
53
+ exports . getSearchParams = getSearchParams ;
0 commit comments