@simplysm/sd-claude 14.0.53 → 14.0.55

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 (328) hide show
  1. package/claude/references/sd-simplysm-v14/angular/README.md +164 -291
  2. package/claude/references/sd-simplysm-v14/angular/_api-index.md +250 -0
  3. package/claude/references/sd-simplysm-v14/angular/bootstrap/provide-sd-angular.md +2 -0
  4. package/claude/references/sd-simplysm-v14/angular/bootstrap/sd-angular-config-provider.md +2 -0
  5. package/claude/references/sd-simplysm-v14/angular/directives/sd-command-directive.md +2 -0
  6. package/claude/references/sd-simplysm-v14/angular/directives/sd-events.md +2 -0
  7. package/claude/references/sd-simplysm-v14/angular/directives/sd-intersection-directive.md +2 -0
  8. package/claude/references/sd-simplysm-v14/angular/directives/sd-invalid.md +2 -0
  9. package/claude/references/sd-simplysm-v14/angular/directives/sd-resize-directive.md +2 -0
  10. package/claude/references/sd-simplysm-v14/angular/directives/sd-ripple.md +2 -0
  11. package/claude/references/sd-simplysm-v14/angular/directives/sd-router-link.md +2 -0
  12. package/claude/references/sd-simplysm-v14/angular/directives/sd-show-effect.md +2 -0
  13. package/claude/references/sd-simplysm-v14/angular/directives/sd-typed-template.md +2 -0
  14. package/claude/references/sd-simplysm-v14/angular/features/sd-address-search-modal.md +2 -0
  15. package/claude/references/sd-simplysm-v14/angular/features/sd-permission-table.md +2 -0
  16. package/claude/references/sd-simplysm-v14/angular/features/sd-shared-data-components.md +2 -0
  17. package/claude/references/sd-simplysm-v14/angular/features/sd-tiptap-editor.md +2 -0
  18. package/claude/references/sd-simplysm-v14/angular/pipes/format-pipe.md +2 -0
  19. package/claude/references/sd-simplysm-v14/angular/plugins/sd-global-error-handler.md +2 -0
  20. package/claude/references/sd-simplysm-v14/angular/plugins/sd-option-event-plugin.md +2 -0
  21. package/claude/references/sd-simplysm-v14/angular/provider-types/sd-menu.md +2 -0
  22. package/claude/references/sd-simplysm-v14/angular/provider-types/sd-modal-content-def.md +9 -9
  23. package/claude/references/sd-simplysm-v14/angular/provider-types/sd-toast-content-def.md +2 -0
  24. package/claude/references/sd-simplysm-v14/angular/provider-types/shared-data-base.md +2 -0
  25. package/claude/references/sd-simplysm-v14/angular/providers/sd-activated-modal-provider.md +2 -0
  26. package/claude/references/sd-simplysm-v14/angular/providers/sd-app-structure-provider.md +2 -0
  27. package/claude/references/sd-simplysm-v14/angular/providers/sd-busy-provider.md +2 -0
  28. package/claude/references/sd-simplysm-v14/angular/providers/sd-file-dialog-provider.md +2 -0
  29. package/claude/references/sd-simplysm-v14/angular/providers/sd-local-storage-provider.md +2 -0
  30. package/claude/references/sd-simplysm-v14/angular/providers/sd-modal-provider.md +2 -0
  31. package/claude/references/sd-simplysm-v14/angular/providers/sd-navigate-window-provider.md +2 -0
  32. package/claude/references/sd-simplysm-v14/angular/providers/sd-print-provider.md +2 -0
  33. package/claude/references/sd-simplysm-v14/angular/providers/sd-service-client-factory-provider.md +2 -0
  34. package/claude/references/sd-simplysm-v14/angular/providers/sd-shared-data-provider.md +2 -0
  35. package/claude/references/sd-simplysm-v14/angular/providers/sd-system-config-provider.md +2 -0
  36. package/claude/references/sd-simplysm-v14/angular/providers/sd-system-log-provider.md +2 -0
  37. package/claude/references/sd-simplysm-v14/angular/providers/sd-theme-provider.md +2 -0
  38. package/claude/references/sd-simplysm-v14/angular/providers/sd-toast-provider.md +2 -0
  39. package/claude/references/sd-simplysm-v14/angular/styling/classes.md +2 -0
  40. package/claude/references/sd-simplysm-v14/angular/styling/mixins.md +2 -0
  41. package/claude/references/sd-simplysm-v14/angular/styling/themes.md +2 -0
  42. package/claude/references/sd-simplysm-v14/angular/styling/variables.md +2 -0
  43. package/claude/references/sd-simplysm-v14/angular/type-utilities/directive-input-signals.md +2 -0
  44. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-base-container.md +141 -0
  45. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-crud-detail.md +273 -0
  46. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-crud-list.md +623 -0
  47. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-list.md +2 -0
  48. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-sheet.md +34 -39
  49. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-additional-button.md +2 -0
  50. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-anchor.md +2 -7
  51. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-button.md +2 -11
  52. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox-group.md +2 -0
  53. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox.md +2 -4
  54. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-date-range-picker.md +2 -0
  55. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-form.md +2 -7
  56. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-modal-select-button.md +7 -7
  57. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-numpad.md +2 -0
  58. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-range.md +2 -0
  59. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-select.md +2 -0
  60. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-shared-data-select.md +2 -4
  61. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-state-preset.md +2 -0
  62. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-switch.md +2 -0
  63. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textarea.md +2 -0
  64. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textfield.md +2 -8
  65. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock-container.md +2 -7
  66. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock.md +2 -6
  67. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-gap.md +2 -0
  68. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-board.md +2 -0
  69. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-lane.md +2 -0
  70. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban.md +2 -0
  71. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-collapse.md +2 -0
  72. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-pagination.md +2 -0
  73. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-container.md +2 -0
  74. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-menu.md +2 -0
  75. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-user.md +2 -0
  76. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-tab.md +2 -0
  77. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-container.md +2 -9
  78. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-menu.md +2 -0
  79. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-user.md +2 -0
  80. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar.md +2 -7
  81. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-busy-container.md +2 -5
  82. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-confirm-modal.md +2 -0
  83. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-dropdown.md +2 -0
  84. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-modal.md +2 -0
  85. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-prompt-modal.md +2 -0
  86. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-toast.md +2 -0
  87. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-barcode.md +2 -0
  88. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-calendar.md +2 -0
  89. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-echarts.md +2 -0
  90. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-label.md +2 -0
  91. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-note.md +2 -0
  92. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-progress.md +2 -0
  93. package/claude/references/sd-simplysm-v14/angular/utils/inject-routing-signals.md +3 -16
  94. package/claude/references/sd-simplysm-v14/angular/utils/inject-sd-system-config-resource.md +2 -0
  95. package/claude/references/sd-simplysm-v14/angular/utils/mark.md +2 -5
  96. package/claude/references/sd-simplysm-v14/angular/utils/selection-managers.md +3 -1
  97. package/claude/references/sd-simplysm-v14/angular/utils/set-safe-style.md +2 -0
  98. package/claude/references/sd-simplysm-v14/angular/utils/setup-functions.md +2 -4
  99. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/README.md +16 -18
  100. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/_api-index.md +18 -0
  101. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/apk-installer/apk-installer.md +1 -1
  102. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/auto-update/auto-update.md +1 -1
  103. package/claude/references/sd-simplysm-v14/capacitor-plugin-file-system/README.md +24 -45
  104. package/claude/references/sd-simplysm-v14/core-browser/README.md +22 -29
  105. package/claude/references/sd-simplysm-v14/core-browser/_api-index.md +37 -0
  106. package/claude/references/sd-simplysm-v14/core-browser/extensions/copy-paste.md +1 -1
  107. package/claude/references/sd-simplysm-v14/core-browser/extensions/element-prototype-extensions.md +2 -0
  108. package/claude/references/sd-simplysm-v14/core-browser/extensions/get-bounds.md +1 -1
  109. package/claude/references/sd-simplysm-v14/core-browser/utils/download-blob.md +1 -1
  110. package/claude/references/sd-simplysm-v14/core-browser/utils/fetch-url-bytes.md +1 -1
  111. package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-store.md +1 -1
  112. package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-virtual-fs.md +1 -1
  113. package/claude/references/sd-simplysm-v14/core-browser/utils/open-file-dialog.md +1 -1
  114. package/claude/references/sd-simplysm-v14/core-common/README.md +71 -153
  115. package/claude/references/sd-simplysm-v14/core-common/_api-index.md +70 -0
  116. package/claude/references/sd-simplysm-v14/core-common/errors/argument-error.md +3 -1
  117. package/claude/references/sd-simplysm-v14/core-common/errors/not-implemented-error.md +3 -1
  118. package/claude/references/sd-simplysm-v14/core-common/errors/sd-error.md +3 -1
  119. package/claude/references/sd-simplysm-v14/core-common/errors/timeout-error.md +3 -1
  120. package/claude/references/sd-simplysm-v14/core-common/extensions/array.md +2 -0
  121. package/claude/references/sd-simplysm-v14/core-common/extensions/map.md +2 -0
  122. package/claude/references/sd-simplysm-v14/core-common/extensions/set.md +2 -0
  123. package/claude/references/sd-simplysm-v14/core-common/features/debounce-queue.md +3 -1
  124. package/claude/references/sd-simplysm-v14/core-common/features/event-emitter.md +3 -1
  125. package/claude/references/sd-simplysm-v14/core-common/features/serial-queue.md +3 -1
  126. package/claude/references/sd-simplysm-v14/core-common/type-utils/common-types.md +2 -0
  127. package/claude/references/sd-simplysm-v14/core-common/type-utils/env.md +3 -1
  128. package/claude/references/sd-simplysm-v14/core-common/types/date-only.md +3 -1
  129. package/claude/references/sd-simplysm-v14/core-common/types/date-time.md +9 -1
  130. package/claude/references/sd-simplysm-v14/core-common/types/lazy-gc-map.md +3 -1
  131. package/claude/references/sd-simplysm-v14/core-common/types/time.md +3 -1
  132. package/claude/references/sd-simplysm-v14/core-common/types/uuid.md +3 -1
  133. package/claude/references/sd-simplysm-v14/core-common/utils/bytes.md +3 -1
  134. package/claude/references/sd-simplysm-v14/core-common/utils/dt.md +3 -1
  135. package/claude/references/sd-simplysm-v14/core-common/utils/err.md +3 -1
  136. package/claude/references/sd-simplysm-v14/core-common/utils/json.md +3 -1
  137. package/claude/references/sd-simplysm-v14/core-common/utils/num.md +3 -1
  138. package/claude/references/sd-simplysm-v14/core-common/utils/obj.md +3 -1
  139. package/claude/references/sd-simplysm-v14/core-common/utils/path.md +3 -1
  140. package/claude/references/sd-simplysm-v14/core-common/utils/primitive.md +3 -1
  141. package/claude/references/sd-simplysm-v14/core-common/utils/str.md +3 -1
  142. package/claude/references/sd-simplysm-v14/core-common/utils/template-strings.md +2 -0
  143. package/claude/references/sd-simplysm-v14/core-common/utils/transfer.md +3 -1
  144. package/claude/references/sd-simplysm-v14/core-common/utils/wait.md +3 -1
  145. package/claude/references/sd-simplysm-v14/core-common/utils/xml.md +3 -1
  146. package/claude/references/sd-simplysm-v14/core-common/utils/zip-archive.md +3 -1
  147. package/claude/references/sd-simplysm-v14/core-node/README.md +25 -35
  148. package/claude/references/sd-simplysm-v14/core-node/_api-index.md +34 -0
  149. package/claude/references/sd-simplysm-v14/core-node/features/fs-watcher.md +3 -1
  150. package/claude/references/sd-simplysm-v14/core-node/logging/create-file-reporter.md +3 -1
  151. package/claude/references/sd-simplysm-v14/core-node/logging/pretty-reporter.md +3 -1
  152. package/claude/references/sd-simplysm-v14/core-node/logging/setup-consola.md +3 -1
  153. package/claude/references/sd-simplysm-v14/core-node/utils/cpx.md +3 -1
  154. package/claude/references/sd-simplysm-v14/core-node/utils/fsx.md +3 -1
  155. package/claude/references/sd-simplysm-v14/core-node/utils/pathx.md +3 -1
  156. package/claude/references/sd-simplysm-v14/core-node/worker/create-worker.md +3 -1
  157. package/claude/references/sd-simplysm-v14/core-node/worker/worker.md +3 -1
  158. package/claude/references/sd-simplysm-v14/excel/README.md +35 -49
  159. package/claude/references/sd-simplysm-v14/excel/_api-index.md +40 -0
  160. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-cell.md +3 -1
  161. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-col.md +3 -1
  162. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-row.md +3 -1
  163. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-workbook.md +6 -3
  164. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-worksheet.md +3 -1
  165. package/claude/references/sd-simplysm-v14/excel/types/excel-address-point.md +3 -1
  166. package/claude/references/sd-simplysm-v14/excel/types/excel-style-options.md +3 -1
  167. package/claude/references/sd-simplysm-v14/excel/types/excel-value-type.md +3 -1
  168. package/claude/references/sd-simplysm-v14/excel/utilities/excel-utils.md +3 -1
  169. package/claude/references/sd-simplysm-v14/excel/wrapper/excel-wrapper.md +3 -1
  170. package/claude/references/sd-simplysm-v14/orm-common/README.md +66 -71
  171. package/claude/references/sd-simplysm-v14/orm-common/_api-index.md +59 -0
  172. package/claude/references/sd-simplysm-v14/orm-common/core/db-context.md +3 -1
  173. package/claude/references/sd-simplysm-v14/orm-common/core/db-transaction-error.md +3 -1
  174. package/claude/references/sd-simplysm-v14/orm-common/expression/expr-unit.md +3 -1
  175. package/claude/references/sd-simplysm-v14/orm-common/expression/expr.md +3 -1
  176. package/claude/references/sd-simplysm-v14/orm-common/models/migration.md +3 -1
  177. package/claude/references/sd-simplysm-v14/orm-common/query-builder/create-query-builder.md +3 -1
  178. package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/executable.md +3 -1
  179. package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/parse-search-query.md +3 -1
  180. package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/queryable.md +3 -1
  181. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/column-builder.md +3 -1
  182. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/foreign-key-builder.md +3 -1
  183. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/index-builder.md +3 -1
  184. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/procedure.md +3 -1
  185. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/table.md +3 -1
  186. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/view.md +3 -1
  187. package/claude/references/sd-simplysm-v14/orm-common/types/data-type.md +3 -1
  188. package/claude/references/sd-simplysm-v14/orm-common/types/dialect.md +3 -1
  189. package/claude/references/sd-simplysm-v14/orm-common/types/expr.md +3 -1
  190. package/claude/references/sd-simplysm-v14/orm-common/types/parse-query-result.md +3 -1
  191. package/claude/references/sd-simplysm-v14/orm-common/types/query-def.md +3 -1
  192. package/claude/references/sd-simplysm-v14/orm-node/README.md +27 -28
  193. package/claude/references/sd-simplysm-v14/orm-node/_api-index.md +29 -0
  194. package/claude/references/sd-simplysm-v14/orm-node/connections/mssql-db-conn.md +2 -0
  195. package/claude/references/sd-simplysm-v14/orm-node/connections/mysql-db-conn.md +2 -0
  196. package/claude/references/sd-simplysm-v14/orm-node/connections/postgresql-db-conn.md +2 -0
  197. package/claude/references/sd-simplysm-v14/orm-node/core/create-db-conn.md +2 -0
  198. package/claude/references/sd-simplysm-v14/orm-node/core/create-orm.md +2 -0
  199. package/claude/references/sd-simplysm-v14/orm-node/core/node-db-context-executor.md +2 -0
  200. package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-config.md +2 -0
  201. package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-constants.md +2 -0
  202. package/claude/references/sd-simplysm-v14/orm-node/types/db-conn.md +2 -0
  203. package/claude/references/sd-simplysm-v14/orm-node/types/get-dialect-from-config.md +2 -0
  204. package/claude/references/sd-simplysm-v14/sd-claude/README.md +26 -65
  205. package/claude/references/sd-simplysm-v14/sd-claude/_api-index.md +39 -0
  206. package/claude/references/sd-simplysm-v14/sd-claude/assets.md +2 -0
  207. package/claude/references/sd-simplysm-v14/sd-claude/cli.md +3 -1
  208. package/claude/references/sd-simplysm-v14/sd-claude/hooks.md +11 -7
  209. package/claude/references/sd-simplysm-v14/sd-claude/scripts.md +2 -0
  210. package/claude/references/sd-simplysm-v14/sd-cli/README.md +48 -119
  211. package/claude/references/sd-simplysm-v14/sd-cli/_api-index.md +49 -0
  212. package/claude/references/sd-simplysm-v14/sd-cli/angular-vite-plugin/sd-angular-plugin.md +3 -1
  213. package/claude/references/sd-simplysm-v14/sd-cli/config/build-target.md +3 -1
  214. package/claude/references/sd-simplysm-v14/sd-cli/config/npm-config.md +3 -1
  215. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-browser-support-config.md +3 -1
  216. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-build-package-config.md +4 -2
  217. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-capacitor-config.md +3 -1
  218. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-client-package-config.md +4 -2
  219. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-config.md +4 -2
  220. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-electron-config.md +3 -1
  221. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-package-config.md +3 -1
  222. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-post-publish-script-config.md +3 -1
  223. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-publish-config.md +3 -1
  224. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-pwa-config.md +3 -1
  225. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-scripts-package-config.md +4 -2
  226. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-server-package-config.md +4 -2
  227. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-watch-hook-config.md +3 -1
  228. package/claude/references/sd-simplysm-v14/sd-cli/ts-compiler/sd-ts-compiler.md +3 -1
  229. package/claude/references/sd-simplysm-v14/service-client/README.md +33 -42
  230. package/claude/references/sd-simplysm-v14/service-client/_api-index.md +58 -0
  231. package/claude/references/sd-simplysm-v14/service-client/features/event-client.md +1 -1
  232. package/claude/references/sd-simplysm-v14/service-client/features/file-client.md +1 -1
  233. package/claude/references/sd-simplysm-v14/service-client/features/orm-client-connector.md +1 -1
  234. package/claude/references/sd-simplysm-v14/service-client/features/orm-client-db-context-executor.md +1 -1
  235. package/claude/references/sd-simplysm-v14/service-client/main/service-client.md +1 -1
  236. package/claude/references/sd-simplysm-v14/service-client/protocol/client-protocol-wrapper.md +1 -1
  237. package/claude/references/sd-simplysm-v14/service-client/transport/service-transport.md +1 -1
  238. package/claude/references/sd-simplysm-v14/service-client/transport/socket-provider.md +1 -1
  239. package/claude/references/sd-simplysm-v14/service-client/types/blob-input.md +2 -2
  240. package/claude/references/sd-simplysm-v14/service-client/types/browser-worker.md +2 -2
  241. package/claude/references/sd-simplysm-v14/service-client/types/file-collection.md +2 -2
  242. package/claude/references/sd-simplysm-v14/service-client/types/service-connection-options.md +2 -2
  243. package/claude/references/sd-simplysm-v14/service-client/types/service-progress.md +2 -2
  244. package/claude/references/sd-simplysm-v14/service-common/README.md +34 -127
  245. package/claude/references/sd-simplysm-v14/service-common/_api-index.md +51 -0
  246. package/claude/references/sd-simplysm-v14/service-common/app-structure/app-structure-item.md +3 -1
  247. package/claude/references/sd-simplysm-v14/service-common/app-structure/get-flat-permissions.md +7 -1
  248. package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules-chain.md +3 -1
  249. package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules.md +3 -1
  250. package/claude/references/sd-simplysm-v14/service-common/events/define-event.md +7 -1
  251. package/claude/references/sd-simplysm-v14/service-common/protocol/create-service-protocol.md +8 -1
  252. package/claude/references/sd-simplysm-v14/service-common/protocol/protocol-config.md +3 -1
  253. package/claude/references/sd-simplysm-v14/service-common/protocol/service-add-event-listener-message.md +3 -1
  254. package/claude/references/sd-simplysm-v14/service-common/protocol/service-auth-message.md +3 -1
  255. package/claude/references/sd-simplysm-v14/service-common/protocol/service-emit-event-message.md +3 -1
  256. package/claude/references/sd-simplysm-v14/service-common/protocol/service-error-message.md +3 -1
  257. package/claude/references/sd-simplysm-v14/service-common/protocol/service-event-message.md +3 -1
  258. package/claude/references/sd-simplysm-v14/service-common/protocol/service-get-event-listener-infos-message.md +3 -1
  259. package/claude/references/sd-simplysm-v14/service-common/protocol/service-message.md +3 -1
  260. package/claude/references/sd-simplysm-v14/service-common/protocol/service-progress-message.md +3 -1
  261. package/claude/references/sd-simplysm-v14/service-common/protocol/service-remove-event-listener-message.md +3 -1
  262. package/claude/references/sd-simplysm-v14/service-common/protocol/service-request-message.md +3 -1
  263. package/claude/references/sd-simplysm-v14/service-common/protocol/service-response-message.md +3 -1
  264. package/claude/references/sd-simplysm-v14/service-common/service-types/app-structure-service.md +3 -1
  265. package/claude/references/sd-simplysm-v14/service-common/service-types/auto-update-service.md +3 -1
  266. package/claude/references/sd-simplysm-v14/service-common/service-types/orm-service.md +3 -1
  267. package/claude/references/sd-simplysm-v14/service-common/types/service-upload-result.md +3 -1
  268. package/claude/references/sd-simplysm-v14/service-server/README.md +50 -135
  269. package/claude/references/sd-simplysm-v14/service-server/_api-index.md +87 -0
  270. package/claude/references/sd-simplysm-v14/service-server/auth/auth-token-payload.md +3 -1
  271. package/claude/references/sd-simplysm-v14/service-server/auth/sign-jwt.md +3 -1
  272. package/claude/references/sd-simplysm-v14/service-server/auth/verify-jwt.md +3 -1
  273. package/claude/references/sd-simplysm-v14/service-server/core/auth.md +3 -1
  274. package/claude/references/sd-simplysm-v14/service-server/core/define-service.md +3 -1
  275. package/claude/references/sd-simplysm-v14/service-server/core/execute-service-method.md +3 -1
  276. package/claude/references/sd-simplysm-v14/service-server/core/service-context.md +3 -1
  277. package/claude/references/sd-simplysm-v14/service-server/legacy/handle-v1-connection.md +3 -1
  278. package/claude/references/sd-simplysm-v14/service-server/main/create-service-server.md +3 -1
  279. package/claude/references/sd-simplysm-v14/service-server/main/service-server.md +3 -1
  280. package/claude/references/sd-simplysm-v14/service-server/protocol/server-protocol-wrapper.md +3 -1
  281. package/claude/references/sd-simplysm-v14/service-server/services/app-structure-service.md +3 -1
  282. package/claude/references/sd-simplysm-v14/service-server/services/auto-update-service.md +3 -1
  283. package/claude/references/sd-simplysm-v14/service-server/services/orm-service.md +3 -1
  284. package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-http-request.md +3 -1
  285. package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-static-file.md +3 -1
  286. package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-upload.md +3 -1
  287. package/claude/references/sd-simplysm-v14/service-server/transport-socket/service-socket.md +3 -1
  288. package/claude/references/sd-simplysm-v14/service-server/transport-socket/websocket-handler.md +3 -1
  289. package/claude/references/sd-simplysm-v14/service-server/types/service-server-options.md +3 -1
  290. package/claude/references/sd-simplysm-v14/service-server/utils/get-config.md +3 -1
  291. package/claude/references/sd-simplysm-v14/storage/README.md +17 -80
  292. package/claude/references/sd-simplysm-v14/storage/_api-index.md +26 -0
  293. package/claude/references/sd-simplysm-v14/storage/clients/ftp-storage-client.md +3 -1
  294. package/claude/references/sd-simplysm-v14/storage/clients/sftp-storage-client.md +3 -1
  295. package/claude/references/sd-simplysm-v14/storage/factory/storage-factory.md +1 -1
  296. package/claude/references/sd-simplysm-v14/storage/types/file-info.md +3 -1
  297. package/claude/references/sd-simplysm-v14/storage/types/storage-client.md +2 -0
  298. package/claude/references/sd-simplysm-v14/storage/types/storage-conn-config.md +3 -1
  299. package/claude/rules/sd-claude-rules.md +1 -1
  300. package/claude/skills/sd-dev/SKILL.md +62 -8
  301. package/claude/skills/sd-dev/subagent-preamble.md +22 -0
  302. package/package.json +1 -1
  303. package/claude/references/sd-simplysm-v14/angular/recipes/_common-rules.md +0 -336
  304. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-a-edit-save.md +0 -191
  305. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-b-delete-restore.md +0 -103
  306. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-c-modal-view.md +0 -198
  307. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-d-control-view.md +0 -109
  308. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-e-auxiliary.md +0 -87
  309. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-f-complex-detail.md +0 -202
  310. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail.md +0 -280
  311. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-a-inline-edit.md +0 -386
  312. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-b-selection.md +0 -215
  313. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-c-inline-delete.md +0 -64
  314. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-d-select-modal.md +0 -193
  315. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-e-readonly-modal.md +0 -140
  316. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-f-modal-edit.md +0 -123
  317. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-g-excel.md +0 -145
  318. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list.md +0 -377
  319. package/claude/references/sd-simplysm-v14/angular/recipes/data-select-button.md +0 -368
  320. package/claude/references/sd-simplysm-v14/angular/recipes/page-modal-container.md +0 -238
  321. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-content-type-data.md +0 -23
  322. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-drawing-data.md +0 -29
  323. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-relationship-data.md +0 -39
  324. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-shared-string-data.md +0 -42
  325. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-style-data.md +0 -97
  326. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-workbook-data.md +0 -22
  327. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-worksheet-data.md +0 -68
  328. package/claude/references/sd-simplysm-v14/excel/types/excel-xml.md +0 -15
