@@ -22,51 +22,36 @@ export const omit = (target: Record<string, unknown>, path: string[]) => {
22
22
) ;
23
23
} ;
24
24
25
+ const rootParams = [
26
+ "start_page" ,
27
+ "is_create_org" ,
28
+ "response_type" ,
29
+ "org_name" ,
30
+ "org_code" ,
31
+ "state" ,
32
+ "post_login_redirect_url" ,
33
+ "authUrlParams" ,
34
+ "redirect_url" ,
35
+ ] ;
36
+
25
37
export const parseSearchParamsToObject = ( search : string ) => {
26
38
const searchParams = new URLSearchParams ( search ) ;
27
- const paramsObject : Record < string , string | number > = { } ;
39
+ let paramsObject : Record < string , string | number | Record < string , unknown > > =
40
+ { } ;
28
41
29
42
for ( const param of searchParams . entries ( ) ) {
30
43
paramsObject [ param [ 0 ] ] = param [ 1 ] ;
31
44
}
32
- paramsObject . authUrlParams = Object . assign ( { ...paramsObject } ) ;
33
-
34
- Object . keys ( paramsObject ) . forEach ( ( key ) => {
35
- if (
36
- ! [
37
- "start_page" ,
38
- "is_create_org" ,
39
- "response_type" ,
40
- "org_name" ,
41
- "org_code" ,
42
- "state" ,
43
- "post_login_redirect_url" ,
44
- "authUrlParams" ,
45
- "redirect_url"
46
- ] . includes ( key )
47
- ) {
48
- delete paramsObject [ key ] ;
49
- }
50
- } ) ;
51
-
52
-
53
- Object . keys ( paramsObject . authUrlParams ) . forEach ( ( key ) => {
54
- if (
55
- [
56
- "start_page" ,
57
- "is_create_org" ,
58
- "response_type" ,
59
- "org_name" ,
60
- "org_code" ,
61
- "state" ,
62
- "post_login_redirect_url" ,
63
- "authUrlParams" ,
64
- "redirect_url"
65
- ] . includes ( key )
66
- ) {
67
- delete paramsObject . authUrlParams [ key ] ;
68
- }
69
- } ) ;
45
+ paramsObject . authUrlParams = { ...paramsObject } ;
46
+
47
+ paramsObject = pick ( paramsObject , rootParams ) as Record <
48
+ string ,
49
+ string | number
50
+ > ;
51
+ paramsObject . authUrlParams = omit (
52
+ paramsObject . authUrlParams as Record < string , unknown > ,
53
+ rootParams ,
54
+ ) ;
70
55
71
56
if ( Object . keys ( paramsObject . authUrlParams ) . length === 0 ) {
72
57
delete paramsObject . authUrlParams ;
0 commit comments