@simplysm/core-common 13.0.69 → 13.0.71

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.
Files changed (151) hide show
  1. package/README.md +66 -267
  2. package/dist/common.types.d.ts +14 -14
  3. package/dist/errors/argument-error.d.ts +10 -10
  4. package/dist/errors/argument-error.d.ts.map +1 -1
  5. package/dist/errors/argument-error.js +2 -2
  6. package/dist/errors/argument-error.js.map +1 -1
  7. package/dist/errors/not-implemented-error.d.ts +8 -8
  8. package/dist/errors/not-implemented-error.js +2 -2
  9. package/dist/errors/not-implemented-error.js.map +1 -1
  10. package/dist/errors/sd-error.d.ts +10 -10
  11. package/dist/errors/sd-error.d.ts.map +1 -1
  12. package/dist/errors/timeout-error.d.ts +10 -10
  13. package/dist/errors/timeout-error.js +3 -3
  14. package/dist/errors/timeout-error.js.map +1 -1
  15. package/dist/extensions/arr-ext.d.ts +2 -2
  16. package/dist/extensions/arr-ext.helpers.d.ts +8 -8
  17. package/dist/extensions/arr-ext.helpers.js +1 -1
  18. package/dist/extensions/arr-ext.helpers.js.map +1 -1
  19. package/dist/extensions/arr-ext.js +13 -13
  20. package/dist/extensions/arr-ext.js.map +1 -1
  21. package/dist/extensions/arr-ext.types.d.ts +57 -57
  22. package/dist/extensions/arr-ext.types.d.ts.map +1 -1
  23. package/dist/extensions/map-ext.d.ts +16 -16
  24. package/dist/extensions/set-ext.d.ts +11 -11
  25. package/dist/features/debounce-queue.d.ts +17 -15
  26. package/dist/features/debounce-queue.d.ts.map +1 -1
  27. package/dist/features/debounce-queue.js +6 -6
  28. package/dist/features/debounce-queue.js.map +1 -1
  29. package/dist/features/event-emitter.d.ts +20 -20
  30. package/dist/features/event-emitter.js +17 -17
  31. package/dist/features/serial-queue.d.ts +11 -11
  32. package/dist/features/serial-queue.js +5 -5
  33. package/dist/features/serial-queue.js.map +1 -1
  34. package/dist/globals.d.ts +4 -4
  35. package/dist/types/date-only.d.ts +64 -64
  36. package/dist/types/date-only.d.ts.map +1 -1
  37. package/dist/types/date-only.js +63 -63
  38. package/dist/types/date-time.d.ts +37 -37
  39. package/dist/types/date-time.d.ts.map +1 -1
  40. package/dist/types/date-time.js +54 -37
  41. package/dist/types/date-time.js.map +1 -1
  42. package/dist/types/lazy-gc-map.d.ts +26 -26
  43. package/dist/types/lazy-gc-map.d.ts.map +1 -1
  44. package/dist/types/lazy-gc-map.js +26 -26
  45. package/dist/types/lazy-gc-map.js.map +1 -1
  46. package/dist/types/time.d.ts +25 -25
  47. package/dist/types/time.d.ts.map +1 -1
  48. package/dist/types/time.js +25 -25
  49. package/dist/types/time.js.map +1 -1
  50. package/dist/types/uuid.d.ts +11 -11
  51. package/dist/types/uuid.d.ts.map +1 -1
  52. package/dist/types/uuid.js +12 -12
  53. package/dist/types/uuid.js.map +1 -1
  54. package/dist/utils/bytes.d.ts +17 -17
  55. package/dist/utils/bytes.js +4 -4
  56. package/dist/utils/bytes.js.map +1 -1
  57. package/dist/utils/date-format.d.ts +45 -45
  58. package/dist/utils/date-format.js +1 -1
  59. package/dist/utils/date-format.js.map +1 -1
  60. package/dist/utils/error.d.ts +4 -4
  61. package/dist/utils/json.d.ts +17 -17
  62. package/dist/utils/json.js +3 -3
  63. package/dist/utils/json.js.map +1 -1
  64. package/dist/utils/num.d.ts +23 -23
  65. package/dist/utils/obj.d.ts +111 -111
  66. package/dist/utils/obj.d.ts.map +1 -1
  67. package/dist/utils/obj.js +3 -3
  68. package/dist/utils/obj.js.map +1 -1
  69. package/dist/utils/path.d.ts +10 -10
  70. package/dist/utils/primitive.d.ts +5 -5
  71. package/dist/utils/primitive.js +1 -1
  72. package/dist/utils/primitive.js.map +1 -1
  73. package/dist/utils/str.d.ts +46 -46
  74. package/dist/utils/str.d.ts.map +1 -1
  75. package/dist/utils/str.js +5 -5
  76. package/dist/utils/str.js.map +1 -1
  77. package/dist/utils/template-strings.d.ts +26 -26
  78. package/dist/utils/transferable.d.ts +18 -18
  79. package/dist/utils/transferable.js +1 -1
  80. package/dist/utils/transferable.js.map +1 -1
  81. package/dist/utils/wait.d.ts +9 -9
  82. package/dist/utils/xml.d.ts +13 -13
  83. package/dist/utils/xml.d.ts.map +1 -1
  84. package/dist/utils/xml.js +1 -0
  85. package/dist/utils/xml.js.map +1 -1
  86. package/dist/zip/sd-zip.d.ts +22 -22
  87. package/dist/zip/sd-zip.js +16 -16
  88. package/package.json +4 -4
  89. package/src/common.types.ts +17 -17
  90. package/src/errors/argument-error.ts +15 -15
  91. package/src/errors/not-implemented-error.ts +9 -9
  92. package/src/errors/sd-error.ts +12 -12
  93. package/src/errors/timeout-error.ts +12 -12
  94. package/src/extensions/arr-ext.helpers.ts +10 -10
  95. package/src/extensions/arr-ext.ts +57 -57
  96. package/src/extensions/arr-ext.types.ts +59 -59
  97. package/src/extensions/map-ext.ts +16 -16
  98. package/src/extensions/set-ext.ts +11 -11
  99. package/src/features/debounce-queue.ts +21 -19
  100. package/src/features/event-emitter.ts +25 -25
  101. package/src/features/serial-queue.ts +13 -13
  102. package/src/globals.ts +4 -4
  103. package/src/index.ts +1 -1
  104. package/src/types/date-only.ts +83 -83
  105. package/src/types/date-time.ts +64 -44
  106. package/src/types/lazy-gc-map.ts +45 -45
  107. package/src/types/time.ts +34 -34
  108. package/src/types/uuid.ts +17 -17
  109. package/src/utils/bytes.ts +35 -35
  110. package/src/utils/date-format.ts +65 -65
  111. package/src/utils/error.ts +4 -4
  112. package/src/utils/json.ts +39 -39
  113. package/src/utils/num.ts +23 -23
  114. package/src/utils/obj.ts +138 -138
  115. package/src/utils/path.ts +10 -10
  116. package/src/utils/primitive.ts +6 -6
  117. package/src/utils/str.ts +260 -261
  118. package/src/utils/template-strings.ts +29 -29
  119. package/src/utils/transferable.ts +284 -284
  120. package/src/utils/wait.ts +10 -10
  121. package/src/utils/xml.ts +20 -19
  122. package/src/zip/sd-zip.ts +25 -25
  123. package/tests/errors/errors.spec.ts +80 -0
  124. package/tests/extensions/array-extension.spec.ts +796 -0
  125. package/tests/extensions/map-extension.spec.ts +147 -0
  126. package/tests/extensions/set-extension.spec.ts +74 -0
  127. package/tests/types/date-only.spec.ts +638 -0
  128. package/tests/types/date-time.spec.ts +391 -0
  129. package/tests/types/lazy-gc-map.spec.ts +692 -0
  130. package/tests/types/time.spec.ts +559 -0
  131. package/tests/types/uuid.spec.ts +74 -0
  132. package/tests/utils/bytes-utils.spec.ts +230 -0
  133. package/tests/utils/date-format.spec.ts +373 -0
  134. package/tests/utils/debounce-queue.spec.ts +272 -0
  135. package/tests/utils/json.spec.ts +486 -0
  136. package/tests/utils/number.spec.ts +157 -0
  137. package/tests/utils/object.spec.ts +829 -0
  138. package/tests/utils/path.spec.ts +78 -0
  139. package/tests/utils/primitive.spec.ts +43 -0
  140. package/tests/utils/sd-event-emitter.spec.ts +216 -0
  141. package/tests/utils/serial-queue.spec.ts +365 -0
  142. package/tests/utils/string.spec.ts +281 -0
  143. package/tests/utils/template-strings.spec.ts +57 -0
  144. package/tests/utils/transferable.spec.ts +703 -0
  145. package/tests/utils/wait.spec.ts +145 -0
  146. package/tests/utils/xml.spec.ts +146 -0
  147. package/tests/zip/sd-zip.spec.ts +238 -0
  148. package/docs/extensions.md +0 -503
  149. package/docs/features.md +0 -109
  150. package/docs/types.md +0 -486
  151. package/docs/utils.md +0 -780