@@ -1,6 +1,6 @@
1
1
  # @simplysm/core-common
2
2
 
3
- 브라우저와 Node.js 모두에서 사용 가능한 순수 공통 유틸리티 패키지. 다른 `@simplysm/*` 패키지에 대한 내부 의존성이 없는 리프 패키지다.
3
+ > 브라우저와 Node.js 모두에서 사용 가능한 순수 공통 유틸리티 패키지. 다른 `@simplysm/*` 패키지에 대한 내부 의존성이 없는 리프 패키지다. 에러 클래스, 값 타입(`DateTime`, `Uuid` 등), 프로토타입 확장(`Array`, `Map`, `Set`), 비동기 큐, 네임스페이스 유틸리티 함수를 제공한다.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,172 +8,90 @@
8
8
  npm install @simplysm/core-common
9
9
  ```
10
10
 
11
- ## 하려는 작업 → 먼저 읽을 파일
12
-
13
- | 작업 | 먼저 읽을 파일 |
14
- |------|----------------|
15
- | 날짜/시간 연산 | [DateTime](./types/date-time.md), [DateOnly](./types/date-only.md), [Time](./types/time.md) |
16
- | 배열 필터/정렬/그룹화/비교 | [Array Extensions](./extensions/array.md) |
17
- | 객체 복사/비교/병합 | [obj](./utils/obj.md) |
18
- | JSON 직렬화 (커스텀 타입 포함) | [json](./utils/json.md) |
19
- | 에러 체인 구성 | [SdError](./errors/sd-error.md) |
20
- | 이벤트 기반 통신 | [EventEmitter](./features/event-emitter.md) |
21
- | 비동기 제어 (디바운스/직렬) | [DebounceQueue](./features/debounce-queue.md), [SerialQueue](./features/serial-queue.md) |
22
- | UUID 생성 | [Uuid](./types/uuid.md) |
23
- | 환경변수 접근 | [env](./type-utils/env.md) |
24
- | Worker 간 데이터 전송 | [transfer](./utils/transfer.md) |
25
- | ZIP 파일 처리 | [ZipArchive](./utils/zip-archive.md) |
26
- | 바이너리 변환 (hex/base64) | [bytes](./utils/bytes.md) |
27
- | 문자열 케이스 변환/한국어 조사 | [str](./utils/str.md) |
28
- | 자동 만료 캐시 | [LazyGcMap](./types/lazy-gc-map.md) |
29
-
30
- ## API Overview
31
-
32
- ### Errors
33
-
34
- | Entry | Kind | 언제 쓰나 |
35
- |-------|------|-----------|
36
- | [`SdError`](./errors/sd-error.md) | class | 원인 에러를 감싸 트리 구조 에러 체인을 구성할 때 |
37
- | [`ArgumentError`](./errors/argument-error.md) | class | 인자 유효성 오류를 YAML 형식 메시지로 표시할 때 |
38
- | [`NotImplementedError`](./errors/not-implemented-error.md) | class | 미구현 기능이 호출되었음을 표시할 때 |
39
- | [`TimeoutError`](./errors/timeout-error.md) | class | 대기 시간 초과를 시도 횟수와 함께 표시할 때 |
40
-
41
- ### Types (Value Objects)
42
-
43
- | Entry | Kind | 언제 쓰나 |
44
- |-------|------|-----------|
45
- | [`DateTime`](./types/date-time.md) | class | 날짜+시간을 불변 객체로 다룰 때 (밀리초 정밀도, 로컬 타임존) |
46
- | [`DateOnly`](./types/date-only.md) | class | 시간 없이 날짜만 다룰 때 (주차 계산 지원) |
47
- | [`Time`](./types/time.md) | class | 날짜 없이 시간만 다룰 때 (24시간 순환) |
48
- | [`Uuid`](./types/uuid.md) | class | UUID v4를 생성하거나 검증할 때 |
49
- | [`LazyGcMap`](./types/lazy-gc-map.md) | class | 일정 시간 미접근 항목을 자동 삭제하는 캐시가 필요할 때 |
50
-
51
- ### Features
52
-
53
- | Entry | Kind | 언제 쓰나 |
54
- |-------|------|-----------|
55
- | [`EventEmitter`](./features/event-emitter.md) | class | 타입 안전한 이벤트 기반 통신이 필요할 때 (`events`/`eventemitter3` 대체) |
56
- | [`DebounceQueue`](./features/debounce-queue.md) | class | 짧은 시간 내 다수 호출을 마지막 하나로 축약할 때 |
57
- | [`SerialQueue`](./features/serial-queue.md) | class | 비동기 작업의 순차 실행을 보장할 때 |
58
-
59
- ### Extensions (Prototype)
60
-
61
- `@simplysm/core-common`을 import하면 `Array`, `Map`, `Set` 프로토타입 확장이 자동 등록된다.
62
-
63
- | Entry | 언제 쓰나 |
64
- |-------|-----------|
65
- | [`Array Extensions`](./extensions/array.md) | 배열 필터/정렬/그룹화/비교/변환이 필요할 때 |
66
- | [`Map Extensions`](./extensions/map.md) | Map에서 기본값 생성(`getOrCreate`) 또는 값 업데이트(`update`)가 필요할 때 |
67
- | [`Set Extensions`](./extensions/set.md) | Set에 여러 값 일괄 추가(`adds`) 또는 토글(`toggle`)이 필요할 때 |
68
-
69
- ### Utils (Namespace Imports)
70
-
71
- ```typescript
72
- import { obj, str, num, bytes, path, json, xml, wait, transfer, err, dt, primitive } from "@simplysm/core-common";
73
- ```
11
+ ## 하려는 작업 → 읽을 파일
74
12
 
75
- | Entry | Kind | 언제 쓰나 |
76
- |-------|------|-----------|
77
- | [`obj`](./utils/obj.md) | namespace | 객체 깊은 복사/비교/병합, key 조작, 체인 경로 접근이 필요할 때 |
78
- | [`str`](./utils/str.md) | namespace | 한국어 조사 처리, 케이스 변환, 전각→반각 변환이 필요할 때 |
79
- | [`num`](./utils/num.md) | namespace | 문자열→숫자 파싱, 숫자 포맷이 필요할 때 |
80
- | [`bytes`](./utils/bytes.md) | namespace | Uint8Array ↔ hex/base64 변환, 결합이 필요할 때 |
81
- | [`path`](./utils/path.md) | namespace | POSIX 경로 결합/파일명 추출이 필요할 때 (브라우저 환경용) |
82
- | [`json`](./utils/json.md) | namespace | DateTime/Uuid 등 커스텀 타입을 포함한 JSON 직렬화/역직렬화가 필요할 때 |
83
- | [`xml`](./utils/xml.md) | namespace | XML 파싱/직렬화가 필요할 때 |
84
- | [`wait`](./utils/wait.md) | namespace | 조건 대기(`until`) 또는 시간 대기(`time`)가 필요할 때 |
85
- | [`transfer`](./utils/transfer.md) | namespace | Worker 간 커스텀 타입 데이터 전송이 필요할 때 |
86
- | [`err`](./utils/err.md) | namespace | catch 블록의 unknown 에러에서 메시지를 추출할 때 |
87
- | [`dt`](./utils/dt.md) | namespace | 날짜/시간 포맷 문자열 변환, 월 정규화가 필요할 때 |
88
- | [`primitive`](./utils/primitive.md) | namespace | 런타임에 값의 PrimitiveTypeStr을 추론할 때 |
89
-
90
- ### Utils (Direct Exports)
91
-
92
- | Entry | Kind | 언제 쓰나 |
93
- |-------|------|-----------|
94
- | [`js`, `ts`, `html`, `tsql`, `mysql`, `pgsql`](./utils/template-strings.md) | function | IDE 코드 하이라이팅이 필요한 태그드 템플릿 리터럴을 작성할 때 |
95
- | [`ZipArchive`](./utils/zip-archive.md) | class | ZIP 파일 읽기/쓰기/압축/해제가 필요할 때 |
96
-
97
- ### Type Utilities
98
-
99
- | Entry | Kind | 언제 쓰나 |
100
- |-------|------|-----------|
101
- | [`env`, `parseBoolEnv`](./type-utils/env.md) | function | 환경변수를 읽거나 쓸 때 (`process.env`/`import.meta.env` 직접 접근 대신) |
102
- | [`Bytes`, `PrimitiveTypeMap`, `PrimitiveTypeStr`, `PrimitiveType`, `DeepPartial`, `Type`](./type-utils/common-types.md) | type/interface | 공용 타입 정의가 필요할 때 |
103
-
104
- ## Usage Examples
105
-
106
- ### 프로토타입 확장 사용
107
-
108
- ```typescript
109
- import "@simplysm/core-common";
110
-
111
- const users = [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }];
112
- const user = users.single((u) => u.id === 1);
113
- const grouped = users.groupBy((u) => u.name[0]);
114
- const sorted = users.orderBy((u) => u.name);
115
- const diffs = newUsers.diffs(oldUsers, { keys: ["id"] });
116
-
117
- const cache = new Map<string, number[]>();
118
- const arr = cache.getOrCreate("key", []);
119
-
120
- const set = new Set<string>();
121
- set.adds("a", "b", "c");
122
- ```
13
+ ### 날짜·시간 다루기
123
14
 
124
- ### 에러 체인 처리
15
+ | 하려는 작업 | 읽을 파일 |
16
+ |-------------|-----------|
17
+ | 날짜+시간을 불변 객체로 다루기 (파싱, 포맷, 산술 연산) | [date-time.md](./types/date-time.md) |
18
+ | 시간 없이 날짜만 다루기 (주차 계산 포함) | [date-only.md](./types/date-only.md) |
19
+ | 날짜 없이 시간만 다루기 (24시간 순환) | [time.md](./types/time.md) |
20
+ | 날짜/시간 포맷 문자열 변환, 월 정규화 | [dt.md](./utils/dt.md) |
125
21
 
126
- ```typescript
127
- import { SdError } from "@simplysm/core-common";
22
+ ### 컬렉션 조작
128
23
 
