@simplysm/sd-claude 14.0.50 → 14.0.52
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.
- package/claude/references/sd-frontend-design.md +10 -9
- package/claude/references/sd-simplysm-v14/angular/README.md +497 -0
- package/claude/references/sd-simplysm-v14/angular/bootstrap/provide-sd-angular.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/bootstrap/sd-angular-config-provider.md +16 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-command-directive.md +27 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-events.md +25 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-intersection-directive.md +36 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-invalid.md +24 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-resize-directive.md +42 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-ripple.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-router-link.md +38 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-show-effect.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-typed-template.md +69 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-address-search-modal.md +50 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-permission-table.md +20 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-shared-data-components.md +158 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-tiptap-editor.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/pipes/format-pipe.md +41 -0
- package/claude/references/sd-simplysm-v14/angular/plugins/sd-global-error-handler.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/plugins/sd-option-event-plugin.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/sd-menu.md +65 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/sd-modal-content-def.md +148 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/sd-toast-content-def.md +73 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/shared-data-base.md +59 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-activated-modal-provider.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-app-structure-provider.md +81 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-busy-provider.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-file-dialog-provider.md +40 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-local-storage-provider.md +20 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-modal-provider.md +67 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-navigate-window-provider.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-print-provider.md +25 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-service-client-factory-provider.md +43 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-shared-data-provider.md +64 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-system-config-provider.md +46 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-system-log-provider.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-theme-provider.md +38 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-toast-provider.md +65 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/_common-rules.md +336 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-a-edit-save.md +191 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-b-delete-restore.md +103 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-c-modal-view.md +198 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-d-control-view.md +109 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-e-auxiliary.md +87 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-f-complex-detail.md +202 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail.md +280 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-a-inline-edit.md +386 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-b-selection.md +215 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-c-inline-delete.md +64 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-d-select-modal.md +193 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-e-readonly-modal.md +140 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-f-modal-edit.md +123 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-g-excel.md +145 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list.md +377 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/data-select-button.md +368 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/page-modal-container.md +238 -0
- package/claude/references/sd-simplysm-v14/angular/styling/classes.md +149 -0
- package/claude/references/sd-simplysm-v14/angular/styling/mixins.md +100 -0
- package/claude/references/sd-simplysm-v14/angular/styling/themes.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/styling/variables.md +147 -0
- package/claude/references/sd-simplysm-v14/angular/type-utilities/directive-input-signals.md +232 -0
- package/claude/references/sd-simplysm-v14/angular/ui-data/sd-list.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/ui-data/sd-sheet.md +212 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-additional-button.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-anchor.md +31 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-button.md +103 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox-group.md +39 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox.md +81 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-date-range-picker.md +27 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-form.md +89 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-modal-select-button.md +54 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-numpad.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-range.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-select.md +68 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-shared-data-select.md +52 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-state-preset.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-switch.md +27 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textarea.md +33 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textfield.md +145 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock-container.md +64 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-gap.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-board.md +96 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-lane.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban.md +29 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-collapse.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-pagination.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-container.md +49 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-menu.md +22 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-user.md +43 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-tab.md +51 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-container.md +97 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-menu.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-user.md +38 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar.md +30 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-busy-container.md +69 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-confirm-modal.md +30 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-dropdown.md +40 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-modal.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-prompt-modal.md +30 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-toast.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-barcode.md +36 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-calendar.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-echarts.md +32 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-label.md +24 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-note.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-progress.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/utils/inject-routing-signals.md +161 -0
- package/claude/references/sd-simplysm-v14/angular/utils/inject-sd-system-config-resource.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/utils/mark.md +43 -0
- package/claude/references/sd-simplysm-v14/angular/utils/selection-managers.md +96 -0
- package/claude/references/sd-simplysm-v14/angular/utils/set-safe-style.md +19 -0
- package/claude/references/sd-simplysm-v14/angular/utils/setup-functions.md +93 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/README.md +38 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/apk-installer/apk-installer.md +115 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/auto-update/auto-update.md +113 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-file-system/README.md +197 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-intent/README.md +235 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-usb-storage/README.md +251 -0
- package/claude/references/sd-simplysm-v14/core-browser/README.md +52 -0
- package/claude/references/sd-simplysm-v14/core-browser/extensions/copy-paste.md +59 -0
- package/claude/references/sd-simplysm-v14/core-browser/extensions/element-prototype-extensions.md +137 -0
- package/claude/references/sd-simplysm-v14/core-browser/extensions/get-bounds.md +84 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/download-blob.md +59 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/fetch-url-bytes.md +91 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-store.md +131 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-virtual-fs.md +121 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/open-file-dialog.md +60 -0
- package/claude/references/sd-simplysm-v14/core-common/README.md +179 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/argument-error.md +26 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/not-implemented-error.md +33 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/sd-error.md +38 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/timeout-error.md +36 -0
- package/claude/references/sd-simplysm-v14/core-common/extensions/array.md +125 -0
- package/claude/references/sd-simplysm-v14/core-common/extensions/map.md +43 -0
- package/claude/references/sd-simplysm-v14/core-common/extensions/set.md +35 -0
- package/claude/references/sd-simplysm-v14/core-common/features/debounce-queue.md +48 -0
- package/claude/references/sd-simplysm-v14/core-common/features/event-emitter.md +52 -0
- package/claude/references/sd-simplysm-v14/core-common/features/serial-queue.md +44 -0
- package/claude/references/sd-simplysm-v14/core-common/type-utils/common-types.md +100 -0
- package/claude/references/sd-simplysm-v14/core-common/type-utils/env.md +42 -0
- package/claude/references/sd-simplysm-v14/core-common/types/date-only.md +86 -0
- package/claude/references/sd-simplysm-v14/core-common/types/date-time.md +106 -0
- package/claude/references/sd-simplysm-v14/core-common/types/lazy-gc-map.md +59 -0
- package/claude/references/sd-simplysm-v14/core-common/types/time.md +62 -0
- package/claude/references/sd-simplysm-v14/core-common/types/uuid.md +41 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/bytes.md +36 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/dt.md +60 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/err.md +26 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/json.md +58 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/num.md +56 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/obj.md +107 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/path.md +30 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/primitive.md +28 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/str.md +63 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/template-strings.md +49 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/transfer.md +35 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/wait.md +35 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/xml.md +49 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/zip-archive.md +77 -0
- package/claude/references/sd-simplysm-v14/core-node/README.md +59 -0
- package/claude/references/sd-simplysm-v14/core-node/features/fs-watcher.md +110 -0
- package/claude/references/sd-simplysm-v14/core-node/logging/create-file-reporter.md +78 -0
- package/claude/references/sd-simplysm-v14/core-node/logging/pretty-reporter.md +38 -0
- package/claude/references/sd-simplysm-v14/core-node/logging/setup-consola.md +77 -0
- package/claude/references/sd-simplysm-v14/core-node/utils/cpx.md +128 -0
- package/claude/references/sd-simplysm-v14/core-node/utils/fsx.md +168 -0
- package/claude/references/sd-simplysm-v14/core-node/utils/pathx.md +73 -0
- package/claude/references/sd-simplysm-v14/core-node/worker/create-worker.md +85 -0
- package/claude/references/sd-simplysm-v14/core-node/worker/worker.md +160 -0
- package/claude/references/sd-simplysm-v14/excel/README.md +66 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-cell.md +79 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-col.md +36 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-row.md +34 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-workbook.md +93 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-worksheet.md +147 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-address-point.md +33 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-style-options.md +57 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-value-type.md +28 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-content-type-data.md +23 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-drawing-data.md +29 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-relationship-data.md +39 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-shared-string-data.md +42 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-style-data.md +97 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-workbook-data.md +22 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-worksheet-data.md +68 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml.md +15 -0
- package/claude/references/sd-simplysm-v14/excel/utilities/excel-utils.md +101 -0
- package/claude/references/sd-simplysm-v14/excel/wrapper/excel-wrapper.md +108 -0
- package/claude/references/sd-simplysm-v14/lint/README.md +183 -0
- package/claude/references/sd-simplysm-v14/orm-common/README.md +156 -0
- package/claude/references/sd-simplysm-v14/orm-common/core/db-context.md +208 -0
- package/claude/references/sd-simplysm-v14/orm-common/core/db-transaction-error.md +64 -0
- package/claude/references/sd-simplysm-v14/orm-common/expression/expr-unit.md +62 -0
- package/claude/references/sd-simplysm-v14/orm-common/expression/expr.md +198 -0
- package/claude/references/sd-simplysm-v14/orm-common/models/migration.md +37 -0
- package/claude/references/sd-simplysm-v14/orm-common/query-builder/create-query-builder.md +80 -0
- package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/executable.md +54 -0
- package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/parse-search-query.md +75 -0
- package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/queryable.md +238 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/column-builder.md +63 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/foreign-key-builder.md +137 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/index-builder.md +54 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/procedure.md +67 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/table.md +95 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/view.md +71 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/data-type.md +146 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/dialect.md +151 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/expr.md +175 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/parse-query-result.md +58 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/query-def.md +224 -0
- package/claude/references/sd-simplysm-v14/orm-node/README.md +65 -0
- package/claude/references/sd-simplysm-v14/orm-node/connections/mssql-db-conn.md +85 -0
- package/claude/references/sd-simplysm-v14/orm-node/connections/mysql-db-conn.md +83 -0
- package/claude/references/sd-simplysm-v14/orm-node/connections/postgresql-db-conn.md +86 -0
- package/claude/references/sd-simplysm-v14/orm-node/core/create-db-conn.md +62 -0
- package/claude/references/sd-simplysm-v14/orm-node/core/create-orm.md +107 -0
- package/claude/references/sd-simplysm-v14/orm-node/core/node-db-context-executor.md +50 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-config.md +91 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-constants.md +33 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/db-conn.md +60 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/get-dialect-from-config.md +17 -0
- package/{README.md → claude/references/sd-simplysm-v14/sd-claude/README.md} +85 -84
- package/{docs → claude/references/sd-simplysm-v14/sd-claude}/assets.md +2 -2
- package/{docs → claude/references/sd-simplysm-v14/sd-claude}/hooks.md +15 -1
- package/claude/references/sd-simplysm-v14/sd-cli/README.md +138 -0
- package/claude/references/sd-simplysm-v14/sd-cli/angular-vite-plugin/sd-angular-plugin.md +60 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/build-target.md +31 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/npm-config.md +27 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-browser-support-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-build-package-config.md +21 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-capacitor-config.md +109 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-client-package-config.md +33 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-config.md +78 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-electron-config.md +27 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-package-config.md +18 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-post-publish-script-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-publish-config.md +72 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-pwa-config.md +41 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-scripts-package-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-server-package-config.md +32 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-watch-hook-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/ts-compiler/sd-ts-compiler.md +158 -0
- package/claude/references/sd-simplysm-v14/service-client/README.md +74 -0
- package/claude/references/sd-simplysm-v14/service-client/features/event-client.md +93 -0
- package/claude/references/sd-simplysm-v14/service-client/features/file-client.md +63 -0
- package/claude/references/sd-simplysm-v14/service-client/features/orm-client-connector.md +89 -0
- package/claude/references/sd-simplysm-v14/service-client/features/orm-client-db-context-executor.md +31 -0
- package/claude/references/sd-simplysm-v14/service-client/main/service-client.md +206 -0
- package/claude/references/sd-simplysm-v14/service-client/protocol/client-protocol-wrapper.md +64 -0
- package/claude/references/sd-simplysm-v14/service-client/transport/service-transport.md +68 -0
- package/claude/references/sd-simplysm-v14/service-client/transport/socket-provider.md +100 -0
- package/claude/references/sd-simplysm-v14/service-client/types/blob-input.md +7 -0
- package/claude/references/sd-simplysm-v14/service-client/types/browser-worker.md +47 -0
- package/claude/references/sd-simplysm-v14/service-client/types/file-collection.md +21 -0
- package/claude/references/sd-simplysm-v14/service-client/types/service-connection-options.md +22 -0
- package/claude/references/sd-simplysm-v14/service-client/types/service-progress.md +39 -0
- package/claude/references/sd-simplysm-v14/service-common/README.md +161 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/app-structure-item.md +107 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/get-flat-permissions.md +57 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules-chain.md +23 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules.md +42 -0
- package/claude/references/sd-simplysm-v14/service-common/events/define-event.md +68 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/create-service-protocol.md +93 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/protocol-config.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-add-event-listener-message.md +23 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-auth-message.md +17 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-emit-event-message.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-error-message.md +29 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-event-message.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-get-event-listener-infos-message.md +19 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-message.md +52 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-progress-message.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-remove-event-listener-message.md +19 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-request-message.md +17 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-response-message.md +17 -0
- package/claude/references/sd-simplysm-v14/service-common/service-types/app-structure-service.md +15 -0
- package/claude/references/sd-simplysm-v14/service-common/service-types/auto-update-service.md +20 -0
- package/claude/references/sd-simplysm-v14/service-common/service-types/orm-service.md +61 -0
- package/claude/references/sd-simplysm-v14/service-common/types/service-upload-result.md +19 -0
- package/claude/references/sd-simplysm-v14/service-server/README.md +162 -0
- package/claude/references/sd-simplysm-v14/service-server/auth/auth-token-payload.md +18 -0
- package/claude/references/sd-simplysm-v14/service-server/auth/sign-jwt.md +30 -0
- package/claude/references/sd-simplysm-v14/service-server/auth/verify-jwt.md +35 -0
- package/claude/references/sd-simplysm-v14/service-server/core/auth.md +64 -0
- package/claude/references/sd-simplysm-v14/service-server/core/define-service.md +81 -0
- package/claude/references/sd-simplysm-v14/service-server/core/execute-service-method.md +43 -0
- package/claude/references/sd-simplysm-v14/service-server/core/service-context.md +79 -0
- package/claude/references/sd-simplysm-v14/service-server/legacy/handle-v1-connection.md +25 -0
- package/claude/references/sd-simplysm-v14/service-server/main/create-service-server.md +32 -0
- package/claude/references/sd-simplysm-v14/service-server/main/service-server.md +113 -0
- package/claude/references/sd-simplysm-v14/service-server/protocol/server-protocol-wrapper.md +35 -0
- package/claude/references/sd-simplysm-v14/service-server/services/app-structure-service.md +59 -0
- package/claude/references/sd-simplysm-v14/service-server/services/auto-update-service.md +34 -0
- package/claude/references/sd-simplysm-v14/service-server/services/orm-service.md +43 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-http-request.md +33 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-static-file.md +29 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-upload.md +33 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-socket/service-socket.md +64 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-socket/websocket-handler.md +57 -0
- package/claude/references/sd-simplysm-v14/service-server/types/service-server-options.md +36 -0
- package/claude/references/sd-simplysm-v14/service-server/utils/get-config.md +29 -0
- package/claude/references/sd-simplysm-v14/storage/README.md +99 -0
- package/claude/references/sd-simplysm-v14/storage/clients/ftp-storage-client.md +99 -0
- package/claude/references/sd-simplysm-v14/storage/clients/sftp-storage-client.md +108 -0
- package/claude/references/sd-simplysm-v14/storage/factory/storage-factory.md +114 -0
- package/claude/references/sd-simplysm-v14/storage/types/file-info.md +32 -0
- package/claude/references/sd-simplysm-v14/storage/types/storage-client.md +55 -0
- package/claude/references/sd-simplysm-v14/storage/types/storage-conn-config.md +34 -0
- package/claude/rules/sd-claude-rules.md +8 -8
- package/claude/rules/sd-simplysm-v14.md +33 -0
- package/claude/skills/sd-claude-docs/SKILL.md +41 -24
- package/claude/skills/sd-claude-docs/references/package-docs.md +240 -116
- package/claude/skills/sd-inner-debug/SKILL.md +1 -1
- package/claude/skills/sd-inner-review/SKILL.md +4 -2
- package/package.json +2 -3
- /package/{docs → claude/references/sd-simplysm-v14/sd-claude}/cli.md +0 -0
- /package/{docs → claude/references/sd-simplysm-v14/sd-claude}/scripts.md +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# ExcelWorksheet
|
|
2
|
+
|
|
3
|
+
Excel 워크시트를 나타내는 클래스. 셀 접근, 행/열 복사, 데이터 테이블 처리, 이미지 삽입, 뷰 설정 기능을 제공한다.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- ✅ 시트 내 셀/행/열을 접근하거나, 행 복사, 데이터 테이블 읽기/쓰기, 이미지 삽입이 필요할 때
|
|
8
|
+
- ✅ `ExcelWorkbook.getWorksheet()` 또는 `ExcelWorkbook.addWorksheet()`로 얻은 인스턴스를 통해 사용
|
|
9
|
+
- ❌ 타입 안전한 스키마 기반 읽기/쓰기가 필요하면 [`ExcelWrapper`](../wrapper/excel-wrapper.md) -- 내부적으로 `ExcelWorksheet`를 사용한다
|
|
10
|
+
|
|
11
|
+
## Signature
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
export class ExcelWorksheet {
|
|
15
|
+
constructor(zipCache: ZipCache, relId: number, targetFileName: string);
|
|
16
|
+
|
|
17
|
+
// Name
|
|
18
|
+
async getName(): Promise<string>;
|
|
19
|
+
async setName(newName: string): Promise<void>;
|
|
20
|
+
|
|
21
|
+
// Cell Access (0 기반)
|
|
22
|
+
row(r: number): ExcelRow;
|
|
23
|
+
cell(r: number, c: number): ExcelCell;
|
|
24
|
+
col(c: number): ExcelCol;
|
|
25
|
+
|
|
26
|
+
// Copy
|
|
27
|
+
async copyRowStyle(srcR: number, targetR: number): Promise<void>;
|
|
28
|
+
async copyCellStyle(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint): Promise<void>;
|
|
29
|
+
async copyRow(srcR: number, targetR: number): Promise<void>;
|
|
30
|
+
async copyCell(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint): Promise<void>;
|
|
31
|
+
async insertCopyRow(srcR: number, targetR: number): Promise<void>;
|
|
32
|
+
|
|
33
|
+
// Range
|
|
34
|
+
async getRange(): Promise<ExcelAddressRangePoint>;
|
|
35
|
+
async getCells(): Promise<ExcelCell[][]>;
|
|
36
|
+
|
|
37
|
+
// Data
|
|
38
|
+
async getDataTable(opt?: {
|
|
39
|
+
headerRowIndex?: number;
|
|
40
|
+
checkEndColIndex?: number;
|
|
41
|
+
usableHeaderNameFn?: (headerName: string) => boolean;
|
|
42
|
+
}): Promise<Record<string, ExcelValueType>[]>;
|
|
43
|
+
async setDataMatrix(matrix: ExcelValueType[][]): Promise<void>;
|
|
44
|
+
async setRecords(records: Record<string, ExcelValueType>[]): Promise<void>;
|
|
45
|
+
|
|
46
|
+
// View
|
|
47
|
+
async setZoom(percent: number): Promise<void>;
|
|
48
|
+
async freezeAt(point: { r?: number; c?: number }): Promise<void>;
|
|
49
|
+
|
|
50
|
+
// Image
|
|
51
|
+
async addImage(opts: {
|
|
52
|
+
bytes: Bytes;
|
|
53
|
+
ext: string;
|
|
54
|
+
from: { r: number; c: number; rOff?: number | string; cOff?: number | string };
|
|
55
|
+
to?: { r: number; c: number; rOff?: number | string; cOff?: number | string };
|
|
56
|
+
}): Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Members
|
|
61
|
+
|
|
62
|
+
| Member | Kind | Type | Description |
|
|
63
|
+
|--------|------|------|-------------|
|
|
64
|
+
| `getName` | method | `() => Promise<string>` | 워크시트 이름 반환 |
|
|
65
|
+
| `setName` | method | `(newName: string) => Promise<void>` | 워크시트 이름 변경 |
|
|
66
|
+
| `row` | method | `(r: number) => ExcelRow` | 행 객체 반환 (0 기반) |
|
|
67
|
+
| `cell` | method | `(r: number, c: number) => ExcelCell` | 셀 객체 반환 (0 기반). 동일 좌표에 대해 항상 동일한 인스턴스 반환 |
|
|
68
|
+
| `col` | method | `(c: number) => ExcelCol` | 열 객체 반환 (0 기반) |
|
|
69
|
+
| `copyRowStyle` | method | `(srcR: number, targetR: number) => Promise<void>` | 원본 행의 스타일을 대상 행으로 복사. 데이터 범위 내 모든 열에 적용 |
|
|
70
|
+
| `copyCellStyle` | method | `(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint) => Promise<void>` | 원본 셀의 스타일을 대상 셀로 복사 |
|
|
71
|
+
| `copyRow` | method | `(srcR: number, targetR: number) => Promise<void>` | 원본 행을 대상 행으로 복사 (덮어쓰기) |
|
|
72
|
+
| `copyCell` | method | `(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint) => Promise<void>` | 원본 셀을 대상 셀로 복사 |
|
|
73
|
+
| `insertCopyRow` | method | `(srcR: number, targetR: number) => Promise<void>` | 원본 행을 대상 위치에 삽입 복사. 대상 이하 행은 한 칸 아래로 이동. 병합 셀 자동 처리 |
|
|
74
|
+
| `getRange` | method | `() => Promise<ExcelAddressRangePoint>` | 워크시트의 데이터 범위 반환 |
|
|
75
|
+
| `getCells` | method | `() => Promise<ExcelCell[][]>` | 모든 셀을 2차원 배열로 반환 |
|
|
76
|
+
| `getDataTable` | method | `(opt?) => Promise<Record<string, ExcelValueType>[]>` | 워크시트 데이터를 테이블(레코드 배열)로 반환 |
|
|
77
|
+
| `setDataMatrix` | method | `(matrix: ExcelValueType[][]) => Promise<void>` | 2차원 배열 데이터를 워크시트에 쓰기 |
|
|
78
|
+
| `setRecords` | method | `(records: Record<string, ExcelValueType>[]) => Promise<void>` | 레코드 배열을 워크시트에 쓰기. 첫 행에 헤더 자동 생성 |
|
|
79
|
+
| `setZoom` | method | `(percent: number) => Promise<void>` | 워크시트 확대/축소 비율 설정 (퍼센트) |
|
|
80
|
+
| `freezeAt` | method | `(point: { r?: number; c?: number }) => Promise<void>` | 행/열 틀 고정 설정 |
|
|
81
|
+
| `addImage` | method | `(opts) => Promise<void>` | 워크시트에 이미지 삽입 |
|
|
82
|
+
|
|
83
|
+
## `getDataTable` Options
|
|
84
|
+
|
|
85
|
+
| Parameter | Type | Description |
|
|
86
|
+
|-----------|------|-------------|
|
|
87
|
+
| `opt.headerRowIndex` | `number \| undefined` | 헤더 행 인덱스 (기본값: 데이터 범위의 시작 행) |
|
|
88
|
+
| `opt.checkEndColIndex` | `number \| undefined` | 데이터 끝을 판단할 열 인덱스. 이 열이 비어있는 행을 만나면 읽기를 중단한다 |
|
|
89
|
+
| `opt.usableHeaderNameFn` | `((headerName: string) => boolean) \| undefined` | 헤더 필터 함수. `false` 반환 시 해당 헤더 제외 |
|
|
90
|
+
|
|
91
|
+
## `addImage` Options
|
|
92
|
+
|
|
93
|
+
| Parameter | Type | Description |
|
|
94
|
+
|-----------|------|-------------|
|
|
95
|
+
| `opts.bytes` | `Bytes` | 이미지 바이너리 데이터 |
|
|
96
|
+
| `opts.ext` | `string` | 이미지 확장자 (예: `"png"`, `"jpg"`) |
|
|
97
|
+
| `opts.from` | `{ r: number; c: number; rOff?: number \| string; cOff?: number \| string }` | 이미지 시작 위치. `r`/`c`는 0 기반 인덱스, `rOff`/`cOff`는 선택적 EMU 오프셋 |
|
|
98
|
+
| `opts.to` | `{ r: number; c: number; rOff?: number \| string; cOff?: number \| string } \| undefined` | 이미지 끝 위치. 생략 시 기본값은 `{ r: from.r + 1, c: from.c + 1 }` |
|
|
99
|
+
|
|
100
|
+
## Usage
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
// getDataTable
|
|
104
|
+
const table = await ws.getDataTable();
|
|
105
|
+
// [{ "이름": "김철수", "나이": 30 }, ...]
|
|
106
|
+
|
|
107
|
+
// 특정 행부터 시작하는 경우
|
|
108
|
+
const table2 = await ws.getDataTable({ headerRowIndex: 1 });
|
|
109
|
+
|
|
110
|
+
// 헤더 필터링
|
|
111
|
+
const table3 = await ws.getDataTable({
|
|
112
|
+
usableHeaderNameFn: (name) => !name.startsWith("_"),
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// 2차원 배열 쓰기
|
|
116
|
+
await ws.setDataMatrix([
|
|
117
|
+
["이름", "나이"],
|
|
118
|
+
["김철수", 30],
|
|
119
|
+
]);
|
|
120
|
+
|
|
121
|
+
// 레코드 배열 쓰기 (헤더 자동 생성)
|
|
122
|
+
await ws.setRecords([
|
|
123
|
+
{ name: "김철수", age: 30 },
|
|
124
|
+
]);
|
|
125
|
+
|
|
126
|
+
// 행 복사 (스타일 포함)
|
|
127
|
+
await ws.copyRow(0, 5);
|
|
128
|
+
|
|
129
|
+
// 삽입 복사 (기존 행 이동)
|
|
130
|
+
await ws.insertCopyRow(0, 3);
|
|
131
|
+
|
|
132
|
+
// 틀 고정 (2행부터 고정)
|
|
133
|
+
await ws.freezeAt({ r: 1, c: 0 });
|
|
134
|
+
|
|
135
|
+
// 이미지 삽입
|
|
136
|
+
await ws.addImage({
|
|
137
|
+
bytes: imageBytes,
|
|
138
|
+
ext: "png",
|
|
139
|
+
from: { r: 1, c: 1 },
|
|
140
|
+
to: { r: 5, c: 4 },
|
|
141
|
+
});
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## `insertCopyRow` 병합 셀 처리
|
|
145
|
+
|
|
146
|
+
- 삽입 지점을 관통하는 다중행 병합은 자동으로 1행 확장됨
|
|
147
|
+
- 원본 행의 단일행 병합만 대상 행에 복사됨
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# ExcelAddressPoint
|
|
2
|
+
|
|
3
|
+
셀 좌표를 나타내는 인터페이스이다. 모든 좌표는 0 기반이다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelAddressPoint {
|
|
7
|
+
r: number;
|
|
8
|
+
c: number;
|
|
9
|
+
}
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
| Field | Type | Description |
|
|
13
|
+
|-------|------|-------------|
|
|
14
|
+
| `r` | `number` | 행 인덱스 (0 기반) |
|
|
15
|
+
| `c` | `number` | 열 인덱스 (0 기반) |
|
|
16
|
+
|
|
17
|
+
## Related Types
|
|
18
|
+
|
|
19
|
+
### `ExcelAddressRangePoint`
|
|
20
|
+
|
|
21
|
+
셀 범위 좌표를 나타내는 인터페이스이다.
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
export interface ExcelAddressRangePoint {
|
|
25
|
+
s: ExcelAddressPoint;
|
|
26
|
+
e: ExcelAddressPoint;
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
| Field | Type | Description |
|
|
31
|
+
|-------|------|-------------|
|
|
32
|
+
| `s` | `ExcelAddressPoint` | 시작 좌표 |
|
|
33
|
+
| `e` | `ExcelAddressPoint` | 끝 좌표 |
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# ExcelStyleOptions
|
|
2
|
+
|
|
3
|
+
셀 스타일 옵션 인터페이스이다. [`ExcelCell.setStyle()`](../core-classes/excel-cell.md)에서 사용한다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelStyleOptions {
|
|
7
|
+
background?: string;
|
|
8
|
+
border?: ExcelBorderPosition[];
|
|
9
|
+
horizontalAlign?: ExcelHorizontalAlign;
|
|
10
|
+
verticalAlign?: ExcelVerticalAlign;
|
|
11
|
+
numberFormat?: ExcelNumberFormat;
|
|
12
|
+
numberFormatCode?: string;
|
|
13
|
+
}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
| Field | Type | Description |
|
|
17
|
+
|-------|------|-------------|
|
|
18
|
+
| `background` | `string \| undefined` | 배경색 (ARGB 형식, 8자리 16진수. 예: `"00FF0000"` = 빨강. alpha는 반전 값) |
|
|
19
|
+
| `border` | `ExcelBorderPosition[] \| undefined` | 테두리 위치 배열 |
|
|
20
|
+
| `horizontalAlign` | `ExcelHorizontalAlign \| undefined` | 가로 정렬 |
|
|
21
|
+
| `verticalAlign` | `ExcelVerticalAlign \| undefined` | 세로 정렬 |
|
|
22
|
+
| `numberFormat` | `ExcelNumberFormat \| undefined` | 숫자 형식 프리셋 |
|
|
23
|
+
| `numberFormatCode` | `string \| undefined` | 커스텀 Excel formatCode 문자열 (예: `"0.000000"`, `"#,##0.00"`, `"0.00%"`). `numberFormat`과 동시 지정 시 이 필드가 우선 적용된다 |
|
|
24
|
+
|
|
25
|
+
## Related Types
|
|
26
|
+
|
|
27
|
+
### `ExcelNumberFormat`
|
|
28
|
+
|
|
29
|
+
숫자 형식 이름이다. `ExcelStyleOptions.numberFormat`과 [`ExcelUtils`](../utilities/excel-utils.md)의 변환 메서드에서 사용한다.
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
export type ExcelNumberFormat = "number" | "string" | "DateOnly" | "DateTime" | "Time";
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### `ExcelBorderPosition`
|
|
36
|
+
|
|
37
|
+
테두리 위치를 나타내는 타입이다.
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
export type ExcelBorderPosition = "left" | "right" | "top" | "bottom";
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### `ExcelHorizontalAlign`
|
|
44
|
+
|
|
45
|
+
가로 정렬을 나타내는 타입이다.
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
export type ExcelHorizontalAlign = "center" | "left" | "right";
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### `ExcelVerticalAlign`
|
|
52
|
+
|
|
53
|
+
세로 정렬을 나타내는 타입이다.
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
export type ExcelVerticalAlign = "center" | "top" | "bottom";
|
|
57
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# ExcelValueType
|
|
2
|
+
|
|
3
|
+
셀에 저장할 수 있는 값의 타입이다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export type ExcelValueType = number | string | DateOnly | DateTime | Time | boolean | undefined;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
`DateOnly`, `DateTime`, `Time`은 `@simplysm/core-common` 패키지에서 가져온다.
|
|
10
|
+
|
|
11
|
+
## Related Types
|
|
12
|
+
|
|
13
|
+
### `ExcelCellType`
|
|
14
|
+
|
|
15
|
+
Excel 셀 타입이다. XML의 `t` 속성에 대응한다.
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
export type ExcelCellType = "s" | "b" | "str" | "n" | "inlineStr" | "e";
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
| Value | Description |
|
|
22
|
+
|-------|-------------|
|
|
23
|
+
| `"s"` | 공유 문자열 (SharedString) |
|
|
24
|
+
| `"b"` | boolean |
|
|
25
|
+
| `"str"` | 수식 결과 문자열 |
|
|
26
|
+
| `"n"` | 숫자 |
|
|
27
|
+
| `"inlineStr"` | 인라인 문자열 (서식 있는 텍스트) |
|
|
28
|
+
| `"e"` | 에러 |
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# ExcelXmlContentTypeData
|
|
2
|
+
|
|
3
|
+
`[Content_Types].xml` 데이터 구조이다. 내부 구현에 사용된다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXmlContentTypeData {
|
|
7
|
+
Types: {
|
|
8
|
+
$: { xmlns: string };
|
|
9
|
+
Default: { $: { Extension: string; ContentType: string } }[];
|
|
10
|
+
Override: { $: { PartName: string; ContentType: string } }[];
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| Field | Type | Description |
|
|
16
|
+
|-------|------|-------------|
|
|
17
|
+
| `Types.$` | `{ xmlns: string }` | 네임스페이스 |
|
|
18
|
+
| `Types.Default` | `Array` | 확장자별 기본 콘텐트 타입 |
|
|
19
|
+
| `Types.Default[].$.Extension` | `string` | 파일 확장자 |
|
|
20
|
+
| `Types.Default[].$.ContentType` | `string` | MIME 타입 |
|
|
21
|
+
| `Types.Override` | `Array` | 파일별 오버라이드 콘텐트 타입 |
|
|
22
|
+
| `Types.Override[].$.PartName` | `string` | 파일 경로 |
|
|
23
|
+
| `Types.Override[].$.ContentType` | `string` | MIME 타입 |
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# ExcelXmlDrawingData
|
|
2
|
+
|
|
3
|
+
`drawing*.xml` 데이터 구조이다. 이미지 앵커 정보를 포함한다. 내부 구현에 사용된다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXmlDrawingData {
|
|
7
|
+
wsDr: {
|
|
8
|
+
$: { "xmlns": string; "xmlns:a"?: string; "xmlns:r"?: string };
|
|
9
|
+
twoCellAnchor?: {
|
|
10
|
+
from?: { col: string[]; colOff?: string[]; row: string[]; rowOff?: string[] }[];
|
|
11
|
+
to?: { col: string[]; colOff?: string[]; row: string[]; rowOff?: string[] }[];
|
|
12
|
+
pic?: {
|
|
13
|
+
nvPicPr?: { cNvPr?: { $: { id: string; name: string; descr?: string } }[]; cNvPicPr?: Array<{ "a:picLocks"?: Array<{ $: { noChangeAspect?: string } }> }> }[];
|
|
14
|
+
blipFill?: { "a:blip"?: Array<{ $: { "r:embed": string } }>; "a:stretch"?: Array<{ "a:fillRect": unknown[] }> }[];
|
|
15
|
+
spPr?: { "a:xfrm"?: Array<{ "a:off"?: Array<{ $: { x: string; y: string } }>; "a:ext"?: Array<{ $: { cx: string; cy: string } }> }>; "a:prstGeom"?: Array<{ "$": { prst: string }; "a:avLst": unknown[] }> }[];
|
|
16
|
+
}[];
|
|
17
|
+
clientData?: unknown[];
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
| Field | Type | Description |
|
|
24
|
+
|-------|------|-------------|
|
|
25
|
+
| `wsDr.$` | `object` | 네임스페이스 |
|
|
26
|
+
| `wsDr.twoCellAnchor` | `Array \| undefined` | 두 셀 사이에 앵커된 이미지 목록 |
|
|
27
|
+
| `twoCellAnchor.from` | `Array \| undefined` | 시작 위치 (행/열/오프셋) |
|
|
28
|
+
| `twoCellAnchor.to` | `Array \| undefined` | 끝 위치 (행/열/오프셋) |
|
|
29
|
+
| `twoCellAnchor.pic` | `Array \| undefined` | 이미지 정보 (blip 관계 ID 포함) |
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# ExcelXmlRelationshipData
|
|
2
|
+
|
|
3
|
+
`*.rels` 파일 데이터 구조이다. 내부 구현에 사용된다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXmlRelationshipData {
|
|
7
|
+
Relationships: {
|
|
8
|
+
$: { xmlns: string };
|
|
9
|
+
Relationship?: ExcelRelationshipData[];
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
| Field | Type | Description |
|
|
15
|
+
|-------|------|-------------|
|
|
16
|
+
| `Relationships.$` | `{ xmlns: string }` | 네임스페이스 |
|
|
17
|
+
| `Relationships.Relationship` | `ExcelRelationshipData[] \| undefined` | 관계 항목 배열 |
|
|
18
|
+
|
|
19
|
+
## Related Types
|
|
20
|
+
|
|
21
|
+
### `ExcelRelationshipData`
|
|
22
|
+
|
|
23
|
+
개별 Relationship 엔트리 데이터이다.
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
export interface ExcelRelationshipData {
|
|
27
|
+
$: {
|
|
28
|
+
Id: string;
|
|
29
|
+
Target: string;
|
|
30
|
+
Type: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
| Field | Type | Description |
|
|
36
|
+
|-------|------|-------------|
|
|
37
|
+
| `$.Id` | `string` | 관계 ID (예: `"rId1"`) |
|
|
38
|
+
| `$.Target` | `string` | 대상 파일 경로 |
|
|
39
|
+
| `$.Type` | `string` | 관계 타입 URI |
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# ExcelXmlSharedStringData
|
|
2
|
+
|
|
3
|
+
`sharedStrings.xml` 데이터 구조이다. 내부 구현에 사용된다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXmlSharedStringData {
|
|
7
|
+
sst: {
|
|
8
|
+
$: { xmlns: string };
|
|
9
|
+
si?: ExcelXmlSharedStringDataSi[];
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
| Field | Type | Description |
|
|
15
|
+
|-------|------|-------------|
|
|
16
|
+
| `sst.$` | `{ xmlns: string }` | 네임스페이스 |
|
|
17
|
+
| `sst.si` | `ExcelXmlSharedStringDataSi[] \| undefined` | 공유 문자열 항목 배열 |
|
|
18
|
+
|
|
19
|
+
## Related Types
|
|
20
|
+
|
|
21
|
+
### `ExcelXmlSharedStringDataSi`
|
|
22
|
+
|
|
23
|
+
SharedString 개별 항목이다. discriminated union으로, `t` 키가 있으면 단순 텍스트, `r` 키가 있으면 서식 있는 텍스트(rich text)이다.
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
export type ExcelXmlSharedStringDataSi =
|
|
27
|
+
| { t: ExcelXmlSharedStringDataText }
|
|
28
|
+
| { r: { t: ExcelXmlSharedStringDataText }[] };
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
| Variant | Discriminant | Description |
|
|
32
|
+
|---------|-------------|-------------|
|
|
33
|
+
| `{ t: ... }` | `t` 키 존재 | 단순 텍스트 |
|
|
34
|
+
| `{ r: ... }` | `r` 키 존재 | 서식 있는 텍스트 (run 배열) |
|
|
35
|
+
|
|
36
|
+
### `ExcelXmlSharedStringDataText`
|
|
37
|
+
|
|
38
|
+
SharedString 텍스트 데이터이다. 단순 문자열 또는 공백 보존 속성이 있는 객체이다.
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
export type ExcelXmlSharedStringDataText = [string | { $: { space?: "preserve" }; _?: string }];
|
|
42
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# ExcelXmlStyleData
|
|
2
|
+
|
|
3
|
+
`styles.xml` 데이터 구조이다. 내부 구현에 사용된다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXmlStyleData {
|
|
7
|
+
styleSheet: {
|
|
8
|
+
$: { xmlns: string };
|
|
9
|
+
numFmts?: [{ $: { count: string }; numFmt?: { $: { numFmtId: string; formatCode: string } }[] }];
|
|
10
|
+
fonts: [{ $: { count: string }; font: {}[] }];
|
|
11
|
+
fills: [{ $: { count: string }; fill: ExcelXmlStyleDataFill[] }];
|
|
12
|
+
borders: [{ $: { count: string }; border: ExcelXmlStyleDataBorder[] }];
|
|
13
|
+
cellXfs: [{ $: { count: string }; xf: ExcelXmlStyleDataXf[] }];
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
| Field | Type | Description |
|
|
19
|
+
|-------|------|-------------|
|
|
20
|
+
| `styleSheet.numFmts` | `Array \| undefined` | 커스텀 숫자 형식 목록 |
|
|
21
|
+
| `styleSheet.fonts` | `Array` | 폰트 목록 |
|
|
22
|
+
| `styleSheet.fills` | `Array` | 채우기 스타일 목록 |
|
|
23
|
+
| `styleSheet.borders` | `Array` | 테두리 스타일 목록 |
|
|
24
|
+
| `styleSheet.cellXfs` | `Array` | 셀 서식(xf) 목록 |
|
|
25
|
+
|
|
26
|
+
## Related Types
|
|
27
|
+
|
|
28
|
+
### `ExcelXmlStyleDataXf`
|
|
29
|
+
|
|
30
|
+
셀 서식(xf) 데이터이다.
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
export interface ExcelXmlStyleDataXf {
|
|
34
|
+
$: {
|
|
35
|
+
numFmtId?: string;
|
|
36
|
+
fontId?: string;
|
|
37
|
+
fillId?: string;
|
|
38
|
+
borderId?: string;
|
|
39
|
+
xfId?: string;
|
|
40
|
+
applyNumberFormat?: string;
|
|
41
|
+
applyFont?: string;
|
|
42
|
+
applyAlignment?: string;
|
|
43
|
+
applyFill?: string;
|
|
44
|
+
applyBorder?: string;
|
|
45
|
+
};
|
|
46
|
+
alignment?: [{ $: { horizontal?: "center" | "left" | "right"; vertical?: "center" | "top" | "bottom" } }];
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
| Field | Type | Description |
|
|
51
|
+
|-------|------|-------------|
|
|
52
|
+
| `$.numFmtId` | `string \| undefined` | 숫자 형식 ID |
|
|
53
|
+
| `$.fontId` | `string \| undefined` | 폰트 ID |
|
|
54
|
+
| `$.fillId` | `string \| undefined` | 채우기 ID |
|
|
55
|
+
| `$.borderId` | `string \| undefined` | 테두리 ID |
|
|
56
|
+
| `$.xfId` | `string \| undefined` | 부모 xf ID |
|
|
57
|
+
| `$.applyNumberFormat` | `string \| undefined` | 숫자 형식 적용 여부 |
|
|
58
|
+
| `$.applyFont` | `string \| undefined` | 폰트 적용 여부 |
|
|
59
|
+
| `$.applyAlignment` | `string \| undefined` | 정렬 적용 여부 |
|
|
60
|
+
| `$.applyFill` | `string \| undefined` | 채우기 적용 여부 |
|
|
61
|
+
| `$.applyBorder` | `string \| undefined` | 테두리 적용 여부 |
|
|
62
|
+
| `alignment` | `Array \| undefined` | 정렬 설정 (horizontal, vertical) |
|
|
63
|
+
|
|
64
|
+
### `ExcelXmlStyleDataFill`
|
|
65
|
+
|
|
66
|
+
채우기 스타일 데이터이다.
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
export interface ExcelXmlStyleDataFill {
|
|
70
|
+
patternFill: [{ $: { patternType: "none" | "solid" | "gray125" }; fgColor?: [{ $: { rgb: string } }] }];
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
| Field | Type | Description |
|
|
75
|
+
|-------|------|-------------|
|
|
76
|
+
| `patternFill[0].$.patternType` | `"none" \| "solid" \| "gray125"` | 패턴 유형 |
|
|
77
|
+
| `patternFill[0].fgColor` | `[{ $: { rgb: string } }] \| undefined` | 전경색 (ARGB) |
|
|
78
|
+
|
|
79
|
+
### `ExcelXmlStyleDataBorder`
|
|
80
|
+
|
|
81
|
+
테두리 스타일 데이터이다. 각 방향은 선택적이며, `style`과 `color`를 가진다.
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
export interface ExcelXmlStyleDataBorder {
|
|
85
|
+
top?: [{ $: { style: "thin" | "medium" }; color?: [{ $: { rgb: string } }] }];
|
|
86
|
+
left?: [{ $: { style: "thin" | "medium" }; color?: [{ $: { rgb: string } }] }];
|
|
87
|
+
right?: [{ $: { style: "thin" | "medium" }; color?: [{ $: { rgb: string } }] }];
|
|
88
|
+
bottom?: [{ $: { style: "thin" | "medium" }; color?: [{ $: { rgb: string } }] }];
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
| Field | Type | Description |
|
|
93
|
+
|-------|------|-------------|
|
|
94
|
+
| `top` | `Array \| undefined` | 상단 테두리 (`"thin"` 또는 `"medium"`) |
|
|
95
|
+
| `left` | `Array \| undefined` | 좌측 테두리 |
|
|
96
|
+
| `right` | `Array \| undefined` | 우측 테두리 |
|
|
97
|
+
| `bottom` | `Array \| undefined` | 하단 테두리 |
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# ExcelXmlWorkbookData
|
|
2
|
+
|
|
3
|
+
`workbook.xml` 데이터 구조이다. 내부 구현에 사용된다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXmlWorkbookData {
|
|
7
|
+
workbook: {
|
|
8
|
+
$: { "xmlns": string; "xmlns:r"?: string };
|
|
9
|
+
bookViews?: [{ workbookView: [{}] }];
|
|
10
|
+
sheets?: [{ sheet: { $: { "name": string; "sheetId": string; "r:id": string } }[] }];
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| Field | Type | Description |
|
|
16
|
+
|-------|------|-------------|
|
|
17
|
+
| `workbook.$` | `object` | 네임스페이스 |
|
|
18
|
+
| `workbook.bookViews` | `Array \| undefined` | 워크북 뷰 설정 |
|
|
19
|
+
| `workbook.sheets` | `Array \| undefined` | 시트 목록 |
|
|
20
|
+
| `workbook.sheets[0].sheet[].$.name` | `string` | 시트 이름 |
|
|
21
|
+
| `workbook.sheets[0].sheet[].$.sheetId` | `string` | 시트 ID |
|
|
22
|
+
| `workbook.sheets[0].sheet[].$["r:id"]` | `string` | 관계 ID |
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# ExcelXmlWorksheetData
|
|
2
|
+
|
|
3
|
+
`worksheet*.xml` 데이터 구조이다. 내부 구현에 사용된다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXmlWorksheetData {
|
|
7
|
+
worksheet: {
|
|
8
|
+
$: { "xmlns": string; "xmlns:r"?: string };
|
|
9
|
+
dimension?: [{ $: { ref: string } }];
|
|
10
|
+
sheetViews?: [{ sheetView: { $: { workbookViewId: string; zoomScale?: string }; pane?: [{ $: { xSplit?: string; ySplit?: string; topLeftCell?: string; activePane?: string; state?: string } }] }[] }];
|
|
11
|
+
sheetFormatPr?: [{ $: { defaultRowHeight: string } }];
|
|
12
|
+
cols?: [{ col: { $: { min: string; max: string; width?: string; bestFit?: string; customWidth?: string } }[] }];
|
|
13
|
+
sheetData: [{ row?: ExcelRowData[] }];
|
|
14
|
+
mergeCells?: [{ $: { count: string }; mergeCell: { $: { ref: string } }[] }];
|
|
15
|
+
drawing?: { $: { "r:id": string } }[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
| Field | Type | Description |
|
|
21
|
+
|-------|------|-------------|
|
|
22
|
+
| `worksheet.dimension` | `Array \| undefined` | 데이터 범위 (예: `"A1:C10"`) |
|
|
23
|
+
| `worksheet.sheetViews` | `Array \| undefined` | 시트 뷰 설정 (줌, 틀 고정) |
|
|
24
|
+
| `worksheet.sheetFormatPr` | `Array \| undefined` | 기본 행 높이 |
|
|
25
|
+
| `worksheet.cols` | `Array \| undefined` | 열 설정 (너비 등) |
|
|
26
|
+
| `worksheet.sheetData` | `Array` | 행 데이터 |
|
|
27
|
+
| `worksheet.mergeCells` | `Array \| undefined` | 병합 셀 정보 |
|
|
28
|
+
| `worksheet.drawing` | `Array \| undefined` | 드로잉 관계 참조 |
|
|
29
|
+
|
|
30
|
+
## Related Types
|
|
31
|
+
|
|
32
|
+
### `ExcelRowData`
|
|
33
|
+
|
|
34
|
+
행 XML 데이터이다.
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
export interface ExcelRowData {
|
|
38
|
+
$: { r: string };
|
|
39
|
+
c?: ExcelCellData[];
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
| Field | Type | Description |
|
|
44
|
+
|-------|------|-------------|
|
|
45
|
+
| `$.r` | `string` | 행 주소 (1 기반, 예: `"1"`, `"10"`) |
|
|
46
|
+
| `c` | `ExcelCellData[] \| undefined` | 셀 데이터 배열 |
|
|
47
|
+
|
|
48
|
+
### `ExcelCellData`
|
|
49
|
+
|
|
50
|
+
셀 XML 데이터이다.
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
export interface ExcelCellData {
|
|
54
|
+
$: { r: string; s?: string; t?: ExcelCellType };
|
|
55
|
+
v?: [string];
|
|
56
|
+
f?: [string];
|
|
57
|
+
is?: { t?: (string | { _?: string })[] }[];
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
| Field | Type | Description |
|
|
62
|
+
|-------|------|-------------|
|
|
63
|
+
| `$.r` | `string` | 셀 주소 (예: `"A1"`, `"B3"`) |
|
|
64
|
+
| `$.s` | `string \| undefined` | 스타일 ID |
|
|
65
|
+
| `$.t` | `ExcelCellType \| undefined` | 셀 타입 |
|
|
66
|
+
| `v` | `[string] \| undefined` | 셀 값 |
|
|
67
|
+
| `f` | `[string] \| undefined` | 수식 |
|
|
68
|
+
| `is` | `Array \| undefined` | 인라인 문자열 데이터 |
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# ExcelXml
|
|
2
|
+
|
|
3
|
+
XML 처리 클래스가 구현하는 인터페이스이다. `xml/` 디렉터리의 내부 클래스들이 이를 구현한다. 외부에서 직접 사용하지 않는다.
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
export interface ExcelXml {
|
|
7
|
+
readonly data: unknown;
|
|
8
|
+
cleanup(): void;
|
|
9
|
+
}
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
| Field | Type | Description |
|
|
13
|
+
|-------|------|-------------|
|
|
14
|
+
| `data` | `unknown` | XML 파싱된 데이터 (read-only) |
|
|
15
|
+
| `cleanup` | `() => void` | `ZipCache.toBytes()` 직전에 호출되어 직렬화 전 데이터를 정리한다 |
|