Skip to content

Commit fc1fe19

Browse files
committed
refactor: refactor code
1 parent 31f5e55 commit fc1fe19

File tree

2 files changed

+25
-40
lines changed

2 files changed

+25
-40
lines changed

src/lib/utils/index.ts

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -22,51 +22,36 @@ export const omit = (target: Record<string, unknown>, path: string[]) => {
2222
);
2323
};
2424

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+
2537
export const parseSearchParamsToObject = (search: string) => {
2638
const searchParams = new URLSearchParams(search);
27-
const paramsObject: Record<string, string | number> = {};
39+
let paramsObject: Record<string, string | number | Record<string, unknown>> =
40+
{};
2841

2942
for (const param of searchParams.entries()) {
3043
paramsObject[param[0]] = param[1];
3144
}
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+
);
7055

7156
if (Object.keys(paramsObject.authUrlParams).length === 0) {
7257
delete paramsObject.authUrlParams;

src/tests/utils.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ describe("Utils", () => {
99
authUrlParams: {
1010
param1: "value1",
1111
param2: "value2",
12-
}
12+
},
1313
};
1414

1515
const output = parseSearchParamsToObject(searchParams);

0 commit comments

Comments
 (0)