@@ -1,23 +1,23 @@
1
1
  /**
2
- * 경로 유틸리티 함수
3
- * Node.js path 모듈 대체용 (브라우저 환경 지원)
2
+ * Path utility functions
3
+ * Replacement for Node.js path module (supports browser environments)
4
4
  *
5
- * @note 유틸리티는 POSIX 스타일 경로(슬래시 `/`) 지원합니다.
6
- * Windows 백슬래시(`\`) 경로는 지원하지 않습니다.
7
- * 브라우저 환경 Capacitor 플러그인용으로 설계되었습니다.
5
+ * @note This utility supports POSIX style paths (slash `/`) only.
6
+ * Windows backslash (`\`) paths are not supported.
7
+ * Designed for browser environments and Capacitor plugins.
8
8
  */
9
9
  /**
10
- * 경로 조합 (path.join 대체)
11
- * @note POSIX 스타일 경로만 지원 (슬래시 `/`)
10
+ * Combine paths (path.join replacement)
11
+ * @note Supports POSIX style paths only (slash `/`)
12
12
  */
13
13
  export declare function pathJoin(...segments: string[]): string;
14
14
  /**
15
- * 파일명 추출 (path.basename 대체)
15
+ * Extract filename (path.basename replacement)
16
16
  */
17
17
  export declare function pathBasename(filePath: string, ext?: string): string;