129
- try {
130
- await fetch(url);
131
- } catch (err) {
132
- throw new SdError(err, "API 호출 실패", "사용자 로드 실패");
133
- // message: "사용자 로드 실패 => API 호출 실패 => 원본 에러 메시지"
134
- }
135
- ```
24
+ | 하려는 작업 | 읽을 파일 |
25
+ |-------------|-----------|
26
+ | 배열 필터/정렬/그룹화/비교/변환 | [array.md](./extensions/array.md) |
27
+ | Map에서 기본값 생성(`getOrCreate`) 또는 업데이트(`update`) | [map.md](./extensions/map.md) |
28
+ | Set에 여러 일괄 추가(`adds`) 또는 토글(`toggle`) | [set.md](./extensions/set.md) |
136
29
 
137
- ### 네임스페이스 유틸리티 사용
30
+ ### 객체 조작
138
31
 
139
- ```typescript
140
- import { obj, str, json, DateTime, Uuid } from "@simplysm/core-common";
32
+ | 하려는 작업 | 읽을 파일 |
33
+ |-------------|-----------|
34
+ | 객체 깊은 복사/비교/병합, 3-way 병합, key 조작, 체인 경로 접근 | [obj.md](./utils/obj.md) |
141
35
 
142
- const copied = obj.clone({ nested: { data: [1, 2, 3] } });
143
- const isEqual = obj.equal(a, b, { topLevelExcludes: ["updatedAt"] });
144
- const noId = obj.omit(user, ["id"]);
36
+ ### 직렬화·변환
145
37
 
