@finos/legend-cube-builder 0.0.4 → 0.0.5
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 +9 -3
- package/docs/adding-an-operation.md +22 -12
- package/docs/demo/DEMO-FAST-NOTES.md +67 -0
- package/docs/demo/README.md +102 -0
- package/docs/demo/specs/duckdb-sales-pivot.cube.json +110 -0
- package/docs/demo/specs/trades-desks-1-joined.cube.json +123 -0
- package/docs/demo/specs/trades-desks-2-grouped.cube.json +140 -0
- package/docs/demo/specs/trades-desks-3-ranked.cube.json +158 -0
- package/docs/demo/specs/trades-desks-4-extended.cube.json +208 -0
- package/docs/demo/specs/trades-desks-5-final.cube.json +248 -0
- package/docs/hosting.md +50 -3
- package/docs/testing.md +32 -0
- package/lib/__lib__/LegendCubeCommand.d.ts +2 -0
- package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeCommand.js +7 -0
- package/lib/__lib__/LegendCubeCommand.js.map +1 -1
- package/lib/__lib__/LegendCubeFunctionLabels.d.ts +29 -0
- package/lib/__lib__/LegendCubeFunctionLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeFunctionLabels.js +31 -0
- package/lib/__lib__/LegendCubeFunctionLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeHelpText.d.ts +5 -1
- package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeHelpText.js +14 -2
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeLabels.d.ts +100 -8
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +129 -14
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts +26 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.js +26 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeServiceLabels.d.ts +27 -0
- package/lib/__lib__/LegendCubeServiceLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeServiceLabels.js +32 -0
- package/lib/__lib__/LegendCubeServiceLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts +7 -0
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +7 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +2 -2
- package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +8 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.js +20 -3
- package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeFunctionTestOutline.d.ts +26 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.d.ts.map +1 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.js +56 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.js.map +1 -0
- package/lib/__test-utils__/CubeLambdaCorpus.d.ts +36 -0
- package/lib/__test-utils__/CubeLambdaCorpus.d.ts.map +1 -0
- package/lib/__test-utils__/CubeLambdaCorpus.js +83 -0
- package/lib/__test-utils__/CubeLambdaCorpus.js.map +1 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts +6 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.js +21 -0
- package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts +9 -0
- package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.js +16 -0
- package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.d.ts +5 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.js +17 -0
- package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +7 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.js +16 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -1
- package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts +26 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.js +40 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.js.map +1 -0
- package/lib/components/CubeAddItems.d.ts.map +1 -1
- package/lib/components/CubeAddItems.js +9 -6
- package/lib/components/CubeAddItems.js.map +1 -1
- package/lib/components/CubeDialogTheme.d.ts +25 -0
- package/lib/components/CubeDialogTheme.d.ts.map +1 -0
- package/lib/components/CubeDialogTheme.js +25 -0
- package/lib/components/CubeDialogTheme.js.map +1 -0
- package/lib/components/CubeEditor.d.ts +12 -1
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +16 -14
- package/lib/components/CubeEditor.js.map +1 -1
- package/lib/components/CubeFileMenu.d.ts +28 -0
- package/lib/components/CubeFileMenu.d.ts.map +1 -0
- package/lib/components/CubeFileMenu.js +77 -0
- package/lib/components/CubeFileMenu.js.map +1 -0
- package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
- package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
- package/lib/components/CubeLambdaImportBanner.js +47 -0
- package/lib/components/CubeLambdaImportBanner.js.map +1 -0
- package/lib/components/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +5 -1
- package/lib/components/CubeNodeIcon.js.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.js +2 -2
- package/lib/components/CubeSchemaColumnsTable.js.map +1 -1
- package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvas.js +38 -5
- package/lib/components/canvas/CubeCanvas.js.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.js +2 -1
- package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts +18 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.js +58 -3
- package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
- package/lib/components/canvas/CubeCanvasLayout.js +1 -1
- package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.js +8 -4
- package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
- package/lib/components/dev-settings/CubeDevSettings.d.ts +35 -0
- package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -0
- package/lib/components/dev-settings/CubeDevSettings.js +50 -0
- package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnChecklist.js +2 -2
- package/lib/components/editors/CubeColumnChecklist.js.map +1 -1
- package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnPicker.js +3 -3
- package/lib/components/editors/CubeColumnPicker.js.map +1 -1
- package/lib/components/editors/CubeConcatEditor.js +2 -2
- package/lib/components/editors/CubeConcatEditor.js.map +1 -1
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts +25 -0
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js +83 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
- package/lib/components/editors/CubeExtendEditor.d.ts +2 -0
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeExtendEditor.js +3 -3
- package/lib/components/editors/CubeExtendEditor.js.map +1 -1
- package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeFilterEditor.js +13 -2
- package/lib/components/editors/CubeFilterEditor.js.map +1 -1
- package/lib/components/editors/CubeFunctionSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeFunctionSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeFunctionSourceEditor.js +55 -0
- package/lib/components/editors/CubeFunctionSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeJoinEditor.js +16 -4
- package/lib/components/editors/CubeJoinEditor.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPanel.js +18 -8
- package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts +5 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.js +10 -2
- package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js +9 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
- package/lib/components/editors/CubePivotEditor.d.ts +26 -0
- package/lib/components/editors/CubePivotEditor.d.ts.map +1 -0
- package/lib/components/editors/CubePivotEditor.js +93 -0
- package/lib/components/editors/CubePivotEditor.js.map +1 -0
- package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeRestrictEditor.js +2 -2
- package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
- package/lib/components/editors/CubeServiceSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeServiceSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeServiceSourceEditor.js +41 -0
- package/lib/components/editors/CubeServiceSourceEditor.js.map +1 -0
- package/lib/components/grid/CubeColumnFormatDialog.d.ts +28 -0
- package/lib/components/grid/CubeColumnFormatDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeColumnFormatDialog.js +94 -0
- package/lib/components/grid/CubeColumnFormatDialog.js.map +1 -0
- package/lib/components/grid/CubeDrilldownBar.d.ts +37 -0
- package/lib/components/grid/CubeDrilldownBar.d.ts.map +1 -0
- package/lib/components/grid/CubeDrilldownBar.js +77 -0
- package/lib/components/grid/CubeDrilldownBar.js.map +1 -0
- package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
- package/lib/components/grid/CubeGridRegion.js +40 -26
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +31 -1
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +108 -1
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeResultGrid.d.ts +68 -5
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +308 -35
- package/lib/components/grid/CubeResultGrid.js.map +1 -1
- package/lib/components/grid/CubeRunStatsPanel.d.ts +28 -0
- package/lib/components/grid/CubeRunStatsPanel.d.ts.map +1 -0
- package/lib/components/grid/CubeRunStatsPanel.js +61 -0
- package/lib/components/grid/CubeRunStatsPanel.js.map +1 -0
- package/lib/components/grid/CubeServerSideGrid.d.ts +36 -0
- package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -0
- package/lib/components/grid/CubeServerSideGrid.js +114 -0
- package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
- package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
- package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlDialog.js +39 -0
- package/lib/components/grid/CubeSqlDialog.js.map +1 -0
- package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
- package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlFormat.js +32 -0
- package/lib/components/grid/CubeSqlFormat.js.map +1 -0
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +32 -13
- package/lib/components/palette/CubePalette.js.map +1 -1
- package/lib/components/show-pure/CubeShowPureDialog.d.ts +4 -1
- package/lib/components/show-pure/CubeShowPureDialog.d.ts.map +1 -1
- package/lib/components/show-pure/CubeShowPureDialog.js +8 -4
- package/lib/components/show-pure/CubeShowPureDialog.js.map +1 -1
- package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeDataProductTab.js +37 -16
- package/lib/components/source-picker/CubeDataProductTab.js.map +1 -1
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeDirectConnectionTab.js +6 -4
- package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -1
- package/lib/components/source-picker/CubeFunctionSteps.d.ts +36 -0
- package/lib/components/source-picker/CubeFunctionSteps.d.ts.map +1 -0
- package/lib/components/source-picker/CubeFunctionSteps.js +76 -0
- package/lib/components/source-picker/CubeFunctionSteps.js.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeIngestTab.js +39 -16
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -1
- package/lib/components/source-picker/CubeInlineModelTab.d.ts +3 -2
- package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeInlineModelTab.js +23 -13
- package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -1
- package/lib/components/source-picker/CubePickerListItem.d.ts +47 -0
- package/lib/components/source-picker/CubePickerListItem.d.ts.map +1 -0
- package/lib/components/source-picker/CubePickerListItem.js +62 -0
- package/lib/components/source-picker/CubePickerListItem.js.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts +4 -3
- package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeProjectTab.js +7 -4
- package/lib/components/source-picker/CubeProjectTab.js.map +1 -1
- package/lib/components/source-picker/CubeServiceTab.d.ts +27 -0
- package/lib/components/source-picker/CubeServiceTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeServiceTab.js +36 -0
- package/lib/components/source-picker/CubeServiceTab.js.map +1 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
- package/lib/components/source-picker/CubeSourcePicker.js +16 -3
- package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
- package/lib/components/source-picker/CubeTablePreview.d.ts +29 -0
- package/lib/components/source-picker/CubeTablePreview.d.ts.map +1 -0
- package/lib/components/source-picker/CubeTablePreview.js +10 -0
- package/lib/components/source-picker/CubeTablePreview.js.map +1 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.d.ts +27 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.d.ts.map +1 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.js +38 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.js.map +1 -0
- package/lib/components/spec-transfer/CubeSpecTransferDialog.d.ts.map +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js +9 -3
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
- package/lib/graph-manager/CubeDataProductCatalog.d.ts +10 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -1
- package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -1
- package/lib/graph-manager/CubeEngine.d.ts +46 -1
- package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/CubeEngine.js.map +1 -1
- package/lib/graph-manager/CubeEngineClientSettings.d.ts +43 -0
- package/lib/graph-manager/CubeEngineClientSettings.d.ts.map +1 -0
- package/lib/graph-manager/CubeEngineClientSettings.js +51 -0
- package/lib/graph-manager/CubeEngineClientSettings.js.map +1 -0
- package/lib/graph-manager/CubeIngest.d.ts +5 -0
- package/lib/graph-manager/CubeIngest.d.ts.map +1 -1
- package/lib/graph-manager/CubeIngest.js +10 -0
- package/lib/graph-manager/CubeIngest.js.map +1 -1
- package/lib/graph-manager/CubeIngestCatalog.d.ts +26 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -1
- package/lib/graph-manager/CubeIngestCatalog.js +6 -0
- package/lib/graph-manager/CubeIngestCatalog.js.map +1 -1
- package/lib/graph-manager/CubeLakehouseRuntime.d.ts +29 -0
- package/lib/graph-manager/CubeLakehouseRuntime.d.ts.map +1 -0
- package/lib/graph-manager/CubeLakehouseRuntime.js +40 -0
- package/lib/graph-manager/CubeLakehouseRuntime.js.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts +3 -3
- package/lib/graph-manager/CubeService.d.ts +20 -0
- package/lib/graph-manager/CubeService.d.ts.map +1 -0
- package/lib/graph-manager/CubeService.js +22 -0
- package/lib/graph-manager/CubeService.js.map +1 -0
- package/lib/graph-manager/CubeServiceCatalog.d.ts +31 -0
- package/lib/graph-manager/CubeServiceCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeServiceCatalog.js +17 -0
- package/lib/graph-manager/CubeServiceCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +52 -5
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +63 -5
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +9 -6
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +12 -8
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts +30 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js +229 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +18 -9
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +4 -9
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +2 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts +34 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js +332 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.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 +49 -10
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts +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 +3 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +2 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +2 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +18 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +74 -6
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +7 -4
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts +31 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js +69 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js.map +1 -0
- 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 +6 -2
- 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 +12 -3
- 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 +10 -3
- package/lib/stores/CubeAddPlacement.d.ts.map +1 -1
- package/lib/stores/CubeAddPlacement.js +16 -5
- package/lib/stores/CubeAddPlacement.js.map +1 -1
- package/lib/stores/CubeDevSettingsState.d.ts +47 -0
- package/lib/stores/CubeDevSettingsState.d.ts.map +1 -0
- package/lib/stores/CubeDevSettingsState.js +99 -0
- package/lib/stores/CubeDevSettingsState.js.map +1 -0
- package/lib/stores/CubeEditorState.d.ts +173 -43
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +498 -113
- package/lib/stores/CubeEditorState.js.map +1 -1
- package/lib/stores/CubeEngineChecks.d.ts +59 -0
- package/lib/stores/CubeEngineChecks.d.ts.map +1 -0
- package/lib/stores/CubeEngineChecks.js +100 -0
- package/lib/stores/CubeEngineChecks.js.map +1 -0
- package/lib/stores/CubeExamples.d.ts.map +1 -1
- package/lib/stores/CubeExamples.js +39 -2
- package/lib/stores/CubeExamples.js.map +1 -1
- package/lib/stores/CubeExamplesState.d.ts +1 -1
- package/lib/stores/CubeExamplesState.d.ts.map +1 -1
- package/lib/stores/CubeExamplesState.js +2 -2
- package/lib/stores/CubeExamplesState.js.map +1 -1
- package/lib/stores/CubeExecutionState.d.ts.map +1 -1
- package/lib/stores/CubeExecutionState.js +24 -33
- package/lib/stores/CubeExecutionState.js.map +1 -1
- package/lib/stores/CubeExportState.d.ts +41 -0
- package/lib/stores/CubeExportState.d.ts.map +1 -0
- package/lib/stores/CubeExportState.js +134 -0
- package/lib/stores/CubeExportState.js.map +1 -0
- package/lib/stores/CubeExpressionFilterCheck.d.ts +51 -0
- package/lib/stores/CubeExpressionFilterCheck.d.ts.map +1 -0
- package/lib/stores/CubeExpressionFilterCheck.js +134 -0
- package/lib/stores/CubeExpressionFilterCheck.js.map +1 -0
- package/lib/stores/CubeExtendTyping.d.ts +6 -14
- package/lib/stores/CubeExtendTyping.d.ts.map +1 -1
- package/lib/stores/CubeExtendTyping.js +6 -33
- package/lib/stores/CubeExtendTyping.js.map +1 -1
- package/lib/stores/CubeFunctionRecheck.d.ts +30 -0
- package/lib/stores/CubeFunctionRecheck.d.ts.map +1 -0
- package/lib/stores/CubeFunctionRecheck.js +67 -0
- package/lib/stores/CubeFunctionRecheck.js.map +1 -0
- package/lib/stores/CubeGridFetcher.d.ts +75 -0
- package/lib/stores/CubeGridFetcher.d.ts.map +1 -0
- package/lib/stores/CubeGridFetcher.js +197 -0
- package/lib/stores/CubeGridFetcher.js.map +1 -0
- package/lib/stores/CubeGridQuickActions.d.ts +18 -6
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +32 -12
- package/lib/stores/CubeGridQuickActions.js.map +1 -1
- package/lib/stores/CubeGridState.d.ts +136 -0
- package/lib/stores/CubeGridState.d.ts.map +1 -0
- package/lib/stores/CubeGridState.js +317 -0
- package/lib/stores/CubeGridState.js.map +1 -0
- package/lib/stores/CubeHost.d.ts +42 -0
- package/lib/stores/CubeHost.d.ts.map +1 -1
- package/lib/stores/CubeHost.js +4 -0
- package/lib/stores/CubeHost.js.map +1 -1
- package/lib/stores/CubeLambdaImportState.d.ts +118 -0
- package/lib/stores/CubeLambdaImportState.d.ts.map +1 -0
- package/lib/stores/CubeLambdaImportState.js +302 -0
- package/lib/stores/CubeLambdaImportState.js.map +1 -0
- package/lib/stores/CubeLambdaSources.d.ts +45 -0
- package/lib/stores/CubeLambdaSources.d.ts.map +1 -0
- package/lib/stores/CubeLambdaSources.js +261 -0
- package/lib/stores/CubeLambdaSources.js.map +1 -0
- package/lib/stores/CubeQueryRun.d.ts +59 -0
- package/lib/stores/CubeQueryRun.d.ts.map +1 -0
- package/lib/stores/CubeQueryRun.js +101 -0
- package/lib/stores/CubeQueryRun.js.map +1 -0
- package/lib/stores/CubeRunStatsState.d.ts +61 -0
- package/lib/stores/CubeRunStatsState.d.ts.map +1 -0
- package/lib/stores/CubeRunStatsState.js +54 -0
- package/lib/stores/CubeRunStatsState.js.map +1 -0
- package/lib/stores/CubeRunningStepLambda.d.ts +25 -0
- package/lib/stores/CubeRunningStepLambda.d.ts.map +1 -0
- package/lib/stores/CubeRunningStepLambda.js +45 -0
- package/lib/stores/CubeRunningStepLambda.js.map +1 -0
- package/lib/stores/CubeServiceRecheck.d.ts +29 -0
- package/lib/stores/CubeServiceRecheck.d.ts.map +1 -0
- package/lib/stores/CubeServiceRecheck.js +33 -0
- package/lib/stores/CubeServiceRecheck.js.map +1 -0
- package/lib/stores/CubeShowPureState.d.ts +14 -1
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +41 -11
- package/lib/stores/CubeShowPureState.js.map +1 -1
- package/lib/stores/CubeSourcePickerState.d.ts +20 -4
- package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
- package/lib/stores/CubeSourcePickerState.js +75 -14
- package/lib/stores/CubeSourcePickerState.js.map +1 -1
- package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
- package/lib/stores/LocalModelCatalog.js +3 -1
- package/lib/stores/LocalModelCatalog.js.map +1 -1
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +91 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js +254 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
- package/lib/stores/editors/CubeFunctionDraft.d.ts +34 -0
- package/lib/stores/editors/CubeFunctionDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeFunctionDraft.js +69 -0
- package/lib/stores/editors/CubeFunctionDraft.js.map +1 -0
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +4 -2
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +20 -3
- package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
- package/lib/stores/editors/CubePivotDraft.d.ts +93 -0
- package/lib/stores/editors/CubePivotDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubePivotDraft.js +267 -0
- package/lib/stores/editors/CubePivotDraft.js.map +1 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +26 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js +46 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts +4 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -1
- package/lib/stores/fixtures/CubeTradesModel.js +31 -1
- package/lib/stores/fixtures/CubeTradesModel.js.map +1 -1
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts +34 -5
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeDataProductTabState.js +111 -26
- package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +25 -2
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js +183 -31
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +22 -9
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeIngestTabState.js +84 -29
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +100 -4
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeInlineModelTabState.js +415 -28
- package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeProjectTabState.d.ts +18 -3
- package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeProjectTabState.js +26 -1
- package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeServiceTabState.d.ts +74 -0
- package/lib/stores/source-picker/CubeServiceTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeServiceTabState.js +216 -0
- package/lib/stores/source-picker/CubeServiceTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +15 -3
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeSourcePickerTab.js +21 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -1
- package/package.json +10 -9
- package/src/__lib__/LegendCubeCommand.ts +7 -0
- package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
- package/src/__lib__/LegendCubeHelpText.ts +23 -1
- package/src/__lib__/LegendCubeLabels.ts +170 -13
- package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
- package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
- package/src/__lib__/LegendCubeTesting.ts +7 -0
- package/src/__test-utils__/CubeEngineTestSupport.ts +2 -1
- package/src/__test-utils__/CubeExpressionTestUtils.ts +29 -2
- package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
- package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
- package/src/__test-utils__/CubePageTestUtils.tsx +34 -0
- package/src/__test-utils__/CubeTestApplication.ts +25 -0
- package/src/__test-utils__/FakeCubeEngine.ts +27 -0
- package/src/__test-utils__/FakeCubeIngestCatalog.ts +18 -0
- package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
- package/src/components/CubeAddItems.tsx +13 -6
- package/src/components/CubeDialogTheme.ts +25 -0
- package/src/components/CubeEditor.tsx +155 -129
- package/src/components/CubeFileMenu.tsx +127 -0
- package/src/components/CubeLambdaImportBanner.tsx +97 -0
- package/src/components/CubeNodeIcon.tsx +7 -0
- package/src/components/CubeSchemaColumnsTable.tsx +7 -2
- package/src/components/canvas/CubeCanvas.tsx +52 -13
- package/src/components/canvas/CubeCanvasContextMenu.tsx +33 -2
- package/src/components/canvas/CubeCanvasElements.ts +76 -3
- package/src/components/canvas/CubeCanvasLayout.ts +1 -1
- package/src/components/canvas/CubeCanvasNode.tsx +30 -3
- package/src/components/dev-settings/CubeDevSettings.tsx +154 -0
- package/src/components/editors/CubeColumnChecklist.tsx +8 -2
- package/src/components/editors/CubeColumnPicker.tsx +6 -3
- package/src/components/editors/CubeConcatEditor.tsx +2 -2
- package/src/components/editors/CubeExpressionFilterEditor.tsx +193 -0
- package/src/components/editors/CubeExtendEditor.tsx +3 -3
- package/src/components/editors/CubeFilterEditor.tsx +13 -1
- package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
- package/src/components/editors/CubeJoinEditor.tsx +23 -4
- package/src/components/editors/CubeNodeEditorPanel.tsx +22 -10
- package/src/components/editors/CubeNodeEditorPopper.tsx +9 -1
- package/src/components/editors/CubeNodeEditorRegistry.ts +12 -0
- package/src/components/editors/CubePivotEditor.tsx +277 -0
- package/src/components/editors/CubeRestrictEditor.tsx +8 -2
- package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
- package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
- package/src/components/grid/CubeDrilldownBar.tsx +219 -0
- package/src/components/grid/CubeGridRegion.tsx +170 -54
- package/src/components/grid/CubeGridValues.ts +146 -1
- package/src/components/grid/CubeResultGrid.tsx +443 -41
- package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
- package/src/components/grid/CubeServerSideGrid.tsx +200 -0
- package/src/components/grid/CubeSqlDialog.tsx +90 -0
- package/src/components/grid/CubeSqlFormat.ts +37 -0
- package/src/components/palette/CubePalette.tsx +45 -12
- package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
- package/src/components/source-picker/CubeDataProductTab.tsx +169 -75
- package/src/components/source-picker/CubeDirectConnectionTab.tsx +42 -30
- package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
- package/src/components/source-picker/CubeIngestTab.tsx +159 -79
- package/src/components/source-picker/CubeInlineModelTab.tsx +110 -81
- package/src/components/source-picker/CubePickerListItem.tsx +118 -0
- package/src/components/source-picker/CubeProjectTab.tsx +6 -3
- package/src/components/source-picker/CubeServiceTab.tsx +151 -0
- package/src/components/source-picker/CubeSourcePicker.tsx +54 -18
- package/src/components/source-picker/CubeTablePreview.tsx +49 -0
- package/src/components/spec-transfer/CubeImportPureDialog.tsx +122 -0
- package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +21 -8
- package/src/graph-manager/CubeDataProductCatalog.ts +11 -0
- package/src/graph-manager/CubeEngine.ts +51 -1
- package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
- package/src/graph-manager/CubeIngest.ts +15 -0
- package/src/graph-manager/CubeIngestCatalog.ts +33 -0
- package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
- package/src/graph-manager/CubeProjectCatalog.ts +3 -3
- package/src/graph-manager/CubeService.ts +29 -0
- package/src/graph-manager/CubeServiceCatalog.ts +35 -0
- package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +115 -5
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +13 -7
- package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +35 -9
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +6 -15
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +70 -15
- package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +7 -1
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +122 -7
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +9 -4
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +6 -1
- package/src/index.ts +32 -2
- package/src/stores/CubeAddPlacement.ts +25 -5
- package/src/stores/CubeDevSettingsState.ts +117 -0
- package/src/stores/CubeEditorState.ts +687 -197
- package/src/stores/CubeEngineChecks.ts +240 -0
- package/src/stores/CubeExamples.ts +70 -1
- package/src/stores/CubeExamplesState.ts +4 -2
- package/src/stores/CubeExecutionState.ts +26 -57
- package/src/stores/CubeExportState.ts +196 -0
- package/src/stores/CubeExpressionFilterCheck.ts +218 -0
- package/src/stores/CubeExtendTyping.ts +6 -46
- package/src/stores/CubeFunctionRecheck.ts +97 -0
- package/src/stores/CubeGridFetcher.ts +302 -0
- package/src/stores/CubeGridQuickActions.ts +33 -11
- package/src/stores/CubeGridState.ts +450 -0
- package/src/stores/CubeHost.ts +48 -0
- package/src/stores/CubeLambdaImportState.ts +434 -0
- package/src/stores/CubeLambdaSources.ts +390 -0
- package/src/stores/CubeQueryRun.ts +169 -0
- package/src/stores/CubeRunStatsState.ts +91 -0
- package/src/stores/CubeRunningStepLambda.ts +62 -0
- package/src/stores/CubeServiceRecheck.ts +53 -0
- package/src/stores/CubeShowPureState.ts +51 -12
- package/src/stores/CubeSourcePickerState.ts +89 -13
- package/src/stores/LocalModelCatalog.ts +6 -1
- package/src/stores/editors/CubeExpressionFilterDraft.ts +385 -0
- package/src/stores/editors/CubeFunctionDraft.ts +92 -0
- package/src/stores/editors/CubeNodeDraftRegistry.ts +27 -2
- package/src/stores/editors/CubePivotDraft.ts +355 -0
- package/src/stores/fixtures/CubeSalesDuckDbModel.ts +54 -0
- package/src/stores/fixtures/CubeTradesModel.ts +36 -1
- package/src/stores/source-picker/CubeDataProductTabState.ts +162 -35
- package/src/stores/source-picker/CubeDirectConnectionTabState.ts +246 -47
- package/src/stores/source-picker/CubeIngestTabState.ts +112 -38
- package/src/stores/source-picker/CubeInlineModelTabState.ts +514 -34
- package/src/stores/source-picker/CubeProjectTabState.ts +35 -3
- package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
- package/src/stores/source-picker/CubeSourcePickerTab.ts +31 -2
- package/tsconfig.json +50 -0
|
@@ -0,0 +1,118 @@
|
|
|
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
|
+
import { CubeDocument, type IR } from '@finos/legend-cube';
|
|
17
|
+
import { type GeneratorFn, type PlainObject } from '@finos/legend-shared';
|
|
18
|
+
import type { CubeEditorState } from './CubeEditorState.js';
|
|
19
|
+
/** A lambda a host opens the page on: its protocol JSON, and what to call it */
|
|
20
|
+
export interface CubeInitialLambda {
|
|
21
|
+
readonly lambda: PlainObject;
|
|
22
|
+
/** What the page calls it, e.g. `materialized view TRADES_VIEW` */
|
|
23
|
+
readonly label: string;
|
|
24
|
+
}
|
|
25
|
+
/** Whether Cube writes the cube it read back as the lambda it read */
|
|
26
|
+
export declare enum CubeLambdaFidelity {
|
|
27
|
+
/** The same Pure, so saving it changes nothing */
|
|
28
|
+
EXACT = "exact",
|
|
29
|
+
/** Pure that reads the same rows, written Cube's way */
|
|
30
|
+
REWRITTEN = "rewritten",
|
|
31
|
+
/**
|
|
32
|
+
* Not known: a step isn't valid, an expression couldn't be checked, or a
|
|
33
|
+
* step read with unknown columns is written another way
|
|
34
|
+
*/
|
|
35
|
+
UNCHECKED = "unchecked"
|
|
36
|
+
}
|
|
37
|
+
export declare const CUBE_LAMBDA_IMPORT_MESSAGE: {
|
|
38
|
+
READING: (label: string) => string;
|
|
39
|
+
CANT_READ: (label: string) => string;
|
|
40
|
+
NOT_NEW: string;
|
|
41
|
+
REWRITTEN: (label: string) => string;
|
|
42
|
+
UNCHECKED: (label: string) => string;
|
|
43
|
+
GRID_LIMIT: string;
|
|
44
|
+
/** What the banner calls a lambda imported from the Import Pure dialog */
|
|
45
|
+
IMPORTED: string;
|
|
46
|
+
NOT_JSON: (reason: string) => string;
|
|
47
|
+
};
|
|
48
|
+
/** The source id the engine's grammar gives what Import Pure parses, so its errors name it */
|
|
49
|
+
export declare const CUBE_IMPORT_PURE_SOURCE_ID = "cube:import-pure";
|
|
50
|
+
export interface CubeLambdaImportError {
|
|
51
|
+
readonly message: string;
|
|
52
|
+
readonly detail?: string | undefined;
|
|
53
|
+
}
|
|
54
|
+
/** A lambda read into a cube: the cube, and what to compare it with once checked */
|
|
55
|
+
export interface CubeLambdaReading {
|
|
56
|
+
readonly document: CubeDocument;
|
|
57
|
+
/** The lambda as read, which the cube is compared with */
|
|
58
|
+
readonly lambda: IR;
|
|
59
|
+
/** Whether it was a run's lambda, with `from()`, rather than a matview's relation */
|
|
60
|
+
readonly isRun: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* The steps read without being checked, as the columns before them weren't
|
|
63
|
+
* known: read as Cube writes them, so the cube can't be vouched for unless
|
|
64
|
+
* it is written back the same
|
|
65
|
+
*/
|
|
66
|
+
readonly unchecked: readonly string[];
|
|
67
|
+
readonly notes: readonly string[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A lambda's protocol JSON read into a cube on the editor's host: its sources
|
|
71
|
+
* bound, its steps read, its expressions given their code. Throws a
|
|
72
|
+
* `CubeLambdaReadError`, or the engine's error, naming what can't be read.
|
|
73
|
+
*/
|
|
74
|
+
export declare const readCubeLambdaDocument: (editorState: CubeEditorState, json: unknown) => Promise<CubeLambdaReading>;
|
|
75
|
+
/**
|
|
76
|
+
* Whether the cube, written again as the lambda was written (a matview's
|
|
77
|
+
* relation, or a run with no row limit), is the lambda it was read from.
|
|
78
|
+
* Written another way, it reads the same rows only when every step was
|
|
79
|
+
* checked as it was read: a step read with unknown columns, e.g. a select
|
|
80
|
+
* taken for the one a Join writes, may not.
|
|
81
|
+
*/
|
|
82
|
+
export declare const getCubeLambdaFidelity: (editorState: CubeEditorState, reading: Pick<CubeLambdaReading, "lambda" | "isRun" | "unchecked">) => CubeLambdaFidelity;
|
|
83
|
+
/**
|
|
84
|
+
* Opens the page on a host's lambda (`CubeEditor`'s `initialLambda`): read
|
|
85
|
+
* into a cube, opened as the first one, with no undo step; a lambda that
|
|
86
|
+
* can't be read leaves the cube empty and says why. Once the cube's
|
|
87
|
+
* expressions are checked, whether Cube writes it back the same way.
|
|
88
|
+
*/
|
|
89
|
+
export declare class CubeLambdaImportState {
|
|
90
|
+
readonly editorState: CubeEditorState;
|
|
91
|
+
/** What the page calls the lambda it opened on */
|
|
92
|
+
label: string | undefined;
|
|
93
|
+
isReading: boolean;
|
|
94
|
+
error: CubeLambdaImportError | undefined;
|
|
95
|
+
/** Whether Cube writes the cube back as the lambda; none until checked */
|
|
96
|
+
fidelity: CubeLambdaFidelity | undefined;
|
|
97
|
+
notes: readonly string[];
|
|
98
|
+
/** Import Pure, from the Cube menu: the dialog, its text, why its last import failed */
|
|
99
|
+
isDialogOpen: boolean;
|
|
100
|
+
text: string;
|
|
101
|
+
isImporting: boolean;
|
|
102
|
+
dialogError: CubeLambdaImportError | undefined;
|
|
103
|
+
constructor(editorState: CubeEditorState);
|
|
104
|
+
open(initial: CubeInitialLambda): GeneratorFn<void>;
|
|
105
|
+
openDialog(): void;
|
|
106
|
+
closeDialog(): void;
|
|
107
|
+
setText(text: string): void;
|
|
108
|
+
/**
|
|
109
|
+
* Import Pure (PLAN §11.18): the dialog's text, Pure or the engine's JSON
|
|
110
|
+
* of a lambda, read into a cube that replaces this one, as one undo step;
|
|
111
|
+
* then, once checked, whether Cube writes it back the same. A lambda that
|
|
112
|
+
* can't be read leaves the cube as it was, and says why in the dialog.
|
|
113
|
+
*/
|
|
114
|
+
importText(): GeneratorFn<void>;
|
|
115
|
+
/** Closes the banner */
|
|
116
|
+
dismiss(): void;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=CubeLambdaImportState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeLambdaImportState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeLambdaImportState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,YAAY,EAaZ,KAAK,EAAE,EAGR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAS5D,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,sEAAsE;AACtE,oBAAY,kBAAkB;IAC5B,kDAAkD;IAClD,KAAK,UAAU;IACf,wDAAwD;IACxD,SAAS,cAAc;IACvB;;;OAGG;IACH,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,0BAA0B;qBACpB,MAAM,KAAG,MAAM;uBACb,MAAM,KAAG,MAAM;;uBAEf,MAAM,KAAG,MAAM;uBAEf,MAAM,KAAG,MAAM;;IAIlC,0EAA0E;;uBAEvD,MAAM,KAAG,MAAM;CACnC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAaD,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IACpB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AA4ED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,aAAa,eAAe,EAC5B,MAAM,OAAO,KACZ,OAAO,CAAC,iBAAiB,CA8B3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,eAAe,EAC5B,SAAS,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC,KACjE,kBAqBF,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,kDAAkD;IAClD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,UAAS;IAClB,KAAK,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAM;IAC9B,wFAAwF;IACxF,YAAY,UAAS;IACrB,IAAI,SAAM;IACV,WAAW,UAAS;IACpB,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;gBAEnC,WAAW,EAAE,eAAe;IAqBvC,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC;IAiCpD,UAAU,IAAI,IAAI;IAKlB,WAAW,IAAI,IAAI;IAKnB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;;OAKG;IACF,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC;IA2DhC,wBAAwB;IACxB,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -0,0 +1,302 @@
|
|
|
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
|
+
import { CubeDocument, CubeLambdaReadError, ExpressionFilter, Extend, findCubeLambdaExtends, findCubeLambdaSources, isSameCubeIR, lambda, QueryEmitter, readCubeQuery, splitCubeLambda, Schema, } from '@finos/legend-cube';
|
|
17
|
+
import { assertErrorThrown, parseLosslessJSON, } from '@finos/legend-shared';
|
|
18
|
+
import { action, flow, makeObservable, observable, when } from 'mobx';
|
|
19
|
+
import { CubeEngineError } from '../graph-manager/CubeEngine.js';
|
|
20
|
+
import { CUBE_EXPRESSION_CODEC, readCubeLambdaJson, } from '../graph-manager/protocol/pure/CubeEngineBuilder.js';
|
|
21
|
+
import { bindCubeLambdaSources } from './CubeLambdaSources.js';
|
|
22
|
+
/** Whether Cube writes the cube it read back as the lambda it read */
|
|
23
|
+
export var CubeLambdaFidelity;
|
|
24
|
+
(function (CubeLambdaFidelity) {
|
|
25
|
+
/** The same Pure, so saving it changes nothing */
|
|
26
|
+
CubeLambdaFidelity["EXACT"] = "exact";
|
|
27
|
+
/** Pure that reads the same rows, written Cube's way */
|
|
28
|
+
CubeLambdaFidelity["REWRITTEN"] = "rewritten";
|
|
29
|
+
/**
|
|
30
|
+
* Not known: a step isn't valid, an expression couldn't be checked, or a
|
|
31
|
+
* step read with unknown columns is written another way
|
|
32
|
+
*/
|
|
33
|
+
CubeLambdaFidelity["UNCHECKED"] = "unchecked";
|
|
34
|
+
})(CubeLambdaFidelity || (CubeLambdaFidelity = {}));
|
|
35
|
+
export const CUBE_LAMBDA_IMPORT_MESSAGE = {
|
|
36
|
+
READING: (label) => `Reading ${label}…`,
|
|
37
|
+
CANT_READ: (label) => `Cube can't read ${label}`,
|
|
38
|
+
NOT_NEW: 'Cube opens a lambda on a new cube only.',
|
|
39
|
+
REWRITTEN: (label) => `Cube writes ${label} another way, which reads the same rows: what Cube shows and saves is its own Pure.`,
|
|
40
|
+
UNCHECKED: (label) => `Cube couldn't check that its steps read the same rows as ${label}: review them.`,
|
|
41
|
+
GRID_LIMIT: "The limit beside from() is read as a Limit step: it may be the grid's row limit of the run the Pure was copied from.",
|
|
42
|
+
/** What the banner calls a lambda imported from the Import Pure dialog */
|
|
43
|
+
IMPORTED: 'the Pure imported',
|
|
44
|
+
NOT_JSON: (reason) => `Can't read the JSON: ${reason}`,
|
|
45
|
+
};
|
|
46
|
+
/** The source id the engine's grammar gives what Import Pure parses, so its errors name it */
|
|
47
|
+
export const CUBE_IMPORT_PURE_SOURCE_ID = 'cube:import-pure';
|
|
48
|
+
const toImportError = (error) => {
|
|
49
|
+
if (error instanceof CubeEngineError) {
|
|
50
|
+
return {
|
|
51
|
+
message: error.firstLine,
|
|
52
|
+
detail: error.detail !== error.firstLine ? error.detail : undefined,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
assertErrorThrown(error);
|
|
56
|
+
return { message: error.message };
|
|
57
|
+
};
|
|
58
|
+
/** The engine's grammar of an expression's lambda, as the editor shows it */
|
|
59
|
+
const codeOf = async (editorState, expression) => (await editorState.host.engine.renderPure(CUBE_EXPRESSION_CODEC.read(expression))).trim();
|
|
60
|
+
/** Each Filter by Expression's and Extend column's code, the engine's grammar of its lambda */
|
|
61
|
+
const withExpressionCode = async (editorState, query) => {
|
|
62
|
+
let next = query;
|
|
63
|
+
for (const node of query.nodes) {
|
|
64
|
+
if (node instanceof ExpressionFilter && node.lambda && !node.code) {
|
|
65
|
+
next = next.replace(node.withCondition(await codeOf(editorState, node.lambda), node.lambda));
|
|
66
|
+
}
|
|
67
|
+
else if (node instanceof Extend) {
|
|
68
|
+
const columns = [];
|
|
69
|
+
for (const column of node.columns) {
|
|
70
|
+
columns.push(column.lambda && !column.code
|
|
71
|
+
? { ...column, code: await codeOf(editorState, column.lambda) }
|
|
72
|
+
: column);
|
|
73
|
+
}
|
|
74
|
+
next = next.replace(node.withColumns(columns));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return next;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* The schema of each chain of extends of the lambda, typed by the engine in
|
|
81
|
+
* one call before the steps are read, so the steps after an Extend can be
|
|
82
|
+
* checked; none when the engine can't type them, as then the editor will
|
|
83
|
+
* say why
|
|
84
|
+
*/
|
|
85
|
+
const typeExtends = async (editorState, context, chains) => {
|
|
86
|
+
const schemas = new Map();
|
|
87
|
+
if (!chains.length) {
|
|
88
|
+
return schemas;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const typed = await editorState.host.engine.typeLambdas(context.model, new Map(chains.map(({ typed: relation }, index) => [
|
|
92
|
+
`extend${index}`,
|
|
93
|
+
lambda([], [relation]),
|
|
94
|
+
])));
|
|
95
|
+
chains.forEach(({ read }, index) => {
|
|
96
|
+
const schema = typed.get(`extend${index}`);
|
|
97
|
+
if (schema instanceof Schema) {
|
|
98
|
+
schemas.set(read, schema);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// typed again by the editor, which says why it can't
|
|
104
|
+
}
|
|
105
|
+
return schemas;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* A lambda's protocol JSON read into a cube on the editor's host: its sources
|
|
109
|
+
* bound, its steps read, its expressions given their code. Throws a
|
|
110
|
+
* `CubeLambdaReadError`, or the engine's error, naming what can't be read.
|
|
111
|
+
*/
|
|
112
|
+
export const readCubeLambdaDocument = async (editorState, json) => {
|
|
113
|
+
const read = readCubeLambdaJson(json);
|
|
114
|
+
const parts = splitCubeLambda(read);
|
|
115
|
+
const binding = await bindCubeLambdaSources(editorState, findCubeLambdaSources(parts));
|
|
116
|
+
const { query, unchecked } = readCubeQuery(parts, {
|
|
117
|
+
bindSource: binding.bindSource,
|
|
118
|
+
expressions: CUBE_EXPRESSION_CODEC,
|
|
119
|
+
relationSchemas: await typeExtends(editorState, binding.context, findCubeLambdaExtends(parts)),
|
|
120
|
+
registry: editorState.registry,
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
document: new CubeDocument({
|
|
124
|
+
context: {
|
|
125
|
+
...binding.context,
|
|
126
|
+
...(parts.runtime !== undefined ? { runtime: parts.runtime } : {}),
|
|
127
|
+
},
|
|
128
|
+
query: await withExpressionCode(editorState, query),
|
|
129
|
+
}),
|
|
130
|
+
lambda: read,
|
|
131
|
+
isRun: parts.runtime !== undefined,
|
|
132
|
+
unchecked,
|
|
133
|
+
notes: parts.limitBesideFrom ? [CUBE_LAMBDA_IMPORT_MESSAGE.GRID_LIMIT] : [],
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Whether the cube, written again as the lambda was written (a matview's
|
|
138
|
+
* relation, or a run with no row limit), is the lambda it was read from.
|
|
139
|
+
* Written another way, it reads the same rows only when every step was
|
|
140
|
+
* checked as it was read: a step read with unknown columns, e.g. a select
|
|
141
|
+
* taken for the one a Join writes, may not.
|
|
142
|
+
*/
|
|
143
|
+
export const getCubeLambdaFidelity = (editorState, reading) => {
|
|
144
|
+
const { query, context } = editorState.document;
|
|
145
|
+
const selected = query.selected;
|
|
146
|
+
const emitter = new QueryEmitter(query, editorState.registry);
|
|
147
|
+
if (selected === undefined || !emitter.canEmit(selected)) {
|
|
148
|
+
return CubeLambdaFidelity.UNCHECKED;
|
|
149
|
+
}
|
|
150
|
+
const written = reading.isRun && context?.runtime !== undefined
|
|
151
|
+
? emitter.emitExecutionLambda({ runtime: context.runtime })
|
|
152
|
+
: lambda([], [emitter.emitRelation(selected, { withRowOrder: true })]);
|
|
153
|
+
if (isSameCubeIR(written, reading.lambda, {
|
|
154
|
+
readExpression: CUBE_EXPRESSION_CODEC.read,
|
|
155
|
+
})) {
|
|
156
|
+
return CubeLambdaFidelity.EXACT;
|
|
157
|
+
}
|
|
158
|
+
return reading.unchecked.length
|
|
159
|
+
? CubeLambdaFidelity.UNCHECKED
|
|
160
|
+
: CubeLambdaFidelity.REWRITTEN;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Opens the page on a host's lambda (`CubeEditor`'s `initialLambda`): read
|
|
164
|
+
* into a cube, opened as the first one, with no undo step; a lambda that
|
|
165
|
+
* can't be read leaves the cube empty and says why. Once the cube's
|
|
166
|
+
* expressions are checked, whether Cube writes it back the same way.
|
|
167
|
+
*/
|
|
168
|
+
export class CubeLambdaImportState {
|
|
169
|
+
editorState;
|
|
170
|
+
/** What the page calls the lambda it opened on */
|
|
171
|
+
label;
|
|
172
|
+
isReading = false;
|
|
173
|
+
error;
|
|
174
|
+
/** Whether Cube writes the cube back as the lambda; none until checked */
|
|
175
|
+
fidelity;
|
|
176
|
+
notes = [];
|
|
177
|
+
/** Import Pure, from the Cube menu: the dialog, its text, why its last import failed */
|
|
178
|
+
isDialogOpen = false;
|
|
179
|
+
text = '';
|
|
180
|
+
isImporting = false;
|
|
181
|
+
dialogError;
|
|
182
|
+
constructor(editorState) {
|
|
183
|
+
makeObservable(this, {
|
|
184
|
+
label: observable,
|
|
185
|
+
isReading: observable,
|
|
186
|
+
error: observable.ref,
|
|
187
|
+
fidelity: observable,
|
|
188
|
+
notes: observable.ref,
|
|
189
|
+
isDialogOpen: observable,
|
|
190
|
+
text: observable,
|
|
191
|
+
isImporting: observable,
|
|
192
|
+
dialogError: observable.ref,
|
|
193
|
+
open: flow,
|
|
194
|
+
dismiss: action,
|
|
195
|
+
openDialog: action,
|
|
196
|
+
closeDialog: action,
|
|
197
|
+
setText: action,
|
|
198
|
+
importText: flow,
|
|
199
|
+
});
|
|
200
|
+
this.editorState = editorState;
|
|
201
|
+
}
|
|
202
|
+
*open(initial) {
|
|
203
|
+
const { editorState } = this;
|
|
204
|
+
this.label = initial.label;
|
|
205
|
+
this.isReading = true;
|
|
206
|
+
this.error = undefined;
|
|
207
|
+
this.fidelity = undefined;
|
|
208
|
+
try {
|
|
209
|
+
const reading = (yield readCubeLambdaDocument(editorState, initial.lambda));
|
|
210
|
+
// the user may have started a cube while it was read
|
|
211
|
+
if (!editorState.isEmptyCube) {
|
|
212
|
+
throw new CubeLambdaReadError(CUBE_LAMBDA_IMPORT_MESSAGE.NOT_NEW);
|
|
213
|
+
}
|
|
214
|
+
editorState.openDocument(reading.document);
|
|
215
|
+
this.notes = reading.notes;
|
|
216
|
+
this.isReading = false;
|
|
217
|
+
// checked as the editor checks any expression: then compared
|
|
218
|
+
yield when(() => !editorState.isResolvingSources &&
|
|
219
|
+
!editorState.isCheckingExpressions &&
|
|
220
|
+
!editorState.nodesToCheck.length);
|
|
221
|
+
this.fidelity = getCubeLambdaFidelity(editorState, reading);
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
this.error = toImportError(error);
|
|
225
|
+
}
|
|
226
|
+
finally {
|
|
227
|
+
this.isReading = false;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
openDialog() {
|
|
231
|
+
this.isDialogOpen = true;
|
|
232
|
+
this.dialogError = undefined;
|
|
233
|
+
}
|
|
234
|
+
closeDialog() {
|
|
235
|
+
this.isDialogOpen = false;
|
|
236
|
+
this.isImporting = false;
|
|
237
|
+
}
|
|
238
|
+
setText(text) {
|
|
239
|
+
this.text = text;
|
|
240
|
+
this.dialogError = undefined;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Import Pure (PLAN §11.18): the dialog's text, Pure or the engine's JSON
|
|
244
|
+
* of a lambda, read into a cube that replaces this one, as one undo step;
|
|
245
|
+
* then, once checked, whether Cube writes it back the same. A lambda that
|
|
246
|
+
* can't be read leaves the cube as it was, and says why in the dialog.
|
|
247
|
+
*/
|
|
248
|
+
*importText() {
|
|
249
|
+
const { editorState } = this;
|
|
250
|
+
const text = this.text.trim();
|
|
251
|
+
if (!text || this.isImporting) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
this.isImporting = true;
|
|
255
|
+
this.dialogError = undefined;
|
|
256
|
+
try {
|
|
257
|
+
let json;
|
|
258
|
+
if (text.startsWith('{')) {
|
|
259
|
+
try {
|
|
260
|
+
json = parseLosslessJSON(text);
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
assertErrorThrown(error);
|
|
264
|
+
throw new CubeLambdaReadError(CUBE_LAMBDA_IMPORT_MESSAGE.NOT_JSON(error.message));
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
json = (yield editorState.host.engine.parseExpression(text, CUBE_IMPORT_PURE_SOURCE_ID)).lambda;
|
|
269
|
+
}
|
|
270
|
+
const reading = (yield readCubeLambdaDocument(editorState, json));
|
|
271
|
+
if (!this.isDialogOpen) {
|
|
272
|
+
// closed while it was read
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
editorState.importDocument(reading.document, false);
|
|
276
|
+
this.isDialogOpen = false;
|
|
277
|
+
this.text = '';
|
|
278
|
+
this.label = CUBE_LAMBDA_IMPORT_MESSAGE.IMPORTED;
|
|
279
|
+
this.error = undefined;
|
|
280
|
+
this.fidelity = undefined;
|
|
281
|
+
this.notes = reading.notes;
|
|
282
|
+
this.isImporting = false;
|
|
283
|
+
yield when(() => !editorState.isResolvingSources &&
|
|
284
|
+
!editorState.isCheckingExpressions &&
|
|
285
|
+
!editorState.nodesToCheck.length);
|
|
286
|
+
this.fidelity = getCubeLambdaFidelity(editorState, reading);
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
this.dialogError = toImportError(error);
|
|
290
|
+
}
|
|
291
|
+
finally {
|
|
292
|
+
this.isImporting = false;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/** Closes the banner */
|
|
296
|
+
dismiss() {
|
|
297
|
+
this.error = undefined;
|
|
298
|
+
this.fidelity = undefined;
|
|
299
|
+
this.notes = [];
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=CubeLambdaImportState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeLambdaImportState.js","sourceRoot":"","sources":["../../src/stores/CubeLambdaImportState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
import { type CubeContext, type CubeSourceStep, type IR } from '@finos/legend-cube';
|
|
17
|
+
import type { CubeEditorState } from './CubeEditorState.js';
|
|
18
|
+
export declare const CUBE_LAMBDA_SOURCES_MESSAGE: {
|
|
19
|
+
NONE: string;
|
|
20
|
+
MIXED: string;
|
|
21
|
+
NOT_YET: string;
|
|
22
|
+
NO_INGEST: string;
|
|
23
|
+
NO_DATA_PRODUCTS: string;
|
|
24
|
+
INGEST_SETTINGS: string;
|
|
25
|
+
NO_DEFINITION: (definition: string) => string;
|
|
26
|
+
NO_DATA_SET: (dataSet: string, definition: string) => string;
|
|
27
|
+
DATA_SET_UNREADABLE: (dataSet: string, definition: string, reason: string) => string;
|
|
28
|
+
NO_DATA_PRODUCT: (dataProduct: string) => string;
|
|
29
|
+
DATA_PRODUCTS: (dataProduct: string) => string;
|
|
30
|
+
NO_ACCESS_POINT: (accessPoint: string, dataProduct: string) => string;
|
|
31
|
+
ACCESS_POINT_UNREADABLE: (accessPoint: string, dataProduct: string, reason: string) => string;
|
|
32
|
+
TABLE_MODEL: string;
|
|
33
|
+
};
|
|
34
|
+
/** What the lambda's sources bind to: the cube's model and runtime, and the step of each */
|
|
35
|
+
export interface CubeLambdaBinding {
|
|
36
|
+
readonly context: CubeContext;
|
|
37
|
+
readonly bindSource: (source: IR) => CubeSourceStep;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The cube's model and runtime and the step of each source, for a lambda's
|
|
41
|
+
* sources, all of one kind (PLAN §11.18). Throws a `CubeLambdaReadError` that
|
|
42
|
+
* names a source Cube can't bind, or what to add first.
|
|
43
|
+
*/
|
|
44
|
+
export declare const bindCubeLambdaSources: (editorState: CubeEditorState, sources: readonly IR[]) => Promise<CubeLambdaBinding>;
|
|
45
|
+
//# sourceMappingURL=CubeLambdaSources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeLambdaSources.d.ts","sourceRoot":"","sources":["../../src/stores/CubeLambdaSources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,EAAE,EACR,MAAM,oBAAoB,CAAC;AAe5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQ5D,eAAO,MAAM,2BAA2B;;;;;;;gCASV,MAAM,KAAG,MAAM;2BAEpB,MAAM,cAAc,MAAM,KAAG,MAAM;mCAG/C,MAAM,cACH,MAAM,UACV,MAAM,KACb,MAAM;mCACsB,MAAM,KAAG,MAAM;iCAEjB,MAAM,KAAG,MAAM;mCAEb,MAAM,eAAe,MAAM,KAAG,MAAM;2CAGpD,MAAM,eACN,MAAM,UACX,MAAM,KACb,MAAM;;CAGV,CAAC;AAEF,4FAA4F;AAC5F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,cAAc,CAAC;CACrD;AAmRD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,eAAe,EAC5B,SAAS,SAAS,EAAE,EAAE,KACrB,OAAO,CAAC,iBAAiB,CAkB3B,CAAC"}
|