@walkeros/explorer 3.0.0 → 3.0.2
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/__mocks__/@monaco-editor/react.d.ts +3 -0
- package/dist/__mocks__/@monaco-editor/react.d.ts.map +1 -0
- package/dist/__mocks__/@monaco-editor/react.js +4 -0
- package/dist/__mocks__/@monaco-editor/react.js.map +1 -0
- package/dist/components/atoms/box.d.ts +27 -0
- package/dist/components/atoms/box.d.ts.map +1 -0
- package/dist/components/atoms/box.js +86 -0
- package/dist/components/atoms/box.js.map +1 -0
- package/dist/components/atoms/box.stories.d.ts +34 -0
- package/dist/components/atoms/box.stories.d.ts.map +1 -0
- package/dist/components/atoms/box.stories.js +104 -0
- package/dist/components/atoms/box.stories.js.map +1 -0
- package/dist/components/atoms/button-group.d.ts +17 -0
- package/dist/components/atoms/button-group.d.ts.map +1 -0
- package/dist/components/atoms/button-group.js +12 -0
- package/dist/components/atoms/button-group.js.map +1 -0
- package/dist/components/atoms/button-group.stories.d.ts +18 -0
- package/dist/components/atoms/button-group.stories.d.ts.map +1 -0
- package/dist/components/atoms/button-group.stories.js +39 -0
- package/dist/components/atoms/button-group.stories.js.map +1 -0
- package/dist/components/atoms/button-link.d.ts +12 -0
- package/dist/components/atoms/button-link.d.ts.map +1 -0
- package/dist/components/atoms/button-link.js +10 -0
- package/dist/components/atoms/button-link.js.map +1 -0
- package/dist/components/atoms/button-link.stories.d.ts +11 -0
- package/dist/components/atoms/button-link.stories.d.ts.map +1 -0
- package/dist/components/atoms/button-link.stories.js +50 -0
- package/dist/components/atoms/button-link.stories.js.map +1 -0
- package/dist/components/atoms/button.d.ts +15 -0
- package/dist/components/atoms/button.d.ts.map +1 -0
- package/dist/components/atoms/button.js +11 -0
- package/dist/components/atoms/button.js.map +1 -0
- package/dist/components/atoms/button.stories.d.ts +14 -0
- package/dist/components/atoms/button.stories.d.ts.map +1 -0
- package/dist/components/atoms/button.stories.js +25 -0
- package/dist/components/atoms/button.stories.js.map +1 -0
- package/dist/components/atoms/code.d.ts +92 -0
- package/dist/components/atoms/code.d.ts.map +1 -0
- package/dist/components/atoms/code.js +405 -0
- package/dist/components/atoms/code.js.map +1 -0
- package/dist/components/atoms/code.stories.d.ts +46 -0
- package/dist/components/atoms/code.stories.d.ts.map +1 -0
- package/dist/components/atoms/code.stories.js +156 -0
- package/dist/components/atoms/code.stories.js.map +1 -0
- package/dist/components/atoms/footer.d.ts +21 -0
- package/dist/components/atoms/footer.d.ts.map +1 -0
- package/dist/components/atoms/footer.js +19 -0
- package/dist/components/atoms/footer.js.map +1 -0
- package/dist/components/atoms/footer.stories.d.ts +14 -0
- package/dist/components/atoms/footer.stories.d.ts.map +1 -0
- package/dist/components/atoms/footer.stories.js +29 -0
- package/dist/components/atoms/footer.stories.js.map +1 -0
- package/dist/components/atoms/grid.d.ts +65 -0
- package/dist/components/atoms/grid.d.ts.map +1 -0
- package/dist/components/atoms/grid.js +169 -0
- package/dist/components/atoms/grid.js.map +1 -0
- package/dist/components/atoms/grid.stories.d.ts +18 -0
- package/dist/components/atoms/grid.stories.d.ts.map +1 -0
- package/dist/components/atoms/grid.stories.js +60 -0
- package/dist/components/atoms/grid.stories.js.map +1 -0
- package/dist/components/atoms/header.d.ts +7 -0
- package/dist/components/atoms/header.d.ts.map +1 -0
- package/dist/components/atoms/header.js +5 -0
- package/dist/components/atoms/header.js.map +1 -0
- package/dist/components/atoms/header.stories.d.ts +15 -0
- package/dist/components/atoms/header.stories.d.ts.map +1 -0
- package/dist/components/atoms/header.stories.js +37 -0
- package/dist/components/atoms/header.stories.js.map +1 -0
- package/dist/components/atoms/icons/icon.stories.d.ts +18 -0
- package/dist/components/atoms/icons/icon.stories.d.ts.map +1 -0
- package/dist/components/atoms/icons/icon.stories.js +37 -0
- package/dist/components/atoms/icons/icon.stories.js.map +1 -0
- package/dist/components/atoms/icons/icons.d.ts +2 -0
- package/dist/components/atoms/icons/icons.d.ts.map +1 -0
- package/dist/components/atoms/icons/icons.js +7 -0
- package/dist/components/atoms/icons/icons.js.map +1 -0
- package/dist/components/atoms/icons/index.d.ts +3 -0
- package/dist/components/atoms/icons/index.d.ts.map +1 -0
- package/dist/components/atoms/icons/index.js +3 -0
- package/dist/components/atoms/icons/index.js.map +1 -0
- package/dist/components/atoms/mdx-code.d.ts +33 -0
- package/dist/components/atoms/mdx-code.d.ts.map +1 -0
- package/dist/components/atoms/mdx-code.js +69 -0
- package/dist/components/atoms/mdx-code.js.map +1 -0
- package/dist/components/atoms/preview-footer.d.ts +32 -0
- package/dist/components/atoms/preview-footer.d.ts.map +1 -0
- package/dist/components/atoms/preview-footer.js +31 -0
- package/dist/components/atoms/preview-footer.js.map +1 -0
- package/dist/components/atoms/spinner.d.ts +17 -0
- package/dist/components/atoms/spinner.d.ts.map +1 -0
- package/dist/components/atoms/spinner.js +14 -0
- package/dist/components/atoms/spinner.js.map +1 -0
- package/dist/components/atoms/spinner.stories.d.ts +7 -0
- package/dist/components/atoms/spinner.stories.d.ts.map +1 -0
- package/dist/components/atoms/spinner.stories.js +9 -0
- package/dist/components/atoms/spinner.stories.js.map +1 -0
- package/dist/components/atoms/toggle.d.ts +9 -0
- package/dist/components/atoms/toggle.d.ts.map +1 -0
- package/dist/components/atoms/toggle.js +6 -0
- package/dist/components/atoms/toggle.js.map +1 -0
- package/dist/components/demos/DestinationDemo.d.ts +48 -0
- package/dist/components/demos/DestinationDemo.d.ts.map +1 -0
- package/dist/components/demos/DestinationDemo.js +105 -0
- package/dist/components/demos/DestinationDemo.js.map +1 -0
- package/dist/components/demos/DestinationDemo.stories.d.ts +17 -0
- package/dist/components/demos/DestinationDemo.stories.d.ts.map +1 -0
- package/dist/components/demos/DestinationDemo.stories.js +53 -0
- package/dist/components/demos/DestinationDemo.stories.js.map +1 -0
- package/dist/components/demos/DestinationInitDemo.d.ts +34 -0
- package/dist/components/demos/DestinationInitDemo.d.ts.map +1 -0
- package/dist/components/demos/DestinationInitDemo.js +73 -0
- package/dist/components/demos/DestinationInitDemo.js.map +1 -0
- package/dist/components/demos/DestinationInitDemo.stories.d.ts +17 -0
- package/dist/components/demos/DestinationInitDemo.stories.d.ts.map +1 -0
- package/dist/components/demos/DestinationInitDemo.stories.js +39 -0
- package/dist/components/demos/DestinationInitDemo.stories.js.map +1 -0
- package/dist/components/demos/PromotionPlayground.d.ts +30 -0
- package/dist/components/demos/PromotionPlayground.d.ts.map +1 -0
- package/dist/components/demos/PromotionPlayground.js +366 -0
- package/dist/components/demos/PromotionPlayground.js.map +1 -0
- package/dist/components/demos/PromotionPlayground.stories.d.ts +27 -0
- package/dist/components/demos/PromotionPlayground.stories.d.ts.map +1 -0
- package/dist/components/demos/PromotionPlayground.stories.js +32 -0
- package/dist/components/demos/PromotionPlayground.stories.js.map +1 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.d.ts +24 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.d.ts.map +1 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.js +10 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.js.map +1 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.d.ts +7 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.d.ts.map +1 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js +71 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js.map +1 -0
- package/dist/components/molecules/architecture-flow/index.d.ts +3 -0
- package/dist/components/molecules/architecture-flow/index.d.ts.map +1 -0
- package/dist/components/molecules/architecture-flow/index.js +2 -0
- package/dist/components/molecules/architecture-flow/index.js.map +1 -0
- package/dist/components/molecules/code-box.d.ts +75 -0
- package/dist/components/molecules/code-box.d.ts.map +1 -0
- package/dist/components/molecules/code-box.js +174 -0
- package/dist/components/molecules/code-box.js.map +1 -0
- package/dist/components/molecules/code-box.stories.d.ts +87 -0
- package/dist/components/molecules/code-box.stories.d.ts.map +1 -0
- package/dist/components/molecules/code-box.stories.js +300 -0
- package/dist/components/molecules/code-box.stories.js.map +1 -0
- package/dist/components/molecules/code-snippet.d.ts +58 -0
- package/dist/components/molecules/code-snippet.d.ts.map +1 -0
- package/dist/components/molecules/code-snippet.js +72 -0
- package/dist/components/molecules/code-snippet.js.map +1 -0
- package/dist/components/molecules/code-snippet.stories.d.ts +23 -0
- package/dist/components/molecules/code-snippet.stories.d.ts.map +1 -0
- package/dist/components/molecules/code-snippet.stories.js +87 -0
- package/dist/components/molecules/code-snippet.stories.js.map +1 -0
- package/dist/components/molecules/dropdown.d.ts +68 -0
- package/dist/components/molecules/dropdown.d.ts.map +1 -0
- package/dist/components/molecules/dropdown.js +47 -0
- package/dist/components/molecules/dropdown.js.map +1 -0
- package/dist/components/molecules/dropdown.stories.d.ts +7 -0
- package/dist/components/molecules/dropdown.stories.d.ts.map +1 -0
- package/dist/components/molecules/dropdown.stories.js +18 -0
- package/dist/components/molecules/dropdown.stories.js.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.d.ts +74 -0
- package/dist/components/molecules/flow-map/FlowMap.d.ts.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.js +1039 -0
- package/dist/components/molecules/flow-map/FlowMap.js.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.stories.d.ts +47 -0
- package/dist/components/molecules/flow-map/FlowMap.stories.d.ts.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.stories.js +355 -0
- package/dist/components/molecules/flow-map/FlowMap.stories.js.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.transformers.stories.d.ts +29 -0
- package/dist/components/molecules/flow-map/FlowMap.transformers.stories.d.ts.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.transformers.stories.js +117 -0
- package/dist/components/molecules/flow-map/FlowMap.transformers.stories.js.map +1 -0
- package/dist/components/molecules/flow-map/index.d.ts +3 -0
- package/dist/components/molecules/flow-map/index.d.ts.map +1 -0
- package/dist/components/molecules/flow-map/index.js +2 -0
- package/dist/components/molecules/flow-map/index.js.map +1 -0
- package/dist/components/molecules/preview.d.ts +23 -0
- package/dist/components/molecules/preview.d.ts.map +1 -0
- package/dist/components/molecules/preview.js +232 -0
- package/dist/components/molecules/preview.js.map +1 -0
- package/dist/components/molecules/preview.stories.d.ts +23 -0
- package/dist/components/molecules/preview.stories.d.ts.map +1 -0
- package/dist/components/molecules/preview.stories.js +186 -0
- package/dist/components/molecules/preview.stories.js.map +1 -0
- package/dist/components/molecules/property-table.d.ts +7 -0
- package/dist/components/molecules/property-table.d.ts.map +1 -0
- package/dist/components/molecules/property-table.js +88 -0
- package/dist/components/molecules/property-table.js.map +1 -0
- package/dist/components/molecules/property-table.stories.d.ts +24 -0
- package/dist/components/molecules/property-table.stories.d.ts.map +1 -0
- package/dist/components/molecules/property-table.stories.js +86 -0
- package/dist/components/molecules/property-table.stories.js.map +1 -0
- package/dist/components/organisms/browser-box.d.ts +31 -0
- package/dist/components/organisms/browser-box.d.ts.map +1 -0
- package/dist/components/organisms/browser-box.js +80 -0
- package/dist/components/organisms/browser-box.js.map +1 -0
- package/dist/components/organisms/browser-box.stories.d.ts +26 -0
- package/dist/components/organisms/browser-box.stories.d.ts.map +1 -0
- package/dist/components/organisms/browser-box.stories.js +102 -0
- package/dist/components/organisms/browser-box.stories.js.map +1 -0
- package/dist/components/organisms/collector-box.d.ts +24 -0
- package/dist/components/organisms/collector-box.d.ts.map +1 -0
- package/dist/components/organisms/collector-box.js +56 -0
- package/dist/components/organisms/collector-box.js.map +1 -0
- package/dist/components/organisms/collector-box.stories.d.ts +22 -0
- package/dist/components/organisms/collector-box.stories.d.ts.map +1 -0
- package/dist/components/organisms/collector-box.stories.js +59 -0
- package/dist/components/organisms/collector-box.stories.js.map +1 -0
- package/dist/components/organisms/live-code.d.ts +22 -0
- package/dist/components/organisms/live-code.d.ts.map +1 -0
- package/dist/components/organisms/live-code.js +50 -0
- package/dist/components/organisms/live-code.js.map +1 -0
- package/dist/components/organisms/live-code.stories.d.ts +24 -0
- package/dist/components/organisms/live-code.stories.d.ts.map +1 -0
- package/dist/components/organisms/live-code.stories.js +55 -0
- package/dist/components/organisms/live-code.stories.js.map +1 -0
- package/dist/components/ui/button.d.ts +4 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +6 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/icon.d.ts +5 -0
- package/dist/components/ui/icon.d.ts.map +1 -0
- package/dist/components/ui/icon.js +5 -0
- package/dist/components/ui/icon.js.map +1 -0
- package/dist/contexts/GridHeightContext.d.ts +11 -0
- package/dist/contexts/GridHeightContext.d.ts.map +1 -0
- package/dist/contexts/GridHeightContext.js +14 -0
- package/dist/contexts/GridHeightContext.js.map +1 -0
- package/dist/helpers/capture.d.ts +83 -0
- package/dist/helpers/capture.d.ts.map +1 -0
- package/dist/helpers/capture.js +125 -0
- package/dist/helpers/capture.js.map +1 -0
- package/dist/helpers/destinations.d.ts +21 -0
- package/dist/helpers/destinations.d.ts.map +1 -0
- package/dist/helpers/destinations.js +46 -0
- package/dist/helpers/destinations.js.map +1 -0
- package/dist/hooks/useDropdown.d.ts +34 -0
- package/dist/hooks/useDropdown.d.ts.map +1 -0
- package/dist/hooks/useDropdown.js +66 -0
- package/dist/hooks/useDropdown.js.map +1 -0
- package/dist/hooks/useMonacoHeight.d.ts +31 -0
- package/dist/hooks/useMonacoHeight.d.ts.map +1 -0
- package/dist/hooks/useMonacoHeight.js +83 -0
- package/dist/hooks/useMonacoHeight.js.map +1 -0
- package/dist/hooks/useTreeState.d.ts +32 -0
- package/dist/hooks/useTreeState.d.ts.map +1 -0
- package/dist/hooks/useTreeState.js +94 -0
- package/dist/hooks/useTreeState.js.map +1 -0
- package/dist/index.d.ts +69 -1338
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +10 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/providers/MDXProvider.d.ts +40 -0
- package/dist/providers/MDXProvider.d.ts.map +1 -0
- package/dist/providers/MDXProvider.js +57 -0
- package/dist/providers/MDXProvider.js.map +1 -0
- package/dist/themes/index.d.ts +23 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +29 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/lighthouse.d.ts +26 -0
- package/dist/themes/lighthouse.d.ts.map +1 -0
- package/dist/themes/lighthouse.js +230 -0
- package/dist/themes/lighthouse.js.map +1 -0
- package/dist/themes/palenight.d.ts +31 -0
- package/dist/themes/palenight.d.ts.map +1 -0
- package/dist/themes/palenight.js +236 -0
- package/dist/themes/palenight.js.map +1 -0
- package/dist/themes/types.d.ts +103 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +8 -0
- package/dist/themes/types.js.map +1 -0
- package/dist/types/intellisense.d.ts +33 -0
- package/dist/types/intellisense.d.ts.map +1 -0
- package/dist/types/intellisense.js +2 -0
- package/dist/types/intellisense.js.map +1 -0
- package/dist/utils/code-normalizer.d.ts +11 -0
- package/dist/utils/code-normalizer.d.ts.map +1 -0
- package/dist/utils/code-normalizer.js +21 -0
- package/dist/utils/code-normalizer.js.map +1 -0
- package/dist/utils/contract-path-walker.d.ts +27 -0
- package/dist/utils/contract-path-walker.d.ts.map +1 -0
- package/dist/utils/contract-path-walker.js +145 -0
- package/dist/utils/contract-path-walker.js.map +1 -0
- package/dist/utils/format-code.d.ts +9 -0
- package/dist/utils/format-code.d.ts.map +1 -0
- package/dist/utils/format-code.js +77 -0
- package/dist/utils/format-code.js.map +1 -0
- package/dist/utils/mapping-context-detector.d.ts +17 -0
- package/dist/utils/mapping-context-detector.d.ts.map +1 -0
- package/dist/utils/mapping-context-detector.js +22 -0
- package/dist/utils/mapping-context-detector.js.map +1 -0
- package/dist/utils/monaco-context-types.d.ts +39 -0
- package/dist/utils/monaco-context-types.d.ts.map +1 -0
- package/dist/utils/monaco-context-types.js +426 -0
- package/dist/utils/monaco-context-types.js.map +1 -0
- package/dist/utils/monaco-decorators.d.ts +17 -0
- package/dist/utils/monaco-decorators.d.ts.map +1 -0
- package/dist/utils/monaco-decorators.js +81 -0
- package/dist/utils/monaco-decorators.js.map +1 -0
- package/dist/utils/monaco-formatters.d.ts +16 -0
- package/dist/utils/monaco-formatters.d.ts.map +1 -0
- package/dist/utils/monaco-formatters.js +139 -0
- package/dist/utils/monaco-formatters.js.map +1 -0
- package/dist/utils/monaco-intellisense-flow-extractor.d.ts +13 -0
- package/dist/utils/monaco-intellisense-flow-extractor.d.ts.map +1 -0
- package/dist/utils/monaco-intellisense-flow-extractor.js +168 -0
- package/dist/utils/monaco-intellisense-flow-extractor.js.map +1 -0
- package/dist/utils/monaco-json-path.d.ts +12 -0
- package/dist/utils/monaco-json-path.d.ts.map +1 -0
- package/dist/utils/monaco-json-path.js +68 -0
- package/dist/utils/monaco-json-path.js.map +1 -0
- package/dist/utils/monaco-json-schema.d.ts +45 -0
- package/dist/utils/monaco-json-schema.d.ts.map +1 -0
- package/dist/utils/monaco-json-schema.js +90 -0
- package/dist/utils/monaco-json-schema.js.map +1 -0
- package/dist/utils/monaco-schema-contract.d.ts +8 -0
- package/dist/utils/monaco-schema-contract.d.ts.map +1 -0
- package/dist/utils/monaco-schema-contract.js +73 -0
- package/dist/utils/monaco-schema-contract.js.map +1 -0
- package/dist/utils/monaco-schema-enrichment.d.ts +26 -0
- package/dist/utils/monaco-schema-enrichment.d.ts.map +1 -0
- package/dist/utils/monaco-schema-enrichment.js +31 -0
- package/dist/utils/monaco-schema-enrichment.js.map +1 -0
- package/dist/utils/monaco-schema-flow-config.d.ts +10 -0
- package/dist/utils/monaco-schema-flow-config.d.ts.map +1 -0
- package/dist/utils/monaco-schema-flow-config.js +201 -0
- package/dist/utils/monaco-schema-flow-config.js.map +1 -0
- package/dist/utils/monaco-schema-variables.d.ts +4 -0
- package/dist/utils/monaco-schema-variables.d.ts.map +1 -0
- package/dist/utils/monaco-schema-variables.js +26 -0
- package/dist/utils/monaco-schema-variables.js.map +1 -0
- package/dist/utils/monaco-types.d.ts +174 -0
- package/dist/utils/monaco-types.d.ts.map +1 -0
- package/dist/utils/monaco-types.js +378 -0
- package/dist/utils/monaco-types.js.map +1 -0
- package/dist/utils/monaco-walkeros-completions.d.ts +23 -0
- package/dist/utils/monaco-walkeros-completions.d.ts.map +1 -0
- package/dist/utils/monaco-walkeros-completions.js +258 -0
- package/dist/utils/monaco-walkeros-completions.js.map +1 -0
- package/dist/utils/monaco-walkeros-decorations.d.ts +29 -0
- package/dist/utils/monaco-walkeros-decorations.d.ts.map +1 -0
- package/dist/utils/monaco-walkeros-decorations.js +87 -0
- package/dist/utils/monaco-walkeros-decorations.js.map +1 -0
- package/dist/utils/monaco-walkeros-markers.d.ts +13 -0
- package/dist/utils/monaco-walkeros-markers.d.ts.map +1 -0
- package/dist/utils/monaco-walkeros-markers.js +69 -0
- package/dist/utils/monaco-walkeros-markers.js.map +1 -0
- package/dist/utils/monaco-walkeros-providers.d.ts +19 -0
- package/dist/utils/monaco-walkeros-providers.d.ts.map +1 -0
- package/dist/utils/monaco-walkeros-providers.js +284 -0
- package/dist/utils/monaco-walkeros-providers.js.map +1 -0
- package/dist/utils/path-analyzer.d.ts +88 -0
- package/dist/utils/path-analyzer.d.ts.map +1 -0
- package/dist/utils/path-analyzer.js +215 -0
- package/dist/utils/path-analyzer.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regular expressions to match walkerOS data attributes
|
|
3
|
+
*/
|
|
4
|
+
const DATA_ELB_PATTERNS = [
|
|
5
|
+
/\bdata-elb(?!-)\b/g, // data-elb (not followed by hyphen)
|
|
6
|
+
/\bdata-elbaction\b/g, // data-elbaction
|
|
7
|
+
/\bdata-elbactions\b/g, // data-elbactions
|
|
8
|
+
/\bdata-elbglobals\b/g, // data-elbglobals
|
|
9
|
+
/\bdata-elbcontext\b/g, // data-elbcontext
|
|
10
|
+
/\bdata-elblink\b/g, // data-elblink
|
|
11
|
+
/\bdata-elb-[\w-]+\b/g, // data-elb-* (property attributes)
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* Apply decorations to highlight walkerOS data attributes in Monaco editor
|
|
15
|
+
*
|
|
16
|
+
* This function scans the editor content for data-elb* attributes and
|
|
17
|
+
* applies color highlighting to match the website's Prism.js styling.
|
|
18
|
+
*
|
|
19
|
+
* @param editor - Monaco editor instance
|
|
20
|
+
* @param monaco - Monaco module
|
|
21
|
+
*/
|
|
22
|
+
export function applyDataElbDecorations(monacoEditor, monaco) {
|
|
23
|
+
const decorationIds = [];
|
|
24
|
+
const updateDecorations = () => {
|
|
25
|
+
const model = monacoEditor.getModel();
|
|
26
|
+
if (!model)
|
|
27
|
+
return;
|
|
28
|
+
const content = model.getValue();
|
|
29
|
+
const decorations = [];
|
|
30
|
+
// Find all matches for each pattern
|
|
31
|
+
DATA_ELB_PATTERNS.forEach((pattern) => {
|
|
32
|
+
let match;
|
|
33
|
+
while ((match = pattern.exec(content)) !== null) {
|
|
34
|
+
const startPos = model.getPositionAt(match.index);
|
|
35
|
+
const endPos = model.getPositionAt(match.index + match[0].length);
|
|
36
|
+
decorations.push({
|
|
37
|
+
range: new monaco.Range(startPos.lineNumber, startPos.column, endPos.lineNumber, endPos.column),
|
|
38
|
+
options: {
|
|
39
|
+
inlineClassName: 'elb-data-attribute',
|
|
40
|
+
inlineClassNameAffectsLetterSpacing: true,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
// Apply decorations
|
|
46
|
+
const newDecorationIds = monacoEditor.deltaDecorations(decorationIds, decorations);
|
|
47
|
+
decorationIds.length = 0;
|
|
48
|
+
decorationIds.push(...newDecorationIds);
|
|
49
|
+
};
|
|
50
|
+
// Initial decoration
|
|
51
|
+
updateDecorations();
|
|
52
|
+
// Update decorations on content change
|
|
53
|
+
const disposable = monacoEditor.onDidChangeModelContent(() => {
|
|
54
|
+
updateDecorations();
|
|
55
|
+
});
|
|
56
|
+
// Return cleanup function
|
|
57
|
+
return () => {
|
|
58
|
+
disposable.dispose();
|
|
59
|
+
monacoEditor.deltaDecorations(decorationIds, []);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Register CSS styles for data-elb attribute decorations
|
|
64
|
+
* Call this once during app initialization
|
|
65
|
+
*/
|
|
66
|
+
export function registerDataElbStyles() {
|
|
67
|
+
if (typeof document === 'undefined')
|
|
68
|
+
return;
|
|
69
|
+
const styleId = 'elb-monaco-data-attribute-styles';
|
|
70
|
+
if (document.getElementById(styleId))
|
|
71
|
+
return;
|
|
72
|
+
const style = document.createElement('style');
|
|
73
|
+
style.id = styleId;
|
|
74
|
+
style.textContent = `
|
|
75
|
+
.monaco-editor .elb-data-attribute {
|
|
76
|
+
color: var(--color-highlight-primary, #01b5e2) !important;
|
|
77
|
+
}
|
|
78
|
+
`;
|
|
79
|
+
document.head.appendChild(style);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=monaco-decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-decorators.js","sourceRoot":"","sources":["../../src/utils/monaco-decorators.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,oBAAoB,EAAE,oCAAoC;IAC1D,qBAAqB,EAAE,iBAAiB;IACxC,sBAAsB,EAAE,kBAAkB;IAC1C,sBAAsB,EAAE,kBAAkB;IAC1C,sBAAsB,EAAE,kBAAkB;IAC1C,mBAAmB,EAAE,eAAe;IACpC,sBAAsB,EAAE,mCAAmC;CAC5D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAA0C,EAC1C,MAAsC;IAEtC,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,WAAW,GAAmC,EAAE,CAAC;QAEvD,oCAAoC;QACpC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,IAAI,KAA6B,CAAC;YAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAElE,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,CACrB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,CACd;oBACD,OAAO,EAAE;wBACP,eAAe,EAAE,oBAAoB;wBACrC,mCAAmC,EAAE,IAAI;qBAC1C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CACpD,aAAa,EACb,WAAW,CACZ,CAAC;QACF,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,qBAAqB;IACrB,iBAAiB,EAAE,CAAC;IAEpB,uCAAuC;IACvC,MAAM,UAAU,GAAG,YAAY,CAAC,uBAAuB,CAAC,GAAG,EAAE;QAC3D,iBAAiB,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,OAAO,GAAG,EAAE;QACV,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,YAAY,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAE5C,MAAM,OAAO,GAAG,kCAAkC,CAAC;IACnD,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;QAAE,OAAO;IAE7C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;IACnB,KAAK,CAAC,WAAW,GAAG;;;;GAInB,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type * as monaco from 'monaco-editor';
|
|
2
|
+
/**
|
|
3
|
+
* Register Monaco Editor formatting providers for various languages
|
|
4
|
+
*
|
|
5
|
+
* Uses Prettier for professional-grade code formatting.
|
|
6
|
+
* Registered once when Monaco is initialized.
|
|
7
|
+
*
|
|
8
|
+
* Supported languages:
|
|
9
|
+
* - JavaScript (parser: babel)
|
|
10
|
+
* - TypeScript (parser: typescript)
|
|
11
|
+
* - JSON (native JSON.stringify)
|
|
12
|
+
* - HTML (parser: html)
|
|
13
|
+
* - CSS (parser: css)
|
|
14
|
+
*/
|
|
15
|
+
export declare function registerFormatters(monacoInstance: typeof monaco): void;
|
|
16
|
+
//# sourceMappingURL=monaco-formatters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-formatters.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-formatters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,MAAM,GAAG,IAAI,CA4HtE"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import * as prettier from 'prettier/standalone';
|
|
2
|
+
import prettierBabel from 'prettier/plugins/babel';
|
|
3
|
+
import prettierEstree from 'prettier/plugins/estree';
|
|
4
|
+
import prettierTypescript from 'prettier/plugins/typescript';
|
|
5
|
+
import prettierHtml from 'prettier/plugins/html';
|
|
6
|
+
/**
|
|
7
|
+
* Register Monaco Editor formatting providers for various languages
|
|
8
|
+
*
|
|
9
|
+
* Uses Prettier for professional-grade code formatting.
|
|
10
|
+
* Registered once when Monaco is initialized.
|
|
11
|
+
*
|
|
12
|
+
* Supported languages:
|
|
13
|
+
* - JavaScript (parser: babel)
|
|
14
|
+
* - TypeScript (parser: typescript)
|
|
15
|
+
* - JSON (native JSON.stringify)
|
|
16
|
+
* - HTML (parser: html)
|
|
17
|
+
* - CSS (parser: css)
|
|
18
|
+
*/
|
|
19
|
+
export function registerFormatters(monacoInstance) {
|
|
20
|
+
// JavaScript formatter
|
|
21
|
+
monacoInstance.languages.registerDocumentFormattingEditProvider('javascript', {
|
|
22
|
+
async provideDocumentFormattingEdits(model, options) {
|
|
23
|
+
try {
|
|
24
|
+
const text = model.getValue();
|
|
25
|
+
const formatted = await prettier.format(text, {
|
|
26
|
+
parser: 'babel',
|
|
27
|
+
plugins: [prettierBabel, prettierEstree],
|
|
28
|
+
tabWidth: options.tabSize,
|
|
29
|
+
useTabs: !options.insertSpaces,
|
|
30
|
+
semi: true,
|
|
31
|
+
singleQuote: true,
|
|
32
|
+
trailingComma: 'all',
|
|
33
|
+
});
|
|
34
|
+
return [
|
|
35
|
+
{
|
|
36
|
+
range: model.getFullModelRange(),
|
|
37
|
+
text: formatted,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
// TypeScript formatter
|
|
47
|
+
monacoInstance.languages.registerDocumentFormattingEditProvider('typescript', {
|
|
48
|
+
async provideDocumentFormattingEdits(model, options) {
|
|
49
|
+
try {
|
|
50
|
+
const text = model.getValue();
|
|
51
|
+
const formatted = await prettier.format(text, {
|
|
52
|
+
parser: 'typescript',
|
|
53
|
+
plugins: [prettierTypescript, prettierEstree],
|
|
54
|
+
tabWidth: options.tabSize,
|
|
55
|
+
useTabs: !options.insertSpaces,
|
|
56
|
+
semi: true,
|
|
57
|
+
singleQuote: true,
|
|
58
|
+
trailingComma: 'all',
|
|
59
|
+
});
|
|
60
|
+
return [
|
|
61
|
+
{
|
|
62
|
+
range: model.getFullModelRange(),
|
|
63
|
+
text: formatted,
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
// JSON formatter (use native JSON.stringify for simplicity)
|
|
73
|
+
monacoInstance.languages.registerDocumentFormattingEditProvider('json', {
|
|
74
|
+
async provideDocumentFormattingEdits(model, options) {
|
|
75
|
+
try {
|
|
76
|
+
const text = model.getValue();
|
|
77
|
+
const parsed = JSON.parse(text);
|
|
78
|
+
const formatted = JSON.stringify(parsed, null, options.tabSize);
|
|
79
|
+
return [
|
|
80
|
+
{
|
|
81
|
+
range: model.getFullModelRange(),
|
|
82
|
+
text: formatted,
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
// HTML formatter
|
|
92
|
+
monacoInstance.languages.registerDocumentFormattingEditProvider('html', {
|
|
93
|
+
async provideDocumentFormattingEdits(model, options) {
|
|
94
|
+
try {
|
|
95
|
+
const text = model.getValue();
|
|
96
|
+
const formatted = await prettier.format(text, {
|
|
97
|
+
parser: 'html',
|
|
98
|
+
plugins: [prettierHtml],
|
|
99
|
+
tabWidth: options.tabSize,
|
|
100
|
+
useTabs: !options.insertSpaces,
|
|
101
|
+
htmlWhitespaceSensitivity: 'css',
|
|
102
|
+
});
|
|
103
|
+
return [
|
|
104
|
+
{
|
|
105
|
+
range: model.getFullModelRange(),
|
|
106
|
+
text: formatted,
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
// CSS formatter
|
|
116
|
+
monacoInstance.languages.registerDocumentFormattingEditProvider('css', {
|
|
117
|
+
async provideDocumentFormattingEdits(model, options) {
|
|
118
|
+
try {
|
|
119
|
+
const text = model.getValue();
|
|
120
|
+
const formatted = await prettier.format(text, {
|
|
121
|
+
parser: 'css',
|
|
122
|
+
plugins: [prettierHtml], // CSS parser is in html plugin
|
|
123
|
+
tabWidth: options.tabSize,
|
|
124
|
+
useTabs: !options.insertSpaces,
|
|
125
|
+
});
|
|
126
|
+
return [
|
|
127
|
+
{
|
|
128
|
+
range: model.getFullModelRange(),
|
|
129
|
+
text: formatted,
|
|
130
|
+
},
|
|
131
|
+
];
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return [];
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=monaco-formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-formatters.js","sourceRoot":"","sources":["../../src/utils/monaco-formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IntelliSenseContext } from '../types/intellisense';
|
|
2
|
+
/**
|
|
3
|
+
* Extract IntelliSense context from a Flow.Config JSON string.
|
|
4
|
+
*
|
|
5
|
+
* Parses the JSON, walks config → settings → steps, and collects
|
|
6
|
+
* all discoverable variables, definitions, step names, packages,
|
|
7
|
+
* platform, and contract entities.
|
|
8
|
+
*
|
|
9
|
+
* Returns `{}` for invalid JSON or non-Flow structures.
|
|
10
|
+
* Pure function — no side effects, no state.
|
|
11
|
+
*/
|
|
12
|
+
export declare function extractFlowIntelliSenseContext(json: string): Partial<IntelliSenseContext>;
|
|
13
|
+
//# sourceMappingURL=monaco-intellisense-flow-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-intellisense-flow-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-intellisense-flow-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,uBAAuB,CAAC;AAE9E;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAiH9B"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract IntelliSense context from a Flow.Config JSON string.
|
|
3
|
+
*
|
|
4
|
+
* Parses the JSON, walks config → settings → steps, and collects
|
|
5
|
+
* all discoverable variables, definitions, step names, packages,
|
|
6
|
+
* platform, and contract entities.
|
|
7
|
+
*
|
|
8
|
+
* Returns `{}` for invalid JSON or non-Flow structures.
|
|
9
|
+
* Pure function — no side effects, no state.
|
|
10
|
+
*/
|
|
11
|
+
export function extractFlowIntelliSenseContext(json) {
|
|
12
|
+
let parsed;
|
|
13
|
+
try {
|
|
14
|
+
parsed = JSON.parse(json);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
if (!isFlowConfig(parsed))
|
|
20
|
+
return {};
|
|
21
|
+
const variables = {};
|
|
22
|
+
const definitions = {};
|
|
23
|
+
const sources = [];
|
|
24
|
+
const destinations = [];
|
|
25
|
+
const transformers = [];
|
|
26
|
+
const packages = [];
|
|
27
|
+
const contractEntities = [];
|
|
28
|
+
const contractRaw = {};
|
|
29
|
+
let platform;
|
|
30
|
+
// Config-level
|
|
31
|
+
mergeVars(variables, parsed.variables);
|
|
32
|
+
mergeDefs(definitions, parsed.definitions);
|
|
33
|
+
extractContract(contractEntities, parsed.contract);
|
|
34
|
+
if (isObject(parsed.contract))
|
|
35
|
+
Object.assign(contractRaw, parsed.contract);
|
|
36
|
+
// Walk each flow settings
|
|
37
|
+
for (const settings of Object.values(parsed.flows)) {
|
|
38
|
+
if (!isObject(settings))
|
|
39
|
+
continue;
|
|
40
|
+
// Platform detection (first match wins)
|
|
41
|
+
if (!platform) {
|
|
42
|
+
if ('web' in settings)
|
|
43
|
+
platform = 'web';
|
|
44
|
+
else if ('server' in settings)
|
|
45
|
+
platform = 'server';
|
|
46
|
+
}
|
|
47
|
+
// Settings-level variables/definitions/contract
|
|
48
|
+
mergeVars(variables, settings.variables);
|
|
49
|
+
mergeDefs(definitions, settings.definitions);
|
|
50
|
+
extractContract(contractEntities, settings.contract);
|
|
51
|
+
if (isObject(settings.contract))
|
|
52
|
+
Object.assign(contractRaw, settings.contract);
|
|
53
|
+
// Sources
|
|
54
|
+
if (isObject(settings.sources)) {
|
|
55
|
+
for (const [name, ref] of Object.entries(settings.sources)) {
|
|
56
|
+
sources.push(name);
|
|
57
|
+
if (isObject(ref)) {
|
|
58
|
+
mergeVars(variables, ref.variables);
|
|
59
|
+
mergeDefs(definitions, ref.definitions);
|
|
60
|
+
if (typeof ref.package === 'string') {
|
|
61
|
+
packages.push({
|
|
62
|
+
package: ref.package,
|
|
63
|
+
shortName: name,
|
|
64
|
+
type: 'source',
|
|
65
|
+
platform: platform || 'web',
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Destinations
|
|
72
|
+
if (isObject(settings.destinations)) {
|
|
73
|
+
for (const [name, ref] of Object.entries(settings.destinations)) {
|
|
74
|
+
destinations.push(name);
|
|
75
|
+
if (isObject(ref)) {
|
|
76
|
+
mergeVars(variables, ref.variables);
|
|
77
|
+
mergeDefs(definitions, ref.definitions);
|
|
78
|
+
if (typeof ref.package === 'string') {
|
|
79
|
+
packages.push({
|
|
80
|
+
package: ref.package,
|
|
81
|
+
shortName: name,
|
|
82
|
+
type: 'destination',
|
|
83
|
+
platform: platform || 'web',
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Transformers
|
|
90
|
+
if (isObject(settings.transformers)) {
|
|
91
|
+
for (const [name, ref] of Object.entries(settings.transformers)) {
|
|
92
|
+
transformers.push(name);
|
|
93
|
+
if (isObject(ref)) {
|
|
94
|
+
mergeVars(variables, ref.variables);
|
|
95
|
+
mergeDefs(definitions, ref.definitions);
|
|
96
|
+
if (typeof ref.package === 'string') {
|
|
97
|
+
packages.push({
|
|
98
|
+
package: ref.package,
|
|
99
|
+
shortName: name,
|
|
100
|
+
type: 'transformer',
|
|
101
|
+
platform: platform || 'web',
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const result = {
|
|
109
|
+
variables,
|
|
110
|
+
definitions,
|
|
111
|
+
stepNames: { sources, destinations, transformers },
|
|
112
|
+
};
|
|
113
|
+
if (platform)
|
|
114
|
+
result.platform = platform;
|
|
115
|
+
if (packages.length > 0)
|
|
116
|
+
result.packages = packages;
|
|
117
|
+
if (contractEntities.length > 0)
|
|
118
|
+
result.contract = contractEntities;
|
|
119
|
+
if (Object.keys(contractRaw).length > 0)
|
|
120
|
+
result.contractRaw = contractRaw;
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
// --- Helpers ---
|
|
124
|
+
function isObject(v) {
|
|
125
|
+
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
126
|
+
}
|
|
127
|
+
function isFlowConfig(v) {
|
|
128
|
+
return isObject(v) && 'version' in v && 'flows' in v && isObject(v.flows);
|
|
129
|
+
}
|
|
130
|
+
function isPrimitive(v) {
|
|
131
|
+
return (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean');
|
|
132
|
+
}
|
|
133
|
+
function mergeVars(target, source) {
|
|
134
|
+
if (!isObject(source))
|
|
135
|
+
return;
|
|
136
|
+
for (const [k, v] of Object.entries(source)) {
|
|
137
|
+
if (isPrimitive(v))
|
|
138
|
+
target[k] = v;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function mergeDefs(target, source) {
|
|
142
|
+
if (!isObject(source))
|
|
143
|
+
return;
|
|
144
|
+
for (const [k, v] of Object.entries(source)) {
|
|
145
|
+
target[k] = v;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function extractContract(target, contract) {
|
|
149
|
+
if (!isObject(contract))
|
|
150
|
+
return;
|
|
151
|
+
for (const [key, value] of Object.entries(contract)) {
|
|
152
|
+
if (key.startsWith('$') || !isObject(value))
|
|
153
|
+
continue;
|
|
154
|
+
// Avoid duplicates when merging config + settings contracts
|
|
155
|
+
const existing = target.find((e) => e.entity === key);
|
|
156
|
+
const actions = Object.keys(value);
|
|
157
|
+
if (existing) {
|
|
158
|
+
for (const a of actions) {
|
|
159
|
+
if (!existing.actions.includes(a))
|
|
160
|
+
existing.actions.push(a);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
target.push({ entity: key, actions });
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=monaco-intellisense-flow-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-intellisense-flow-extractor.js","sourceRoot":"","sources":["../../src/utils/monaco-intellisense-flow-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract the JSON key path at a given character offset in a JSON string.
|
|
3
|
+
*
|
|
4
|
+
* Uses a simple stack-based parser that tracks object keys as we scan
|
|
5
|
+
* from the start to the offset position.
|
|
6
|
+
*
|
|
7
|
+
* @param json - The full JSON string
|
|
8
|
+
* @param offset - Character offset (0-based) of cursor position
|
|
9
|
+
* @returns Array of key segments from root to cursor
|
|
10
|
+
*/
|
|
11
|
+
export declare function getJsonPathAtOffset(json: string, offset: number): string[];
|
|
12
|
+
//# sourceMappingURL=monaco-json-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-json-path.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-json-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CA4D1E"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract the JSON key path at a given character offset in a JSON string.
|
|
3
|
+
*
|
|
4
|
+
* Uses a simple stack-based parser that tracks object keys as we scan
|
|
5
|
+
* from the start to the offset position.
|
|
6
|
+
*
|
|
7
|
+
* @param json - The full JSON string
|
|
8
|
+
* @param offset - Character offset (0-based) of cursor position
|
|
9
|
+
* @returns Array of key segments from root to cursor
|
|
10
|
+
*/
|
|
11
|
+
export function getJsonPathAtOffset(json, offset) {
|
|
12
|
+
const path = [];
|
|
13
|
+
let i = 0;
|
|
14
|
+
let currentKey;
|
|
15
|
+
let inString = false;
|
|
16
|
+
let stringStart = -1;
|
|
17
|
+
let escaped = false;
|
|
18
|
+
while (i < json.length && i <= offset) {
|
|
19
|
+
const ch = json[i];
|
|
20
|
+
if (escaped) {
|
|
21
|
+
escaped = false;
|
|
22
|
+
i++;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (ch === '\\' && inString) {
|
|
26
|
+
escaped = true;
|
|
27
|
+
i++;
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (ch === '"') {
|
|
31
|
+
if (inString) {
|
|
32
|
+
// End of string
|
|
33
|
+
const str = json.substring(stringStart, i);
|
|
34
|
+
inString = false;
|
|
35
|
+
// Determine if this string is a key or value by looking ahead for ':'
|
|
36
|
+
let j = i + 1;
|
|
37
|
+
while (j < json.length && /\s/.test(json[j]))
|
|
38
|
+
j++;
|
|
39
|
+
if (json[j] === ':') {
|
|
40
|
+
currentKey = str;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// Start of string
|
|
45
|
+
inString = true;
|
|
46
|
+
stringStart = i + 1;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (!inString) {
|
|
50
|
+
if (ch === '{') {
|
|
51
|
+
if (currentKey !== undefined) {
|
|
52
|
+
path.push(currentKey);
|
|
53
|
+
currentKey = undefined;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else if (ch === '}') {
|
|
57
|
+
path.pop();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
i++;
|
|
61
|
+
}
|
|
62
|
+
// Add the current key if we're at a value position
|
|
63
|
+
if (currentKey !== undefined) {
|
|
64
|
+
path.push(currentKey);
|
|
65
|
+
}
|
|
66
|
+
return path;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=monaco-json-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-json-path.js","sourceRoot":"","sources":["../../src/utils/monaco-json-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc;IAC9D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,UAA8B,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,KAAK,CAAC;YAChB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC;YACf,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,QAAQ,EAAE,CAAC;gBACb,gBAAgB;gBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC3C,QAAQ,GAAG,KAAK,CAAC;gBAEjB,sEAAsE;gBACtE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAE,CAAC,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACpB,UAAU,GAAG,GAAG,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,QAAQ,GAAG,IAAI,CAAC;gBAChB,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACtB,UAAU,GAAG,SAAS,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,CAAC,EAAE,CAAC;IACN,CAAC;IAED,mDAAmD;IACnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monaco JSON Schema Registry
|
|
3
|
+
*
|
|
4
|
+
* Manages JSON Schema registrations for Monaco's JSON language service.
|
|
5
|
+
* Multiple Code instances can register schemas concurrently — the registry
|
|
6
|
+
* accumulates all schemas and issues a single setDiagnosticsOptions() call.
|
|
7
|
+
*
|
|
8
|
+
* The monaco json namespace is initialized via initMonacoJson() when the
|
|
9
|
+
* Code atom's beforeMount fires. Schemas registered before initialization
|
|
10
|
+
* are queued and flushed once the namespace becomes available.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Initialize the JSON schema registry with the monaco instance.
|
|
14
|
+
* Called from Code atom's handleBeforeMount where monaco is guaranteed loaded.
|
|
15
|
+
* Flushes any schemas registered before initialization.
|
|
16
|
+
*/
|
|
17
|
+
export declare function initMonacoJson(monaco: typeof import('monaco-editor')): void;
|
|
18
|
+
/**
|
|
19
|
+
* Reset state (for testing only).
|
|
20
|
+
*/
|
|
21
|
+
export declare function resetMonacoJson(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Generate a unique model path for a Code instance.
|
|
24
|
+
* Used as the `path` prop for @monaco-editor/react Editor.
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateModelPath(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Register a JSON schema for a specific model path.
|
|
29
|
+
* Triggers a global setDiagnosticsOptions update.
|
|
30
|
+
*/
|
|
31
|
+
export declare function registerJsonSchema(modelPath: string, schema: Record<string, unknown>): void;
|
|
32
|
+
/**
|
|
33
|
+
* Unregister a JSON schema when a Code instance unmounts.
|
|
34
|
+
* Triggers a global setDiagnosticsOptions update.
|
|
35
|
+
*/
|
|
36
|
+
export declare function unregisterJsonSchema(modelPath: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Get count of registered schemas (for testing/debugging).
|
|
39
|
+
*/
|
|
40
|
+
export declare function getRegisteredSchemaCount(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Clear all schemas (for testing).
|
|
43
|
+
*/
|
|
44
|
+
export declare function clearAllSchemas(): void;
|
|
45
|
+
//# sourceMappingURL=monaco-json-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-json-schema.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,eAAe,CAAC,GAAG,IAAI,CAI3E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAG5D;AAgBD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
|