146
- const suffix = str.getKoreanSuffix("파일", "을"); // "을"
147
- const camel = str.toCamelCase("HelloWorld"); // "helloWorld"
38
+ | 하려는 작업 | 읽을 파일 |
39
+ |-------------|-----------|
40
+ | DateTime/Uuid 등 커스텀 타입을 포함한 JSON 직렬화/역직렬화 | [json.md](./utils/json.md) |
41
+ | Worker 간 커스텀 타입 데이터 전송 (직렬화/역직렬화) | [transfer.md](./utils/transfer.md) |
42
+ | XML 파싱/직렬화 | [xml.md](./utils/xml.md) |
43
+ | ZIP 파일 읽기/쓰기/압축/해제 | [zip-archive.md](./utils/zip-archive.md) |
44
+ | Uint8Array ↔ hex/base64 변환, 결합 | [bytes.md](./utils/bytes.md) |
148
45
 
149
- const serialized = json.stringify({ date: new DateTime(), id: Uuid.generate() });
150
- const restored = json.parse(serialized); // DateTime, Uuid 타입 복원됨
151
- ```
46
+ ### 에러 처리
152
47
 
153
- ### 비동기 사용
48
+ | 하려는 작업 | 읽을 파일 |
49
+ |-------------|-----------|
50
+ | 원인 에러를 감싸 트리 구조 에러 체인을 구성 | [sd-error.md](./errors/sd-error.md) |
51
+ | 인자 유효성 오류를 YAML 형식 메시지로 표시 | [argument-error.md](./errors/argument-error.md) |
52
+ | 미구현 기능 호출 표시 | [not-implemented-error.md](./errors/not-implemented-error.md) |
53
+ | 대기 시간 초과 표시 | [timeout-error.md](./errors/timeout-error.md) |
54
+ | catch 블록의 unknown 에러에서 메시지 추출 | [err.md](./utils/err.md) |
154
55
 
155
- ```typescript
156
- import { DebounceQueue, SerialQueue } from "@simplysm/core-common";
56
+ ### 이벤트·비동기 제어
157
57
 
