@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
- * query 객체의 각 value를 JSON.parse 시도하고, 실패하면 원래 문자열 유지.
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 query;
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;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAsD,KAAQ;IACtF,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,CAAC;gBAAC,KAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC,CAAA;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC","sourcesContent":["/*\n * URL 쿼리 파라미터 파싱 공용 유틸.\n * query 객체의 각 value를 JSON.parse 시도하고, 실패하면 원래 문자열 유지.\n * 예: ?count=5&name=foo&filter={\"a\":1} → { count: 5, name: 'foo', filter: {a:1} }\n */\nexport function parseQuery<T extends Record<string, any> = Record<string, any>>(query: T): T {\n for (const key in query) {\n if (Object.prototype.hasOwnProperty.call(query, key)) {\n try {\n ;(query as any)[key] = JSON.parse((query as any)[key])\n } catch {\n // JSON이 아닌 문자열은 원래 값 유지\n }\n }\n }\n return query\n}\n"]}
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.87",
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": "2ff96bba5120f39fa4bf07cd464b6e3626f6294c"
50
+ "gitHead": "0af2795d591b4976cea30da1c007dca5fe020dec"
51
51
  }