18
18
  /**
19
- * 확장자 추출 (path.extname 대체)
20
- * @note 숨김 파일(예: `.gitignore`) 문자열을 반환합니다 (Node.js path.extname과 동일)
19
+ * Extract file extension (path.extname replacement)
20
+ * @note Hidden files (e.g., `.gitignore`) return empty string (same as Node.js path.extname)
21
21
  */
22
22
  export declare function pathExtname(filePath: string): string;
23
23
  //# sourceMappingURL=path.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import type { PrimitiveTypeMap, PrimitiveTypeStr } from "../common.types";
2
2
  /**
3
- * 값에서 PrimitiveTypeStr 추론
3
+ * Infer PrimitiveTypeStr from a value
4
4
  *
5
- * 런타임에서 값의 타입을 검사하여 해당하는 PrimitiveTypeStr을 반환합니다.
5
+ * Checks the type of a value at runtime and returns the corresponding PrimitiveTypeStr.
6
6
  *
7
- * @param value 타입을 추론할
8
- * @returns 값에 해당하는 PrimitiveTypeStr
9
- * @throws ArgumentError 지원하지 않는 타입인 경우
7
+ * @param value The value to infer the type from
8
+ * @returns The PrimitiveTypeStr corresponding to the value
9
+ * @throws ArgumentError If the type is not supported
10
10
  *
11
11
  * @example
12
12
  * getPrimitiveTypeStr("hello") // "string"
@@ -12,7 +12,7 @@ function getPrimitiveTypeStr(value) {
12
12
  if (value instanceof Time) return "Time";
13
13
  if (value instanceof Uuid) return "Uuid";
14
14
  if (value instanceof Uint8Array) return "Bytes";
15
- throw new ArgumentError("\uC54C \uC218 \uC5C6\uB294 \uAC12 \uD0C0\uC785\uC785\uB2C8\uB2E4.", { type: typeof value });
15
+ throw new ArgumentError("Unknown value type.", { type: typeof value });
16
16
  }
17
17
  export {
18
18
  getPrimitiveTypeStr
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/primitive.ts"],
4
- "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAkBvB,SAAS,oBAAoB,OAA6D;AAC/F,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,UAAW,QAAO;AACvC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,WAAY,QAAO;AACxC,QAAM,IAAI,cAAc,qEAAmB,EAAE,MAAM,OAAO,MAAM,CAAC;AACnE;",
4
+ "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAkBvB,SAAS,oBAAoB,OAA6D;AAC/F,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,UAAW,QAAO;AACvC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,SAAU,QAAO;AACtC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,KAAM,QAAO;AAClC,MAAI,iBAAiB,WAAY,QAAO;AACxC,QAAM,IAAI,cAAc,uBAAuB,EAAE,MAAM,OAAO,MAAM,CAAC;AACvE;",
5
5
  "names": []
6
6
  }
@@ -1,98 +1,98 @@
1
1
  /**
2
- * 문자열 유틸리티 함수
2
+ * String utility functions
3
3
  */
4
4
  /**
5
- * 한글 조사를 받침에 따라 적절히 반환
6
- * @param text 텍스트
7
- * @param type 조사 타입
8
- * - `"을"`: 을/를
9
- * - `"은"`: 은/는
10
- * - `"이"`: 이/가
11
- * - `"와"`: 과/와
12
- * - `"랑"`: 이랑/랑
13
- * - `"로"`: 으로/로
14
- * - `"라"`: 이라/라
5
+ * Return the appropriate Korean particle based on the final consonant
6
+ * @param text The text to check
7
+ * @param type The particle type
8
+ * - `"을"`: 을/를 (eul/reul - object particle)
9
+ * - `"은"`: 은/는 (eun/neun - subject particle)
10
+ * - `"이"`: 이/가 (i/ga - subject particle)
11
+ * - `"와"`: 과/와 (gwa/wa - and particle)
12
+ * - `"랑"`: 이랑/랑 (irang/rang - and particle)
13
+ * - `"로"`: 으로/로 (euro/ro - instrumental particle)
14
+ * - `"라"`: 이라/라 (ira/ra - copula particle)
15
15
  *
16
16
  * @example
17
- * getSuffix("사과", "을") // "를"
18
- * getSuffix("책", "이") // "이"
17
+ * koreanGetSuffix("Apple", "을") // "를"
18
+ * koreanGetSuffix("책", "이") // "이"
19
19
  */