158
- const dq = new DebounceQueue(300);
159
- dq.on("error", (err) => console.error(err));
160
- dq.run(() => saveData());
58
+ | 하려는 작업 | 읽을 파일 |
59
+ |-------------|-----------|
60
+ | 타입 안전한 이벤트 기반 통신 (`events`/`eventemitter3` 대체) | [event-emitter.md](./features/event-emitter.md) |
61
+ | 짧은 시간 내 다수 호출을 마지막 하나로 축약 | [debounce-queue.md](./features/debounce-queue.md) |
62
+ | 비동기 작업의 순차 실행 보장 | [serial-queue.md](./features/serial-queue.md) |
161
63
 
162
- const sq = new SerialQueue();
163
- sq.run(async () => await step1());
164
- sq.run(async () => await step2()); // step1 완료 후 실행
165
- ```
64
+ ### 식별자·캐시
166
65
 
167
- ### DateTime 사용
66
+ | 하려는 작업 | 읽을 파일 |
67
+ |-------------|-----------|
68
+ | UUID v4 생성 또는 검증 | [uuid.md](./types/uuid.md) |
69
+ | 일정 시간 미접근 항목을 자동 삭제하는 캐시 | [lazy-gc-map.md](./types/lazy-gc-map.md) |
168
70
 
169
- ```typescript
170
- import { DateTime, DateOnly, Time, Uuid } from "@simplysm/core-common";
71
+ ### 문자열·숫자 처리
171
72
 
