@flanksource/clicky-ui 0.3.1 → 0.3.3
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/dist/comments/CommentAuthor.cjs +58 -0
- package/dist/comments/CommentAuthor.cjs.map +1 -0
- package/dist/comments/CommentAuthor.d.ts +17 -0
- package/dist/comments/CommentAuthor.d.ts.map +1 -0
- package/dist/comments/CommentAuthor.js +58 -0
- package/dist/comments/CommentAuthor.js.map +1 -0
- package/dist/comments/CommentCard.cjs +343 -0
- package/dist/comments/CommentCard.cjs.map +1 -0
- package/dist/comments/CommentCard.d.ts +27 -0
- package/dist/comments/CommentCard.d.ts.map +1 -0
- package/dist/comments/CommentCard.js +343 -0
- package/dist/comments/CommentCard.js.map +1 -0
- package/dist/comments/CommentComposer.cjs +207 -0
- package/dist/comments/CommentComposer.cjs.map +1 -0
- package/dist/comments/CommentComposer.d.ts +23 -0
- package/dist/comments/CommentComposer.d.ts.map +1 -0
- package/dist/comments/CommentComposer.js +207 -0
- package/dist/comments/CommentComposer.js.map +1 -0
- package/dist/comments/CommentFilterBar.cjs +145 -0
- package/dist/comments/CommentFilterBar.cjs.map +1 -0
- package/dist/comments/CommentFilterBar.d.ts +15 -0
- package/dist/comments/CommentFilterBar.d.ts.map +1 -0
- package/dist/comments/CommentFilterBar.js +145 -0
- package/dist/comments/CommentFilterBar.js.map +1 -0
- package/dist/comments/CommentMarkdown.cjs +156 -0
- package/dist/comments/CommentMarkdown.cjs.map +1 -0
- package/dist/comments/CommentMarkdown.d.ts +13 -0
- package/dist/comments/CommentMarkdown.d.ts.map +1 -0
- package/dist/comments/CommentMarkdown.js +156 -0
- package/dist/comments/CommentMarkdown.js.map +1 -0
- package/dist/comments/CommentProgress.cjs +86 -0
- package/dist/comments/CommentProgress.cjs.map +1 -0
- package/dist/comments/CommentProgress.d.ts +16 -0
- package/dist/comments/CommentProgress.d.ts.map +1 -0
- package/dist/comments/CommentProgress.js +86 -0
- package/dist/comments/CommentProgress.js.map +1 -0
- package/dist/comments/CommentProvider.cjs +99 -0
- package/dist/comments/CommentProvider.cjs.map +1 -0
- package/dist/comments/CommentProvider.d.ts +19 -0
- package/dist/comments/CommentProvider.d.ts.map +1 -0
- package/dist/comments/CommentProvider.js +99 -0
- package/dist/comments/CommentProvider.js.map +1 -0
- package/dist/comments/CommentSidePanel.cjs +219 -0
- package/dist/comments/CommentSidePanel.cjs.map +1 -0
- package/dist/comments/CommentSidePanel.d.ts +16 -0
- package/dist/comments/CommentSidePanel.d.ts.map +1 -0
- package/dist/comments/CommentSidePanel.js +219 -0
- package/dist/comments/CommentSidePanel.js.map +1 -0
- package/dist/comments/CommentThread.cjs +57 -0
- package/dist/comments/CommentThread.cjs.map +1 -0
- package/dist/comments/CommentThread.d.ts +24 -0
- package/dist/comments/CommentThread.d.ts.map +1 -0
- package/dist/comments/CommentThread.js +57 -0
- package/dist/comments/CommentThread.js.map +1 -0
- package/dist/comments/CommentThreadList.cjs +124 -0
- package/dist/comments/CommentThreadList.cjs.map +1 -0
- package/dist/comments/CommentThreadList.d.ts +25 -0
- package/dist/comments/CommentThreadList.d.ts.map +1 -0
- package/dist/comments/CommentThreadList.js +124 -0
- package/dist/comments/CommentThreadList.js.map +1 -0
- package/dist/comments/GroupedComments.cjs +74 -0
- package/dist/comments/GroupedComments.cjs.map +1 -0
- package/dist/comments/GroupedComments.d.ts +18 -0
- package/dist/comments/GroupedComments.d.ts.map +1 -0
- package/dist/comments/GroupedComments.js +74 -0
- package/dist/comments/GroupedComments.js.map +1 -0
- package/dist/comments/MentionTextarea.cjs +253 -0
- package/dist/comments/MentionTextarea.cjs.map +1 -0
- package/dist/comments/MentionTextarea.d.ts +28 -0
- package/dist/comments/MentionTextarea.d.ts.map +1 -0
- package/dist/comments/MentionTextarea.js +253 -0
- package/dist/comments/MentionTextarea.js.map +1 -0
- package/dist/comments/comment-context.cjs +33 -0
- package/dist/comments/comment-context.cjs.map +1 -0
- package/dist/comments/comment-context.d.ts +32 -0
- package/dist/comments/comment-context.d.ts.map +1 -0
- package/dist/comments/comment-context.js +33 -0
- package/dist/comments/comment-context.js.map +1 -0
- package/dist/comments/comment-fixtures.d.ts +11 -0
- package/dist/comments/comment-fixtures.d.ts.map +1 -0
- package/dist/comments/comment-types.cjs +19 -0
- package/dist/comments/comment-types.cjs.map +1 -0
- package/dist/comments/comment-types.d.ts +170 -0
- package/dist/comments/comment-types.d.ts.map +1 -0
- package/dist/comments/comment-types.js +19 -0
- package/dist/comments/comment-types.js.map +1 -0
- package/dist/comments/comment-utils.cjs +216 -0
- package/dist/comments/comment-utils.cjs.map +1 -0
- package/dist/comments/comment-utils.d.ts +59 -0
- package/dist/comments/comment-utils.d.ts.map +1 -0
- package/dist/comments/comment-utils.js +216 -0
- package/dist/comments/comment-utils.js.map +1 -0
- package/dist/comments.cjs +57 -0
- package/dist/comments.cjs.map +1 -0
- package/dist/comments.d.ts +16 -0
- package/dist/comments.d.ts.map +1 -0
- package/dist/comments.js +57 -0
- package/dist/comments.js.map +1 -0
- package/dist/components/FilterBar.cjs +13 -3
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.js +13 -3
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/JsonSchemaForm.cjs +20 -6
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +22 -8
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/NamespacePicker.cjs +52 -0
- package/dist/components/NamespacePicker.cjs.map +1 -0
- package/dist/components/NamespacePicker.d.ts +17 -0
- package/dist/components/NamespacePicker.d.ts.map +1 -0
- package/dist/components/NamespacePicker.js +52 -0
- package/dist/components/NamespacePicker.js.map +1 -0
- package/dist/components/form-lookup-context.cjs +36 -0
- package/dist/components/form-lookup-context.cjs.map +1 -0
- package/dist/components/form-lookup-context.d.ts +9 -0
- package/dist/components/form-lookup-context.d.ts.map +1 -0
- package/dist/components/form-lookup-context.js +36 -0
- package/dist/components/form-lookup-context.js.map +1 -0
- package/dist/components/json-schema-form-discriminator.cjs +67 -0
- package/dist/components/json-schema-form-discriminator.cjs.map +1 -0
- package/dist/components/json-schema-form-discriminator.d.ts +10 -0
- package/dist/components/json-schema-form-discriminator.d.ts.map +1 -0
- package/dist/components/json-schema-form-discriminator.js +67 -0
- package/dist/components/json-schema-form-discriminator.js.map +1 -0
- package/dist/components/json-schema-form-fields.cjs +66 -1
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts +7 -0
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +66 -1
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-grid.cjs +92 -0
- package/dist/components/json-schema-form-grid.cjs.map +1 -0
- package/dist/components/json-schema-form-grid.d.ts +9 -0
- package/dist/components/json-schema-form-grid.d.ts.map +1 -0
- package/dist/components/json-schema-form-grid.js +92 -0
- package/dist/components/json-schema-form-grid.js.map +1 -0
- package/dist/components/json-schema-form-render.cjs +20 -3
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +22 -5
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +24 -2
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +24 -2
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +37 -2
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +8 -0
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +1 -0
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +8 -0
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components/workload-picker-utils.cjs.map +1 -1
- package/dist/components/workload-picker-utils.d.ts +11 -1
- package/dist/components/workload-picker-utils.d.ts.map +1 -1
- package/dist/components/workload-picker-utils.js.map +1 -1
- package/dist/components.cjs +6 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +4 -2
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +6 -0
- package/dist/components.js.map +1 -1
- package/dist/data/Clicky.cjs +225 -60
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts +7 -1
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.fixtures.d.ts +3 -1
- package/dist/data/Clicky.fixtures.d.ts.map +1 -1
- package/dist/data/Clicky.js +226 -61
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/ExecutionTree.cjs +68 -0
- package/dist/data/ExecutionTree.cjs.map +1 -0
- package/dist/data/ExecutionTree.d.ts +40 -0
- package/dist/data/ExecutionTree.d.ts.map +1 -0
- package/dist/data/ExecutionTree.js +68 -0
- package/dist/data/ExecutionTree.js.map +1 -0
- package/dist/data/GaugeHoverCard.cjs +35 -0
- package/dist/data/GaugeHoverCard.cjs.map +1 -0
- package/dist/data/GaugeHoverCard.d.ts +25 -0
- package/dist/data/GaugeHoverCard.d.ts.map +1 -0
- package/dist/data/GaugeHoverCard.js +35 -0
- package/dist/data/GaugeHoverCard.js.map +1 -0
- package/dist/data/MarkdownEditor.cjs +616 -0
- package/dist/data/MarkdownEditor.cjs.map +1 -0
- package/dist/data/MarkdownEditor.d.ts +61 -0
- package/dist/data/MarkdownEditor.d.ts.map +1 -0
- package/dist/data/MarkdownEditor.js +616 -0
- package/dist/data/MarkdownEditor.js.map +1 -0
- package/dist/data/MarkdownEditor.model.cjs +27 -0
- package/dist/data/MarkdownEditor.model.cjs.map +1 -0
- package/dist/data/MarkdownEditor.model.d.ts +38 -0
- package/dist/data/MarkdownEditor.model.d.ts.map +1 -0
- package/dist/data/MarkdownEditor.model.js +27 -0
- package/dist/data/MarkdownEditor.model.js.map +1 -0
- package/dist/data/ObjectGraph.cjs +44 -0
- package/dist/data/ObjectGraph.cjs.map +1 -0
- package/dist/data/ObjectGraph.d.ts +39 -0
- package/dist/data/ObjectGraph.d.ts.map +1 -0
- package/dist/data/ObjectGraph.js +44 -0
- package/dist/data/ObjectGraph.js.map +1 -0
- package/dist/data/SchemaViewer.cjs +152 -0
- package/dist/data/SchemaViewer.cjs.map +1 -0
- package/dist/data/SchemaViewer.d.ts +27 -0
- package/dist/data/SchemaViewer.d.ts.map +1 -0
- package/dist/data/SchemaViewer.js +152 -0
- package/dist/data/SchemaViewer.js.map +1 -0
- package/dist/data/TimeseriesCoreBars.cjs +51 -12
- package/dist/data/TimeseriesCoreBars.cjs.map +1 -1
- package/dist/data/TimeseriesCoreBars.d.ts +32 -5
- package/dist/data/TimeseriesCoreBars.d.ts.map +1 -1
- package/dist/data/TimeseriesCoreBars.js +51 -12
- package/dist/data/TimeseriesCoreBars.js.map +1 -1
- package/dist/data/TimeseriesCoreBars.model.cjs +5 -5
- package/dist/data/TimeseriesCoreBars.model.cjs.map +1 -1
- package/dist/data/TimeseriesCoreBars.model.d.ts +4 -4
- package/dist/data/TimeseriesCoreBars.model.d.ts.map +1 -1
- package/dist/data/TimeseriesCoreBars.model.js +5 -5
- package/dist/data/TimeseriesCoreBars.model.js.map +1 -1
- package/dist/data/TimeseriesGauge.cjs +103 -65
- package/dist/data/TimeseriesGauge.cjs.map +1 -1
- package/dist/data/TimeseriesGauge.d.ts +10 -1
- package/dist/data/TimeseriesGauge.d.ts.map +1 -1
- package/dist/data/TimeseriesGauge.js +104 -66
- package/dist/data/TimeseriesGauge.js.map +1 -1
- package/dist/data/WorkloadCard.cjs +4 -4
- package/dist/data/WorkloadCard.cjs.map +1 -1
- package/dist/data/WorkloadCard.d.ts +3 -2
- package/dist/data/WorkloadCard.d.ts.map +1 -1
- package/dist/data/WorkloadCard.js +4 -4
- package/dist/data/WorkloadCard.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +11 -19
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +1 -7
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +11 -19
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindowRequestBody.cjs +20 -0
- package/dist/data/ai/ChatWindowRequestBody.cjs.map +1 -0
- package/dist/data/ai/ChatWindowRequestBody.d.ts +9 -0
- package/dist/data/ai/ChatWindowRequestBody.d.ts.map +1 -0
- package/dist/data/ai/ChatWindowRequestBody.js +20 -0
- package/dist/data/ai/ChatWindowRequestBody.js.map +1 -0
- package/dist/data/chat/Chat.cjs +12 -0
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +8 -1
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.js +12 -0
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/gauge-stats.cjs +19 -0
- package/dist/data/gauge-stats.cjs.map +1 -0
- package/dist/data/gauge-stats.d.ts +15 -0
- package/dist/data/gauge-stats.d.ts.map +1 -0
- package/dist/data/gauge-stats.js +19 -0
- package/dist/data/gauge-stats.js.map +1 -0
- package/dist/data/schema-viewer-model.cjs +436 -0
- package/dist/data/schema-viewer-model.cjs.map +1 -0
- package/dist/data/schema-viewer-model.d.ts +64 -0
- package/dist/data/schema-viewer-model.d.ts.map +1 -0
- package/dist/data/schema-viewer-model.js +436 -0
- package/dist/data/schema-viewer-model.js.map +1 -0
- package/dist/data/version-info.cjs +2 -2
- package/dist/data/version-info.js +2 -2
- package/dist/data.cjs +23 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +11 -3
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +23 -0
- package/dist/data.js.map +1 -1
- package/dist/index.cjs +87 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +87 -2
- package/dist/index.js.map +1 -1
- package/dist/rpc/EntityExplorerApp.cjs +102 -143
- package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts +34 -1
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.js +105 -146
- package/dist/rpc/EntityExplorerApp.js.map +1 -1
- package/dist/rpc/OperationActionBar.cjs +135 -0
- package/dist/rpc/OperationActionBar.cjs.map +1 -0
- package/dist/rpc/OperationActionBar.d.ts +20 -0
- package/dist/rpc/OperationActionBar.d.ts.map +1 -0
- package/dist/rpc/OperationActionBar.js +135 -0
- package/dist/rpc/OperationActionBar.js.map +1 -0
- package/dist/rpc/OperationCatalog.cjs +79 -116
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +8 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +80 -117
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationCommandPage.cjs +134 -223
- package/dist/rpc/OperationCommandPage.cjs.map +1 -1
- package/dist/rpc/OperationCommandPage.d.ts +1 -1
- package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
- package/dist/rpc/OperationCommandPage.js +135 -224
- package/dist/rpc/OperationCommandPage.js.map +1 -1
- package/dist/rpc/OperationEntityPage.cjs +49 -100
- package/dist/rpc/OperationEntityPage.cjs.map +1 -1
- package/dist/rpc/OperationEntityPage.d.ts +6 -1
- package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
- package/dist/rpc/OperationEntityPage.js +50 -101
- package/dist/rpc/OperationEntityPage.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +43 -0
- package/dist/rpc/OperationResultView.cjs.map +1 -0
- package/dist/rpc/OperationResultView.d.ts +30 -0
- package/dist/rpc/OperationResultView.d.ts.map +1 -0
- package/dist/rpc/OperationResultView.js +43 -0
- package/dist/rpc/OperationResultView.js.map +1 -0
- package/dist/rpc/SchemaActionForm.cjs +102 -0
- package/dist/rpc/SchemaActionForm.cjs.map +1 -0
- package/dist/rpc/SchemaActionForm.d.ts +23 -0
- package/dist/rpc/SchemaActionForm.d.ts.map +1 -0
- package/dist/rpc/SchemaActionForm.js +102 -0
- package/dist/rpc/SchemaActionForm.js.map +1 -0
- package/dist/rpc/accept-options.cjs.map +1 -1
- package/dist/rpc/accept-options.d.ts +0 -1
- package/dist/rpc/accept-options.d.ts.map +1 -1
- package/dist/rpc/accept-options.js.map +1 -1
- package/dist/rpc/apiClient.cjs +34 -2
- package/dist/rpc/apiClient.cjs.map +1 -1
- package/dist/rpc/apiClient.d.ts +4 -1
- package/dist/rpc/apiClient.d.ts.map +1 -1
- package/dist/rpc/apiClient.js +34 -2
- package/dist/rpc/apiClient.js.map +1 -1
- package/dist/rpc/clickyMetadata.cjs +4 -4
- package/dist/rpc/clickyMetadata.cjs.map +1 -1
- package/dist/rpc/clickyMetadata.d.ts +0 -1
- package/dist/rpc/clickyMetadata.d.ts.map +1 -1
- package/dist/rpc/clickyMetadata.js +4 -4
- package/dist/rpc/clickyMetadata.js.map +1 -1
- package/dist/rpc/formMetadata.cjs +1 -0
- package/dist/rpc/formMetadata.cjs.map +1 -1
- package/dist/rpc/formMetadata.d.ts +6 -1
- package/dist/rpc/formMetadata.d.ts.map +1 -1
- package/dist/rpc/formMetadata.js +1 -0
- package/dist/rpc/formMetadata.js.map +1 -1
- package/dist/rpc/rowNavigation.cjs +86 -0
- package/dist/rpc/rowNavigation.cjs.map +1 -0
- package/dist/rpc/rowNavigation.d.ts +14 -0
- package/dist/rpc/rowNavigation.d.ts.map +1 -0
- package/dist/rpc/rowNavigation.js +86 -0
- package/dist/rpc/rowNavigation.js.map +1 -0
- package/dist/rpc/schemaActionPath.cjs +22 -0
- package/dist/rpc/schemaActionPath.cjs.map +1 -0
- package/dist/rpc/schemaActionPath.d.ts +4 -0
- package/dist/rpc/schemaActionPath.d.ts.map +1 -0
- package/dist/rpc/schemaActionPath.js +22 -0
- package/dist/rpc/schemaActionPath.js.map +1 -0
- package/dist/rpc/surfaceIconMap.cjs +35 -0
- package/dist/rpc/surfaceIconMap.cjs.map +1 -0
- package/dist/rpc/surfaceIconMap.d.ts +3 -0
- package/dist/rpc/surfaceIconMap.d.ts.map +1 -0
- package/dist/rpc/surfaceIconMap.js +35 -0
- package/dist/rpc/surfaceIconMap.js.map +1 -0
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +2 -0
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc/useOperations.cjs.map +1 -1
- package/dist/rpc/useOperations.d.ts +4 -1
- package/dist/rpc/useOperations.d.ts.map +1 -1
- package/dist/rpc/useOperations.js.map +1 -1
- package/dist/rpc.cjs +4 -2
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +7 -6
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +4 -2
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +6 -1
- package/dist/rpc/AcceptPicker.cjs +0 -137
- package/dist/rpc/AcceptPicker.cjs.map +0 -1
- package/dist/rpc/AcceptPicker.d.ts +0 -12
- package/dist/rpc/AcceptPicker.d.ts.map +0 -1
- package/dist/rpc/AcceptPicker.js +0 -137
- package/dist/rpc/AcceptPicker.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-viewer-model.cjs","sources":["../../src/data/schema-viewer-model.ts"],"sourcesContent":["import type { JsonSchemaObject, JsonSchemaProperty } from \"../components/json-schema-form-types\";\n\nexport interface SchemaViewerNode {\n key: string;\n label: string;\n /** JSON type or a synthetic group tag such as \"branch\", \"activity\", or \"clients\". */\n badge?: string | undefined;\n /** Count shown as a pill, usually the number of children under a schema group. */\n count?: number | undefined;\n /** Platform extension metadata, when present on the schema field. */\n platformType?: string | undefined;\n ascode?: string | undefined;\n description?: string | undefined;\n /** Full per-field provenance. Present on field nodes, not synthetic group nodes. */\n meta?: SchemaViewerFieldMeta | undefined;\n /** Detail-only child payload rendered as an expanded inline panel. */\n detail?: SchemaViewerFieldMeta | undefined;\n children?: SchemaViewerNode[] | undefined;\n}\n\nexport type SchemaNode = SchemaViewerNode;\n\nexport interface SchemaViewerEnumValue {\n value: string;\n /** Human label from x-enum-labels for this value, when one differs from the code. */\n label?: string | undefined;\n}\n\nexport interface SchemaViewerSourceLocation {\n path: string;\n startLine?: number | undefined;\n endLine?: number | undefined;\n}\n\nexport interface SchemaViewerFieldMeta {\n /** JSON type label, e.g. \"string\", \"number | null\", \"enum(3)\", or \"object\". */\n type: string;\n /** Platform type extension. */\n platformType?: string | undefined;\n /** AsCode extension, or a description directive fallback. */\n ascode?: string | undefined;\n /** Format extension, or the standard JSON Schema format. */\n format?: string | undefined;\n /** Client reference extension. */\n clientRef?: boolean | undefined;\n /** x-layout */\n layout?: string | undefined;\n /** enum values paired with x-enum-labels labels by value. */\n enumValues?: SchemaViewerEnumValue[] | undefined;\n /** x-location */\n location?: SchemaViewerSourceLocation | undefined;\n /** x-source */\n source?: string | undefined;\n /** SQL lifted from a query directive in the description. */\n query?: string | undefined;\n /** Other platform directives found in the description. */\n annotations?: SchemaViewerAnnotation[] | undefined;\n /** Human-readable description with platform directives stripped out. */\n description?: string | undefined;\n}\n\nexport interface SchemaViewerAnnotation {\n key: string;\n value: string;\n}\n\ninterface ParsedDescription {\n text?: string | undefined;\n query?: string | undefined;\n ascode?: string | undefined;\n annotations?: SchemaViewerAnnotation[] | undefined;\n}\n\nconst PLATFORM_EXTENSION_PREFIX = [\"x-oi\", \"pa-\"].join(\"\");\nconst PLATFORM_DIRECTIVE_PREFIX = [\"@oi\", \"pa-\"].join(\"\");\nconst PLATFORM_TYPE_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}type`;\nconst PLATFORM_ASCODE_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}ascode`;\nconst PLATFORM_FORMAT_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}format`;\nconst PLATFORM_CLIENT_REF_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}client-ref`;\nconst PLATFORM_DIRECTIVE_PATTERN = new RegExp(`${PLATFORM_DIRECTIVE_PREFIX}([a-z][\\\\w-]*)\\\\s*`, \"gi\");\n\nfunction asObject(schema: unknown): JsonSchemaObject | undefined {\n if (!schema || typeof schema !== \"object\" || Array.isArray(schema)) return undefined;\n return schema as JsonSchemaObject;\n}\n\nfunction strExt(schema: JsonSchemaProperty, key: string): string | undefined {\n const value = schema[key];\n return typeof value === \"string\" ? value : undefined;\n}\n\nfunction enumSchema(schema: JsonSchemaProperty): JsonSchemaProperty | undefined {\n if (Array.isArray(schema.enum) && schema.enum.length > 0) return schema;\n for (const branch of [...(schema.anyOf ?? []), ...(schema.oneOf ?? [])]) {\n if (Array.isArray(branch.enum) && branch.enum.length > 0) return branch;\n }\n return undefined;\n}\n\nfunction typeLabel(schema: JsonSchemaProperty): string {\n const enumBranch = enumSchema(schema);\n if (enumBranch?.enum) return `enum(${enumBranch.enum.length})`;\n if (schema.const !== undefined) return \"const\";\n const type = schema.type;\n if (Array.isArray(type)) return type.join(\" | \");\n if (type) return type;\n if (schema.properties || schema.additionalProperties || schema.patternProperties) return \"object\";\n if (schema.items) return \"array\";\n return \"any\";\n}\n\nfunction enumValues(schema: JsonSchemaProperty): SchemaViewerEnumValue[] | undefined {\n const carrier = enumSchema(schema);\n if (!carrier?.enum || carrier.enum.length === 0) return undefined;\n const rawLabels = carrier[\"x-enum-labels\"] ?? schema[\"x-enum-labels\"];\n const labels =\n rawLabels && typeof rawLabels === \"object\" ? (rawLabels as Record<string, string>) : undefined;\n return carrier.enum.map((entry) => {\n const value = String(entry);\n const label = labels?.[value];\n return label && label !== value ? { value, label } : { value };\n });\n}\n\nfunction location(schema: JsonSchemaProperty): SchemaViewerSourceLocation | undefined {\n const loc = schema[\"x-location\"];\n if (!loc || typeof loc !== \"object\" || Array.isArray(loc)) return undefined;\n const record = loc as Record<string, unknown>;\n if (typeof record.path !== \"string\") return undefined;\n return {\n path: record.path,\n startLine: typeof record.startLine === \"number\" ? record.startLine : undefined,\n endLine: typeof record.endLine === \"number\" ? record.endLine : undefined,\n };\n}\n\nfunction parseDescription(raw: string | undefined): ParsedDescription {\n if (!raw) return {};\n const matches = [...raw.matchAll(PLATFORM_DIRECTIVE_PATTERN)];\n if (matches.length === 0) {\n const text = raw.trim();\n return text ? { text } : {};\n }\n\n const result: ParsedDescription = {};\n const first = matches[0];\n if (!first) return {};\n const firstIndex = first.index ?? 0;\n const text = raw.slice(0, firstIndex).trim();\n if (text) result.text = text;\n\n const annotations: SchemaViewerAnnotation[] = [];\n matches.forEach((match, index) => {\n const key = match[1]?.toLowerCase();\n if (!key) return;\n const start = (match.index ?? 0) + match[0].length;\n const end = index + 1 < matches.length ? (matches[index + 1]?.index ?? raw.length) : raw.length;\n const value = raw.slice(start, end).trim();\n if (!value) return;\n if (key === \"query\") result.query = value.replace(/^sql\\s+/i, \"\").trim();\n else if (key === \"ascode\") result.ascode = value;\n else annotations.push({ key, value });\n });\n\n if (annotations.length > 0) result.annotations = annotations;\n return result;\n}\n\nfunction fieldMeta(schema: JsonSchemaProperty): SchemaViewerFieldMeta {\n const desc = parseDescription(typeof schema.description === \"string\" ? schema.description : undefined);\n return {\n type: typeLabel(schema),\n platformType: strExt(schema, PLATFORM_TYPE_EXTENSION),\n ascode: strExt(schema, PLATFORM_ASCODE_EXTENSION) ?? desc.ascode,\n format: strExt(schema, PLATFORM_FORMAT_EXTENSION) ?? (typeof schema.format === \"string\" ? schema.format : undefined),\n clientRef: schema[PLATFORM_CLIENT_REF_EXTENSION] === true ? true : undefined,\n layout: strExt(schema, \"x-layout\"),\n enumValues: enumValues(schema),\n location: location(schema),\n source: strExt(schema, \"x-source\"),\n query: desc.query,\n annotations: desc.annotations,\n description: desc.text,\n };\n}\n\nexport function hasHoverMeta(meta: SchemaViewerFieldMeta): boolean {\n return Boolean(\n meta.platformType ||\n meta.ascode ||\n meta.format ||\n meta.clientRef ||\n meta.layout ||\n meta.enumValues ||\n meta.location ||\n meta.source ||\n meta.query ||\n meta.annotations ||\n meta.description,\n );\n}\n\nfunction effectiveSchemaProperties(schema: JsonSchemaObject | undefined): Record<string, JsonSchemaProperty> {\n if (!schema) return {};\n const properties: Record<string, JsonSchemaProperty> = { ...schema.properties };\n for (const clause of schema.allOf ?? []) {\n if (clause.if !== undefined || clause.then !== undefined) continue;\n for (const [key, child] of Object.entries(clause.properties ?? {})) {\n properties[key] = child;\n }\n }\n return properties;\n}\n\nfunction detailChild(key: string, label: string, meta: SchemaViewerFieldMeta): SchemaViewerNode[] | undefined {\n if (!hasHoverMeta(meta)) return undefined;\n return [{ key: `${key}/__detail`, label, detail: meta }];\n}\n\nfunction fieldNode(name: string, schema: JsonSchemaProperty, keyPrefix: string): SchemaViewerNode {\n const key = `${keyPrefix}/${name}`;\n const meta = fieldMeta(schema);\n const node: SchemaViewerNode = {\n key,\n label: name,\n badge: meta.type,\n platformType: meta.platformType,\n ascode: meta.ascode,\n description: meta.description,\n meta,\n };\n\n const children = objectChildren(schema, key);\n if (children.length > 0) {\n node.children = children;\n node.count = children.length;\n } else {\n node.children = detailChild(key, name, meta);\n }\n return node;\n}\n\nfunction mapValueNode(label: string, schema: JsonSchemaProperty, keyPrefix: string): SchemaViewerNode {\n const meta = fieldMeta(schema);\n const children = objectChildren(schema, keyPrefix);\n return {\n key: keyPrefix,\n label,\n badge: meta.type,\n platformType: meta.platformType,\n ascode: meta.ascode,\n description: meta.description,\n meta,\n ...(children.length > 0\n ? { count: children.length, children }\n : { children: detailChild(keyPrefix, label, meta) }),\n };\n}\n\nfunction objectChildren(schema: JsonSchemaProperty, keyPrefix: string): SchemaViewerNode[] {\n const out: SchemaViewerNode[] = [];\n const own = effectiveSchemaProperties(asObject(schema));\n const itemProps = effectiveSchemaProperties(asObject(schema.items));\n const props = Object.keys(own).length > 0 ? own : itemProps;\n\n for (const [name, child] of Object.entries(props)) {\n out.push(fieldNode(name, child, keyPrefix));\n }\n\n const additional = asObject(schema.additionalProperties);\n if (additional) {\n out.push(mapValueNode(\"(any key)\", additional, `${keyPrefix}/*`));\n }\n\n for (const [pattern, child] of Object.entries(schema.patternProperties ?? {})) {\n out.push(mapValueNode(`/${pattern}/`, child, `${keyPrefix}/pattern/${pattern}`));\n }\n\n return out;\n}\n\nfunction activityNames(value: JsonSchemaObject): string[] {\n const names = new Set<string>();\n const activity = value.properties?.activity;\n if (activity && Array.isArray(activity.enum)) activity.enum.forEach((entry) => names.add(String(entry)));\n for (const clause of value.allOf ?? []) {\n const condition = clause.if?.properties?.activity as JsonSchemaProperty | undefined;\n if (condition?.const !== undefined) names.add(String(condition.const));\n if (Array.isArray(condition?.enum)) condition.enum.forEach((entry) => names.add(String(entry)));\n }\n return [...names].sort();\n}\n\nfunction activityInput(value: JsonSchemaObject, activity: string): JsonSchemaObject | undefined {\n for (const clause of value.allOf ?? []) {\n const condition = clause.if?.properties?.activity as JsonSchemaProperty | undefined;\n const matches =\n condition?.const === activity ||\n (Array.isArray(condition?.enum) && condition.enum.includes(activity));\n if (!matches) continue;\n const input = asObject(clause.then?.properties?.input as JsonSchemaProperty | undefined);\n if (input) return input;\n }\n return asObject(value.properties?.input);\n}\n\nfunction activityBranchNode(target: string, value: JsonSchemaObject): SchemaViewerNode {\n const key = `branch/${target}/activity`;\n const names = activityNames(value);\n const activities: SchemaViewerNode[] = names.map((name) => {\n const input = activityInput(value, name);\n const inputFields = input ? objectChildren(input, `${key}/${name}/input`) : [];\n const children: SchemaViewerNode[] = [];\n if (inputFields.length > 0) {\n children.push({\n key: `${key}/${name}/input`,\n label: \"input\",\n badge: \"object\",\n count: inputFields.length,\n children: inputFields,\n });\n }\n return {\n key: `${key}/${name}`,\n label: name,\n badge: \"activity\",\n ...(children.length > 0 ? { children, count: children.length } : {}),\n };\n });\n const controls = sharedControlFields(value, key);\n return {\n key,\n label: `activity - ${target}`,\n badge: \"branch\",\n count: names.length,\n children: [...activities, ...controls],\n };\n}\n\nfunction sharedControlFields(value: JsonSchemaObject, keyPrefix: string): SchemaViewerNode[] {\n const out: SchemaViewerNode[] = [];\n for (const [name, child] of Object.entries(effectiveSchemaProperties(value))) {\n if (name === \"activity\" || name === \"input\") continue;\n out.push(fieldNode(name, child, `${keyPrefix}/_controls`));\n }\n if (out.length === 0) return [];\n return [\n {\n key: `${keyPrefix}/_controls`,\n label: \"(common fields)\",\n badge: \"fields\",\n count: out.length,\n children: out,\n },\n ];\n}\n\nfunction addressCountryNames(value: JsonSchemaObject): string[] {\n const country = asObject(value.properties?.CountryCode);\n if (country && Array.isArray(country.enum)) return country.enum.map(String).sort();\n return [];\n}\n\nfunction addressTypesForCountry(value: JsonSchemaObject, country: string): string[] {\n for (const clause of value.allOf ?? []) {\n const ifProps = clause.if?.properties ?? {};\n const countryCode = ifProps.CountryCode as JsonSchemaProperty | undefined;\n if (countryCode?.const !== country || ifProps.AddressType !== undefined) continue;\n const addressType = asObject(clause.then?.properties?.AddressType as JsonSchemaProperty | undefined);\n if (addressType && Array.isArray(addressType.enum)) return addressType.enum.map(String).sort();\n }\n return [];\n}\n\nfunction addressFieldsFor(\n value: JsonSchemaObject,\n country: string,\n addressType: string,\n): JsonSchemaObject | undefined {\n for (const clause of value.allOf ?? []) {\n const ifProps = clause.if?.properties ?? {};\n const countryCode = ifProps.CountryCode as JsonSchemaProperty | undefined;\n const type = ifProps.AddressType as JsonSchemaProperty | undefined;\n if (countryCode?.const !== country || type?.const !== addressType) continue;\n const fields = asObject(clause.then?.properties?.fields as JsonSchemaProperty | undefined);\n if (fields) return fields;\n }\n return undefined;\n}\n\nfunction addressesNode(key: string, map: JsonSchemaObject): SchemaViewerNode | undefined {\n const value = asObject(map.additionalProperties);\n if (!value) return undefined;\n const role = asObject(map.propertyNames);\n const countries = addressCountryNames(value);\n const countryNodes: SchemaViewerNode[] = countries.map((country) => {\n const types = addressTypesForCountry(value, country);\n const typeNodes: SchemaViewerNode[] = types.map((type) => {\n const fields = addressFieldsFor(value, country, type);\n const fieldNodes = fields ? objectChildren(fields, `${key}/${country}/${type}/fields`) : [];\n const children: SchemaViewerNode[] =\n fieldNodes.length > 0\n ? [\n {\n key: `${key}/${country}/${type}/fields`,\n label: \"fields\",\n badge: \"object\",\n count: fieldNodes.length,\n children: fieldNodes,\n },\n ]\n : [];\n return {\n key: `${key}/${country}/${type}`,\n label: type,\n badge: \"activity\",\n ...(children.length > 0 ? { children, count: children.length } : {}),\n };\n });\n return {\n key: `${key}/${country}`,\n label: country,\n badge: \"branch\",\n count: typeNodes.length,\n children: typeNodes,\n };\n });\n\n return {\n key,\n label: \"addresses\",\n badge: \"branch\",\n count: countries.length,\n ...(role?.[PLATFORM_ASCODE_EXTENSION] ? { ascode: String(role[PLATFORM_ASCODE_EXTENSION]) } : {}),\n children: countryNodes,\n };\n}\n\nfunction stepBranchNode(key: string, value: JsonSchemaObject): SchemaViewerNode {\n const children = objectChildren(value, `branch/${key}`);\n return { key: `branch/${key}`, label: key, badge: \"branch\", count: children.length, children };\n}\n\nfunction stepsNode(schema: JsonSchemaObject): SchemaViewerNode | undefined {\n const items = asObject(schema.properties?.steps?.items as JsonSchemaProperty | undefined);\n const branches = (items?.oneOf ?? []) as JsonSchemaProperty[];\n if (branches.length === 0) return undefined;\n\n const children: SchemaViewerNode[] = [];\n for (const branch of branches) {\n const key = branch.required?.[0];\n if (!key) continue;\n const value = asObject(branch.properties?.[key]);\n if (!value) continue;\n if (value.required?.includes(\"activity\")) {\n children.push(activityBranchNode(key, value));\n } else if (key === \"policy\") {\n children.push({ ...stepBranchNode(key, value), label: \"policy-create\" });\n } else {\n children.push(stepBranchNode(key, value));\n }\n }\n\n return { key: \"steps\", label: \"Steps\", badge: \"branch\", count: children.length, children };\n}\n\nfunction setupNode(schema: JsonSchemaObject): SchemaViewerNode | undefined {\n const setup = asObject(schema.properties?.setup as JsonSchemaProperty | undefined);\n if (!setup) return undefined;\n\n const children: SchemaViewerNode[] = [];\n for (const which of [\"scheme\", \"customer\"] as const) {\n const block = asObject(setup.properties?.[which]);\n const fields = asObject(block?.properties?.fields);\n if (fields) {\n const fieldNodes = objectChildren(fields, `setup/${which}/fields`);\n children.push({\n key: `setup/${which}`,\n label: `${which} fields`,\n badge: \"fields\",\n count: fieldNodes.length,\n children: fieldNodes,\n });\n }\n const addressMap = asObject(block?.properties?.addresses);\n const addresses = addressMap ? addressesNode(`setup/${which}/addresses`, addressMap) : undefined;\n if (addresses) children.push({ ...addresses, label: `${which} addresses` });\n }\n\n const clients = asObject(setup.properties?.clients);\n const clientTypes = Object.keys(clients?.properties ?? {});\n if (clients && clientTypes.length > 0) {\n const typeNodes = clientTypes.map((type) => {\n const entry = asObject(asObject(clients.properties?.[type])?.items as JsonSchemaProperty | undefined);\n const fields = entry\n ? objectChildren(entry, `setup/clients/${type}`).filter((node) => node.label !== \"addresses\")\n : [];\n const addressMap = asObject(entry?.properties?.addresses);\n const addresses = addressMap ? addressesNode(`setup/clients/${type}/addresses`, addressMap) : undefined;\n const kids = addresses ? [...fields, addresses] : fields;\n return {\n key: `setup/clients/${type}`,\n label: type,\n badge: \"clientType\",\n count: kids.length,\n children: kids,\n };\n });\n children.push({\n key: \"setup/clients\",\n label: \"clients\",\n badge: \"clientTypes\",\n count: clientTypes.length,\n children: typeNodes,\n });\n }\n\n return { key: \"setup\", label: \"Setup\", badge: \"group\", count: children.length, children };\n}\n\nfunction topLevelFields(schema: JsonSchemaObject): SchemaViewerNode[] {\n const skip = new Set([\"setup\", \"steps\"]);\n const out: SchemaViewerNode[] = [];\n for (const [name, child] of Object.entries(effectiveSchemaProperties(schema))) {\n if (skip.has(name)) continue;\n out.push(fieldNode(name, child, \"root\"));\n }\n return out;\n}\n\nexport function buildSchemaTree(schema: JsonSchemaObject): SchemaViewerNode[] {\n const roots: SchemaViewerNode[] = [];\n const setup = setupNode(schema);\n if (setup) roots.push(setup);\n const steps = stepsNode(schema);\n if (steps) roots.push(steps);\n roots.push(...topLevelFields(schema));\n return roots;\n}\n\nexport function buildSchemaViewerTree(schema: JsonSchemaObject): SchemaViewerNode[] {\n return buildSchemaTree(schema);\n}\n\nexport function buildStepBranchTree(\n schema: JsonSchemaObject,\n branchKey: string,\n isActivity: boolean,\n): SchemaViewerNode[] {\n const items = asObject(schema.properties?.steps?.items as JsonSchemaProperty | undefined);\n const branches = (items?.oneOf ?? []) as JsonSchemaProperty[];\n for (const branch of branches) {\n if (!branch.required?.includes(branchKey)) continue;\n const value = asObject(branch.properties?.[branchKey]);\n if (!value) continue;\n const branchIsActivity = Boolean(value.required?.includes(\"activity\"));\n if (branchIsActivity !== isActivity) continue;\n if (branchIsActivity) return [activityBranchNode(branchKey, value)];\n const node =\n branchKey === \"policy\"\n ? { ...stepBranchNode(branchKey, value), label: \"policy-create\" }\n : stepBranchNode(branchKey, value);\n return [node];\n }\n return [];\n}\n"],"names":["text","_b","_a","_c"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { JsonSchemaObject } from '../components/json-schema-form-types';
|
|
2
|
+
export interface SchemaViewerNode {
|
|
3
|
+
key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
/** JSON type or a synthetic group tag such as "branch", "activity", or "clients". */
|
|
6
|
+
badge?: string | undefined;
|
|
7
|
+
/** Count shown as a pill, usually the number of children under a schema group. */
|
|
8
|
+
count?: number | undefined;
|
|
9
|
+
/** Platform extension metadata, when present on the schema field. */
|
|
10
|
+
platformType?: string | undefined;
|
|
11
|
+
ascode?: string | undefined;
|
|
12
|
+
description?: string | undefined;
|
|
13
|
+
/** Full per-field provenance. Present on field nodes, not synthetic group nodes. */
|
|
14
|
+
meta?: SchemaViewerFieldMeta | undefined;
|
|
15
|
+
/** Detail-only child payload rendered as an expanded inline panel. */
|
|
16
|
+
detail?: SchemaViewerFieldMeta | undefined;
|
|
17
|
+
children?: SchemaViewerNode[] | undefined;
|
|
18
|
+
}
|
|
19
|
+
export type SchemaNode = SchemaViewerNode;
|
|
20
|
+
export interface SchemaViewerEnumValue {
|
|
21
|
+
value: string;
|
|
22
|
+
/** Human label from x-enum-labels for this value, when one differs from the code. */
|
|
23
|
+
label?: string | undefined;
|
|
24
|
+
}
|
|
25
|
+
export interface SchemaViewerSourceLocation {
|
|
26
|
+
path: string;
|
|
27
|
+
startLine?: number | undefined;
|
|
28
|
+
endLine?: number | undefined;
|
|
29
|
+
}
|
|
30
|
+
export interface SchemaViewerFieldMeta {
|
|
31
|
+
/** JSON type label, e.g. "string", "number | null", "enum(3)", or "object". */
|
|
32
|
+
type: string;
|
|
33
|
+
/** Platform type extension. */
|
|
34
|
+
platformType?: string | undefined;
|
|
35
|
+
/** AsCode extension, or a description directive fallback. */
|
|
36
|
+
ascode?: string | undefined;
|
|
37
|
+
/** Format extension, or the standard JSON Schema format. */
|
|
38
|
+
format?: string | undefined;
|
|
39
|
+
/** Client reference extension. */
|
|
40
|
+
clientRef?: boolean | undefined;
|
|
41
|
+
/** x-layout */
|
|
42
|
+
layout?: string | undefined;
|
|
43
|
+
/** enum values paired with x-enum-labels labels by value. */
|
|
44
|
+
enumValues?: SchemaViewerEnumValue[] | undefined;
|
|
45
|
+
/** x-location */
|
|
46
|
+
location?: SchemaViewerSourceLocation | undefined;
|
|
47
|
+
/** x-source */
|
|
48
|
+
source?: string | undefined;
|
|
49
|
+
/** SQL lifted from a query directive in the description. */
|
|
50
|
+
query?: string | undefined;
|
|
51
|
+
/** Other platform directives found in the description. */
|
|
52
|
+
annotations?: SchemaViewerAnnotation[] | undefined;
|
|
53
|
+
/** Human-readable description with platform directives stripped out. */
|
|
54
|
+
description?: string | undefined;
|
|
55
|
+
}
|
|
56
|
+
export interface SchemaViewerAnnotation {
|
|
57
|
+
key: string;
|
|
58
|
+
value: string;
|
|
59
|
+
}
|
|
60
|
+
export declare function hasHoverMeta(meta: SchemaViewerFieldMeta): boolean;
|
|
61
|
+
export declare function buildSchemaTree(schema: JsonSchemaObject): SchemaViewerNode[];
|
|
62
|
+
export declare function buildSchemaViewerTree(schema: JsonSchemaObject): SchemaViewerNode[];
|
|
63
|
+
export declare function buildStepBranchTree(schema: JsonSchemaObject, branchKey: string, isActivity: boolean): SchemaViewerNode[];
|
|
64
|
+
//# sourceMappingURL=schema-viewer-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-viewer-model.d.ts","sourceRoot":"","sources":["../../src/data/schema-viewer-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,sCAAsC,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oFAAoF;IACpF,IAAI,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzC,sEAAsE;IACtE,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IACjD,iBAAiB;IACjB,QAAQ,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAClD,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,0DAA0D;IAC1D,WAAW,CAAC,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;IACnD,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AA0HD,wBAAgB,YAAY,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAcjE;AA0UD,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAQ5E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAElF;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,GAClB,gBAAgB,EAAE,CAiBpB"}
|
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
const PLATFORM_EXTENSION_PREFIX = ["x-oi", "pa-"].join("");
|
|
2
|
+
const PLATFORM_DIRECTIVE_PREFIX = ["@oi", "pa-"].join("");
|
|
3
|
+
const PLATFORM_TYPE_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}type`;
|
|
4
|
+
const PLATFORM_ASCODE_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}ascode`;
|
|
5
|
+
const PLATFORM_FORMAT_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}format`;
|
|
6
|
+
const PLATFORM_CLIENT_REF_EXTENSION = `${PLATFORM_EXTENSION_PREFIX}client-ref`;
|
|
7
|
+
const PLATFORM_DIRECTIVE_PATTERN = new RegExp(`${PLATFORM_DIRECTIVE_PREFIX}([a-z][\\w-]*)\\s*`, "gi");
|
|
8
|
+
function asObject(schema) {
|
|
9
|
+
if (!schema || typeof schema !== "object" || Array.isArray(schema)) return void 0;
|
|
10
|
+
return schema;
|
|
11
|
+
}
|
|
12
|
+
function strExt(schema, key) {
|
|
13
|
+
const value = schema[key];
|
|
14
|
+
return typeof value === "string" ? value : void 0;
|
|
15
|
+
}
|
|
16
|
+
function enumSchema(schema) {
|
|
17
|
+
if (Array.isArray(schema.enum) && schema.enum.length > 0) return schema;
|
|
18
|
+
for (const branch of [...schema.anyOf ?? [], ...schema.oneOf ?? []]) {
|
|
19
|
+
if (Array.isArray(branch.enum) && branch.enum.length > 0) return branch;
|
|
20
|
+
}
|
|
21
|
+
return void 0;
|
|
22
|
+
}
|
|
23
|
+
function typeLabel(schema) {
|
|
24
|
+
const enumBranch = enumSchema(schema);
|
|
25
|
+
if (enumBranch == null ? void 0 : enumBranch.enum) return `enum(${enumBranch.enum.length})`;
|
|
26
|
+
if (schema.const !== void 0) return "const";
|
|
27
|
+
const type = schema.type;
|
|
28
|
+
if (Array.isArray(type)) return type.join(" | ");
|
|
29
|
+
if (type) return type;
|
|
30
|
+
if (schema.properties || schema.additionalProperties || schema.patternProperties) return "object";
|
|
31
|
+
if (schema.items) return "array";
|
|
32
|
+
return "any";
|
|
33
|
+
}
|
|
34
|
+
function enumValues(schema) {
|
|
35
|
+
const carrier = enumSchema(schema);
|
|
36
|
+
if (!(carrier == null ? void 0 : carrier.enum) || carrier.enum.length === 0) return void 0;
|
|
37
|
+
const rawLabels = carrier["x-enum-labels"] ?? schema["x-enum-labels"];
|
|
38
|
+
const labels = rawLabels && typeof rawLabels === "object" ? rawLabels : void 0;
|
|
39
|
+
return carrier.enum.map((entry) => {
|
|
40
|
+
const value = String(entry);
|
|
41
|
+
const label = labels == null ? void 0 : labels[value];
|
|
42
|
+
return label && label !== value ? { value, label } : { value };
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function location(schema) {
|
|
46
|
+
const loc = schema["x-location"];
|
|
47
|
+
if (!loc || typeof loc !== "object" || Array.isArray(loc)) return void 0;
|
|
48
|
+
const record = loc;
|
|
49
|
+
if (typeof record.path !== "string") return void 0;
|
|
50
|
+
return {
|
|
51
|
+
path: record.path,
|
|
52
|
+
startLine: typeof record.startLine === "number" ? record.startLine : void 0,
|
|
53
|
+
endLine: typeof record.endLine === "number" ? record.endLine : void 0
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function parseDescription(raw) {
|
|
57
|
+
if (!raw) return {};
|
|
58
|
+
const matches = [...raw.matchAll(PLATFORM_DIRECTIVE_PATTERN)];
|
|
59
|
+
if (matches.length === 0) {
|
|
60
|
+
const text2 = raw.trim();
|
|
61
|
+
return text2 ? { text: text2 } : {};
|
|
62
|
+
}
|
|
63
|
+
const result = {};
|
|
64
|
+
const first = matches[0];
|
|
65
|
+
if (!first) return {};
|
|
66
|
+
const firstIndex = first.index ?? 0;
|
|
67
|
+
const text = raw.slice(0, firstIndex).trim();
|
|
68
|
+
if (text) result.text = text;
|
|
69
|
+
const annotations = [];
|
|
70
|
+
matches.forEach((match, index) => {
|
|
71
|
+
var _a, _b;
|
|
72
|
+
const key = (_a = match[1]) == null ? void 0 : _a.toLowerCase();
|
|
73
|
+
if (!key) return;
|
|
74
|
+
const start = (match.index ?? 0) + match[0].length;
|
|
75
|
+
const end = index + 1 < matches.length ? ((_b = matches[index + 1]) == null ? void 0 : _b.index) ?? raw.length : raw.length;
|
|
76
|
+
const value = raw.slice(start, end).trim();
|
|
77
|
+
if (!value) return;
|
|
78
|
+
if (key === "query") result.query = value.replace(/^sql\s+/i, "").trim();
|
|
79
|
+
else if (key === "ascode") result.ascode = value;
|
|
80
|
+
else annotations.push({ key, value });
|
|
81
|
+
});
|
|
82
|
+
if (annotations.length > 0) result.annotations = annotations;
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
function fieldMeta(schema) {
|
|
86
|
+
const desc = parseDescription(typeof schema.description === "string" ? schema.description : void 0);
|
|
87
|
+
return {
|
|
88
|
+
type: typeLabel(schema),
|
|
89
|
+
platformType: strExt(schema, PLATFORM_TYPE_EXTENSION),
|
|
90
|
+
ascode: strExt(schema, PLATFORM_ASCODE_EXTENSION) ?? desc.ascode,
|
|
91
|
+
format: strExt(schema, PLATFORM_FORMAT_EXTENSION) ?? (typeof schema.format === "string" ? schema.format : void 0),
|
|
92
|
+
clientRef: schema[PLATFORM_CLIENT_REF_EXTENSION] === true ? true : void 0,
|
|
93
|
+
layout: strExt(schema, "x-layout"),
|
|
94
|
+
enumValues: enumValues(schema),
|
|
95
|
+
location: location(schema),
|
|
96
|
+
source: strExt(schema, "x-source"),
|
|
97
|
+
query: desc.query,
|
|
98
|
+
annotations: desc.annotations,
|
|
99
|
+
description: desc.text
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function hasHoverMeta(meta) {
|
|
103
|
+
return Boolean(
|
|
104
|
+
meta.platformType || meta.ascode || meta.format || meta.clientRef || meta.layout || meta.enumValues || meta.location || meta.source || meta.query || meta.annotations || meta.description
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
function effectiveSchemaProperties(schema) {
|
|
108
|
+
if (!schema) return {};
|
|
109
|
+
const properties = { ...schema.properties };
|
|
110
|
+
for (const clause of schema.allOf ?? []) {
|
|
111
|
+
if (clause.if !== void 0 || clause.then !== void 0) continue;
|
|
112
|
+
for (const [key, child] of Object.entries(clause.properties ?? {})) {
|
|
113
|
+
properties[key] = child;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return properties;
|
|
117
|
+
}
|
|
118
|
+
function detailChild(key, label, meta) {
|
|
119
|
+
if (!hasHoverMeta(meta)) return void 0;
|
|
120
|
+
return [{ key: `${key}/__detail`, label, detail: meta }];
|
|
121
|
+
}
|
|
122
|
+
function fieldNode(name, schema, keyPrefix) {
|
|
123
|
+
const key = `${keyPrefix}/${name}`;
|
|
124
|
+
const meta = fieldMeta(schema);
|
|
125
|
+
const node = {
|
|
126
|
+
key,
|
|
127
|
+
label: name,
|
|
128
|
+
badge: meta.type,
|
|
129
|
+
platformType: meta.platformType,
|
|
130
|
+
ascode: meta.ascode,
|
|
131
|
+
description: meta.description,
|
|
132
|
+
meta
|
|
133
|
+
};
|
|
134
|
+
const children = objectChildren(schema, key);
|
|
135
|
+
if (children.length > 0) {
|
|
136
|
+
node.children = children;
|
|
137
|
+
node.count = children.length;
|
|
138
|
+
} else {
|
|
139
|
+
node.children = detailChild(key, name, meta);
|
|
140
|
+
}
|
|
141
|
+
return node;
|
|
142
|
+
}
|
|
143
|
+
function mapValueNode(label, schema, keyPrefix) {
|
|
144
|
+
const meta = fieldMeta(schema);
|
|
145
|
+
const children = objectChildren(schema, keyPrefix);
|
|
146
|
+
return {
|
|
147
|
+
key: keyPrefix,
|
|
148
|
+
label,
|
|
149
|
+
badge: meta.type,
|
|
150
|
+
platformType: meta.platformType,
|
|
151
|
+
ascode: meta.ascode,
|
|
152
|
+
description: meta.description,
|
|
153
|
+
meta,
|
|
154
|
+
...children.length > 0 ? { count: children.length, children } : { children: detailChild(keyPrefix, label, meta) }
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
function objectChildren(schema, keyPrefix) {
|
|
158
|
+
const out = [];
|
|
159
|
+
const own = effectiveSchemaProperties(asObject(schema));
|
|
160
|
+
const itemProps = effectiveSchemaProperties(asObject(schema.items));
|
|
161
|
+
const props = Object.keys(own).length > 0 ? own : itemProps;
|
|
162
|
+
for (const [name, child] of Object.entries(props)) {
|
|
163
|
+
out.push(fieldNode(name, child, keyPrefix));
|
|
164
|
+
}
|
|
165
|
+
const additional = asObject(schema.additionalProperties);
|
|
166
|
+
if (additional) {
|
|
167
|
+
out.push(mapValueNode("(any key)", additional, `${keyPrefix}/*`));
|
|
168
|
+
}
|
|
169
|
+
for (const [pattern, child] of Object.entries(schema.patternProperties ?? {})) {
|
|
170
|
+
out.push(mapValueNode(`/${pattern}/`, child, `${keyPrefix}/pattern/${pattern}`));
|
|
171
|
+
}
|
|
172
|
+
return out;
|
|
173
|
+
}
|
|
174
|
+
function activityNames(value) {
|
|
175
|
+
var _a, _b, _c;
|
|
176
|
+
const names = /* @__PURE__ */ new Set();
|
|
177
|
+
const activity = (_a = value.properties) == null ? void 0 : _a.activity;
|
|
178
|
+
if (activity && Array.isArray(activity.enum)) activity.enum.forEach((entry) => names.add(String(entry)));
|
|
179
|
+
for (const clause of value.allOf ?? []) {
|
|
180
|
+
const condition = (_c = (_b = clause.if) == null ? void 0 : _b.properties) == null ? void 0 : _c.activity;
|
|
181
|
+
if ((condition == null ? void 0 : condition.const) !== void 0) names.add(String(condition.const));
|
|
182
|
+
if (Array.isArray(condition == null ? void 0 : condition.enum)) condition.enum.forEach((entry) => names.add(String(entry)));
|
|
183
|
+
}
|
|
184
|
+
return [...names].sort();
|
|
185
|
+
}
|
|
186
|
+
function activityInput(value, activity) {
|
|
187
|
+
var _a, _b, _c, _d, _e;
|
|
188
|
+
for (const clause of value.allOf ?? []) {
|
|
189
|
+
const condition = (_b = (_a = clause.if) == null ? void 0 : _a.properties) == null ? void 0 : _b.activity;
|
|
190
|
+
const matches = (condition == null ? void 0 : condition.const) === activity || Array.isArray(condition == null ? void 0 : condition.enum) && condition.enum.includes(activity);
|
|
191
|
+
if (!matches) continue;
|
|
192
|
+
const input = asObject((_d = (_c = clause.then) == null ? void 0 : _c.properties) == null ? void 0 : _d.input);
|
|
193
|
+
if (input) return input;
|
|
194
|
+
}
|
|
195
|
+
return asObject((_e = value.properties) == null ? void 0 : _e.input);
|
|
196
|
+
}
|
|
197
|
+
function activityBranchNode(target, value) {
|
|
198
|
+
const key = `branch/${target}/activity`;
|
|
199
|
+
const names = activityNames(value);
|
|
200
|
+
const activities = names.map((name) => {
|
|
201
|
+
const input = activityInput(value, name);
|
|
202
|
+
const inputFields = input ? objectChildren(input, `${key}/${name}/input`) : [];
|
|
203
|
+
const children = [];
|
|
204
|
+
if (inputFields.length > 0) {
|
|
205
|
+
children.push({
|
|
206
|
+
key: `${key}/${name}/input`,
|
|
207
|
+
label: "input",
|
|
208
|
+
badge: "object",
|
|
209
|
+
count: inputFields.length,
|
|
210
|
+
children: inputFields
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
key: `${key}/${name}`,
|
|
215
|
+
label: name,
|
|
216
|
+
badge: "activity",
|
|
217
|
+
...children.length > 0 ? { children, count: children.length } : {}
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
const controls = sharedControlFields(value, key);
|
|
221
|
+
return {
|
|
222
|
+
key,
|
|
223
|
+
label: `activity - ${target}`,
|
|
224
|
+
badge: "branch",
|
|
225
|
+
count: names.length,
|
|
226
|
+
children: [...activities, ...controls]
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
function sharedControlFields(value, keyPrefix) {
|
|
230
|
+
const out = [];
|
|
231
|
+
for (const [name, child] of Object.entries(effectiveSchemaProperties(value))) {
|
|
232
|
+
if (name === "activity" || name === "input") continue;
|
|
233
|
+
out.push(fieldNode(name, child, `${keyPrefix}/_controls`));
|
|
234
|
+
}
|
|
235
|
+
if (out.length === 0) return [];
|
|
236
|
+
return [
|
|
237
|
+
{
|
|
238
|
+
key: `${keyPrefix}/_controls`,
|
|
239
|
+
label: "(common fields)",
|
|
240
|
+
badge: "fields",
|
|
241
|
+
count: out.length,
|
|
242
|
+
children: out
|
|
243
|
+
}
|
|
244
|
+
];
|
|
245
|
+
}
|
|
246
|
+
function addressCountryNames(value) {
|
|
247
|
+
var _a;
|
|
248
|
+
const country = asObject((_a = value.properties) == null ? void 0 : _a.CountryCode);
|
|
249
|
+
if (country && Array.isArray(country.enum)) return country.enum.map(String).sort();
|
|
250
|
+
return [];
|
|
251
|
+
}
|
|
252
|
+
function addressTypesForCountry(value, country) {
|
|
253
|
+
var _a, _b, _c;
|
|
254
|
+
for (const clause of value.allOf ?? []) {
|
|
255
|
+
const ifProps = ((_a = clause.if) == null ? void 0 : _a.properties) ?? {};
|
|
256
|
+
const countryCode = ifProps.CountryCode;
|
|
257
|
+
if ((countryCode == null ? void 0 : countryCode.const) !== country || ifProps.AddressType !== void 0) continue;
|
|
258
|
+
const addressType = asObject((_c = (_b = clause.then) == null ? void 0 : _b.properties) == null ? void 0 : _c.AddressType);
|
|
259
|
+
if (addressType && Array.isArray(addressType.enum)) return addressType.enum.map(String).sort();
|
|
260
|
+
}
|
|
261
|
+
return [];
|
|
262
|
+
}
|
|
263
|
+
function addressFieldsFor(value, country, addressType) {
|
|
264
|
+
var _a, _b, _c;
|
|
265
|
+
for (const clause of value.allOf ?? []) {
|
|
266
|
+
const ifProps = ((_a = clause.if) == null ? void 0 : _a.properties) ?? {};
|
|
267
|
+
const countryCode = ifProps.CountryCode;
|
|
268
|
+
const type = ifProps.AddressType;
|
|
269
|
+
if ((countryCode == null ? void 0 : countryCode.const) !== country || (type == null ? void 0 : type.const) !== addressType) continue;
|
|
270
|
+
const fields = asObject((_c = (_b = clause.then) == null ? void 0 : _b.properties) == null ? void 0 : _c.fields);
|
|
271
|
+
if (fields) return fields;
|
|
272
|
+
}
|
|
273
|
+
return void 0;
|
|
274
|
+
}
|
|
275
|
+
function addressesNode(key, map) {
|
|
276
|
+
const value = asObject(map.additionalProperties);
|
|
277
|
+
if (!value) return void 0;
|
|
278
|
+
const role = asObject(map.propertyNames);
|
|
279
|
+
const countries = addressCountryNames(value);
|
|
280
|
+
const countryNodes = countries.map((country) => {
|
|
281
|
+
const types = addressTypesForCountry(value, country);
|
|
282
|
+
const typeNodes = types.map((type) => {
|
|
283
|
+
const fields = addressFieldsFor(value, country, type);
|
|
284
|
+
const fieldNodes = fields ? objectChildren(fields, `${key}/${country}/${type}/fields`) : [];
|
|
285
|
+
const children = fieldNodes.length > 0 ? [
|
|
286
|
+
{
|
|
287
|
+
key: `${key}/${country}/${type}/fields`,
|
|
288
|
+
label: "fields",
|
|
289
|
+
badge: "object",
|
|
290
|
+
count: fieldNodes.length,
|
|
291
|
+
children: fieldNodes
|
|
292
|
+
}
|
|
293
|
+
] : [];
|
|
294
|
+
return {
|
|
295
|
+
key: `${key}/${country}/${type}`,
|
|
296
|
+
label: type,
|
|
297
|
+
badge: "activity",
|
|
298
|
+
...children.length > 0 ? { children, count: children.length } : {}
|
|
299
|
+
};
|
|
300
|
+
});
|
|
301
|
+
return {
|
|
302
|
+
key: `${key}/${country}`,
|
|
303
|
+
label: country,
|
|
304
|
+
badge: "branch",
|
|
305
|
+
count: typeNodes.length,
|
|
306
|
+
children: typeNodes
|
|
307
|
+
};
|
|
308
|
+
});
|
|
309
|
+
return {
|
|
310
|
+
key,
|
|
311
|
+
label: "addresses",
|
|
312
|
+
badge: "branch",
|
|
313
|
+
count: countries.length,
|
|
314
|
+
...(role == null ? void 0 : role[PLATFORM_ASCODE_EXTENSION]) ? { ascode: String(role[PLATFORM_ASCODE_EXTENSION]) } : {},
|
|
315
|
+
children: countryNodes
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
function stepBranchNode(key, value) {
|
|
319
|
+
const children = objectChildren(value, `branch/${key}`);
|
|
320
|
+
return { key: `branch/${key}`, label: key, badge: "branch", count: children.length, children };
|
|
321
|
+
}
|
|
322
|
+
function stepsNode(schema) {
|
|
323
|
+
var _a, _b, _c, _d, _e;
|
|
324
|
+
const items = asObject((_b = (_a = schema.properties) == null ? void 0 : _a.steps) == null ? void 0 : _b.items);
|
|
325
|
+
const branches = (items == null ? void 0 : items.oneOf) ?? [];
|
|
326
|
+
if (branches.length === 0) return void 0;
|
|
327
|
+
const children = [];
|
|
328
|
+
for (const branch of branches) {
|
|
329
|
+
const key = (_c = branch.required) == null ? void 0 : _c[0];
|
|
330
|
+
if (!key) continue;
|
|
331
|
+
const value = asObject((_d = branch.properties) == null ? void 0 : _d[key]);
|
|
332
|
+
if (!value) continue;
|
|
333
|
+
if ((_e = value.required) == null ? void 0 : _e.includes("activity")) {
|
|
334
|
+
children.push(activityBranchNode(key, value));
|
|
335
|
+
} else if (key === "policy") {
|
|
336
|
+
children.push({ ...stepBranchNode(key, value), label: "policy-create" });
|
|
337
|
+
} else {
|
|
338
|
+
children.push(stepBranchNode(key, value));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return { key: "steps", label: "Steps", badge: "branch", count: children.length, children };
|
|
342
|
+
}
|
|
343
|
+
function setupNode(schema) {
|
|
344
|
+
var _a, _b, _c, _d, _e;
|
|
345
|
+
const setup = asObject((_a = schema.properties) == null ? void 0 : _a.setup);
|
|
346
|
+
if (!setup) return void 0;
|
|
347
|
+
const children = [];
|
|
348
|
+
for (const which of ["scheme", "customer"]) {
|
|
349
|
+
const block = asObject((_b = setup.properties) == null ? void 0 : _b[which]);
|
|
350
|
+
const fields = asObject((_c = block == null ? void 0 : block.properties) == null ? void 0 : _c.fields);
|
|
351
|
+
if (fields) {
|
|
352
|
+
const fieldNodes = objectChildren(fields, `setup/${which}/fields`);
|
|
353
|
+
children.push({
|
|
354
|
+
key: `setup/${which}`,
|
|
355
|
+
label: `${which} fields`,
|
|
356
|
+
badge: "fields",
|
|
357
|
+
count: fieldNodes.length,
|
|
358
|
+
children: fieldNodes
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
const addressMap = asObject((_d = block == null ? void 0 : block.properties) == null ? void 0 : _d.addresses);
|
|
362
|
+
const addresses = addressMap ? addressesNode(`setup/${which}/addresses`, addressMap) : void 0;
|
|
363
|
+
if (addresses) children.push({ ...addresses, label: `${which} addresses` });
|
|
364
|
+
}
|
|
365
|
+
const clients = asObject((_e = setup.properties) == null ? void 0 : _e.clients);
|
|
366
|
+
const clientTypes = Object.keys((clients == null ? void 0 : clients.properties) ?? {});
|
|
367
|
+
if (clients && clientTypes.length > 0) {
|
|
368
|
+
const typeNodes = clientTypes.map((type) => {
|
|
369
|
+
var _a2, _b2, _c2;
|
|
370
|
+
const entry = asObject((_b2 = asObject((_a2 = clients.properties) == null ? void 0 : _a2[type])) == null ? void 0 : _b2.items);
|
|
371
|
+
const fields = entry ? objectChildren(entry, `setup/clients/${type}`).filter((node) => node.label !== "addresses") : [];
|
|
372
|
+
const addressMap = asObject((_c2 = entry == null ? void 0 : entry.properties) == null ? void 0 : _c2.addresses);
|
|
373
|
+
const addresses = addressMap ? addressesNode(`setup/clients/${type}/addresses`, addressMap) : void 0;
|
|
374
|
+
const kids = addresses ? [...fields, addresses] : fields;
|
|
375
|
+
return {
|
|
376
|
+
key: `setup/clients/${type}`,
|
|
377
|
+
label: type,
|
|
378
|
+
badge: "clientType",
|
|
379
|
+
count: kids.length,
|
|
380
|
+
children: kids
|
|
381
|
+
};
|
|
382
|
+
});
|
|
383
|
+
children.push({
|
|
384
|
+
key: "setup/clients",
|
|
385
|
+
label: "clients",
|
|
386
|
+
badge: "clientTypes",
|
|
387
|
+
count: clientTypes.length,
|
|
388
|
+
children: typeNodes
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
return { key: "setup", label: "Setup", badge: "group", count: children.length, children };
|
|
392
|
+
}
|
|
393
|
+
function topLevelFields(schema) {
|
|
394
|
+
const skip = /* @__PURE__ */ new Set(["setup", "steps"]);
|
|
395
|
+
const out = [];
|
|
396
|
+
for (const [name, child] of Object.entries(effectiveSchemaProperties(schema))) {
|
|
397
|
+
if (skip.has(name)) continue;
|
|
398
|
+
out.push(fieldNode(name, child, "root"));
|
|
399
|
+
}
|
|
400
|
+
return out;
|
|
401
|
+
}
|
|
402
|
+
function buildSchemaTree(schema) {
|
|
403
|
+
const roots = [];
|
|
404
|
+
const setup = setupNode(schema);
|
|
405
|
+
if (setup) roots.push(setup);
|
|
406
|
+
const steps = stepsNode(schema);
|
|
407
|
+
if (steps) roots.push(steps);
|
|
408
|
+
roots.push(...topLevelFields(schema));
|
|
409
|
+
return roots;
|
|
410
|
+
}
|
|
411
|
+
function buildSchemaViewerTree(schema) {
|
|
412
|
+
return buildSchemaTree(schema);
|
|
413
|
+
}
|
|
414
|
+
function buildStepBranchTree(schema, branchKey, isActivity) {
|
|
415
|
+
var _a, _b, _c, _d, _e;
|
|
416
|
+
const items = asObject((_b = (_a = schema.properties) == null ? void 0 : _a.steps) == null ? void 0 : _b.items);
|
|
417
|
+
const branches = (items == null ? void 0 : items.oneOf) ?? [];
|
|
418
|
+
for (const branch of branches) {
|
|
419
|
+
if (!((_c = branch.required) == null ? void 0 : _c.includes(branchKey))) continue;
|
|
420
|
+
const value = asObject((_d = branch.properties) == null ? void 0 : _d[branchKey]);
|
|
421
|
+
if (!value) continue;
|
|
422
|
+
const branchIsActivity = Boolean((_e = value.required) == null ? void 0 : _e.includes("activity"));
|
|
423
|
+
if (branchIsActivity !== isActivity) continue;
|
|
424
|
+
if (branchIsActivity) return [activityBranchNode(branchKey, value)];
|
|
425
|
+
const node = branchKey === "policy" ? { ...stepBranchNode(branchKey, value), label: "policy-create" } : stepBranchNode(branchKey, value);
|
|
426
|
+
return [node];
|
|
427
|
+
}
|
|
428
|
+
return [];
|
|
429
|
+
}
|
|
430
|
+
export {
|
|
431
|
+
buildSchemaTree,
|
|
432
|
+
buildSchemaViewerTree,
|
|
433
|
+
buildStepBranchTree,
|
|
434
|
+
hasHoverMeta
|
|
435
|
+
};
|
|
436
|
+
//# sourceMappingURL=schema-viewer-model.js.map
|