20
- export declare function strGetSuffix(text: string, type: "을" | "은" | "이" | "와" | "랑" | "로" | "라"): string;
20
+ export declare function koreanGetSuffix(text: string, type: "을" | "은" | "이" | "와" | "랑" | "로" | "라"): string;
21
21
  /**
22
- * 전각(Full-width) 문자를 반각(Half-width) 문자로 변환
22
+ * Convert full-width characters to half-width characters
23
23
  *
24
- * 변환 대상:
25
- * - 전각 영문 대문자 (A-Z → A-Z)
26
- * - 전각 영문 소문자 (a-z → a-z)
27
- * - 전각 숫자 (0-9 → 0-9)
28
- * - 전각 공백 (  → 일반 공백)
29
- * - 전각 괄호 (() → ())
24
+ * Conversion targets:
25
+ * - Full-width uppercase letters (A-Z → A-Z)
26
+ * - Full-width lowercase letters (a-z → a-z)
27
+ * - Full-width digits (0-9 → 0-9)
28
+ * - Full-width space (  → regular space)
29
+ * - Full-width parentheses (() → ())
30
30
  *
31
31
  * @example
32
- * replaceSpecialDefaultChar("A123") // "A123"
33
- * replaceSpecialDefaultChar("(株)") // "(株)"
32
+ * strReplaceFullWidth("A123") // "A123"
33
+ * strReplaceFullWidth("(株)") // "(株)"
34
34
  */
35
35
  export declare function strReplaceFullWidth(str: string): string;
36
36
  /**
37
- * PascalCase로 변환
37
+ * Convert to PascalCase
38
38
  * @example "hello-world" → "HelloWorld"
39
39
  * @example "hello_world" → "HelloWorld"
40
40
  * @example "hello.world" → "HelloWorld"
41
41
  */
42
42
  export declare function strToPascalCase(str: string): string;
43
43
  /**
44
- * camelCase로 변환
44
+ * Convert to camelCase
45
45
  * @example "hello-world" → "helloWorld"
46
46
  * @example "hello_world" → "helloWorld"
47
47
  * @example "HelloWorld" → "helloWorld"
48
48
  */
49
49
  export declare function strToCamelCase(str: string): string;
50
50
  /**
51
- * kebab-case로 변환
51
+ * Convert to kebab-case
52
52
  *
53
53
  * @example "HelloWorld" → "hello-world"
54
54
  * @example "helloWorld" → "hello-world"
55
- * @example "hello_world" → "hello_world" (소문자만 있으면 변환 안됨)
56
- * @example "Hello_World" → "hello-_world" (기존 분리자는 유지됨)
57
- * @example "Hello-World" → "hello--world" (기존 분리자는 유지됨)
58
- * @example "XMLParser" → "x-m-l-parser" (연속된 대문자는 각각 분리됨)
55
+ * @example "hello_world" → "hello_world" (no conversion if only lowercase)
56
+ * @example "Hello_World" → "hello-_world" (existing separators are preserved)
57
+ * @example "Hello-World" → "hello--world" (existing separators are preserved)
58
+ * @example "XMLParser" → "x-m-l-parser" (consecutive uppercase letters are separated)
59
59
  */
60
60
  export declare function strToKebabCase(str: string): string;
61
61
  /**
62
- * snake_case로 변환
62
+ * Convert to snake_case
63
63
  *
64
64
  * @example "HelloWorld" → "hello_world"
65
65
  * @example "helloWorld" → "hello_world"
66
- * @example "hello-world" → "hello-world" (소문자만 있으면 변환 안됨)
67
- * @example "Hello-World" → "hello_-world" (기존 분리자는 유지됨)
68
- * @example "Hello_World" → "hello__world" (기존 분리자는 유지됨)
69
- * @example "XMLParser" → "x_m_l_parser" (연속된 대문자는 각각 분리됨)
66
+ * @example "hello-world" → "hello-world" (no conversion if only lowercase)
67
+ * @example "Hello-World" → "hello_-world" (existing separators are preserved)
68
+ * @example "Hello_World" → "hello__world" (existing separators are preserved)
69
+ * @example "XMLParser" → "x_m_l_parser" (consecutive uppercase letters are separated)
70
70
  */
71
71
  export declare function strToSnakeCase(str: string): string;