172
- const now = new DateTime();
173
- const parsed = DateTime.parse("2025-01-15 10:30:00");
174
- const formatted = now.toFormatString("yyyy-MM-dd HH:mm:ss");
175
- const nextMonth = now.addMonths(1);
73
+ | 하려는 작업 | 읽을 파일 |
74
+ |-------------|-----------|
75
+ | 한국어 조사 처리, 케이스 변환, 전각→반각 변환 | [str.md](./utils/str.md) |
76
+ | 문자열→숫자 파싱, 숫자 포맷 | [num.md](./utils/num.md) |
77
+ | IDE 코드 하이라이팅이 필요한 태그드 템플릿 리터럴 | [template-strings.md](./utils/template-strings.md) |
176
78
 
177
- const today = new DateOnly();
178
- const id = Uuid.generate();
179
- ```
79
+ ### 환경·경로·타입
80
+
81
+ | 하려는 작업 | 읽을 파일 |
82
+ |-------------|-----------|
83
+ | 환경변수 읽기/쓰기 (`process.env`/`import.meta.env` 직접 접근 대신) | [env.md](./type-utils/env.md) |
84
+ | POSIX 경로 결합/파일명 추출 (브라우저 환경용) | [path.md](./utils/path.md) |
85
+ | 조건 대기(`until`) 또는 시간 대기(`time`) | [wait.md](./utils/wait.md) |
86
+ | 런타임에 값의 PrimitiveTypeStr 추론 | [primitive.md](./utils/primitive.md) |
87
+ | 공용 타입 정의 (`Bytes`, `PrimitiveType`, `DeepPartial`, `Type`) | [common-types.md](./type-utils/common-types.md) |
88
+
89
+ ## 이 패키지를 쓰지 말아야 할 때
90
+
91
+ - 브라우저 전용 API (DOM, `window` 등) → `@simplysm/core-browser`
92
+ - Node.js 전용 파일 시스템/프로세스 → `@simplysm/core-node`
93
+ - 서버/클라이언트 통신 → `@simplysm/service-server`, `@simplysm/service-client`
94
+
95
+ ---
96
+
97
+ > API 이름으로 검색: [_api-index.md](./_api-index.md)
@@ -0,0 +1,70 @@
1
+ # API Index — @simplysm/core-common
2
+
3
+ > API 이름을 알고 있을 때 해당 문서를 찾는 인덱스.
4
+ > 작업 기반으로 찾으려면 [README.md](./README.md) 참조.
5
+
6
+ ## Errors
7
+
8
+ | API | Kind | 문서 | 언제 쓰나 |
9
+ |-----|------|------|-----------|
10
+ | `SdError` | class | [sd-error.md](./errors/sd-error.md) | 원인 에러를 감싸 트리 구조 에러 체인을 구성할 때 |
11
+ | `ArgumentError` | class | [argument-error.md](./errors/argument-error.md) | 인자 유효성 오류를 YAML 형식 메시지로 표시할 때 |
12
+ | `NotImplementedError` | class | [not-implemented-error.md](./errors/not-implemented-error.md) | 미구현 기능이 호출되었음을 표시할 때 |
13
+ | `TimeoutError` | class | [timeout-error.md](./errors/timeout-error.md) | 대기 시간 초과를 시도 횟수와 함께 표시할 때 |
14
+
15
+ ## Types (Value Objects)
16
+
17
+ | API | Kind | 문서 | 언제 쓰나 |
18
+ |-----|------|------|-----------|
19
+ | `DateTime` | class | [date-time.md](./types/date-time.md) | 날짜+시간을 불변 객체로 다룰 때 (밀리초 정밀도, 로컬 타임존) |
20
+ | `DateOnly` | class | [date-only.md](./types/date-only.md) | 시간 없이 날짜만 다룰 때 (주차 계산 지원) |
21
+ | `Time` | class | [time.md](./types/time.md) | 날짜 없이 시간만 다룰 때 (24시간 순환) |
22
+ | `Uuid` | class | [uuid.md](./types/uuid.md) | UUID v4를 생성하거나 검증할 때 |
23
+ | `LazyGcMap` | class | [lazy-gc-map.md](./types/lazy-gc-map.md) | 일정 시간 미접근 항목을 자동 삭제하는 캐시가 필요할 때 |
24
+
25
+ ## Features
26
+
27
+ | API | Kind | 문서 | 언제 쓰나 |
28
+ |-----|------|------|-----------|
29
+ | `EventEmitter` | class | [event-emitter.md](./features/event-emitter.md) | 타입 안전한 이벤트 기반 통신이 필요할 때 |
30
+ | `DebounceQueue` | class | [debounce-queue.md](./features/debounce-queue.md) | 짧은 시간 내 다수 호출을 마지막 하나로 축약할 때 |
31
+ | `SerialQueue` | class | [serial-queue.md](./features/serial-queue.md) | 비동기 작업의 순차 실행을 보장할 때 |
32
+
33
+ ## Extensions (Prototype)
34
+
35
+ | API | Kind | 문서 | 언제 쓰나 |
36
+ |-----|------|------|-----------|
37
+ | `Array Extensions` | prototype | [array.md](./extensions/array.md) | 배열 필터/정렬/그룹화/비교/변환이 필요할 때 |
38
+ | `Map Extensions` | prototype | [map.md](./extensions/map.md) | Map에서 기본값 생성 또는 값 업데이트가 필요할 때 |
39
+ | `Set Extensions` | prototype | [set.md](./extensions/set.md) | Set에 여러 값 일괄 추가 또는 토글이 필요할 때 |
40
+
41
+ ## Utils (Namespace Imports)
42
+
43
+ | API | Kind | 문서 | 언제 쓰나 |
44
+ |-----|------|------|-----------|
45
+ | `obj` | namespace | [obj.md](./utils/obj.md) | 객체 깊은 복사/비교/병합, key 조작이 필요할 때 |
46
+ | `str` | namespace | [str.md](./utils/str.md) | 한국어 조사 처리, 케이스 변환이 필요할 때 |
47
+ | `num` | namespace | [num.md](./utils/num.md) | 문자열→숫자 파싱, 숫자 포맷이 필요할 때 |
48
+ | `bytes` | namespace | [bytes.md](./utils/bytes.md) | Uint8Array ↔ hex/base64 변환이 필요할 때 |
49
+ | `path` | namespace | [path.md](./utils/path.md) | POSIX 경로 결합/파일명 추출이 필요할 때 |
50
+ | `json` | namespace | [json.md](./utils/json.md) | 커스텀 타입 포함 JSON 직렬화/역직렬화가 필요할 때 |
51
+ | `xml` | namespace | [xml.md](./utils/xml.md) | XML 파싱/직렬화가 필요할 때 |
52
+ | `wait` | namespace | [wait.md](./utils/wait.md) | 조건 대기 또는 시간 대기가 필요할 때 |
53
+ | `transfer` | namespace | [transfer.md](./utils/transfer.md) | Worker 간 커스텀 타입 데이터 전송이 필요할 때 |
54
+ | `err` | namespace | [err.md](./utils/err.md) | catch 블록의 unknown 에러에서 메시지 추출할 때 |
55
+ | `dt` | namespace | [dt.md](./utils/dt.md) | 날짜/시간 포맷 문자열 변환이 필요할 때 |
56
+ | `primitive` | namespace | [primitive.md](./utils/primitive.md) | 런타임에 값의 PrimitiveTypeStr을 추론할 때 |
57
+
58
+ ## Utils (Direct Exports)
59
+
60
+ | API | Kind | 문서 | 언제 쓰나 |
61
+ |-----|------|------|-----------|
62
+ | `js`, `ts`, `html`, `tsql`, `mysql`, `pgsql` | function | [template-strings.md](./utils/template-strings.md) | IDE 코드 하이라이팅이 필요한 태그드 템플릿 리터럴을 작성할 때 |
63
+ | `ZipArchive` | class | [zip-archive.md](./utils/zip-archive.md) | ZIP 파일 읽기/쓰기/압축/해제가 필요할 때 |
64
+
65
+ ## Type Utilities
66
+
67
+ | API | Kind | 문서 | 언제 쓰나 |
68
+ |-----|------|------|-----------|
69
+ | `env`, `parseBoolEnv` | function | [env.md](./type-utils/env.md) | 환경변수를 읽거나 쓸 때 |
70
+ | `Bytes`, `PrimitiveTypeMap`, `PrimitiveTypeStr`, `PrimitiveType`, `DeepPartial`, `Type` | type | [common-types.md](./type-utils/common-types.md) | 공용 타입 정의가 필요할 때 |
@@ -1,4 +1,6 @@
1
- # ArgumentError
1
+ # `ArgumentError`
2
+
3
+ > **읽어야 하는 상황**: 유효하지 않은 인자를 전달받았을 때 인자 객체를 YAML 형식으로 메시지에 포함하여 디버깅을 용이하게 할 때.
2
4
 
3
5
  인자 유효성 오류. 유효하지 않은 인자를 전달받았을 때 발생하는 에러. 디버깅을 용이하게 하기 위해 인자 객체를 YAML 형식으로 메시지에 포함한다. [`SdError`](./sd-error.md)를 상속한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # NotImplementedError
1
+ # `NotImplementedError`
2
+
3
+ > **읽어야 하는 상황**: 아직 구현되지 않은 기능이 호출되었음을 표시할 때. 추상 메서드 스텁, 향후 구현 예정인 분기에 사용.
2
4
 
3
5
  미구현 오류. 아직 구현되지 않은 기능이 호출되었을 때 발생하는 에러. 추상 메서드 스텁, 향후 구현 예정인 분기 등에 사용된다. [`SdError`](./sd-error.md)를 상속한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # SdError
1
+ # `SdError`
2
+
3
+ > **읽어야 하는 상황**: 원인 에러를 감싸 트리 구조 에러 체인을 구성해야 할 때. 인자 오류는 [`ArgumentError`](./argument-error.md), 타임아웃은 [`TimeoutError`](./timeout-error.md) 참조.
2
4
 
3
5
  트리 구조 조합을 지원하는 에러 클래스. 원인 에러를 감싸서 계층적 메시지를 구성한다. ES2024 `cause` 속성을 활용하며 V8 엔진(Node.js, Chrome)에서는 `captureStackTrace`를 통해 스택 추적을 최적화한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # TimeoutError
1
+ # `TimeoutError`
2
+
3
+ > **읽어야 하는 상황**: 대기 시간이 초과되었을 때. [`wait.until()`](../utils/wait.md)에서 자동 발생하거나 직접 throw할 때.
2
4
 
3
5
  타임아웃 오류. 대기 시간이 초과되었을 때 발생하는 에러. [`wait.until()`](../utils/wait.md) 같은 비동기 대기 함수에서 최대 시도 횟수를 초과하면 자동으로 발생한다. [`SdError`](./sd-error.md)를 상속한다.
4
6
 
@@ -1,5 +1,7 @@
1
1
  # Array Extensions
2
2
 
3
+ > **읽어야 하는 상황**: 배열 필터/정렬/그룹화/비교/변환이 필요할 때. Map 확장은 [map.md](./map.md), Set 확장은 [set.md](./set.md) 참조.
4
+
3
5
  `@simplysm/core-common`을 import하면 `Array.prototype`에 확장 메서드가 자동 등록된다. `ReadonlyArray<T>`와 `Array<T>` 모두에 적용된다.
4
6
 
5
7
  side-effect import로 활성화:
@@ -1,5 +1,7 @@
1
1
  # Map Extensions
2
2
 
3
+ > **읽어야 하는 상황**: Map에서 기본값 생성(`getOrCreate`) 또는 기존 값 기반 업데이트(`update`)가 필요할 때.
4
+
3
5
  `@simplysm/core-common`을 import하면 `Map.prototype`에 확장 메서드가 자동 등록된다.
4
6
 
5
7
  side-effect import로 활성화:
@@ -1,5 +1,7 @@
1
1
  # Set Extensions
2
2
 
3
+ > **읽어야 하는 상황**: Set에 여러 값을 한 번에 추가(`adds`) 또는 값 토글(`toggle`)이 필요할 때.
4
+
3
5
  `@simplysm/core-common`을 import하면 `Set.prototype`에 확장 메서드가 자동 등록된다.
4
6
 
5
7
  side-effect import로 활성화:
@@ -1,4 +1,6 @@
1
- # DebounceQueue
1
+ # `DebounceQueue`
2
+
3
+ > **읽어야 하는 상황**: 짧은 시간 내 다수 호출을 마지막 하나로 축약해야 할 때 (입력 필드 자동완성, 연속 상태 변경 일괄 처리 등). 순차 실행이 필요하면 [`SerialQueue`](./serial-queue.md) 참조.
2
4
 
3
5
  비동기 디바운스 큐. 짧은 시간 내에 여러 번 호출되면 마지막 요청만 실행하고 이전 요청은 무시한다. 입력 필드 자동완성, 연속적인 상태 변경 일괄 처리 등에 유용하다. [`EventEmitter`](./event-emitter.md)를 상속한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # EventEmitter
1
+ # `EventEmitter`
2
+
3
+ > **읽어야 하는 상황**: 타입 안전한 이벤트 기반 통신이 필요할 때. `events`/`eventemitter3` 대신 사용. 디바운스가 필요하면 [`DebounceQueue`](./debounce-queue.md), 순차 실행이 필요하면 [`SerialQueue`](./serial-queue.md) 참조.
2
4
 
3
5
  타입 안전 EventEmitter. 내부적으로 `EventTarget`을 사용하며 브라우저와 Node.js 모두에서 사용 가능하다. `events`/`eventemitter3` 대신 이 클래스를 사용한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # SerialQueue
1
+ # `SerialQueue`
2
+
3
+ > **읽어야 하는 상황**: 비동기 작업의 순차 실행을 보장해야 할 때 (하나 완료 후 다음 시작). 디바운스가 필요하면 [`DebounceQueue`](./debounce-queue.md) 참조.
2
4
 
3
5
  비동기 직렬 큐. 큐에 추가된 함수들은 순차적으로 실행된다. 하나의 작업이 완료된 후에야 다음 작업이 시작된다. 에러가 발생해도 후속 작업은 계속 실행된다. [`EventEmitter`](./event-emitter.md)를 상속한다.
4
6
 
@@ -1,5 +1,7 @@
1
1
  # Common Types
2
2
 
3
+ > **읽어야 하는 상황**: `Bytes`(Uint8Array 별칭), `PrimitiveTypeMap`/`PrimitiveTypeStr`/`PrimitiveType`(원시 타입 매핑), `DeepPartial`, `Type<T>`(생성자 타입) 등 공용 타입이 필요할 때.
4
+
3
5
  공유 타입 정의. `Buffer` 대신 사용하는 바이너리 타입, ORM과 공유하는 원시 타입, 범용 유틸리티 타입을 제공한다.
4
6
 
5
7
  ```typescript
