@finos/legend-data-cube 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +3 -0
- package/lib/application/DataCubeDocumentation.d.ts +22 -0
- package/lib/application/DataCubeDocumentation.d.ts.map +1 -0
- package/lib/application/DataCubeDocumentation.js +23 -0
- package/lib/application/DataCubeDocumentation.js.map +1 -0
- package/lib/components/DataCube.d.ts +19 -0
- package/lib/components/DataCube.d.ts.map +1 -0
- package/lib/components/DataCube.js +67 -0
- package/lib/components/DataCube.js.map +1 -0
- package/lib/components/DataCubeProvider.d.ts +27 -0
- package/lib/components/DataCubeProvider.d.ts.map +1 -0
- package/lib/components/DataCubeProvider.js +34 -0
- package/lib/components/DataCubeProvider.js.map +1 -0
- package/lib/components/application/DataCubeAlert.d.ts +44 -0
- package/lib/components/application/DataCubeAlert.d.ts.map +1 -0
- package/lib/components/application/DataCubeAlert.js +83 -0
- package/lib/components/application/DataCubeAlert.js.map +1 -0
- package/lib/components/application/DataCubeDocumentationPanel.d.ts +19 -0
- package/lib/components/application/DataCubeDocumentationPanel.d.ts.map +1 -0
- package/lib/components/application/DataCubeDocumentationPanel.js +32 -0
- package/lib/components/application/DataCubeDocumentationPanel.js.map +1 -0
- package/lib/components/application/DataCubeLayoutManager.d.ts +27 -0
- package/lib/components/application/DataCubeLayoutManager.d.ts.map +1 -0
- package/lib/components/application/DataCubeLayoutManager.js +116 -0
- package/lib/components/application/DataCubeLayoutManager.js.map +1 -0
- package/lib/components/application/DataCubeSettingsPanel.d.ts +19 -0
- package/lib/components/application/DataCubeSettingsPanel.d.ts.map +1 -0
- package/lib/components/application/DataCubeSettingsPanel.js +53 -0
- package/lib/components/application/DataCubeSettingsPanel.js.map +1 -0
- package/lib/components/editor/DataCubeEditor.d.ts +22 -0
- package/lib/components/editor/DataCubeEditor.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditor.js +51 -0
- package/lib/components/editor/DataCubeEditor.js.map +1 -0
- package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.d.ts +22 -0
- package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js +274 -0
- package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -0
- package/lib/components/editor/DataCubeEditorColumnsPanel.d.ts +22 -0
- package/lib/components/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditorColumnsPanel.js +35 -0
- package/lib/components/editor/DataCubeEditorColumnsPanel.js.map +1 -0
- package/lib/components/editor/DataCubeEditorColumnsSelector.d.ts +32 -0
- package/lib/components/editor/DataCubeEditorColumnsSelector.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditorColumnsSelector.js +307 -0
- package/lib/components/editor/DataCubeEditorColumnsSelector.js.map +1 -0
- package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.d.ts +22 -0
- package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js +167 -0
- package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -0
- package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.d.ts +22 -0
- package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.js +29 -0
- package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -0
- package/lib/components/editor/DataCubeEditorSortsPanel.d.ts +22 -0
- package/lib/components/editor/DataCubeEditorSortsPanel.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditorSortsPanel.js +62 -0
- package/lib/components/editor/DataCubeEditorSortsPanel.js.map +1 -0
- package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.d.ts +22 -0
- package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.d.ts.map +1 -0
- package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.js +25 -0
- package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.js.map +1 -0
- package/lib/components/extend/DataCubeColumnEditor.d.ts +22 -0
- package/lib/components/extend/DataCubeColumnEditor.d.ts.map +1 -0
- package/lib/components/extend/DataCubeColumnEditor.js +169 -0
- package/lib/components/extend/DataCubeColumnEditor.js.map +1 -0
- package/lib/components/filter/DataCubeFilterEditor.d.ts +22 -0
- package/lib/components/filter/DataCubeFilterEditor.d.ts.map +1 -0
- package/lib/components/filter/DataCubeFilterEditor.js +312 -0
- package/lib/components/filter/DataCubeFilterEditor.js.map +1 -0
- package/lib/components/grid/DataCubeGrid.d.ts +27 -0
- package/lib/components/grid/DataCubeGrid.d.ts.map +1 -0
- package/lib/components/grid/DataCubeGrid.js +241 -0
- package/lib/components/grid/DataCubeGrid.js.map +1 -0
- package/lib/components/grid/DataCubeGridShared.d.ts +18 -0
- package/lib/components/grid/DataCubeGridShared.d.ts.map +1 -0
- package/lib/components/grid/DataCubeGridShared.js +25 -0
- package/lib/components/grid/DataCubeGridShared.js.map +1 -0
- package/lib/components/shared/DataCubeFormUtils.d.ts +54 -0
- package/lib/components/shared/DataCubeFormUtils.d.ts.map +1 -0
- package/lib/components/shared/DataCubeFormUtils.js +251 -0
- package/lib/components/shared/DataCubeFormUtils.js.map +1 -0
- package/lib/components/shared/DataCubePureCodeEditorUtils.d.ts +22 -0
- package/lib/components/shared/DataCubePureCodeEditorUtils.d.ts.map +1 -0
- package/lib/components/shared/DataCubePureCodeEditorUtils.js +64 -0
- package/lib/components/shared/DataCubePureCodeEditorUtils.js.map +1 -0
- package/lib/index.css +17 -0
- package/lib/index.css.map +1 -0
- package/lib/index.d.ts +21 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +21 -0
- package/lib/index.js.map +1 -0
- package/lib/package.json +89 -0
- package/lib/stores/DataCubeState.d.ts +32 -0
- package/lib/stores/DataCubeState.d.ts.map +1 -0
- package/lib/stores/DataCubeState.js +84 -0
- package/lib/stores/DataCubeState.js.map +1 -0
- package/lib/stores/DataCubeViewState.d.ts +50 -0
- package/lib/stores/DataCubeViewState.d.ts.map +1 -0
- package/lib/stores/DataCubeViewState.js +109 -0
- package/lib/stores/DataCubeViewState.js.map +1 -0
- package/lib/stores/core/DataCubeConfiguration.d.ts +107 -0
- package/lib/stores/core/DataCubeConfiguration.d.ts.map +1 -0
- package/lib/stores/core/DataCubeConfiguration.js +185 -0
- package/lib/stores/core/DataCubeConfiguration.js.map +1 -0
- package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +25 -0
- package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -0
- package/lib/stores/core/DataCubeConfigurationBuilder.js +50 -0
- package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -0
- package/lib/stores/core/DataCubeInfoState.d.ts +33 -0
- package/lib/stores/core/DataCubeInfoState.d.ts.map +1 -0
- package/lib/stores/core/DataCubeInfoState.js +48 -0
- package/lib/stores/core/DataCubeInfoState.js.map +1 -0
- package/lib/stores/core/DataCubeQueryBuilder.d.ts +35 -0
- package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -0
- package/lib/stores/core/DataCubeQueryBuilder.js +130 -0
- package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -0
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +50 -0
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -0
- package/lib/stores/core/DataCubeQueryBuilderUtils.js +320 -0
- package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -0
- package/lib/stores/core/DataCubeQueryEngine.d.ts +224 -0
- package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -0
- package/lib/stores/core/DataCubeQueryEngine.js +286 -0
- package/lib/stores/core/DataCubeQueryEngine.js.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshot.d.ts +89 -0
- package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshot.js +82 -0
- package/lib/stores/core/DataCubeQuerySnapshot.js.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +33 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +260 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +30 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +125 -0
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshotManager.d.ts +47 -0
- package/lib/stores/core/DataCubeQuerySnapshotManager.d.ts.map +1 -0
- package/lib/stores/core/DataCubeQuerySnapshotManager.js +84 -0
- package/lib/stores/core/DataCubeQuerySnapshotManager.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +28 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.js +25 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js +47 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js +44 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js +53 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js +44 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js +44 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +27 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js +39 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +36 -0
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +153 -0
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +32 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.js +48 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +59 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +59 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +136 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +65 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +67 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +67 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +31 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +31 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +67 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +67 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +59 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +59 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +69 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +65 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +59 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +59 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +34 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +64 -0
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +37 -0
- package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.js +68 -0
- package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorColumnsPanelState.d.ts +58 -0
- package/lib/stores/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorColumnsPanelState.js +127 -0
- package/lib/stores/editor/DataCubeEditorColumnsPanelState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorColumnsSelectorState.d.ts +42 -0
- package/lib/stores/editor/DataCubeEditorColumnsSelectorState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorColumnsSelectorState.js +75 -0
- package/lib/stores/editor/DataCubeEditorColumnsSelectorState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +35 -0
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js +59 -0
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +38 -0
- package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.js +75 -0
- package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts +107 -0
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.js +467 -0
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorPanelState.d.ts +29 -0
- package/lib/stores/editor/DataCubeEditorPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorPanelState.js +17 -0
- package/lib/stores/editor/DataCubeEditorPanelState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts +41 -0
- package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorSortsPanelState.js +86 -0
- package/lib/stores/editor/DataCubeEditorSortsPanelState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorState.d.ts +64 -0
- package/lib/stores/editor/DataCubeEditorState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorState.js +155 -0
- package/lib/stores/editor/DataCubeEditorState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +35 -0
- package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.js +58 -0
- package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -0
- package/lib/stores/engine/DataCubeApplicationEngine.d.ts +55 -0
- package/lib/stores/engine/DataCubeApplicationEngine.d.ts.map +1 -0
- package/lib/stores/engine/DataCubeApplicationEngine.js +33 -0
- package/lib/stores/engine/DataCubeApplicationEngine.js.map +1 -0
- package/lib/stores/engine/DataCubeEngine.d.ts +124 -0
- package/lib/stores/engine/DataCubeEngine.d.ts.map +1 -0
- package/lib/stores/engine/DataCubeEngine.js +182 -0
- package/lib/stores/engine/DataCubeEngine.js.map +1 -0
- package/lib/stores/engine/DataCubeLayoutManagerState.d.ts +62 -0
- package/lib/stores/engine/DataCubeLayoutManagerState.d.ts.map +1 -0
- package/lib/stores/engine/DataCubeLayoutManagerState.js +133 -0
- package/lib/stores/engine/DataCubeLayoutManagerState.js.map +1 -0
- package/lib/stores/engine/DataCubeQuery.d.ts +40 -0
- package/lib/stores/engine/DataCubeQuery.d.ts.map +1 -0
- package/lib/stores/engine/DataCubeQuery.js +79 -0
- package/lib/stores/engine/DataCubeQuery.js.map +1 -0
- package/lib/stores/extend/DataCubeColumnEditorState.d.ts +61 -0
- package/lib/stores/extend/DataCubeColumnEditorState.d.ts.map +1 -0
- package/lib/stores/extend/DataCubeColumnEditorState.js +260 -0
- package/lib/stores/extend/DataCubeColumnEditorState.js.map +1 -0
- package/lib/stores/extend/DataCubeExtendManagerState.d.ts +46 -0
- package/lib/stores/extend/DataCubeExtendManagerState.d.ts.map +1 -0
- package/lib/stores/extend/DataCubeExtendManagerState.js +119 -0
- package/lib/stores/extend/DataCubeExtendManagerState.js.map +1 -0
- package/lib/stores/filter/DataCubeFilterEditorState.d.ts +61 -0
- package/lib/stores/filter/DataCubeFilterEditorState.d.ts.map +1 -0
- package/lib/stores/filter/DataCubeFilterEditorState.js +228 -0
- package/lib/stores/filter/DataCubeFilterEditorState.js.map +1 -0
- package/lib/stores/grid/DataCubeGridClientEngine.d.ts +93 -0
- package/lib/stores/grid/DataCubeGridClientEngine.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridClientEngine.js +364 -0
- package/lib/stores/grid/DataCubeGridClientEngine.js.map +1 -0
- package/lib/stores/grid/DataCubeGridClientExportEngine.d.ts +31 -0
- package/lib/stores/grid/DataCubeGridClientExportEngine.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridClientExportEngine.js +152 -0
- package/lib/stores/grid/DataCubeGridClientExportEngine.js.map +1 -0
- package/lib/stores/grid/DataCubeGridConfigurationBuilder.d.ts +180 -0
- package/lib/stores/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridConfigurationBuilder.js +649 -0
- package/lib/stores/grid/DataCubeGridConfigurationBuilder.js.map +1 -0
- package/lib/stores/grid/DataCubeGridControllerState.d.ts +89 -0
- package/lib/stores/grid/DataCubeGridControllerState.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridControllerState.js +342 -0
- package/lib/stores/grid/DataCubeGridControllerState.js.map +1 -0
- package/lib/stores/grid/DataCubeGridMenuBuilder.d.ts +19 -0
- package/lib/stores/grid/DataCubeGridMenuBuilder.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridMenuBuilder.js +687 -0
- package/lib/stores/grid/DataCubeGridMenuBuilder.js.map +1 -0
- package/lib/stores/grid/DataCubeGridQueryBuilder.d.ts +23 -0
- package/lib/stores/grid/DataCubeGridQueryBuilder.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridQueryBuilder.js +130 -0
- package/lib/stores/grid/DataCubeGridQueryBuilder.js.map +1 -0
- package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.d.ts +27 -0
- package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js +66 -0
- package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -0
- package/lib/stores/grid/DataCubeGridState.d.ts +55 -0
- package/lib/stores/grid/DataCubeGridState.d.ts.map +1 -0
- package/lib/stores/grid/DataCubeGridState.js +114 -0
- package/lib/stores/grid/DataCubeGridState.js.map +1 -0
- package/package.json +89 -0
- package/src/application/DataCubeDocumentation.ts +22 -0
- package/src/components/DataCube.tsx +157 -0
- package/src/components/DataCubeProvider.tsx +58 -0
- package/src/components/application/DataCubeAlert.tsx +173 -0
- package/src/components/application/DataCubeDocumentationPanel.tsx +42 -0
- package/src/components/application/DataCubeLayoutManager.tsx +190 -0
- package/src/components/application/DataCubeSettingsPanel.tsx +205 -0
- package/src/components/editor/DataCubeEditor.tsx +114 -0
- package/src/components/editor/DataCubeEditorColumnPropertiesPanel.tsx +1210 -0
- package/src/components/editor/DataCubeEditorColumnsPanel.tsx +121 -0
- package/src/components/editor/DataCubeEditorColumnsSelector.tsx +596 -0
- package/src/components/editor/DataCubeEditorGeneralPropertiesPanel.tsx +786 -0
- package/src/components/editor/DataCubeEditorHorizontalPivotsPanel.tsx +61 -0
- package/src/components/editor/DataCubeEditorSortsPanel.tsx +166 -0
- package/src/components/editor/DataCubeEditorVerticalPivotsPanel.tsx +43 -0
- package/src/components/extend/DataCubeColumnEditor.tsx +366 -0
- package/src/components/filter/DataCubeFilterEditor.tsx +907 -0
- package/src/components/grid/DataCubeGrid.tsx +384 -0
- package/src/components/grid/DataCubeGridShared.tsx +45 -0
- package/src/components/shared/DataCubeFormUtils.tsx +574 -0
- package/src/components/shared/DataCubePureCodeEditorUtils.tsx +91 -0
- package/src/index.tsx +22 -0
- package/src/stores/DataCubeState.tsx +100 -0
- package/src/stores/DataCubeViewState.ts +129 -0
- package/src/stores/core/DataCubeConfiguration.ts +240 -0
- package/src/stores/core/DataCubeConfigurationBuilder.ts +66 -0
- package/src/stores/core/DataCubeInfoState.ts +61 -0
- package/src/stores/core/DataCubeQueryBuilder.ts +296 -0
- package/src/stores/core/DataCubeQueryBuilderUtils.ts +514 -0
- package/src/stores/core/DataCubeQueryEngine.ts +327 -0
- package/src/stores/core/DataCubeQuerySnapshot.ts +191 -0
- package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +406 -0
- package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +197 -0
- package/src/stores/core/DataCubeQuerySnapshotManager.ts +148 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +47 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +52 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +61 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +57 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +81 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +57 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +52 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +52 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +55 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +52 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +52 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +57 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +52 -0
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +52 -0
- package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +231 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +96 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +88 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +94 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +88 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +94 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +170 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +94 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +92 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +93 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +96 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +92 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +96 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +92 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +92 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +89 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +96 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +92 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +96 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +92 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +91 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +91 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +101 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +97 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +95 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +96 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +91 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +88 -0
- package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +94 -0
- package/src/stores/editor/DataCubeEditorColumnPropertiesPanelState.ts +111 -0
- package/src/stores/editor/DataCubeEditorColumnsPanelState.ts +198 -0
- package/src/stores/editor/DataCubeEditorColumnsSelectorState.ts +115 -0
- package/src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts +87 -0
- package/src/stores/editor/DataCubeEditorHorizontalPivotsPanelState.ts +132 -0
- package/src/stores/editor/DataCubeEditorMutableConfiguration.ts +677 -0
- package/src/stores/editor/DataCubeEditorPanelState.ts +37 -0
- package/src/stores/editor/DataCubeEditorSortsPanelState.ts +147 -0
- package/src/stores/editor/DataCubeEditorState.tsx +206 -0
- package/src/stores/editor/DataCubeEditorVerticalPivotsPanelState.ts +110 -0
- package/src/stores/engine/DataCubeApplicationEngine.tsx +120 -0
- package/src/stores/engine/DataCubeEngine.ts +276 -0
- package/src/stores/engine/DataCubeLayoutManagerState.ts +184 -0
- package/src/stores/engine/DataCubeQuery.ts +130 -0
- package/src/stores/extend/DataCubeColumnEditorState.tsx +365 -0
- package/src/stores/extend/DataCubeExtendManagerState.tsx +175 -0
- package/src/stores/filter/DataCubeFilterEditorState.tsx +327 -0
- package/src/stores/grid/DataCubeGridClientEngine.ts +506 -0
- package/src/stores/grid/DataCubeGridClientExportEngine.ts +173 -0
- package/src/stores/grid/DataCubeGridConfigurationBuilder.tsx +940 -0
- package/src/stores/grid/DataCubeGridControllerState.ts +493 -0
- package/src/stores/grid/DataCubeGridMenuBuilder.tsx +861 -0
- package/src/stores/grid/DataCubeGridQueryBuilder.ts +195 -0
- package/src/stores/grid/DataCubeGridQuerySnapshotBuilder.ts +125 -0
- package/src/stores/grid/DataCubeGridState.ts +155 -0
- package/tsconfig.json +164 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-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
|
+
* [CORE]
|
|
18
|
+
*
|
|
19
|
+
* This and its corresponding utilitites are used to build the query snapshot from the
|
|
20
|
+
* executable query. This is needed when we initialize the application by loading a
|
|
21
|
+
* persisted query.
|
|
22
|
+
***************************************************************************************/
|
|
23
|
+
import { V1_AppliedFunction, V1_CInteger, V1_Collection, V1_serializeValueSpecification, extractElementNameFromPath as _name, matchFunctionName, } from '@finos/legend-graph';
|
|
24
|
+
import { _toCol, DataCubeQuerySnapshot, } from './DataCubeQuerySnapshot.js';
|
|
25
|
+
import { assertType, guaranteeNonNullable } from '@finos/legend-shared';
|
|
26
|
+
import { DataCubeQuerySortOperator, DataCubeFunction, } from './DataCubeQueryEngine.js';
|
|
27
|
+
import { DataCubeConfiguration } from './DataCubeConfiguration.js';
|
|
28
|
+
import { buildDefaultConfiguration } from './DataCubeConfigurationBuilder.js';
|
|
29
|
+
import { _colSpecArrayParam, _colSpecParam, _funcMatch, _param, } from './DataCubeQuerySnapshotBuilderUtils.js';
|
|
30
|
+
// --------------------------------- BUILDING BLOCKS ---------------------------------
|
|
31
|
+
const _SUPPORTED_TOP_LEVEL_FUNCTIONS = [
|
|
32
|
+
{ func: DataCubeFunction.EXTEND, parameters: 1 },
|
|
33
|
+
{ func: DataCubeFunction.FILTER, parameters: 1 },
|
|
34
|
+
{ func: DataCubeFunction.SELECT, parameters: 1 },
|
|
35
|
+
{ func: DataCubeFunction.GROUP_BY, parameters: 3 },
|
|
36
|
+
{ func: DataCubeFunction.PIVOT, parameters: 3 },
|
|
37
|
+
{ func: DataCubeFunction.CAST, parameters: 1 },
|
|
38
|
+
{ func: DataCubeFunction.SORT, parameters: 1 },
|
|
39
|
+
{ func: DataCubeFunction.LIMIT, parameters: 1 },
|
|
40
|
+
];
|
|
41
|
+
// NOTE: this corresponds to the sequence:
|
|
42
|
+
// extend()->filter()->select()->sort()->pivot()->cast()->groupBy()->extend()->sort()->limit()
|
|
43
|
+
// which represents the ONLY query shape that we currently support
|
|
44
|
+
const _FUNCTION_SEQUENCE_COMPOSITION_PATTERN = [
|
|
45
|
+
{ name: 'leaf_extend', func: DataCubeFunction.EXTEND }, // leaf-level extend
|
|
46
|
+
{ name: 'filter', func: DataCubeFunction.FILTER },
|
|
47
|
+
{ name: 'select', func: DataCubeFunction.SELECT },
|
|
48
|
+
{
|
|
49
|
+
name: 'pivot_group',
|
|
50
|
+
funcs: [
|
|
51
|
+
{ name: 'pivot_sort', func: DataCubeFunction.SORT, required: true }, // pre-pivot sort
|
|
52
|
+
{ name: 'pivot', func: DataCubeFunction.PIVOT, required: true },
|
|
53
|
+
{ name: 'pivot_cast', func: DataCubeFunction.CAST, required: true }, // cast to a relation type post pivot() to enable type-checking
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
{ name: 'group_by', func: DataCubeFunction.GROUP_BY },
|
|
57
|
+
{ name: 'group_extend', func: DataCubeFunction.EXTEND }, // group-level extend
|
|
58
|
+
{ name: 'sort', func: DataCubeFunction.SORT },
|
|
59
|
+
{ name: 'limit', func: DataCubeFunction.LIMIT },
|
|
60
|
+
];
|
|
61
|
+
const _FUNCTION_SEQUENCE_COMPOSITION_PATTERN_REGEXP = new RegExp(`^${_FUNCTION_SEQUENCE_COMPOSITION_PATTERN
|
|
62
|
+
.map((node) => 'funcs' in node
|
|
63
|
+
? `(${node.funcs.map((childNode) => `(?<${childNode.name}><${_name(childNode.func)}>)${childNode.repeat ? '*' : !childNode.required ? '?' : ''}`)})${node.repeat ? '*' : !node.required ? '?' : ''}`
|
|
64
|
+
: `(?<${node.name}><${_name(node.func)}>)${node.repeat ? '*' : !node.required ? '?' : ''}`)
|
|
65
|
+
.join('')}$`);
|
|
66
|
+
/**
|
|
67
|
+
* Since the query created by DataCube will be a chain call of various functions,
|
|
68
|
+
* this utility function will extract that sequence of function calls as well as
|
|
69
|
+
* do various basic checks for the validity, composition, and order of those functions.
|
|
70
|
+
*/
|
|
71
|
+
function extractQueryFunctionSequence(query) {
|
|
72
|
+
// Make sure this is a sequence of function calls
|
|
73
|
+
if (!(query instanceof V1_AppliedFunction)) {
|
|
74
|
+
throw new Error(`Query must be a sequence of function calls (e.g. x()->y()->z())`);
|
|
75
|
+
}
|
|
76
|
+
const sequence = [];
|
|
77
|
+
let currentFunc = query;
|
|
78
|
+
while (currentFunc instanceof V1_AppliedFunction) {
|
|
79
|
+
const supportedFunc = _SUPPORTED_TOP_LEVEL_FUNCTIONS.find((spec) => matchFunctionName(currentFunc.function, spec.func));
|
|
80
|
+
// Check that all functions in sequence are supported
|
|
81
|
+
if (!supportedFunc) {
|
|
82
|
+
throw new Error(`Found unsupported function ${currentFunc.function}()`);
|
|
83
|
+
}
|
|
84
|
+
if (currentFunc.parameters.length > supportedFunc.parameters) {
|
|
85
|
+
const vs = currentFunc.parameters[0];
|
|
86
|
+
if (!(vs instanceof V1_AppliedFunction)) {
|
|
87
|
+
throw new Error(`Query must be a sequence of function calls (e.g. x()->y()->z())`);
|
|
88
|
+
}
|
|
89
|
+
currentFunc.parameters = currentFunc.parameters.slice(1);
|
|
90
|
+
sequence.unshift(currentFunc);
|
|
91
|
+
currentFunc = vs;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
sequence.unshift(currentFunc);
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Check that sequence follows the supported pattern
|
|
99
|
+
const sequenceFormText = sequence
|
|
100
|
+
.map((func) => `<${_name(func.function)}>`)
|
|
101
|
+
.join('');
|
|
102
|
+
const matchResult = sequenceFormText.match(_FUNCTION_SEQUENCE_COMPOSITION_PATTERN_REGEXP);
|
|
103
|
+
if (!matchResult) {
|
|
104
|
+
throw new Error(`Unsupported function composition ${sequence.map((fn) => `${_name(fn.function)}()`).join('->')} (supported composition: ${_FUNCTION_SEQUENCE_COMPOSITION_PATTERN.map((node) => `${'funcs' in node ? `[${node.funcs.map((childNode) => `${_name(childNode.func)}()`).join('->')}]` : `${_name(node.func)}()`}`).join('->')})`);
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
sequence,
|
|
108
|
+
leafExtend: Boolean(matchResult.groups?.leaf_extend),
|
|
109
|
+
pivot: Boolean(matchResult.groups?.pivot),
|
|
110
|
+
groupExtend: Boolean(matchResult.groups?.group_extend),
|
|
111
|
+
sort: Boolean(matchResult.groups?.sort),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Turn the function sequence into a map of available functions
|
|
116
|
+
* for easier construction of the snapshot
|
|
117
|
+
*/
|
|
118
|
+
function extractFunctionMap(sequenceMatchingResult) {
|
|
119
|
+
const { sequence, leafExtend: hasLeafExtend, groupExtend: hasGroupExtend, pivot: hasPivot, sort: hasSort, } = sequenceMatchingResult;
|
|
120
|
+
const leafExtend = hasLeafExtend
|
|
121
|
+
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.EXTEND))
|
|
122
|
+
: undefined;
|
|
123
|
+
const filter = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.FILTER));
|
|
124
|
+
const select = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.SELECT));
|
|
125
|
+
const pivotSort = hasPivot
|
|
126
|
+
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.SORT))
|
|
127
|
+
: undefined;
|
|
128
|
+
const pivot = hasPivot
|
|
129
|
+
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.PIVOT))
|
|
130
|
+
: undefined;
|
|
131
|
+
const pivotCast = hasPivot
|
|
132
|
+
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.CAST))
|
|
133
|
+
: undefined;
|
|
134
|
+
const groupBy = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.GROUP_BY));
|
|
135
|
+
const groupExtend = hasGroupExtend
|
|
136
|
+
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.EXTEND))
|
|
137
|
+
: undefined;
|
|
138
|
+
const sort = hasSort
|
|
139
|
+
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.SORT))
|
|
140
|
+
: undefined;
|
|
141
|
+
const limit = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.LIMIT));
|
|
142
|
+
return {
|
|
143
|
+
leafExtend: leafExtend,
|
|
144
|
+
select,
|
|
145
|
+
filter,
|
|
146
|
+
groupBy,
|
|
147
|
+
pivotSort,
|
|
148
|
+
pivot,
|
|
149
|
+
pivotCast,
|
|
150
|
+
groupExtend,
|
|
151
|
+
sort,
|
|
152
|
+
limit,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// --------------------------------- MAIN ---------------------------------
|
|
156
|
+
/**
|
|
157
|
+
* Analyze the partial query to build a query snapshot.
|
|
158
|
+
*
|
|
159
|
+
* Implementation-wise, this extracts the function call sequence, then walk the
|
|
160
|
+
* sequence in order to fill in the information for the snapshot.
|
|
161
|
+
*/
|
|
162
|
+
export function validateAndBuildQuerySnapshot(partialQuery, sourceQuery, baseQuery) {
|
|
163
|
+
// --------------------------------- BASE ---------------------------------
|
|
164
|
+
// Build the function call sequence and the function map to make the
|
|
165
|
+
// analysis more ergonomic
|
|
166
|
+
const sequenceMatchingResult = extractQueryFunctionSequence(partialQuery);
|
|
167
|
+
const funcMap = extractFunctionMap(sequenceMatchingResult);
|
|
168
|
+
const snapshot = DataCubeQuerySnapshot.create(baseQuery.name, baseQuery.source.runtime, baseQuery.source.mapping, V1_serializeValueSpecification(sourceQuery, []), {});
|
|
169
|
+
const data = snapshot.data;
|
|
170
|
+
const colsMap = new Map();
|
|
171
|
+
const _col = (colSpec) => {
|
|
172
|
+
const column = guaranteeNonNullable(colsMap.get(colSpec.name), `Can't find column '${colSpec.name}'`);
|
|
173
|
+
return _toCol(column);
|
|
174
|
+
};
|
|
175
|
+
// --------------------------------- SOURCE ---------------------------------
|
|
176
|
+
data.sourceColumns = baseQuery.source.columns.map(_toCol);
|
|
177
|
+
data.sourceColumns.map((col) => colsMap.set(col.name, col));
|
|
178
|
+
// --------------------------------- LEAF-LEVEL EXTEND ---------------------------------
|
|
179
|
+
/** TODO: @datacube roundtrip */
|
|
180
|
+
// --------------------------------- FILTER ---------------------------------
|
|
181
|
+
if (funcMap.filter) {
|
|
182
|
+
/** TODO: @datacube roundtrip */
|
|
183
|
+
data.filter = undefined;
|
|
184
|
+
}
|
|
185
|
+
// --------------------------------- SELECT ---------------------------------
|
|
186
|
+
if (funcMap.select) {
|
|
187
|
+
data.selectColumns = _colSpecArrayParam(funcMap.select, 0).colSpecs.map((colSpec) => _col(colSpec));
|
|
188
|
+
}
|
|
189
|
+
// --------------------------------- PIVOT ---------------------------------
|
|
190
|
+
/** TODO: @datacube roundtrip */
|
|
191
|
+
// TODO: verify group-by agg columns, pivot agg columns and configuration agree
|
|
192
|
+
// --------------------------------- GROUP BY ---------------------------------
|
|
193
|
+
if (funcMap.groupBy) {
|
|
194
|
+
data.groupBy = {
|
|
195
|
+
columns: _colSpecArrayParam(funcMap.groupBy, 0).colSpecs.map((colSpec) => _col(colSpec)),
|
|
196
|
+
// TODO: verify group-by agg columns, pivot agg columns and configuration agree
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
// --------------------------------- GROUP-LEVEL EXTEND ---------------------------------
|
|
200
|
+
/** TODO: @datacube roundtrip */
|
|
201
|
+
// --------------------------------- SORT ---------------------------------
|
|
202
|
+
if (funcMap.sort) {
|
|
203
|
+
data.sortColumns = _param(funcMap.sort, 0, V1_Collection).values.map((value) => {
|
|
204
|
+
const sortColFunc = _funcMatch(value, [
|
|
205
|
+
DataCubeFunction.ASC,
|
|
206
|
+
DataCubeFunction.DESC,
|
|
207
|
+
]);
|
|
208
|
+
return {
|
|
209
|
+
..._col(_colSpecParam(sortColFunc, 0)),
|
|
210
|
+
operation: _name(sortColFunc.function) === DataCubeFunction.ASC
|
|
211
|
+
? DataCubeQuerySortOperator.ASCENDING
|
|
212
|
+
: DataCubeQuerySortOperator.DESCENDING,
|
|
213
|
+
};
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
// --------------------------------- LIMIT ---------------------------------
|
|
217
|
+
if (funcMap.limit) {
|
|
218
|
+
const value = funcMap.limit.parameters[0];
|
|
219
|
+
assertType(value, V1_CInteger);
|
|
220
|
+
data.limit = value.value;
|
|
221
|
+
}
|
|
222
|
+
// --------------------------------- CONFIGURATION ---------------------------------
|
|
223
|
+
// NOTE: we aim to keep the data query a Pure query instead of a specification object
|
|
224
|
+
// so this configuration holds mostly layout and styling customization.
|
|
225
|
+
// But there are overlaps, i.e. certain data query configuration are stored in the
|
|
226
|
+
// configuration, e.g. column aggregation type, this is because a column
|
|
227
|
+
// aggregation's preference can be populated even when there's no aggregation specified
|
|
228
|
+
// in the data query.
|
|
229
|
+
//
|
|
230
|
+
// Arguably, the query should be the single source for these information, but when
|
|
231
|
+
// the configuration for a particular data query function coming from multiple sources
|
|
232
|
+
// conflict, we need to do some reconciliation (or throw error). Some examples include:
|
|
233
|
+
// - missing/extra columns present in the configuration
|
|
234
|
+
// - column kind and type conflict with aggregation
|
|
235
|
+
// - column kind and type conflict with the column configuration
|
|
236
|
+
//
|
|
237
|
+
// In certain cases, configuration needs to be generated from default presets. This
|
|
238
|
+
// helps with use cases where the query might comes from a different source, such as
|
|
239
|
+
// Studio or Query, or another part of Engine.
|
|
240
|
+
const configuration = baseQuery.configuration
|
|
241
|
+
? DataCubeConfiguration.serialization.fromJson(baseQuery.configuration)
|
|
242
|
+
: buildDefaultConfiguration([
|
|
243
|
+
...baseQuery.source.columns,
|
|
244
|
+
...data.leafExtendedColumns,
|
|
245
|
+
...data.groupExtendedColumns,
|
|
246
|
+
]);
|
|
247
|
+
data.configuration =
|
|
248
|
+
DataCubeConfiguration.serialization.toJson(configuration);
|
|
249
|
+
/**
|
|
250
|
+
* TODO: @datacube roundtrip - implement the logic to reconcile the configuration with the query
|
|
251
|
+
* - columns (missing/extra columns - remove or generate default column configuration)
|
|
252
|
+
* - column kind
|
|
253
|
+
* - column type
|
|
254
|
+
* - base off the type, check the settings
|
|
255
|
+
* - aggregation
|
|
256
|
+
* - verify group-by agg columns, pivot agg columns and configuration agree
|
|
257
|
+
*/
|
|
258
|
+
return snapshot.finalize();
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=DataCubeQuerySnapshotBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotBuilder.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-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 { V1_AppliedFunction, V1_ColSpec, V1_ColSpecArray, type V1_ValueSpecification } from '@finos/legend-graph';
|
|
17
|
+
import { type DataCubeQuerySnapshotColumn } from './DataCubeQuerySnapshot.js';
|
|
18
|
+
import { type Clazz } from '@finos/legend-shared';
|
|
19
|
+
import { DataCubeAggregateOperator } from './DataCubeQueryEngine.js';
|
|
20
|
+
export declare function _param<T extends V1_ValueSpecification>(func: V1_AppliedFunction, paramIdx: number, clazz: Clazz<T>): T;
|
|
21
|
+
export declare function _colSpecParam(func: V1_AppliedFunction, paramIdx: number): V1_ColSpec;
|
|
22
|
+
export declare function _colSpecArrayParam(func: V1_AppliedFunction, paramIdx: number): V1_ColSpecArray;
|
|
23
|
+
export declare function _funcMatch(value: V1_ValueSpecification | undefined, functionNames: string | string[]): V1_AppliedFunction;
|
|
24
|
+
export declare function _aggCol(colSpec: V1_ColSpec, column: DataCubeQuerySnapshotColumn): {
|
|
25
|
+
operation: DataCubeAggregateOperator;
|
|
26
|
+
parameters: never[];
|
|
27
|
+
name: string;
|
|
28
|
+
type: string;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=DataCubeQuerySnapshotBuilderUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.d.ts","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,kBAAkB,EAElB,UAAU,EACV,eAAe,EAIf,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAKL,KAAK,KAAK,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,MAAM,CAAC,CAAC,SAAS,qBAAqB,EACpD,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACd,CAAC,CAUH;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,cAMvE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAM5E;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,qBAAqB,GAAG,SAAS,EACxC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,sBAejC;AAgBD,wBAAgB,OAAO,CACrB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,2BAA2B;;;;;EAwFpC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-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 { V1_AppliedFunction, V1_ClassInstance, V1_ColSpec, V1_ColSpecArray, V1_Lambda, extractElementNameFromPath as _name, matchFunctionName, } from '@finos/legend-graph';
|
|
17
|
+
import {} from './DataCubeQuerySnapshot.js';
|
|
18
|
+
import { assertTrue, assertType, guaranteeType, UnsupportedOperationError, } from '@finos/legend-shared';
|
|
19
|
+
import { DataCubeFunction, DataCubeAggregateOperator, } from './DataCubeQueryEngine.js';
|
|
20
|
+
// --------------------------------- UTILITIES ---------------------------------
|
|
21
|
+
export function _param(func, paramIdx, clazz) {
|
|
22
|
+
assertTrue(func.parameters.length >= paramIdx + 1, `Can't process ${_name(func.function)}: Expected at least ${paramIdx + 1} parameter(s)`);
|
|
23
|
+
return guaranteeType(func.parameters[paramIdx], clazz, `Can't process ${_name(func.function)}: Found unexpected type for parameter at index ${paramIdx}`);
|
|
24
|
+
}
|
|
25
|
+
export function _colSpecParam(func, paramIdx) {
|
|
26
|
+
return guaranteeType(_param(func, paramIdx, V1_ClassInstance).value, V1_ColSpec, `Can't process ${_name(func.function)}: Expected parameter at index ${paramIdx} to be a column specification`);
|
|
27
|
+
}
|
|
28
|
+
export function _colSpecArrayParam(func, paramIdx) {
|
|
29
|
+
return guaranteeType(_param(func, paramIdx, V1_ClassInstance).value, V1_ColSpecArray, `Can't process ${_name(func.function)}: Expected parameter at index ${paramIdx} to be a column specification list`);
|
|
30
|
+
}
|
|
31
|
+
export function _funcMatch(value, functionNames) {
|
|
32
|
+
assertType(value, V1_AppliedFunction, `Can't process function: Found unexpected value specification type`);
|
|
33
|
+
assertTrue(matchFunctionName(value.function, Array.isArray(functionNames) ? functionNames : [functionNames]), `Can't process function: Expected function name to be one of [${Array.isArray(functionNames) ? functionNames.join(', ') : functionNames}]`);
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
// TODO: move these functions out into aggregator utils when we make agg operator handling systematic
|
|
37
|
+
// similar to what we did with filter
|
|
38
|
+
function _aggFuncMatch(value, functionNames) {
|
|
39
|
+
assertType(value, V1_Lambda, `Can't process aggregation: Found unexpected value specification type`);
|
|
40
|
+
return _funcMatch(value.body[0], functionNames);
|
|
41
|
+
}
|
|
42
|
+
export function _aggCol(colSpec, column) {
|
|
43
|
+
const func = _aggFuncMatch(colSpec.function2, Object.values(DataCubeFunction));
|
|
44
|
+
if (matchFunctionName(func.function, DataCubeFunction.COUNT)) {
|
|
45
|
+
return {
|
|
46
|
+
...column,
|
|
47
|
+
operation: DataCubeAggregateOperator.COUNT,
|
|
48
|
+
parameters: [],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
else if (matchFunctionName(func.function, DataCubeFunction.SUM)) {
|
|
52
|
+
return {
|
|
53
|
+
...column,
|
|
54
|
+
operation: DataCubeAggregateOperator.SUM,
|
|
55
|
+
parameters: [],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
else if (matchFunctionName(func.function, DataCubeFunction.AVERAGE)) {
|
|
59
|
+
return {
|
|
60
|
+
...column,
|
|
61
|
+
operation: DataCubeAggregateOperator.AVERAGE,
|
|
62
|
+
parameters: [],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
else if (matchFunctionName(func.function, DataCubeFunction.MIN)) {
|
|
66
|
+
return {
|
|
67
|
+
...column,
|
|
68
|
+
operation: DataCubeAggregateOperator.MIN,
|
|
69
|
+
parameters: [],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
else if (matchFunctionName(func.function, DataCubeFunction.MAX)) {
|
|
73
|
+
return {
|
|
74
|
+
...column,
|
|
75
|
+
operation: DataCubeAggregateOperator.MAX,
|
|
76
|
+
parameters: [],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
else if (matchFunctionName(func.function, DataCubeFunction.FIRST)) {
|
|
80
|
+
return {
|
|
81
|
+
...column,
|
|
82
|
+
operation: DataCubeAggregateOperator.FIRST,
|
|
83
|
+
parameters: [],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
else if (matchFunctionName(func.function, DataCubeFunction.LAST)) {
|
|
87
|
+
return {
|
|
88
|
+
...column,
|
|
89
|
+
operation: DataCubeAggregateOperator.LAST,
|
|
90
|
+
parameters: [],
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
else if (matchFunctionName(func.function, DataCubeFunction.VARIANCE_POPULATION)) {
|
|
94
|
+
return {
|
|
95
|
+
...column,
|
|
96
|
+
operation: DataCubeAggregateOperator.VARIANCE_POPULATION,
|
|
97
|
+
parameters: [],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
else if (matchFunctionName(func.function, DataCubeFunction.VARIANCE_SAMPLE)) {
|
|
101
|
+
return {
|
|
102
|
+
...column,
|
|
103
|
+
operation: DataCubeAggregateOperator.VARIANCE_SAMPLE,
|
|
104
|
+
parameters: [],
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
else if (matchFunctionName(func.function, DataCubeFunction.STANDARD_DEVIATION_POPULATION)) {
|
|
108
|
+
return {
|
|
109
|
+
...column,
|
|
110
|
+
operation: DataCubeAggregateOperator.STANDARD_DEVIATION_POPULATION,
|
|
111
|
+
parameters: [],
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
else if (matchFunctionName(func.function, DataCubeFunction.STANDARD_DEVIATION_SAMPLE)) {
|
|
115
|
+
return {
|
|
116
|
+
...column,
|
|
117
|
+
operation: DataCubeAggregateOperator.STANDARD_DEVIATION_SAMPLE,
|
|
118
|
+
parameters: [],
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
throw new UnsupportedOperationError(`Unsupported aggregate function '${func.function}'`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=DataCubeQuerySnapshotBuilderUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-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 { DataCubeViewState } from '../DataCubeViewState.js';
|
|
17
|
+
import type { DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
|
|
18
|
+
import type { DataCubeQuery } from '../engine/DataCubeQuery.js';
|
|
19
|
+
interface DataCubeQuerySnapshotSubscriber {
|
|
20
|
+
getLatestSnapshot(): DataCubeQuerySnapshot | undefined;
|
|
21
|
+
receiveSnapshot(snapshot: DataCubeQuerySnapshot): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export declare abstract class DataCubeQuerySnapshotController implements DataCubeQuerySnapshotSubscriber {
|
|
24
|
+
readonly view: DataCubeViewState;
|
|
25
|
+
private latestSnapshot;
|
|
26
|
+
constructor(view: DataCubeViewState);
|
|
27
|
+
abstract applySnapshot(snapshot: DataCubeQuerySnapshot, previousSnapshot: DataCubeQuerySnapshot | undefined): Promise<void>;
|
|
28
|
+
receiveSnapshot(snapshot: DataCubeQuerySnapshot): Promise<void>;
|
|
29
|
+
publishSnapshot(snapshot: DataCubeQuerySnapshot): void;
|
|
30
|
+
getLatestSnapshot(): DataCubeQuerySnapshot | undefined;
|
|
31
|
+
}
|
|
32
|
+
export declare class DataCubeQuerySnapshotManager {
|
|
33
|
+
private readonly view;
|
|
34
|
+
private readonly subscribers;
|
|
35
|
+
private readonly snapshots;
|
|
36
|
+
private _initialSnapshot;
|
|
37
|
+
private _initialQuery;
|
|
38
|
+
constructor(view: DataCubeViewState);
|
|
39
|
+
get currentSnapshot(): DataCubeQuerySnapshot;
|
|
40
|
+
registerSubscriber(subscriber: DataCubeQuerySnapshotSubscriber): void;
|
|
41
|
+
initialize(initialSnapshot: DataCubeQuerySnapshot, initialQuery: DataCubeQuery): void;
|
|
42
|
+
get initialSnapshot(): DataCubeQuerySnapshot;
|
|
43
|
+
get initialQuery(): DataCubeQuery;
|
|
44
|
+
broadcastSnapshot(snapshot: DataCubeQuerySnapshot): void;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=DataCubeQuerySnapshotManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotManager.d.ts","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAOxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKhE,UAAU,+BAA+B;IACvC,iBAAiB,IAAI,qBAAqB,GAAG,SAAS,CAAC;IACvD,eAAe,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,8BAAsB,+BACpB,YAAW,+BAA+B;IAE1C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAC;IAElC,OAAO,CAAC,cAAc,CAAoC;gBAE9C,IAAI,EAAE,iBAAiB;IAInC,QAAQ,CAAC,aAAa,CACpB,QAAQ,EAAE,qBAAqB,EAC/B,gBAAgB,EAAE,qBAAqB,GAAG,SAAS,GAClD,OAAO,CAAC,IAAI,CAAC;IAEV,eAAe,CAAC,QAAQ,EAAE,qBAAqB;IAMrD,eAAe,CAAC,QAAQ,EAAE,qBAAqB;IAgB/C,iBAAiB;CAGlB;AAED,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAEzD,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,aAAa,CAA4B;gBAErC,IAAI,EAAE,iBAAiB;IAInC,IAAI,eAAe,0BAElB;IAED,kBAAkB,CAAC,UAAU,EAAE,+BAA+B;IAI9D,UAAU,CACR,eAAe,EAAE,qBAAqB,EACtC,YAAY,EAAE,aAAa;IAW7B,IAAI,eAAe,0BAKlB;IAED,IAAI,YAAY,kBAKf;IAED,iBAAiB,CAAC,QAAQ,EAAE,qBAAqB;CAuBlD"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-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 { IllegalStateError, assertErrorThrown, deepDiff, guaranteeNonNullable, } from '@finos/legend-shared';
|
|
17
|
+
export class DataCubeQuerySnapshotController {
|
|
18
|
+
view;
|
|
19
|
+
latestSnapshot;
|
|
20
|
+
constructor(view) {
|
|
21
|
+
this.view = view;
|
|
22
|
+
}
|
|
23
|
+
async receiveSnapshot(snapshot) {
|
|
24
|
+
const previousSnapshot = this.latestSnapshot;
|
|
25
|
+
this.latestSnapshot = snapshot;
|
|
26
|
+
await this.applySnapshot(snapshot, previousSnapshot);
|
|
27
|
+
}
|
|
28
|
+
publishSnapshot(snapshot) {
|
|
29
|
+
if (this.view.engine.enableDebugMode) {
|
|
30
|
+
this.view.application.debugProcess(`New Snapshot`, '\nSnapshot', snapshot, '\nPrevious Snapshot', this.latestSnapshot ?? {}, '\nDiff', deepDiff(snapshot, this.latestSnapshot ?? {}));
|
|
31
|
+
}
|
|
32
|
+
this.latestSnapshot = snapshot;
|
|
33
|
+
this.view.snapshotManager.broadcastSnapshot(snapshot);
|
|
34
|
+
}
|
|
35
|
+
getLatestSnapshot() {
|
|
36
|
+
return this.latestSnapshot;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class DataCubeQuerySnapshotManager {
|
|
40
|
+
view;
|
|
41
|
+
subscribers = [];
|
|
42
|
+
snapshots = [];
|
|
43
|
+
_initialSnapshot;
|
|
44
|
+
_initialQuery;
|
|
45
|
+
constructor(view) {
|
|
46
|
+
this.view = view;
|
|
47
|
+
}
|
|
48
|
+
get currentSnapshot() {
|
|
49
|
+
return guaranteeNonNullable(this.snapshots[this.snapshots.length - 1]);
|
|
50
|
+
}
|
|
51
|
+
registerSubscriber(subscriber) {
|
|
52
|
+
this.subscribers.push(subscriber);
|
|
53
|
+
}
|
|
54
|
+
initialize(initialSnapshot, initialQuery) {
|
|
55
|
+
if (this._initialSnapshot || this._initialQuery) {
|
|
56
|
+
throw new IllegalStateError(`Snapshot manager has already been initialized`);
|
|
57
|
+
}
|
|
58
|
+
this._initialSnapshot = initialSnapshot;
|
|
59
|
+
this._initialQuery = initialQuery;
|
|
60
|
+
}
|
|
61
|
+
get initialSnapshot() {
|
|
62
|
+
return guaranteeNonNullable(this._initialSnapshot, `Snapshot manager has not been initialized`);
|
|
63
|
+
}
|
|
64
|
+
get initialQuery() {
|
|
65
|
+
return guaranteeNonNullable(this._initialQuery, `Snapshot manager has not been initialized`);
|
|
66
|
+
}
|
|
67
|
+
broadcastSnapshot(snapshot) {
|
|
68
|
+
if (!snapshot.isFinalized()) {
|
|
69
|
+
this.view.application.logIllegalStateError(`Snapshot must be finalized before broadcasting`);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.snapshots.push(snapshot);
|
|
73
|
+
this.subscribers.forEach((subscriber) => {
|
|
74
|
+
const currentSnapshot = subscriber.getLatestSnapshot();
|
|
75
|
+
if (currentSnapshot?.uuid !== snapshot.uuid) {
|
|
76
|
+
subscriber.receiveSnapshot(snapshot).catch((error) => {
|
|
77
|
+
assertErrorThrown(error);
|
|
78
|
+
this.view.application.logIllegalStateError(`Error occured while subscribers receiving and applying new snapshot should be handled gracefully`, error);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=DataCubeQuerySnapshotManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotManager.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-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 { DataCubeQuerySnapshotColumn } from '../DataCubeQuerySnapshot.js';
|
|
17
|
+
import { type V1_ColSpec } from '@finos/legend-graph';
|
|
18
|
+
import type { DataCubeColumnConfiguration } from '../DataCubeConfiguration.js';
|
|
19
|
+
export declare function getAggregateOperation(operator: string, aggregateOperations: DataCubeQueryAggregateOperation[]): DataCubeQueryAggregateOperation;
|
|
20
|
+
export declare abstract class DataCubeQueryAggregateOperation {
|
|
21
|
+
abstract get label(): React.ReactNode;
|
|
22
|
+
abstract get textLabel(): string;
|
|
23
|
+
abstract get description(): string;
|
|
24
|
+
abstract get operator(): string;
|
|
25
|
+
abstract isCompatibleWithColumn(column: DataCubeQuerySnapshotColumn): boolean;
|
|
26
|
+
abstract buildAggregateColumn(column: DataCubeColumnConfiguration): V1_ColSpec | undefined;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=DataCubeQueryAggregateOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeQueryAggregateOperation.d.ts","sourceRoot":"","sources":["../../../../src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAI/E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,+BAA+B,EAAE,mCAMvD;AAID,8BAAsB,+BAA+B;IACnD,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC;IACtC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IACjC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IACnC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC;IAEhC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO;IAE7E,QAAQ,CAAC,oBAAoB,CAC3B,MAAM,EAAE,2BAA2B,GAClC,UAAU,GAAG,SAAS;CAC1B"}
|