72
72
  /**
73
- * undefined 또는 문자열 여부 체크 (타입 가드)
73
+ * Check if string is undefined or empty (type guard)
74
74
  *
75
- * @param str 체크할 문자열
76
- * @returns undefined, null, 문자열이면 true
75
+ * @param str The string to check
76
+ * @returns true if undefined, null, or empty string
77
77
  *
78
78
  * @example
79
79
  * const name: string | undefined = getValue();
80
80
  * if (strIsNullOrEmpty(name)) {
81
81
  * // name: "" | undefined
82
- * console.log("이름이 비어있습니다");
82
+ * console.log("Name is empty");
83
83
  * } else {
84
- * // name: string (비어있지 않은 문자열)
85
- * console.log(`이름: ${name}`);
84
+ * // name: string (non-empty string)
85
+ * console.log(`Name: ${name}`);
86
86
  * }
87
87
  */
88
88
  export declare function strIsNullOrEmpty(str: string | undefined): str is "" | undefined;
89
89
  /**
90
- * 문자열 특정 위치에 삽입
90
+ * Insert a string at a specific position
91
91
  *
92
- * @param str 원본 문자열
93
- * @param index 삽입할 위치 (0부터 시작)
94
- * @param insertString 삽입할 문자열
95
- * @returns 삽입된 문자열
92
+ * @param str The original string
93
+ * @param index The position to insert at (0-based)
94
+ * @param insertString The string to insert
95
+ * @returns A new string with the insertion applied
96
96
  *
97
97
  * @example
98
98
  * strInsert("Hello World", 5, ","); // "Hello, World"
@@ -1 +1 @@
1
- {"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../src/utils/str.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAC5C,MAAM,CAyBR;AA8ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAYD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,IAAI,EAAE,GAAG,SAAS,CAE/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAElF"}
1
+ {"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../src/utils/str.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAC5C,MAAM,CAwBR;AA8ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAYD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,IAAI,EAAE,GAAG,SAAS,CAE/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAElF"}
package/dist/utils/str.js CHANGED
@@ -7,7 +7,7 @@ const suffixTable = {
7
7
  \uB85C: { t: "\uC73C\uB85C", f: "\uB85C" },
8
8
  \uB77C: { t: "\uC774\uB77C", f: "\uB77C" }
9
9
  };
10
- function strGetSuffix(text, type) {
10
+ function koreanGetSuffix(text, type) {
11
11
  const table = suffixTable;
12
12
  if (text.length === 0) {
13
13
  return table[type].f;
@@ -23,7 +23,7 @@ function strGetSuffix(text, type) {
23
23
  }
24
24
  return hasLast ? table[type].t : table[type].f;
25
25
  }
26
- const specialCharMap = {
26
+ const fullWidthCharMap = {
27
27
  "\uFF21": "A",
28
28
  "\uFF22": "B",
29
29
  "\uFF23": "C",
@@ -90,9 +90,9 @@ const specialCharMap = {
90
90
  "\uFF09": ")",
91
91
  "\uFF08": "("
92
92
  };
93
- const specialCharRegex = new RegExp(`[${Object.keys(specialCharMap).join("")}]`, "g");
93
+ const fullWidthCharRegex = new RegExp(`[${Object.keys(fullWidthCharMap).join("")}]`, "g");
94
94
  function strReplaceFullWidth(str) {
95
- return str.replace(specialCharRegex, (char) => specialCharMap[char] ?? char);
95
+ return str.replace(fullWidthCharRegex, (char) => fullWidthCharMap[char] ?? char);
96
96
  }
97
97
  function strToPascalCase(str) {
98
98
  return str.replace(/[-._][a-z]/g, (m) => m[1].toUpperCase()).replace(/^[a-z]/, (m) => m.toUpperCase());
@@ -116,7 +116,7 @@ function strInsert(str, index, insertString) {
116
116
  return str.substring(0, index) + insertString + str.substring(index);
117
117
  }
118
118
  export {
119
- strGetSuffix,
119
+ koreanGetSuffix,
120
120
  strInsert,
121
121
  strIsNullOrEmpty,
122
122
  strReplaceFullWidth,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/str.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,12 +1,12 @@
1
1
  /**
2
- * 템플릿 문자열 태그 함수들
3
- * IDE 코드 하이라이팅 지원용 (실제 동작은 문자열 조합 + 들여쓰기 정리)
2
+ * Template string tag functions
3
+ * For IDE code highlighting support (actual behavior is string concatenation + indent normalization)
4
4
  */
5
5
  /**
6
- * JavaScript 코드 하이라이팅용 템플릿 태그
7
- * @param strings 템플릿 문자열 배열
8
- * @param values 보간된 값들
9
- * @returns 들여쓰기가 정리된 문자열
6
+ * Template tag for JavaScript code highlighting
7
+ * @param strings Template string array
8
+ * @param values Interpolated values
9
+ * @returns String with normalized indentation
10
10
  * @example
11
11
  * const code = js`
12
12
  * function hello() {
@@ -16,10 +16,10 @@
16
16
  */
17
17
  export declare function js(strings: TemplateStringsArray, ...values: unknown[]): string;