@@ -1,4 +1,6 @@
1
- # env / parseBoolEnv
1
+ # `env` / `parseBoolEnv`
2
+
3
+ > **읽어야 하는 상황**: 환경변수를 읽거나 쓸 때. `process.env`/`import.meta.env` 직접 접근 대신 반드시 이 함수를 사용해야 한다.
2
4
 
3
5
  환경변수 접근 유틸리티 함수. `process.env`/`import.meta.env` 직접 접근 대신 이 함수를 사용해야 한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # DateOnly
1
+ # `DateOnly`
2
+
3
+ > **읽어야 하는 상황**: 시간 없이 날짜만 다뤄야 할 때 (주차 계산 지원). 시간이 포함된 날짜시간은 [`DateTime`](./date-time.md), 시간만 필요하면 [`Time`](./time.md) 참조.
2
4
 
3
5
  불변 날짜 클래스 (시간 제외: `yyyy-MM-dd`). 시간 정보 없이 날짜만 저장하며 로컬 타임존 기준으로 동작한다. 주차 계산을 지원한다. 수정 메서드는 모두 새 인스턴스를 반환한다.
4
6
 
@@ -1,4 +1,12 @@
1
- # DateTime
1
+ # `DateTime`
2
+
3
+ > **읽어야 하는 상황**: 날짜+시간을 불변 객체로 다뤄야 할 때 (파싱, 포맷, 산술 연산 포함). 시간 없이 날짜만 필요하면 [`DateOnly`](./date-only.md), 날짜 없이 시간만 필요하면 [`Time`](./time.md) 참조.
4
+
5
+ ## When to use
6
+
7
+ - 날짜+시간을 불변 객체로 다뤄야 할 때 (밀리초 정밀도, 로컬 타임존)
8
+ - 다양한 형식의 날짜시간 문자열을 파싱해야 할 때
9
+ - 날짜시간 산술 연산(addMonths, addDays 등)이 필요할 때
2
10
 
