@things-factory/board-ui 10.0.0-beta.87 → 10.0.0-beta.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* URL 쿼리 파라미터 파싱 공용 유틸.
|
|
3
|
-
*
|
|
3
|
+
* 각 value를 JSON.parse 시도하고, 실패하면 원래 문자열 유지.
|
|
4
4
|
* 예: ?count=5&name=foo&filter={"a":1} → { count: 5, name: 'foo', filter: {a:1} }
|
|
5
|
+
*
|
|
6
|
+
* Input 은 mutate 하지 않고 새 객체 반환 — 호출자가 같은 query 객체를 다른
|
|
7
|
+
* 용도로도 사용하는 경우 (router lifecycle.params 등) 의도치 않은 side effect
|
|
8
|
+
* 차단.
|
|
5
9
|
*/
|
|
6
10
|
export function parseQuery(query) {
|
|
11
|
+
const result = {};
|
|
7
12
|
for (const key in query) {
|
|
8
13
|
if (Object.prototype.hasOwnProperty.call(query, key)) {
|
|
14
|
+
const raw = query[key];
|
|
9
15
|
try {
|
|
10
|
-
;
|
|
11
|
-
query[key] = JSON.parse(query[key]);
|
|
16
|
+
result[key] = JSON.parse(raw);
|
|
12
17
|
}
|
|
13
18
|
catch {
|
|
14
19
|
// JSON이 아닌 문자열은 원래 값 유지
|
|
20
|
+
result[key] = raw;
|
|
15
21
|
}
|
|
16
22
|
}
|
|
17
23
|
}
|
|
18
|
-
return
|
|
24
|
+
return result;
|
|
19
25
|
}
|
|
20
26
|
//# sourceMappingURL=query-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../client/utils/query-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../client/utils/query-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAsD,KAAQ;IACtF,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,GAAI,KAAa,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;gBACxB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAW,CAAA;AACpB,CAAC","sourcesContent":["/*\n * URL 쿼리 파라미터 파싱 공용 유틸.\n * 각 value를 JSON.parse 시도하고, 실패하면 원래 문자열 유지.\n * 예: ?count=5&name=foo&filter={\"a\":1} → { count: 5, name: 'foo', filter: {a:1} }\n *\n * Input 은 mutate 하지 않고 새 객체 반환 — 호출자가 같은 query 객체를 다른\n * 용도로도 사용하는 경우 (router lifecycle.params 등) 의도치 않은 side effect\n * 차단.\n */\nexport function parseQuery<T extends Record<string, any> = Record<string, any>>(query: T): T {\n const result: Record<string, any> = {}\n for (const key in query) {\n if (Object.prototype.hasOwnProperty.call(query, key)) {\n const raw = (query as any)[key]\n try {\n result[key] = JSON.parse(raw)\n } catch {\n // JSON이 아닌 문자열은 원래 값 유지\n result[key] = raw\n }\n }\n }\n return result as T\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/board-ui",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.88",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"@things-factory/fav-base": "^10.0.0-beta.85",
|
|
48
48
|
"@things-factory/utils": "^10.0.0-beta.85"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "0af2795d591b4976cea30da1c007dca5fe020dec"
|
|
51
51
|
}
|