18
18
  /**
19
- * TypeScript 코드 하이라이팅용 템플릿 태그
20
- * @param strings 템플릿 문자열 배열
21
- * @param values 보간된 값들
22
- * @returns 들여쓰기가 정리된 문자열
19
+ * Template tag for TypeScript code highlighting
20
+ * @param strings Template string array
21
+ * @param values Interpolated values
22
+ * @returns String with normalized indentation
23
23
  * @example
24
24
  * const code = ts`
25
25
  * interface User {
@@ -30,10 +30,10 @@ export declare function js(strings: TemplateStringsArray, ...values: unknown[]):
30
30
  */
31
31
  export declare function ts(strings: TemplateStringsArray, ...values: unknown[]): string;
32
32
  /**
33
- * HTML 마크업 하이라이팅용 템플릿 태그
34
- * @param strings 템플릿 문자열 배열
35
- * @param values 보간된 값들
36
- * @returns 들여쓰기가 정리된 문자열
33
+ * Template tag for HTML markup highlighting
34
+ * @param strings Template string array
35
+ * @param values Interpolated values
36
+ * @returns String with normalized indentation
37
37
  * @example
38
38
  * const markup = html`
39
39
  * <div class="container">
@@ -43,10 +43,10 @@ export declare function ts(strings: TemplateStringsArray, ...values: unknown[]):
43
43
  */
44
44
  export declare function html(strings: TemplateStringsArray, ...values: unknown[]): string;
45
45
  /**
46
- * MSSQL T-SQL 하이라이팅용 템플릿 태그
47
- * @param strings 템플릿 문자열 배열
48
- * @param values 보간된 값들
49
- * @returns 들여쓰기가 정리된 문자열
46
+ * Template tag for MSSQL T-SQL highlighting
47
+ * @param strings Template string array
48
+ * @param values Interpolated values
49
+ * @returns String with normalized indentation
50
50
  * @example
51
51
  * const query = tsql`
52
52
  * SELECT TOP 10 *
@@ -56,10 +56,10 @@ export declare function html(strings: TemplateStringsArray, ...values: unknown[]
56
56
  */
57
57
  export declare function tsql(strings: TemplateStringsArray, ...values: unknown[]): string;
58
58
  /**
59
- * MySQL SQL 하이라이팅용 템플릿 태그
60
- * @param strings 템플릿 문자열 배열
61
- * @param values 보간된 값들
62
- * @returns 들여쓰기가 정리된 문자열
59
+ * Template tag for MySQL SQL highlighting
60
+ * @param strings Template string array
61
+ * @param values Interpolated values
62
+ * @returns String with normalized indentation
63
63
  * @example
64
64
  * const query = mysql`
65
65
  * SELECT *
@@ -69,10 +69,10 @@ export declare function tsql(strings: TemplateStringsArray, ...values: unknown[]
69
69
  */
70
70
  export declare function mysql(strings: TemplateStringsArray, ...values: unknown[]): string;
71
71
  /**
72
- * PostgreSQL SQL 하이라이팅용 템플릿 태그
73
- * @param strings 템플릿 문자열 배열
74
- * @param values 보간된 값들
75
- * @returns 들여쓰기가 정리된 문자열
72
+ * Template tag for PostgreSQL SQL highlighting
73
+ * @param strings Template string array
74
+ * @param values Interpolated values
75
+ * @returns String with normalized indentation
76
76
  * @example
77
77
  * const query = pgsql`
78
78
  * SELECT *
@@ -1,46 +1,46 @@
1
1
  /**
2
- * Worker 전송 가능한 객체 타입
2
+ * Object types that can be transferred between Workers
3
3
  *
4
- * 코드에서는 ArrayBuffer 사용됩니다.
4
+ * Only ArrayBuffer is used in this code.
5
5
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Transferable_objects
6
6
  */
7
7
  type Transferable = ArrayBuffer;
8
8
  /**
9
- * Transferable 변환 유틸리티 함수
9
+ * Transferable conversion utility functions
10
10
  *
11
- * Worker 데이터 전송을 위한 직렬화/역직렬화를 수행합니다.
12
- * structuredClone이 지원하지 않는 커스텀 타입들을 처리합니다.
11
+ * Performs serialization/deserialization for data transfer between Workers.
12
+ * Handles custom types that structuredClone does not support.
13
13
  *
14
- * 지원 타입:
14
+ * Supported types:
15
15
  * - Date, DateTime, DateOnly, Time, Uuid, RegExp
16
- * - Error (cause, code, detail 포함)
17
- * - Uint8Array (다른 TypedArray는 미지원, 일반 객체로 처리됨)
18
- * - Array, Map, Set, 일반 객체
16
+ * - Error (including cause, code, detail)
17
+ * - Uint8Array (other TypedArrays not supported, handled as plain objects)
18
+ * - Array, Map, Set, plain objects
19
19
  *
20
- * @note 순환 참조가 있으면 transferableEncode TypeError 발생 (경로 정보 포함)
21
- * @note 동일 객체가 여러 곳에서 참조되면 캐시된 인코딩 결과를 재사용합니다
20
+ * @note Circular references cause TypeError in transferableEncode (includes path info)
21
+ * @note If the same object is referenced from multiple places, the cached encoding result is reused
22
22
  *
23
23
  * @example
24
- * // Worker로 데이터 전송
24
+ * // Send data to Worker
25
25
  * const { result, transferList } = transferableEncode(data);
26
26
  * worker.postMessage(result, transferList);
27
27
  *
28
- * // Worker에서 데이터 수신
28
+ * // Receive data from Worker
29
29
  * const decoded = transferableDecode(event.data);
30
30
  */