3
11
  불변 날짜시간 클래스 (밀리초 정밀도, 로컬 타임존). JavaScript `Date` 객체를 래핑하여 불변성과 편리한 API를 제공한다. 수정 메서드는 모두 새 인스턴스를 반환한다.
4
12
 
@@ -1,4 +1,6 @@
1
- # LazyGcMap
1
+ # `LazyGcMap`
2
+
3
+ > **읽어야 하는 상황**: 일정 시간 미접근 항목을 자동 삭제하는 LRU 캐시가 필요할 때. 단순 Map이면 표준 `Map`을 사용.
2
4
 
3
5
  자동 만료 기능이 있는 Map. LRU 방식으로 접근 시간을 갱신하고, 지정된 시간 동안 접근하지 않으면 자동 삭제한다. 사용 후 반드시 `dispose()`를 호출해야 GC 타이머가 정리된다.
4
6
 
@@ -1,4 +1,6 @@
1
- # Time
1
+ # `Time`
2
+
3
+ > **읽어야 하는 상황**: 날짜 없이 시간만 다뤄야 할 때 (24시간 순환). 날짜+시간이 필요하면 [`DateTime`](./date-time.md) 참조.
2
4
 
3
5
  불변 시간 클래스 (날짜 제외: `HH:mm:ss.fff`). 날짜 정보 없이 시간만 저장하며 24시간을 초과하거나 음수인 값은 자동으로 정규화된다. 수정 및 산술 메서드는 새 인스턴스를 반환하며 모두 24시간 순환한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # Uuid
1
+ # `Uuid`
2
+
3
+ > **읽어야 하는 상황**: UUID v4를 생성하거나 문자열/바이트에서 UUID를 복원할 때.
2
4
 
3
5
  UUID v4 클래스. `crypto.getRandomValues` 기반으로 암호학적으로 안전한 UUID를 생성한다 (Chrome 37+, Node.js 호환).
4
6
 
@@ -1,4 +1,6 @@
1
- # bytes
1
+ # `bytes`
2
+
3
+ > **읽어야 하는 상황**: Uint8Array ↔ hex/base64 변환, 여러 Uint8Array 결합이 필요할 때.
2
4
 
3
5
  `Uint8Array` 유틸리티 네임스페이스. 복잡한 변환 연산을 제공한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # dt
1
+ # `dt`
2
+
3
+ > **읽어야 하는 상황**: 날짜/시간 포맷 문자열 변환(`format`), 월 정규화(`normalizeMonth`), 12→24시간 변환이 필요할 때. 일반적으로 `DateTime`/`DateOnly`/`Time`의 `toFormatString`을 사용하고, 저수준 포맷이 필요할 때만 직접 사용.
2
4
 
3
5
  날짜 포맷 유틸리티 네임스페이스. `DateTime`, `DateOnly`, `Time` 클래스 내부에서 사용되는 저수준 포맷/변환 함수를 제공한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # err
1
+ # `err`
2
+
3
+ > **읽어야 하는 상황**: catch 블록의 `unknown` 타입 에러에서 메시지 문자열을 추출할 때.
2
4
 
3
5
  에러 메시지 추출 유틸리티 네임스페이스.
4
6
 
@@ -1,4 +1,6 @@
1
- # json
1
+ # `json`
2
+
3
+ > **읽어야 하는 상황**: DateTime/Uuid/Set/Map/Error/Uint8Array 등 커스텀 타입을 포함한 JSON 직렬화/역직렬화가 필요할 때. Worker 간 전송은 [`transfer`](./transfer.md) 참조.
2
4
 
3
5
  JSON 변환 유틸리티 네임스페이스. `DateTime`, `DateOnly`, `Time`, `Uuid`, `Set`, `Map`, `Error`, `Uint8Array` 등 커스텀 타입을 지원하는 직렬화/역직렬화를 제공한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # num
1
+ # `num`
2
+
3
+ > **읽어야 하는 상황**: 문자열→숫자 파싱(비숫자 문자 자동 제거), 숫자 포맷(천 단위 구분자), 0/null/undefined 검사가 필요할 때.
2
4
 
3
5
  숫자 유틸리티 네임스페이스.
4
6
 
@@ -1,4 +1,6 @@
1
- # obj
1
+ # `obj`
2
+
3
+ > **읽어야 하는 상황**: 객체 깊은 복사/비교/병합, 3-way 병합, key 조작(omit/pick), 체인 경로 접근이 필요할 때.
2
4
 
3
5
  객체 유틸리티 네임스페이스. 깊은 복사, 비교, 병합, key 조작 등을 제공한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # path
1
+ # `path`
2
+
3
+ > **읽어야 하는 상황**: 브라우저 환경에서 POSIX 경로 결합/파일명 추출/확장자 추출이 필요할 때. Node.js `path` 모듈 대체.
2
4
 
3
5
  경로 유틸리티 네임스페이스. Node.js `path` 모듈 대체 (브라우저 환경 지원). POSIX 스타일 경로(슬래시 `/`)만 지원한다. Windows 백슬래시(`\`)는 지원하지 않는다.
4
6
 
@@ -1,4 +1,6 @@
1
- # primitive
1
+ # `primitive`
2
+
3
+ > **읽어야 하는 상황**: 런타임에 값의 `PrimitiveTypeStr`을 추론해야 할 때 (예: string→"string", DateTime→"DateTime").
2
4
 
3
5
  원시 타입 변환 유틸리티 네임스페이스.
4
6
 
@@ -1,4 +1,6 @@
1
- # str
1
+ # `str`
2
+
3
+ > **읽어야 하는 상황**: 한국어 조사 처리, 케이스 변환(PascalCase/camelCase/kebab-case/snake_case), 전각→반각 변환, 문자열 삽입이 필요할 때.
2
4
 
3
5
  문자열 유틸리티 네임스페이스.
4
6
 
@@ -1,5 +1,7 @@
1
1
  # Template Strings
2
2
 
3
+ > **읽어야 하는 상황**: IDE에서 JavaScript/TypeScript/HTML/SQL 코드 하이라이팅이 필요한 태그드 템플릿 리터럴을 작성할 때.
4
+
3
5
  IDE 코드 하이라이팅 지원용 태그드 템플릿 리터럴 함수. 실제 동작은 문자열 결합 + 들여쓰기 정규화(앞뒤 빈 줄 제거, 공통 들여쓰기 제거)이다.
4
6
 
5
7
  ```typescript
@@ -1,4 +1,6 @@
1
- # transfer
1
+ # `transfer`
2
+
3
+ > **읽어야 하는 상황**: Worker 간에 DateTime/Uuid 등 커스텀 타입을 포함한 데이터를 전송할 때. JSON 문자열 직렬화는 [`json`](./json.md) 참조.
2
4
 
3
5
  Worker 간 전송 가능한 객체 변환 유틸리티 네임스페이스. `structuredClone`이 지원하지 않는 커스텀 타입을 처리한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # wait
1
+ # `wait`
2
+
3
+ > **읽어야 하는 상황**: 조건이 true가 될 때까지 폴링 대기(`until`) 또는 지정 시간만큼 대기(`time`)가 필요할 때.
2
4
 
3
5
  비동기 대기 유틸리티 네임스페이스.
4
6
 
@@ -1,4 +1,6 @@
1
- # xml
1
+ # `xml`
2
+
3
+ > **읽어야 하는 상황**: XML 문자열을 객체로 파싱하거나 객체를 XML 문자열로 직렬화할 때.
2
4
 
3
5
  XML 변환 유틸리티 네임스페이스. `fast-xml-parser` 기반.
4
6
 
@@ -1,4 +1,6 @@
1
- # ZipArchive
1
+ # `ZipArchive`
2
+
3
+ > **읽어야 하는 상황**: ZIP 파일 읽기/쓰기/압축/해제가 필요할 때. 사용 후 반드시 `close()`를 호출해야 한다.
2
4
 
3
5
  ZIP 파일 처리 클래스. ZIP 파일의 읽기, 쓰기, 압축, 해제를 처리한다. 동일 파일의 중복 해제를 방지하기 위해 내부 캐싱을 사용한다. `@zip.js/zip.js` 기반.
4
6