@finos/legend-cube-builder 0.0.2 → 0.0.4
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/README.md +93 -1
- package/docs/adding-an-operation.md +181 -0
- package/docs/hosting.md +157 -0
- package/docs/testing.md +188 -0
- package/lib/__lib__/LegendCubeCommand.d.ts +2 -1
- package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeCommand.js +5 -0
- package/lib/__lib__/LegendCubeCommand.js.map +1 -1
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts +45 -0
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js +60 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts +56 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js +76 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeHelpText.js +21 -3
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeIngestLabels.d.ts +25 -0
- package/lib/__lib__/LegendCubeIngestLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeIngestLabels.js +29 -0
- package/lib/__lib__/LegendCubeIngestLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeLabels.d.ts +95 -3
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +121 -4
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- package/lib/__lib__/LegendCubeProjectLabels.d.ts +22 -0
- package/lib/__lib__/LegendCubeProjectLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeProjectLabels.js +23 -0
- package/lib/__lib__/LegendCubeProjectLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +1 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts +22 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts.map +1 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js +30 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts +31 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js +63 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js.map +1 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts +18 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +51 -0
- package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +37 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js +83 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts +67 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.js +138 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.js.map +1 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts +12 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.js +25 -1
- package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts +5 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.js +9 -1
- package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts +33 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js +67 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts +45 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js +137 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts +2 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.js +21 -2
- package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +35 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js +107 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts +30 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js +64 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js.map +1 -0
- package/lib/components/CubeAddItems.d.ts +35 -0
- package/lib/components/CubeAddItems.d.ts.map +1 -0
- package/lib/components/CubeAddItems.js +82 -0
- package/lib/components/CubeAddItems.js.map +1 -0
- package/lib/components/CubeEditor.d.ts +5 -1
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +33 -13
- package/lib/components/CubeEditor.js.map +1 -1
- package/lib/components/CubeEntrySourceBanner.d.ts +23 -0
- package/lib/components/CubeEntrySourceBanner.d.ts.map +1 -0
- package/lib/components/CubeEntrySourceBanner.js +32 -0
- package/lib/components/CubeEntrySourceBanner.js.map +1 -0
- package/lib/components/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +19 -2
- package/lib/components/CubeNodeIcon.js.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.d.ts +21 -0
- package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -0
- package/lib/components/CubeSchemaColumnsTable.js +6 -0
- package/lib/components/CubeSchemaColumnsTable.js.map +1 -0
- package/lib/components/canvas/CubeCanvas.d.ts +4 -3
- package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvas.js +33 -12
- package/lib/components/canvas/CubeCanvas.js.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts +8 -4
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.js +19 -9
- package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.d.ts +7 -5
- package/lib/components/canvas/CubeCanvasDnd.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.js +14 -9
- package/lib/components/canvas/CubeCanvasDnd.js.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts +2 -0
- package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.js +8 -4
- package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.js +30 -17
- package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts +22 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts.map +1 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js +31 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts +44 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js +51 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts +48 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.js +72 -0
- package/lib/components/editors/CubeAggregationRowEditor.js.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts +42 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.js +41 -0
- package/lib/components/editors/CubeColumnChecklist.js.map +1 -0
- package/lib/components/editors/CubeColumnPicker.d.ts +9 -2
- package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnPicker.js +9 -4
- package/lib/components/editors/CubeColumnPicker.js.map +1 -1
- package/lib/components/editors/CubeConcatEditor.d.ts +33 -0
- package/lib/components/editors/CubeConcatEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeConcatEditor.js +147 -0
- package/lib/components/editors/CubeConcatEditor.js.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js +53 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.js +29 -0
- package/lib/components/editors/CubeDifferenceEditor.js.map +1 -0
- package/lib/components/editors/CubeDistinctEditor.d.ts +23 -0
- package/lib/components/editors/CubeDistinctEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDistinctEditor.js +24 -0
- package/lib/components/editors/CubeDistinctEditor.js.map +1 -0
- package/lib/components/editors/CubeExtendEditor.d.ts +25 -0
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExtendEditor.js +86 -0
- package/lib/components/editors/CubeExtendEditor.js.map +1 -0
- package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeFilterEditor.js +3 -3
- package/lib/components/editors/CubeFilterEditor.js.map +1 -1
- package/lib/components/editors/CubeGroupEditor.d.ts +28 -0
- package/lib/components/editors/CubeGroupEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeGroupEditor.js +70 -0
- package/lib/components/editors/CubeGroupEditor.js.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts +26 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.js +47 -0
- package/lib/components/editors/CubeIngestSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeIntegerField.d.ts +29 -0
- package/lib/components/editors/CubeIntegerField.d.ts.map +1 -0
- package/lib/components/editors/CubeIntegerField.js +30 -0
- package/lib/components/editors/CubeIntegerField.js.map +1 -0
- package/lib/components/editors/CubeJoinEditor.d.ts +2 -4
- package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeJoinEditor.js +15 -37
- package/lib/components/editors/CubeJoinEditor.js.map +1 -1
- package/lib/components/editors/CubeJoinKeyRows.d.ts +34 -0
- package/lib/components/editors/CubeJoinKeyRows.d.ts.map +1 -0
- package/lib/components/editors/CubeJoinKeyRows.js +65 -0
- package/lib/components/editors/CubeJoinKeyRows.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorPanel.d.ts +7 -5
- package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPanel.js +53 -14
- package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts +40 -0
- package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -0
- package/lib/components/editors/CubeNodeEditorPopper.js +125 -0
- package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js +28 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
- package/lib/components/editors/CubePartitionEditor.d.ts +30 -0
- package/lib/components/editors/CubePartitionEditor.d.ts.map +1 -0
- package/lib/components/editors/CubePartitionEditor.js +93 -0
- package/lib/components/editors/CubePartitionEditor.js.map +1 -0
- package/lib/components/editors/CubeRenameEditor.d.ts +26 -0
- package/lib/components/editors/CubeRenameEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeRenameEditor.js +60 -0
- package/lib/components/editors/CubeRenameEditor.js.map +1 -0
- package/lib/components/editors/CubeRestrictEditor.d.ts +26 -0
- package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeRestrictEditor.js +23 -0
- package/lib/components/editors/CubeRestrictEditor.js.map +1 -0
- package/lib/components/editors/CubeRowCountEditor.d.ts +25 -0
- package/lib/components/editors/CubeRowCountEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeRowCountEditor.js +38 -0
- package/lib/components/editors/CubeRowCountEditor.js.map +1 -0
- package/lib/components/editors/CubeSliceEditor.d.ts +25 -0
- package/lib/components/editors/CubeSliceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSliceEditor.js +40 -0
- package/lib/components/editors/CubeSliceEditor.js.map +1 -0
- package/lib/components/editors/CubeSortEditor.d.ts +27 -0
- package/lib/components/editors/CubeSortEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSortEditor.js +45 -0
- package/lib/components/editors/CubeSortEditor.js.map +1 -0
- package/lib/components/editors/CubeSortRowEditor.d.ts +47 -0
- package/lib/components/editors/CubeSortRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSortRowEditor.js +62 -0
- package/lib/components/editors/CubeSortRowEditor.js.map +1 -0
- package/lib/components/editors/CubeSourceEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeSourceEditor.js +18 -6
- package/lib/components/editors/CubeSourceEditor.js.map +1 -1
- package/lib/components/editors/CubeValueEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeValueEditor.js +2 -1
- package/lib/components/editors/CubeValueEditor.js.map +1 -1
- package/lib/components/editors/CubeWarehouseControl.d.ts +30 -0
- package/lib/components/editors/CubeWarehouseControl.d.ts.map +1 -0
- package/lib/components/editors/CubeWarehouseControl.js +44 -0
- package/lib/components/editors/CubeWarehouseControl.js.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts +31 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js +83 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts +26 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.js +68 -0
- package/lib/components/examples/CubeExamplesDialog.js.map +1 -0
- package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
- package/lib/components/grid/CubeGridRegion.js +20 -9
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +16 -0
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +44 -0
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeResultGrid.d.ts +14 -1
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +55 -7
- package/lib/components/grid/CubeResultGrid.js.map +1 -1
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +23 -12
- package/lib/components/palette/CubePalette.js.map +1 -1
- package/lib/components/source-picker/CubeDataProductTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDataProductTab.js +102 -0
- package/lib/components/source-picker/CubeDataProductTab.js.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js +87 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts +28 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.js +66 -0
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts +37 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.js +71 -0
- package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -0
- package/lib/components/source-picker/CubePickerStep.d.ts +27 -0
- package/lib/components/source-picker/CubePickerStep.d.ts.map +1 -0
- package/lib/components/source-picker/CubePickerStep.js +23 -0
- package/lib/components/source-picker/CubePickerStep.js.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts +27 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.js +50 -0
- package/lib/components/source-picker/CubeProjectTab.js.map +1 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts +6 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
- package/lib/components/source-picker/CubeSourcePicker.js +20 -58
- package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
- package/lib/graph-manager/CubeConnectionExplorer.d.ts +90 -0
- package/lib/graph-manager/CubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/CubeConnectionExplorer.js +34 -0
- package/lib/graph-manager/CubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/CubeDataProduct.d.ts +66 -0
- package/lib/graph-manager/CubeDataProduct.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProduct.js +102 -0
- package/lib/graph-manager/CubeDataProduct.js.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts +167 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.js +116 -0
- package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts +38 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.js +48 -0
- package/lib/graph-manager/CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/CubeEngine.d.ts +50 -2
- package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/CubeEngine.js +4 -1
- package/lib/graph-manager/CubeEngine.js.map +1 -1
- package/lib/graph-manager/CubeIngest.d.ts +50 -0
- package/lib/graph-manager/CubeIngest.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngest.js +88 -0
- package/lib/graph-manager/CubeIngest.js.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts +116 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.js +80 -0
- package/lib/graph-manager/CubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts +26 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js +17 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js.map +1 -0
- package/lib/graph-manager/CubeModelOutlineHelper.d.ts +8 -0
- package/lib/graph-manager/CubeModelOutlineHelper.d.ts.map +1 -1
- package/lib/graph-manager/CubeModelOutlineHelper.js +21 -0
- package/lib/graph-manager/CubeModelOutlineHelper.js.map +1 -1
- package/lib/graph-manager/CubeProject.d.ts +41 -0
- package/lib/graph-manager/CubeProject.d.ts.map +1 -0
- package/lib/graph-manager/CubeProject.js +84 -0
- package/lib/graph-manager/CubeProject.js.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.js +17 -0
- package/lib/graph-manager/CubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +63 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +50 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts +44 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js +192 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +29 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +84 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts +41 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js +246 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts +43 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js +112 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js +30 -4
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts +23 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js +68 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts +30 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +140 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +62 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +119 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js +94 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +63 -4
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +56 -3
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts +67 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js +238 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +34 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +64 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts +104 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js +484 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +97 -3
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +585 -20
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts +69 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js +270 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +91 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts +25 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js +47 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts +28 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js +310 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js +188 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +30 -4
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +11 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -1
- package/lib/index.js.map +1 -1
- package/lib/stores/CubeAddPlacement.d.ts +32 -0
- package/lib/stores/CubeAddPlacement.d.ts.map +1 -0
- package/lib/stores/CubeAddPlacement.js +40 -0
- package/lib/stores/CubeAddPlacement.js.map +1 -0
- package/lib/stores/CubeDataProductRecheck.d.ts +27 -0
- package/lib/stores/CubeDataProductRecheck.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRecheck.js +54 -0
- package/lib/stores/CubeDataProductRecheck.js.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts +88 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.js +190 -0
- package/lib/stores/CubeDataProductRuntimeState.js.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts +19 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.js +25 -0
- package/lib/stores/CubeDataProductWarehouse.js.map +1 -0
- package/lib/stores/CubeEditorState.d.ts +133 -19
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +433 -52
- package/lib/stores/CubeEditorState.js.map +1 -1
- package/lib/stores/CubeEntrySource.d.ts +78 -0
- package/lib/stores/CubeEntrySource.d.ts.map +1 -0
- package/lib/stores/CubeEntrySource.js +200 -0
- package/lib/stores/CubeEntrySource.js.map +1 -0
- package/lib/stores/CubeExamples.d.ts +43 -0
- package/lib/stores/CubeExamples.d.ts.map +1 -0
- package/lib/stores/CubeExamples.js +296 -0
- package/lib/stores/CubeExamples.js.map +1 -0
- package/lib/stores/CubeExamplesState.d.ts +45 -0
- package/lib/stores/CubeExamplesState.d.ts.map +1 -0
- package/lib/stores/CubeExamplesState.js +81 -0
- package/lib/stores/CubeExamplesState.js.map +1 -0
- package/lib/stores/CubeExecutionState.d.ts +6 -2
- package/lib/stores/CubeExecutionState.d.ts.map +1 -1
- package/lib/stores/CubeExecutionState.js +34 -8
- package/lib/stores/CubeExecutionState.js.map +1 -1
- package/lib/stores/CubeExtendTyping.d.ts +72 -0
- package/lib/stores/CubeExtendTyping.d.ts.map +1 -0
- package/lib/stores/CubeExtendTyping.js +176 -0
- package/lib/stores/CubeExtendTyping.js.map +1 -0
- package/lib/stores/CubeGridQuickActions.d.ts +48 -0
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -0
- package/lib/stores/CubeGridQuickActions.js +124 -0
- package/lib/stores/CubeGridQuickActions.js.map +1 -0
- package/lib/stores/CubeHost.d.ts +32 -1
- package/lib/stores/CubeHost.d.ts.map +1 -1
- package/lib/stores/CubeHost.js +21 -1
- package/lib/stores/CubeHost.js.map +1 -1
- package/lib/stores/CubeIngestRecheck.d.ts +26 -0
- package/lib/stores/CubeIngestRecheck.d.ts.map +1 -0
- package/lib/stores/CubeIngestRecheck.js +53 -0
- package/lib/stores/CubeIngestRecheck.js.map +1 -0
- package/lib/stores/CubeNodeEditorState.d.ts +120 -6
- package/lib/stores/CubeNodeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeNodeEditorState.js +275 -9
- package/lib/stores/CubeNodeEditorState.js.map +1 -1
- package/lib/stores/CubeShowPureState.d.ts +9 -3
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +28 -8
- package/lib/stores/CubeShowPureState.js.map +1 -1
- package/lib/stores/CubeSourcePickerState.d.ts +54 -65
- package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
- package/lib/stores/CubeSourcePickerState.js +155 -276
- package/lib/stores/CubeSourcePickerState.js.map +1 -1
- package/lib/stores/CubeSpecTransferState.d.ts +2 -2
- package/lib/stores/CubeSpecTransferState.js +2 -2
- package/lib/stores/LocalModelCatalog.d.ts +2 -0
- package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
- package/lib/stores/LocalModelCatalog.js +17 -3
- package/lib/stores/LocalModelCatalog.js.map +1 -1
- package/lib/stores/editors/CubeAggregationRows.d.ts +80 -0
- package/lib/stores/editors/CubeAggregationRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeAggregationRows.js +164 -0
- package/lib/stores/editors/CubeAggregationRows.js.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts +30 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.js +44 -0
- package/lib/stores/editors/CubeConcatDraft.js.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts +49 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.js +111 -0
- package/lib/stores/editors/CubeDifferenceDraft.js.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts +110 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.js +359 -0
- package/lib/stores/editors/CubeExtendDraft.js.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts +61 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.js +106 -0
- package/lib/stores/editors/CubeGroupDraft.js.map +1 -0
- package/lib/stores/editors/CubeIntegerText.d.ts +24 -0
- package/lib/stores/editors/CubeIntegerText.d.ts.map +1 -0
- package/lib/stores/editors/CubeIntegerText.js +33 -0
- package/lib/stores/editors/CubeIntegerText.js.map +1 -0
- package/lib/stores/editors/CubeJoinDraft.d.ts +20 -13
- package/lib/stores/editors/CubeJoinDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeJoinDraft.js +109 -29
- package/lib/stores/editors/CubeJoinDraft.js.map +1 -1
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts +38 -0
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts.map +1 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js +33 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js.map +1 -0
- package/lib/stores/editors/CubeNodeDraft.d.ts +20 -6
- package/lib/stores/editors/CubeNodeDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraft.js +23 -5
- package/lib/stores/editors/CubeNodeDraft.js.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +6 -0
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +42 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
- package/lib/stores/editors/CubePartitionDraft.d.ts +70 -0
- package/lib/stores/editors/CubePartitionDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubePartitionDraft.js +154 -0
- package/lib/stores/editors/CubePartitionDraft.js.map +1 -0
- package/lib/stores/editors/CubeRenameDraft.d.ts +44 -0
- package/lib/stores/editors/CubeRenameDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeRenameDraft.js +79 -0
- package/lib/stores/editors/CubeRenameDraft.js.map +1 -0
- package/lib/stores/editors/CubeRestrictDraft.d.ts +37 -0
- package/lib/stores/editors/CubeRestrictDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeRestrictDraft.js +73 -0
- package/lib/stores/editors/CubeRestrictDraft.js.map +1 -0
- package/lib/stores/editors/CubeRowCountDraft.d.ts +42 -0
- package/lib/stores/editors/CubeRowCountDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeRowCountDraft.js +55 -0
- package/lib/stores/editors/CubeRowCountDraft.js.map +1 -0
- package/lib/stores/editors/CubeSliceDraft.d.ts +42 -0
- package/lib/stores/editors/CubeSliceDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeSliceDraft.js +72 -0
- package/lib/stores/editors/CubeSliceDraft.js.map +1 -0
- package/lib/stores/editors/CubeSortDraft.d.ts +41 -0
- package/lib/stores/editors/CubeSortDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeSortDraft.js +73 -0
- package/lib/stores/editors/CubeSortDraft.js.map +1 -0
- package/lib/stores/editors/CubeSortRows.d.ts +34 -0
- package/lib/stores/editors/CubeSortRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeSortRows.js +50 -0
- package/lib/stores/editors/CubeSortRows.js.map +1 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts +7 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts.map +1 -1
- package/lib/stores/fixtures/CubeNorthwindModel.js +99 -87
- package/lib/stores/fixtures/CubeNorthwindModel.js.map +1 -1
- package/lib/stores/fixtures/CubeSampleSql.d.ts +34 -0
- package/lib/stores/fixtures/CubeSampleSql.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSampleSql.js +64 -0
- package/lib/stores/fixtures/CubeSampleSql.js.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts +27 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.js +158 -0
- package/lib/stores/fixtures/CubeSportsModel.js.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts +29 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.js +197 -0
- package/lib/stores/fixtures/CubeTradesModel.js.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts +71 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js +392 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts +186 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js +681 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +140 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js +516 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +114 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.js +455 -0
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +107 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js +347 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts +62 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.js +181 -0
- package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +48 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js +24 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -0
- package/package.json +12 -8
- package/src/__lib__/LegendCubeCommand.ts +5 -0
- package/src/__lib__/LegendCubeDataProductLabels.ts +91 -0
- package/src/__lib__/LegendCubeDirectConnectionLabels.ts +111 -0
- package/src/__lib__/LegendCubeHelpText.ts +46 -2
- package/src/__lib__/LegendCubeIngestLabels.ts +40 -0
- package/src/__lib__/LegendCubeLabels.ts +192 -4
- package/src/__lib__/LegendCubeProjectLabels.ts +25 -0
- package/src/__lib__/LegendCubeTesting.ts +1 -0
- package/src/__test-utils__/CubeCanvasTestUtils.ts +1 -1
- package/src/__test-utils__/CubeConnectionTestSupport.ts +45 -0
- package/src/__test-utils__/CubeDirectConnectionFixtures.ts +70 -0
- package/src/__test-utils__/CubeEngineTestSupport.ts +73 -0
- package/src/__test-utils__/CubeExpressionTestUtils.ts +119 -0
- package/src/__test-utils__/CubeOperationsTestUtils.ts +252 -0
- package/src/__test-utils__/CubePageTestUtils.tsx +35 -0
- package/src/__test-utils__/CubeTestApplication.ts +21 -2
- package/src/__test-utils__/FakeCubeConnectionExplorer.ts +111 -0
- package/src/__test-utils__/FakeCubeDataProductCatalog.ts +227 -0
- package/src/__test-utils__/FakeCubeEngine.ts +32 -2
- package/src/__test-utils__/FakeCubeIngestCatalog.ts +180 -0
- package/src/__test-utils__/FakeCubeProjectCatalog.ts +89 -0
- package/src/components/CubeAddItems.tsx +179 -0
- package/src/components/CubeEditor.tsx +73 -44
- package/src/components/CubeEntrySourceBanner.tsx +64 -0
- package/src/components/CubeNodeIcon.tsx +31 -1
- package/src/components/CubeSchemaColumnsTable.tsx +49 -0
- package/src/components/canvas/CubeCanvas.tsx +51 -14
- package/src/components/canvas/CubeCanvasContextMenu.tsx +31 -30
- package/src/components/canvas/CubeCanvasDnd.ts +16 -9
- package/src/components/canvas/CubeCanvasElements.ts +12 -3
- package/src/components/canvas/CubeCanvasNode.tsx +62 -36
- package/src/components/canvas/CubeCanvasNodeFocus.ts +37 -0
- package/src/components/canvas/CubeNodeEditorAnchor.ts +82 -0
- package/src/components/editors/CubeAggregationRowEditor.tsx +224 -0
- package/src/components/editors/CubeColumnChecklist.tsx +130 -0
- package/src/components/editors/CubeColumnPicker.tsx +36 -12
- package/src/components/editors/CubeConcatEditor.tsx +374 -0
- package/src/components/editors/CubeDataProductSourceEditor.tsx +134 -0
- package/src/components/editors/CubeDifferenceEditor.tsx +87 -0
- package/src/components/editors/CubeDistinctEditor.tsx +28 -0
- package/src/components/editors/CubeExtendEditor.tsx +271 -0
- package/src/components/editors/CubeFilterEditor.tsx +7 -0
- package/src/components/editors/CubeGroupEditor.tsx +135 -0
- package/src/components/editors/CubeIngestSourceEditor.tsx +104 -0
- package/src/components/editors/CubeIntegerField.tsx +51 -0
- package/src/components/editors/CubeJoinEditor.tsx +34 -131
- package/src/components/editors/CubeJoinKeyRows.tsx +183 -0
- package/src/components/editors/CubeNodeEditorPanel.tsx +103 -29
- package/src/components/editors/CubeNodeEditorPopper.tsx +183 -0
- package/src/components/editors/CubeNodeEditorRegistry.ts +41 -0
- package/src/components/editors/CubePartitionEditor.tsx +208 -0
- package/src/components/editors/CubeRenameEditor.tsx +148 -0
- package/src/components/editors/CubeRestrictEditor.tsx +103 -0
- package/src/components/editors/CubeRowCountEditor.tsx +53 -0
- package/src/components/editors/CubeSliceEditor.tsx +69 -0
- package/src/components/editors/CubeSortEditor.tsx +84 -0
- package/src/components/editors/CubeSortRowEditor.tsx +176 -0
- package/src/components/editors/CubeSourceEditor.tsx +42 -40
- package/src/components/editors/CubeValueEditor.tsx +2 -1
- package/src/components/editors/CubeWarehouseControl.tsx +113 -0
- package/src/components/editors/useCubeNodeEditorDismiss.ts +103 -0
- package/src/components/examples/CubeExamplesDialog.tsx +199 -0
- package/src/components/grid/CubeGridRegion.tsx +49 -10
- package/src/components/grid/CubeGridValues.ts +55 -0
- package/src/components/grid/CubeResultGrid.tsx +83 -13
- package/src/components/palette/CubePalette.tsx +33 -15
- package/src/components/source-picker/CubeDataProductTab.tsx +392 -0
- package/src/components/source-picker/CubeDirectConnectionTab.tsx +340 -0
- package/src/components/source-picker/CubeIngestTab.tsx +232 -0
- package/src/components/source-picker/CubeInlineModelTab.tsx +191 -0
- package/src/components/source-picker/CubePickerStep.tsx +49 -0
- package/src/components/source-picker/CubeProjectTab.tsx +114 -0
- package/src/components/source-picker/CubeSourcePicker.tsx +62 -227
- package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +1 -1
- package/src/graph-manager/CubeConnectionExplorer.ts +106 -0
- package/src/graph-manager/CubeDataProduct.ts +150 -0
- package/src/graph-manager/CubeDataProductCatalog.ts +245 -0
- package/src/graph-manager/CubeDirectConnection.ts +67 -0
- package/src/graph-manager/CubeEngine.ts +57 -1
- package/src/graph-manager/CubeIngest.ts +144 -0
- package/src/graph-manager/CubeIngestCatalog.ts +169 -0
- package/src/graph-manager/CubeLakehouseEnvironment.ts +27 -0
- package/src/graph-manager/CubeModelOutlineHelper.ts +26 -0
- package/src/graph-manager/CubeProject.ts +117 -0
- package/src/graph-manager/CubeProjectCatalog.ts +40 -0
- package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +145 -1
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts +251 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +101 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.ts +339 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectModel.ts +151 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts +45 -4
- package/src/graph-manager/protocol/pure/v1/V1_CubeExpression.ts +89 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +201 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +183 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts +141 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +84 -4
- package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +89 -3
- package/src/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.ts +361 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +116 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.ts +744 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +967 -24
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.ts +459 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +147 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.ts +61 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.ts +337 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.ts +206 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +48 -4
- package/src/index.ts +20 -0
- package/src/stores/CubeAddPlacement.ts +67 -0
- package/src/stores/CubeDataProductRecheck.ts +93 -0
- package/src/stores/CubeDataProductRuntimeState.ts +256 -0
- package/src/stores/CubeDataProductWarehouse.ts +40 -0
- package/src/stores/CubeEditorState.ts +621 -68
- package/src/stores/CubeEntrySource.ts +278 -0
- package/src/stores/CubeExamples.ts +457 -0
- package/src/stores/CubeExamplesState.ts +108 -0
- package/src/stores/CubeExecutionState.ts +60 -8
- package/src/stores/CubeExtendTyping.ts +291 -0
- package/src/stores/CubeGridQuickActions.ts +184 -0
- package/src/stores/CubeHost.ts +71 -1
- package/src/stores/CubeIngestRecheck.ts +92 -0
- package/src/stores/CubeNodeEditorState.ts +348 -10
- package/src/stores/CubeShowPureState.ts +33 -8
- package/src/stores/CubeSourcePickerState.ts +160 -330
- package/src/stores/CubeSpecTransferState.ts +2 -2
- package/src/stores/LocalModelCatalog.ts +22 -3
- package/src/stores/editors/CubeAggregationRows.ts +299 -0
- package/src/stores/editors/CubeConcatDraft.ts +49 -0
- package/src/stores/editors/CubeDifferenceDraft.ts +147 -0
- package/src/stores/editors/CubeExtendDraft.ts +532 -0
- package/src/stores/editors/CubeGroupDraft.ts +145 -0
- package/src/stores/editors/CubeIntegerText.ts +34 -0
- package/src/stores/editors/CubeJoinDraft.ts +170 -54
- package/src/stores/editors/CubeJoinKeyPairs.ts +68 -0
- package/src/stores/editors/CubeNodeDraft.ts +26 -6
- package/src/stores/editors/CubeNodeDraftRegistry.ts +60 -1
- package/src/stores/editors/CubePartitionDraft.ts +214 -0
- package/src/stores/editors/CubeRenameDraft.ts +110 -0
- package/src/stores/editors/CubeRestrictDraft.ts +83 -0
- package/src/stores/editors/CubeRowCountDraft.ts +69 -0
- package/src/stores/editors/CubeSliceDraft.ts +87 -0
- package/src/stores/editors/CubeSortDraft.ts +98 -0
- package/src/stores/editors/CubeSortRows.ts +84 -0
- package/src/stores/fixtures/CubeNorthwindModel.ts +103 -88
- package/src/stores/fixtures/CubeSampleSql.ts +85 -0
- package/src/stores/fixtures/CubeSportsModel.ts +182 -0
- package/src/stores/fixtures/CubeTradesModel.ts +241 -0
- package/src/stores/source-picker/CubeCsvSetupSql.ts +444 -0
- package/src/stores/source-picker/CubeDataProductTabState.ts +839 -0
- package/src/stores/source-picker/CubeDirectConnectionTabState.ts +647 -0
- package/src/stores/source-picker/CubeIngestTabState.ts +551 -0
- package/src/stores/source-picker/CubeInlineModelTabState.ts +448 -0
- package/src/stores/source-picker/CubeProjectTabState.ts +218 -0
- package/src/stores/source-picker/CubeSourcePickerTab.ts +50 -0
- package/tsconfig.json +104 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { type ColumnDirection, SortDirection } from '@finos/legend-cube';
|
|
18
|
+
|
|
19
|
+
// The sort rows of the editors that sort (Sort, PLAN §11.4; Partition's
|
|
20
|
+
// window, §11.6): a column and a direction each, most significant first
|
|
21
|
+
|
|
22
|
+
/** One sort row: a column, `''` until picked, and its direction */
|
|
23
|
+
export interface CubeSortRow {
|
|
24
|
+
/** Identifies the row in the editor */
|
|
25
|
+
readonly key: number;
|
|
26
|
+
readonly column: string;
|
|
27
|
+
readonly direction: SortDirection;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
let nextRowKey = 1;
|
|
31
|
+
|
|
32
|
+
export const blankSortRow = (): CubeSortRow => ({
|
|
33
|
+
key: nextRowKey++,
|
|
34
|
+
column: '',
|
|
35
|
+
direction: SortDirection.ASC,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
/** The rows of saved sort keys, in order */
|
|
39
|
+
export const sortRowsOf = (sorts: readonly ColumnDirection[]): CubeSortRow[] =>
|
|
40
|
+
sorts.map(({ column, direction }) => ({
|
|
41
|
+
key: nextRowKey++,
|
|
42
|
+
column,
|
|
43
|
+
direction,
|
|
44
|
+
}));
|
|
45
|
+
|
|
46
|
+
/** Every row's key, a blank one included */
|
|
47
|
+
export const sortKeysOfRows = (
|
|
48
|
+
rows: readonly CubeSortRow[],
|
|
49
|
+
): ColumnDirection[] =>
|
|
50
|
+
rows.map(({ column, direction }) => ({ column, direction }));
|
|
51
|
+
|
|
52
|
+
/** The keys the rows build, in order: a row without a column is left out */
|
|
53
|
+
export const sortsOfRows = (rows: readonly CubeSortRow[]): ColumnDirection[] =>
|
|
54
|
+
sortKeysOfRows(rows).filter(({ column }) => column);
|
|
55
|
+
|
|
56
|
+
/** The rows with one moved one place up (`-1`) or down (`1`), if it can go there */
|
|
57
|
+
export const movedSortRows = (
|
|
58
|
+
rows: readonly CubeSortRow[],
|
|
59
|
+
key: number,
|
|
60
|
+
offset: -1 | 1,
|
|
61
|
+
): readonly CubeSortRow[] => {
|
|
62
|
+
const from = rows.findIndex((row) => row.key === key);
|
|
63
|
+
const to = from + offset;
|
|
64
|
+
if (from < 0 || to < 0 || to >= rows.length) {
|
|
65
|
+
return rows;
|
|
66
|
+
}
|
|
67
|
+
const moved = [...rows];
|
|
68
|
+
[moved[from], moved[to]] = [
|
|
69
|
+
moved[to] as CubeSortRow,
|
|
70
|
+
moved[from] as CubeSortRow,
|
|
71
|
+
];
|
|
72
|
+
return moved;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const isSameSorts = (
|
|
76
|
+
a: readonly ColumnDirection[],
|
|
77
|
+
b: readonly ColumnDirection[],
|
|
78
|
+
): boolean =>
|
|
79
|
+
a.length === b.length &&
|
|
80
|
+
a.every(
|
|
81
|
+
(sort, index) =>
|
|
82
|
+
sort.column === b[index]?.column &&
|
|
83
|
+
sort.direction === b[index]?.direction,
|
|
84
|
+
);
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import type { ModelContext } from '@finos/legend-cube';
|
|
18
|
+
import { toPureSetupSqls } from './CubeSampleSql.js';
|
|
18
19
|
|
|
19
20
|
// The Cube Northwind fixture (PLAN §6.2.4): a corrected copy of the Northwind
|
|
20
21
|
// Database of the query builder's tests, which is left as it is. Corrections:
|
|
@@ -77,15 +78,90 @@ const CUBETEST_SETUP_SQLS = [
|
|
|
77
78
|
'insert into CUBETEST.KEY_NUM values (1.2500), (3.0000)',
|
|
78
79
|
];
|
|
79
80
|
|
|
80
|
-
/**
|
|
81
|
-
const
|
|
82
|
-
|
|
81
|
+
/** The CUBETEST schema and the decoy table, in the Database's text */
|
|
82
|
+
const CUBETEST_DATABASE_TEXT = ` Schema CUBETEST
|
|
83
|
+
(
|
|
84
|
+
Table ALLTYPES
|
|
85
|
+
(
|
|
86
|
+
ID INTEGER PRIMARY KEY,
|
|
87
|
+
TI TINYINT,
|
|
88
|
+
SI SMALLINT,
|
|
89
|
+
BI BIGINT,
|
|
90
|
+
F FLOAT,
|
|
91
|
+
D DOUBLE,
|
|
92
|
+
DEC DECIMAL(10, 2),
|
|
93
|
+
NUM NUMERIC(12, 4),
|
|
94
|
+
DT DATE,
|
|
95
|
+
TS TIMESTAMP,
|
|
96
|
+
B BIT,
|
|
97
|
+
VC VARCHAR(20)
|
|
98
|
+
)
|
|
99
|
+
Table "ORDER.LINES"
|
|
100
|
+
(
|
|
101
|
+
LINE_ID INTEGER PRIMARY KEY,
|
|
102
|
+
RIGHT_COL VARCHAR(10)
|
|
103
|
+
)
|
|
104
|
+
Table PROBLEM_BINARY
|
|
105
|
+
(
|
|
106
|
+
ID INTEGER PRIMARY KEY,
|
|
107
|
+
PAYLOAD BINARY(8)
|
|
108
|
+
)
|
|
109
|
+
Table PROBLEM_CHAR
|
|
110
|
+
(
|
|
111
|
+
CODE CHAR(3) PRIMARY KEY,
|
|
112
|
+
LABEL VARCHAR(10)
|
|
113
|
+
)
|
|
114
|
+
Table PROBLEM_OTHER
|
|
115
|
+
(
|
|
116
|
+
ID INTEGER PRIMARY KEY,
|
|
117
|
+
O OTHER
|
|
118
|
+
)
|
|
119
|
+
View PROBLEM_VIEW
|
|
120
|
+
(
|
|
121
|
+
ID: CUBETEST.ALLTYPES.ID PRIMARY KEY,
|
|
122
|
+
VC: CUBETEST.ALLTYPES.VC
|
|
123
|
+
)
|
|
124
|
+
Table EMP_REGION
|
|
125
|
+
(
|
|
126
|
+
EMPLOYEE_ID SMALLINT PRIMARY KEY,
|
|
127
|
+
REGION VARCHAR(15)
|
|
128
|
+
)
|
|
129
|
+
Table CUST_REGION
|
|
130
|
+
(
|
|
131
|
+
CUSTOMER_ID VARCHAR(5) PRIMARY KEY,
|
|
132
|
+
REGION VARCHAR(15)
|
|
133
|
+
)
|
|
134
|
+
Table CATEGORY_REGION
|
|
135
|
+
(
|
|
136
|
+
CATEGORY_ID SMALLINT PRIMARY KEY,
|
|
137
|
+
SHIP_REGION VARCHAR(15) NOT NULL
|
|
138
|
+
)
|
|
139
|
+
Table KEY_VC15
|
|
140
|
+
(
|
|
141
|
+
K VARCHAR(15)
|
|
142
|
+
)
|
|
143
|
+
Table KEY_VC2
|
|
144
|
+
(
|
|
145
|
+
K VARCHAR(2)
|
|
146
|
+
)
|
|
147
|
+
Table KEY_DEC
|
|
148
|
+
(
|
|
149
|
+
K DECIMAL(10, 2)
|
|
150
|
+
)
|
|
151
|
+
Table KEY_NUM
|
|
152
|
+
(
|
|
153
|
+
K NUMERIC(12, 4)
|
|
154
|
+
)
|
|
155
|
+
)
|
|
156
|
+
Table CUBETEST
|
|
157
|
+
(
|
|
158
|
+
WRONG_TABLE VARCHAR(10)
|
|
159
|
+
)
|
|
83
160
|
|
|
84
|
-
|
|
85
|
-
.map((sql) => ` ${pureString(sql)}`)
|
|
86
|
-
.join(',\n');
|
|
161
|
+
`;
|
|
87
162
|
|
|
88
|
-
|
|
163
|
+
/** The Northwind model's text, with Cube's test tables or without */
|
|
164
|
+
const northwindModelCode = (withTestTables: boolean): string => `###Relational
|
|
89
165
|
Database ${CUBE_NORTHWIND_DATABASE}
|
|
90
166
|
(
|
|
91
167
|
Schema NORTHWIND
|
|
@@ -222,86 +298,7 @@ Database ${CUBE_NORTHWIND_DATABASE}
|
|
|
222
298
|
STATE_REGION VARCHAR(50)
|
|
223
299
|
)
|
|
224
300
|
)
|
|
225
|
-
|
|
226
|
-
(
|
|
227
|
-
Table ALLTYPES
|
|
228
|
-
(
|
|
229
|
-
ID INTEGER PRIMARY KEY,
|
|
230
|
-
TI TINYINT,
|
|
231
|
-
SI SMALLINT,
|
|
232
|
-
BI BIGINT,
|
|
233
|
-
F FLOAT,
|
|
234
|
-
D DOUBLE,
|
|
235
|
-
DEC DECIMAL(10, 2),
|
|
236
|
-
NUM NUMERIC(12, 4),
|
|
237
|
-
DT DATE,
|
|
238
|
-
TS TIMESTAMP,
|
|
239
|
-
B BIT,
|
|
240
|
-
VC VARCHAR(20)
|
|
241
|
-
)
|
|
242
|
-
Table "ORDER.LINES"
|
|
243
|
-
(
|
|
244
|
-
LINE_ID INTEGER PRIMARY KEY,
|
|
245
|
-
RIGHT_COL VARCHAR(10)
|
|
246
|
-
)
|
|
247
|
-
Table PROBLEM_BINARY
|
|
248
|
-
(
|
|
249
|
-
ID INTEGER PRIMARY KEY,
|
|
250
|
-
PAYLOAD BINARY(8)
|
|
251
|
-
)
|
|
252
|
-
Table PROBLEM_CHAR
|
|
253
|
-
(
|
|
254
|
-
CODE CHAR(3) PRIMARY KEY,
|
|
255
|
-
LABEL VARCHAR(10)
|
|
256
|
-
)
|
|
257
|
-
Table PROBLEM_OTHER
|
|
258
|
-
(
|
|
259
|
-
ID INTEGER PRIMARY KEY,
|
|
260
|
-
O OTHER
|
|
261
|
-
)
|
|
262
|
-
View PROBLEM_VIEW
|
|
263
|
-
(
|
|
264
|
-
ID: CUBETEST.ALLTYPES.ID PRIMARY KEY,
|
|
265
|
-
VC: CUBETEST.ALLTYPES.VC
|
|
266
|
-
)
|
|
267
|
-
Table EMP_REGION
|
|
268
|
-
(
|
|
269
|
-
EMPLOYEE_ID SMALLINT PRIMARY KEY,
|
|
270
|
-
REGION VARCHAR(15)
|
|
271
|
-
)
|
|
272
|
-
Table CUST_REGION
|
|
273
|
-
(
|
|
274
|
-
CUSTOMER_ID VARCHAR(5) PRIMARY KEY,
|
|
275
|
-
REGION VARCHAR(15)
|
|
276
|
-
)
|
|
277
|
-
Table CATEGORY_REGION
|
|
278
|
-
(
|
|
279
|
-
CATEGORY_ID SMALLINT PRIMARY KEY,
|
|
280
|
-
SHIP_REGION VARCHAR(15) NOT NULL
|
|
281
|
-
)
|
|
282
|
-
Table KEY_VC15
|
|
283
|
-
(
|
|
284
|
-
K VARCHAR(15)
|
|
285
|
-
)
|
|
286
|
-
Table KEY_VC2
|
|
287
|
-
(
|
|
288
|
-
K VARCHAR(2)
|
|
289
|
-
)
|
|
290
|
-
Table KEY_DEC
|
|
291
|
-
(
|
|
292
|
-
K DECIMAL(10, 2)
|
|
293
|
-
)
|
|
294
|
-
Table KEY_NUM
|
|
295
|
-
(
|
|
296
|
-
K NUMERIC(12, 4)
|
|
297
|
-
)
|
|
298
|
-
)
|
|
299
|
-
Table CUBETEST
|
|
300
|
-
(
|
|
301
|
-
WRONG_TABLE VARCHAR(10)
|
|
302
|
-
)
|
|
303
|
-
|
|
304
|
-
Join ORDERS_CUSTMERS(NORTHWIND.ORDERS.CUSTOMER_ID = NORTHWIND.CUSTOMERS.CUSTOMER_ID)
|
|
301
|
+
${withTestTables ? CUBETEST_DATABASE_TEXT : '\n'} Join ORDERS_CUSTMERS(NORTHWIND.ORDERS.CUSTOMER_ID = NORTHWIND.CUSTOMERS.CUSTOMER_ID)
|
|
305
302
|
Join ORDERS_EMPLOYEES(NORTHWIND.ORDERS.EMPLOYEE_ID = NORTHWIND.EMPLOYEES.EMPLOYEE_ID)
|
|
306
303
|
Join ORDERS_SHIPPERS(NORTHWIND.ORDERS.SHIP_VIA = NORTHWIND.SHIPPERS.SHIPPER_ID)
|
|
307
304
|
Join ORDERS_ORDER_DETAILS(NORTHWIND.ORDERS.ORDER_ID = NORTHWIND.ORDER_DETAILS.ORDER_ID)
|
|
@@ -325,7 +322,11 @@ RelationalDatabaseConnection ${CUBE_NORTHWIND_CONNECTION}
|
|
|
325
322
|
specification: LocalH2
|
|
326
323
|
{
|
|
327
324
|
testDataSetupSqls: [
|
|
328
|
-
${
|
|
325
|
+
${toPureSetupSqls(
|
|
326
|
+
withTestTables
|
|
327
|
+
? ['call loadNorthwindData()', ...CUBETEST_SETUP_SQLS]
|
|
328
|
+
: ['call loadNorthwindData()'],
|
|
329
|
+
)}
|
|
329
330
|
];
|
|
330
331
|
};
|
|
331
332
|
auth: DefaultH2;
|
|
@@ -348,8 +349,22 @@ Runtime ${CUBE_NORTHWIND_RUNTIME}
|
|
|
348
349
|
}
|
|
349
350
|
`;
|
|
350
351
|
|
|
352
|
+
export const CUBE_NORTHWIND_MODEL_CODE = northwindModelCode(true);
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Northwind as the Sample Data tab offers it: Northwind's own tables, without
|
|
356
|
+
* Cube's test tables
|
|
357
|
+
*/
|
|
358
|
+
export const CUBE_NORTHWIND_SAMPLE_MODEL_CODE = northwindModelCode(false);
|
|
359
|
+
|
|
351
360
|
/** The Cube Northwind fixture as a cube saves it (PLAN §6.2.2) */
|
|
352
361
|
export const CUBE_NORTHWIND_MODEL: ModelContext = Object.freeze({
|
|
353
362
|
_type: 'text',
|
|
354
363
|
code: CUBE_NORTHWIND_MODEL_CODE,
|
|
355
364
|
});
|
|
365
|
+
|
|
366
|
+
/** The Northwind sample, without Cube's test tables, as a cube saves it */
|
|
367
|
+
export const CUBE_NORTHWIND_SAMPLE_MODEL: ModelContext = Object.freeze({
|
|
368
|
+
_type: 'text',
|
|
369
|
+
code: CUBE_NORTHWIND_SAMPLE_MODEL_CODE,
|
|
370
|
+
});
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// What the sample models are made of: seeded random numbers, so a sample's
|
|
18
|
+
// rows are the same on every load (a saved cube holds the model text, which
|
|
19
|
+
// must not change), and setup SQL that H2 and DuckDB both run.
|
|
20
|
+
|
|
21
|
+
/** A seeded random number generator (mulberry32): numbers in [0, 1) */
|
|
22
|
+
export const createSampleRandom = (seed: number): (() => number) => {
|
|
23
|
+
let state = seed >>> 0;
|
|
24
|
+
return () => {
|
|
25
|
+
state = (state + 0x6d2b79f5) >>> 0;
|
|
26
|
+
let t = state;
|
|
27
|
+
t = Math.imul(t ^ (t >>> 15), t | 1);
|
|
28
|
+
t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
|
|
29
|
+
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/** An item of the list, picked with the random number given */
|
|
34
|
+
export const pickSample = <T>(items: readonly T[], random: number): T => {
|
|
35
|
+
const item = items[Math.floor(random * items.length)];
|
|
36
|
+
if (item === undefined) {
|
|
37
|
+
throw new Error(`Can't pick from an empty list`);
|
|
38
|
+
}
|
|
39
|
+
return item;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/** A value of a setup SQL row: a number, a text, a date, or NULL */
|
|
43
|
+
export type SampleSqlValue =
|
|
44
|
+
| number
|
|
45
|
+
| string
|
|
46
|
+
| { readonly date: string }
|
|
47
|
+
| { readonly decimal: string }
|
|
48
|
+
| null;
|
|
49
|
+
|
|
50
|
+
const sqlValue = (value: SampleSqlValue): string => {
|
|
51
|
+
if (value === null) {
|
|
52
|
+
return 'NULL';
|
|
53
|
+
}
|
|
54
|
+
if (typeof value === 'number') {
|
|
55
|
+
return String(value);
|
|
56
|
+
}
|
|
57
|
+
if (typeof value === 'string') {
|
|
58
|
+
return `'${value.replaceAll("'", "''")}'`;
|
|
59
|
+
}
|
|
60
|
+
return 'date' in value ? `DATE '${value.date}'` : value.decimal;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/** One insert of every row of a table */
|
|
64
|
+
export const sampleInsert = (
|
|
65
|
+
table: string,
|
|
66
|
+
rows: readonly (readonly SampleSqlValue[])[],
|
|
67
|
+
): string =>
|
|
68
|
+
`insert into ${table} values ${rows
|
|
69
|
+
.map((row) => `(${row.map(sqlValue).join(', ')})`)
|
|
70
|
+
.join(', ')}`;
|
|
71
|
+
|
|
72
|
+
/** A Pure string literal */
|
|
73
|
+
export const pureString = (text: string): string =>
|
|
74
|
+
`'${text.replaceAll('\\', '\\\\').replaceAll("'", "\\'")}'`;
|
|
75
|
+
|
|
76
|
+
/** The setup SQL as the `testDataSetupSqls` of a LocalH2 connection */
|
|
77
|
+
export const toPureSetupSqls = (sqls: readonly string[]): string =>
|
|
78
|
+
sqls.map((sql) => ` ${pureString(sql)}`).join(',\n');
|
|
79
|
+
|
|
80
|
+
/** A day as `YYYY-MM-DD`, some days after the first one given */
|
|
81
|
+
export const addSampleDays = (first: string, days: number): string => {
|
|
82
|
+
const date = new Date(`${first}T00:00:00Z`);
|
|
83
|
+
date.setUTCDate(date.getUTCDate() + days);
|
|
84
|
+
return date.toISOString().slice(0, 10);
|
|
85
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { ModelContext } from '@finos/legend-cube';
|
|
18
|
+
import {
|
|
19
|
+
addSampleDays,
|
|
20
|
+
createSampleRandom,
|
|
21
|
+
pickSample,
|
|
22
|
+
sampleInsert,
|
|
23
|
+
type SampleSqlValue,
|
|
24
|
+
toPureSetupSqls,
|
|
25
|
+
} from './CubeSampleSql.js';
|
|
26
|
+
|
|
27
|
+
// The sports sample: made-up events of 2025 and how many watched them, in an
|
|
28
|
+
// in-memory H2 database the engine fills from the model's setup SQL
|
|
29
|
+
|
|
30
|
+
export const CUBE_SPORTS_DATABASE = 'cube::samples::sports::SportsDatabase';
|
|
31
|
+
export const CUBE_SPORTS_CONNECTION = 'cube::samples::sports::SportsConnection';
|
|
32
|
+
export const CUBE_SPORTS_RUNTIME = 'cube::samples::sports::SportsRuntime';
|
|
33
|
+
export const CUBE_SPORTS_SCHEMA = 'SPORTS_SAMPLE';
|
|
34
|
+
export const CUBE_SPORTS_EVENT_COUNT = 360;
|
|
35
|
+
|
|
36
|
+
/** Each sport, and the millions who watch a typical event of it */
|
|
37
|
+
const SPORTS: readonly (readonly [string, string, number])[] = [
|
|
38
|
+
['Football', 'Team', 40],
|
|
39
|
+
['Basketball', 'Team', 18],
|
|
40
|
+
['Cricket', 'Team', 30],
|
|
41
|
+
['Tennis', 'Individual', 9],
|
|
42
|
+
['American Football', 'Team', 22],
|
|
43
|
+
['Baseball', 'Team', 8],
|
|
44
|
+
['Ice Hockey', 'Team', 5],
|
|
45
|
+
['Motor Racing', 'Individual', 12],
|
|
46
|
+
['Golf', 'Individual', 4],
|
|
47
|
+
['Rugby', 'Team', 7],
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
/** Each region, and how much it watches each sport, in SPORTS' order */
|
|
51
|
+
const REGIONS: readonly (readonly [string, readonly number[]])[] = [
|
|
52
|
+
['Europe', [1.6, 0.5, 0.3, 1.2, 0.2, 0.1, 0.6, 1.4, 0.8, 1.3]],
|
|
53
|
+
['Americas', [0.8, 1.6, 0.1, 0.9, 2.2, 1.8, 1.2, 0.9, 1.3, 0.3]],
|
|
54
|
+
['Asia', [1.0, 1.1, 2.4, 0.7, 0.1, 0.6, 0.1, 0.8, 0.5, 0.2]],
|
|
55
|
+
['Africa', [1.2, 0.3, 0.6, 0.3, 0.1, 0.1, 0.1, 0.3, 0.3, 0.9]],
|
|
56
|
+
['Oceania', [0.4, 0.3, 0.9, 0.6, 0.1, 0.1, 0.1, 0.5, 0.6, 1.4]],
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
/** Each stage, and how much more a stage's event is watched */
|
|
60
|
+
const STAGES: readonly (readonly [string, number])[] = [
|
|
61
|
+
['Group', 0.6],
|
|
62
|
+
['Group', 0.6],
|
|
63
|
+
['Group', 0.6],
|
|
64
|
+
['Group', 0.6],
|
|
65
|
+
['Quarterfinal', 1.1],
|
|
66
|
+
['Quarterfinal', 1.1],
|
|
67
|
+
['Semifinal', 1.6],
|
|
68
|
+
['Final', 2.8],
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
const COMPETITIONS = ['Cup', 'League', 'Open', 'Championship'];
|
|
72
|
+
|
|
73
|
+
const createEvents = (): SampleSqlValue[][] => {
|
|
74
|
+
const random = createSampleRandom(20250101);
|
|
75
|
+
const events: SampleSqlValue[][] = [];
|
|
76
|
+
for (let id = 1; id <= CUBE_SPORTS_EVENT_COUNT; id++) {
|
|
77
|
+
const sportIndex = Math.floor(random() * SPORTS.length);
|
|
78
|
+
const [sport, , millions] = pickSample(SPORTS, sportIndex / SPORTS.length);
|
|
79
|
+
const [region, interest] = pickSample(REGIONS, random());
|
|
80
|
+
const [stage, stageFactor] = pickSample(STAGES, random());
|
|
81
|
+
const competition = `${region} ${sport} ${pickSample(COMPETITIONS, random())}`;
|
|
82
|
+
const viewers = Math.round(
|
|
83
|
+
millions *
|
|
84
|
+
1_000_000 *
|
|
85
|
+
(interest[sportIndex] ?? 1) *
|
|
86
|
+
stageFactor *
|
|
87
|
+
(0.6 + random() * 0.8),
|
|
88
|
+
);
|
|
89
|
+
// about one event in ten has no attendance recorded
|
|
90
|
+
const attendance =
|
|
91
|
+
random() < 0.1 ? null : Math.round(5_000 + random() * 85_000);
|
|
92
|
+
events.push([
|
|
93
|
+
id,
|
|
94
|
+
sportIndex + 1,
|
|
95
|
+
competition,
|
|
96
|
+
stage,
|
|
97
|
+
{ date: addSampleDays('2025-01-01', Math.floor(random() * 365)) },
|
|
98
|
+
region,
|
|
99
|
+
viewers,
|
|
100
|
+
attendance,
|
|
101
|
+
]);
|
|
102
|
+
}
|
|
103
|
+
return events;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
/** The SQL that makes and fills the tables, run on every connection checkout */
|
|
107
|
+
export const CUBE_SPORTS_SETUP_SQLS = [
|
|
108
|
+
`drop schema if exists ${CUBE_SPORTS_SCHEMA} cascade`,
|
|
109
|
+
`create schema ${CUBE_SPORTS_SCHEMA}`,
|
|
110
|
+
`create table ${CUBE_SPORTS_SCHEMA}.SPORTS (ID INTEGER PRIMARY KEY, SPORT VARCHAR(20) NOT NULL, KIND VARCHAR(10) NOT NULL)`,
|
|
111
|
+
sampleInsert(
|
|
112
|
+
`${CUBE_SPORTS_SCHEMA}.SPORTS`,
|
|
113
|
+
SPORTS.map(([sport, kind], index) => [index + 1, sport, kind]),
|
|
114
|
+
),
|
|
115
|
+
`create table ${CUBE_SPORTS_SCHEMA}.EVENTS (EVENT_ID INTEGER PRIMARY KEY, SPORT_ID INTEGER NOT NULL, COMPETITION VARCHAR(40) NOT NULL, STAGE VARCHAR(12) NOT NULL, EVENT_DATE DATE NOT NULL, REGION VARCHAR(10) NOT NULL, VIEWERS BIGINT NOT NULL, ATTENDANCE INTEGER)`,
|
|
116
|
+
sampleInsert(`${CUBE_SPORTS_SCHEMA}.EVENTS`, createEvents()),
|
|
117
|
+
];
|
|
118
|
+
|
|
119
|
+
export const CUBE_SPORTS_MODEL_CODE = `###Relational
|
|
120
|
+
Database ${CUBE_SPORTS_DATABASE}
|
|
121
|
+
(
|
|
122
|
+
Schema ${CUBE_SPORTS_SCHEMA}
|
|
123
|
+
(
|
|
124
|
+
Table SPORTS
|
|
125
|
+
(
|
|
126
|
+
ID INTEGER PRIMARY KEY,
|
|
127
|
+
SPORT VARCHAR(20) NOT NULL,
|
|
128
|
+
KIND VARCHAR(10) NOT NULL
|
|
129
|
+
)
|
|
130
|
+
Table EVENTS
|
|
131
|
+
(
|
|
132
|
+
EVENT_ID INTEGER PRIMARY KEY,
|
|
133
|
+
SPORT_ID INTEGER NOT NULL,
|
|
134
|
+
COMPETITION VARCHAR(40) NOT NULL,
|
|
135
|
+
STAGE VARCHAR(12) NOT NULL,
|
|
136
|
+
EVENT_DATE DATE NOT NULL,
|
|
137
|
+
REGION VARCHAR(10) NOT NULL,
|
|
138
|
+
VIEWERS BIGINT NOT NULL,
|
|
139
|
+
ATTENDANCE INTEGER
|
|
140
|
+
)
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
Join EVENT_SPORT(${CUBE_SPORTS_SCHEMA}.EVENTS.SPORT_ID = ${CUBE_SPORTS_SCHEMA}.SPORTS.ID)
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
###Connection
|
|
148
|
+
RelationalDatabaseConnection ${CUBE_SPORTS_CONNECTION}
|
|
149
|
+
{
|
|
150
|
+
store: ${CUBE_SPORTS_DATABASE};
|
|
151
|
+
type: H2;
|
|
152
|
+
specification: LocalH2
|
|
153
|
+
{
|
|
154
|
+
testDataSetupSqls: [
|
|
155
|
+
${toPureSetupSqls(CUBE_SPORTS_SETUP_SQLS)}
|
|
156
|
+
];
|
|
157
|
+
};
|
|
158
|
+
auth: DefaultH2;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
###Runtime
|
|
163
|
+
Runtime ${CUBE_SPORTS_RUNTIME}
|
|
164
|
+
{
|
|
165
|
+
mappings:
|
|
166
|
+
[
|
|
167
|
+
];
|
|
168
|
+
connections:
|
|
169
|
+
[
|
|
170
|
+
${CUBE_SPORTS_DATABASE}:
|
|
171
|
+
[
|
|
172
|
+
connection_1: ${CUBE_SPORTS_CONNECTION}
|
|
173
|
+
]
|
|
174
|
+
];
|
|
175
|
+
}
|
|
176
|
+
`;
|
|
177
|
+
|
|
178
|
+
/** The sports sample as a cube saves it (PLAN §6.2.2) */
|
|
179
|
+
export const CUBE_SPORTS_MODEL: ModelContext = Object.freeze({
|
|
180
|
+
_type: 'text',
|
|
181
|
+
code: CUBE_SPORTS_MODEL_CODE,
|
|
182
|
+
});
|