31
31
  /**
32
- * 심플리즘 타입을 사용한 객체를 일반 객체로 변환
33
- * Worker에 전송할 있는 형태로 직렬화
32
+ * Convert objects using Simplysm types to plain objects
33
+ * Serializes in a form that can be sent to a Worker
34
34
  *
35
- * @throws 순환 참조 감지 TypeError
35
+ * @throws TypeError if circular reference is detected
36
36
  */
37
37
  export declare function transferableEncode(obj: unknown): {
38
38
  result: unknown;
39
39
  transferList: Transferable[];
40
40
  };
41
41
  /**
42
- * serialize 객체를 심플리즘 타입 사용 객체로 변환
43
- * Worker로부터 받은 데이터를 역직렬화
42
+ * Convert serialized objects to objects using Simplysm types
43
+ * Deserialize data received from a Worker
44
44
  */
45
45
  export declare function transferableDecode(obj: unknown): unknown;
46
46
  export {};
@@ -14,7 +14,7 @@ function encodeImpl(obj, transferList, path, ancestors, cache) {
14
14
  if (typeof obj === "object") {
15
15
  if (ancestors.has(obj)) {
16
16
  const currentPath = path.length > 0 ? path.join(".") : "root";
17
- throw new TypeError(`\uC21C\uD658 \uCC38\uC870\uAC00 \uAC10\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4: ${currentPath}`);
17
+ throw new TypeError(`Circular reference detected: ${currentPath}`);
18
18
  }
19
19
  const cached = cache.get(obj);
20
20
  if (cached !== void 0) return cached;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/transferable.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,19 +1,19 @@
1
1
  /**
2
- * 조건이 참이 때까지 대기
3
- * @param forwarder 조건 함수
4
- * @param milliseconds 체크 간격 (기본: 100ms)
5
- * @param maxCount 최대 시도 횟수 (undefined 무제한)
2
+ * Wait until a condition becomes true
3
+ * @param forwarder Condition function
4
+ * @param milliseconds Check interval (default: 100ms)
5
+ * @param maxCount Maximum number of attempts (undefined for unlimited)
6
6
  *
7
- * @note 조건이 번째 호출에서 true 즉시 반환됩니다.
7
+ * @note Returns immediately if the condition is true on the first call.
8
8
  * @example
9
- * // maxCount=3: 최대 3 조건 확인 모두 false면 TimeoutError
9
+ * // maxCount=3: checks condition up to 3 times, throws TimeoutError if all are false
10
10
  * await waitUntil(() => someCondition, 100, 3);
11
- * @throws TimeoutError 최대 시도 횟수 초과
11
+ * @throws TimeoutError when maximum number of attempts is exceeded
12
12
  */
13
13
  export declare function waitUntil(forwarder: () => boolean | Promise<boolean>, milliseconds?: number, maxCount?: number): Promise<void>;
14
14
  /**
15
- * 지정된 시간만큼 대기
16
- * @param millisecond 대기 시간 (ms)
15
+ * Wait for a specified amount of time
16
+ * @param millisecond Wait time (ms)
17
17
  */
18
18
  export declare function waitTime(millisecond: number): Promise<void>;
19
19
  //# sourceMappingURL=wait.d.ts.map
@@ -1,16 +1,16 @@
1
1
  /**
2
- * XML 변환 유틸리티
2
+ * XML conversion utility
3
3
  */
4
4
  import type { XmlBuilderOptions } from "fast-xml-parser";
5
5
  /**
6
- * XML 문자열을 객체로 파싱
7
- * @param str XML 문자열
8
- * @param options 옵션
9
- * @param options.stripTagPrefix 태그 prefix 제거 여부 (namespace)
10
- * @returns 파싱된 객체. 구조:
11
- * - 속성: `$` 객체에 그룹화
12
- * - 텍스트 노드: `_` 키에 저장
13
- * - 자식 요소: 배열로 변환 (루트 요소 제외)
6
+ * Parse XML string into an object
7
+ * @param str XML string
8
+ * @param options Options
9
+ * @param options.stripTagPrefix Whether to remove tag prefix (namespace)
10
+ * @returns Parsed object. Structure:
11
+ * - Attributes: grouped in `$` object
12
+ * - Text nodes: stored in `_` key
13
+ * - Child elements: converted to array (except root element)
14
14
  * @example
15
15
  * xmlParse('<root id="1"><item>hello</item></root>');
16
16
  * // { root: { $: { id: "1" }, item: [{ _: "hello" }] } }
@@ -19,10 +19,10 @@ export declare function xmlParse(str: string, options?: {
19
19
  stripTagPrefix?: boolean;
20
20
  }): unknown;
21
21
  /**
22
- * 객체를 XML 문자열로 직렬화
23
- * @param obj 직렬화할 객체
24
- * @param options fast-xml-parser XmlBuilderOptions (선택)
25
- * @returns XML 문자열
22
+ * Serialize object to XML string
23
+ * @param obj Object to serialize
24
+ * @param options fast-xml-parser XmlBuilderOptions (optional)
25
+ * @returns XML string
26
26
  * @example
27
27
  * xmlStringify({
28
28
  * root: {
@@ -1 +1 @@
1
- {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/utils/xml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAarF;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAS9E"}
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/utils/xml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAcrF;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAS9E"}
package/dist/utils/xml.js CHANGED
@@ -7,6 +7,7 @@ function xmlParse(str, options) {
7
7
  parseAttributeValue: false,
8
8
  parseTagValue: false,
9
9
  textNodeName: "_",
10
+ htmlEntities: true,
10
11
  isArray: (_tagName, jPath, _isLeafNode, isAttribute) => {
11
12
  return !isAttribute && jPath.split(".").length > 1;
12
13
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/xml.ts"],
4
- "mappings": "AAIA,SAAS,YAAY,iBAAiB;AAiB/B,SAAS,SAAS,KAAa,SAAiD;AACrF,QAAM,SAAS,IAAI,UAAU;AAAA,IAC3B,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,cAAc;AAAA,IACd,SAAS,CAAC,UAAkB,OAAe,aAAsB,gBAAyB;AACxF,aAAO,CAAC,eAAe,MAAM,MAAM,GAAG,EAAE,SAAS;AAAA,IACnD;AAAA,EACF,CAAC,EAAE,MAAM,GAAG;AACZ,UAAO,mCAAS,kBAAiB,eAAe,MAAM,IAAI;AAC5D;AAoBO,SAAS,aAAa,KAAc,SAAqC;AAC9E,SAAO,IAAI,WAAW;AAAA,IACpB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,2BAA2B;AAAA,IAC3B,cAAc;AAAA,IACd,GAAG;AAAA,EACL,CAAC,EAAE,MAAM,GAAG;AACd;AAYA,SAAS,eAAe,KAAuB;AAC7C,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC;AAAA,EAC/C;AAEA,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,UAAM,SAAkC,CAAC;AACzC,UAAM,SAAS;AAEf,eAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,YAAM,QAAQ,OAAO,GAAG;AAGxB,UAAI,QAAQ,KAAK;AACf,eAAO,GAAG,IAAI;AAAA,MAChB,OAAO;AAEL,cAAM,aAAa,IAAI,QAAQ,GAAG;AAClC,cAAM,WAAW,eAAe,KAAK,IAAI,MAAM,aAAa,CAAC,IAAI;AACjE,eAAO,QAAQ,IAAI,eAAe,KAAK;AAAA,MACzC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;",
4
+ "mappings": "AAIA,SAAS,YAAY,iBAAiB;AAiB/B,SAAS,SAAS,KAAa,SAAiD;AACrF,QAAM,SAAS,IAAI,UAAU;AAAA,IAC3B,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,cAAc;AAAA,IACd,cAAc;AAAA,IACd,SAAS,CAAC,UAAkB,OAAe,aAAsB,gBAAyB;AACxF,aAAO,CAAC,eAAe,MAAM,MAAM,GAAG,EAAE,SAAS;AAAA,IACnD;AAAA,EACF,CAAC,EAAE,MAAM,GAAG;AACZ,UAAO,mCAAS,kBAAiB,eAAe,MAAM,IAAI;AAC5D;AAoBO,SAAS,aAAa,KAAc,SAAqC;AAC9E,SAAO,IAAI,WAAW;AAAA,IACpB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,2BAA2B;AAAA,IAC3B,cAAc;AAAA,IACd,GAAG;AAAA,EACL,CAAC,EAAE,MAAM,GAAG;AACd;AAYA,SAAS,eAAe,KAAuB;AAC7C,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC;AAAA,EAC/C;AAEA,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,UAAM,SAAkC,CAAC;AACzC,UAAM,SAAS;AAEf,eAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,YAAM,QAAQ,OAAO,GAAG;AAGxB,UAAI,QAAQ,KAAK;AACf,eAAO,GAAG,IAAI;AAAA,MAChB,OAAO;AAEL,cAAM,aAAa,IAAI,QAAQ,GAAG;AAClC,cAAM,WAAW,eAAe,KAAK,IAAI,MAAM,aAAa,CAAC,IAAI;AACjE,eAAO,QAAQ,IAAI,eAAe,KAAK;AAAA,MACzC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;",
5
5
  "names": []
6
6
  }