@finos/legend-application-query 5.0.0
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/LegendQueryAppEvent.d.ts +19 -0
- package/lib/LegendQueryAppEvent.d.ts.map +1 -0
- package/lib/LegendQueryAppEvent.js +21 -0
- package/lib/LegendQueryAppEvent.js.map +1 -0
- package/lib/QueryBuilder_Const.d.ts +77 -0
- package/lib/QueryBuilder_Const.d.ts.map +1 -0
- package/lib/QueryBuilder_Const.js +85 -0
- package/lib/QueryBuilder_Const.js.map +1 -0
- package/lib/application/LegendQuery.d.ts +27 -0
- package/lib/application/LegendQuery.d.ts.map +1 -0
- package/lib/application/LegendQuery.js +58 -0
- package/lib/application/LegendQuery.js.map +1 -0
- package/lib/application/LegendQueryApplicationConfig.d.ts +46 -0
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -0
- package/lib/application/LegendQueryApplicationConfig.js +35 -0
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -0
- package/lib/application/LegendQueryPluginManager.d.ts +32 -0
- package/lib/application/LegendQueryPluginManager.d.ts.map +1 -0
- package/lib/application/LegendQueryPluginManager.js +46 -0
- package/lib/application/LegendQueryPluginManager.js.map +1 -0
- package/lib/components/LegendQueryApplication.d.ts +25 -0
- package/lib/components/LegendQueryApplication.d.ts.map +1 -0
- package/lib/components/LegendQueryApplication.js +39 -0
- package/lib/components/LegendQueryApplication.js.map +1 -0
- package/lib/components/LegendQueryBaseStoreProvider.d.ts +28 -0
- package/lib/components/LegendQueryBaseStoreProvider.d.ts.map +1 -0
- package/lib/components/LegendQueryBaseStoreProvider.js +32 -0
- package/lib/components/LegendQueryBaseStoreProvider.js.map +1 -0
- package/lib/components/QueryBuilder.d.ts +23 -0
- package/lib/components/QueryBuilder.d.ts.map +1 -0
- package/lib/components/QueryBuilder.js +91 -0
- package/lib/components/QueryBuilder.js.map +1 -0
- package/lib/components/QueryBuilderExplorerPanel.d.ts +34 -0
- package/lib/components/QueryBuilderExplorerPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderExplorerPanel.js +379 -0
- package/lib/components/QueryBuilderExplorerPanel.js.map +1 -0
- package/lib/components/QueryBuilderFetchStructurePanel.d.ts +23 -0
- package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderFetchStructurePanel.js +89 -0
- package/lib/components/QueryBuilderFetchStructurePanel.js.map +1 -0
- package/lib/components/QueryBuilderFilterPanel.d.ts +23 -0
- package/lib/components/QueryBuilderFilterPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderFilterPanel.js +301 -0
- package/lib/components/QueryBuilderFilterPanel.js.map +1 -0
- package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts +23 -0
- package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderFunctionsExplorerPanel.js +177 -0
- package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +1 -0
- package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts +33 -0
- package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderGraphFetchTreePanel.js +96 -0
- package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +1 -0
- package/lib/components/QueryBuilderLambdaEditor.d.ts +42 -0
- package/lib/components/QueryBuilderLambdaEditor.d.ts.map +1 -0
- package/lib/components/QueryBuilderLambdaEditor.js +47 -0
- package/lib/components/QueryBuilderLambdaEditor.js.map +1 -0
- package/lib/components/QueryBuilderMilestoneEditor.d.ts +24 -0
- package/lib/components/QueryBuilderMilestoneEditor.d.ts.map +1 -0
- package/lib/components/QueryBuilderMilestoneEditor.js +120 -0
- package/lib/components/QueryBuilderMilestoneEditor.js.map +1 -0
- package/lib/components/QueryBuilderParameterPanel.d.ts +30 -0
- package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderParameterPanel.js +148 -0
- package/lib/components/QueryBuilderParameterPanel.js.map +1 -0
- package/lib/components/QueryBuilderPostFilterPanel.d.ts +31 -0
- package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderPostFilterPanel.js +373 -0
- package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -0
- package/lib/components/QueryBuilderProjectionPanel.d.ts +23 -0
- package/lib/components/QueryBuilderProjectionPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderProjectionPanel.js +229 -0
- package/lib/components/QueryBuilderProjectionPanel.js.map +1 -0
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +30 -0
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -0
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +116 -0
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -0
- package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts +26 -0
- package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -0
- package/lib/components/QueryBuilderPropertyInfoTooltip.js +32 -0
- package/lib/components/QueryBuilderPropertyInfoTooltip.js.map +1 -0
- package/lib/components/QueryBuilderPropertySearchPanel.d.ts +24 -0
- package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderPropertySearchPanel.js +202 -0
- package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -0
- package/lib/components/QueryBuilderResultModifierPanel.d.ts +23 -0
- package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderResultModifierPanel.js +88 -0
- package/lib/components/QueryBuilderResultModifierPanel.js.map +1 -0
- package/lib/components/QueryBuilderResultPanel.d.ts +23 -0
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderResultPanel.js +223 -0
- package/lib/components/QueryBuilderResultPanel.js.map +1 -0
- package/lib/components/QueryBuilderSetupPanel.d.ts +23 -0
- package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderSetupPanel.js +148 -0
- package/lib/components/QueryBuilderSetupPanel.js.map +1 -0
- package/lib/components/QueryBuilderTextEditor.d.ts +23 -0
- package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -0
- package/lib/components/QueryBuilderTextEditor.js +48 -0
- package/lib/components/QueryBuilderTextEditor.js.map +1 -0
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +23 -0
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -0
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js +35 -0
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -0
- package/lib/components/QueryBuilder_TestID.d.ts +26 -0
- package/lib/components/QueryBuilder_TestID.d.ts.map +1 -0
- package/lib/components/QueryBuilder_TestID.js +27 -0
- package/lib/components/QueryBuilder_TestID.js.map +1 -0
- package/lib/components/QueryEditor.d.ts +29 -0
- package/lib/components/QueryEditor.d.ts.map +1 -0
- package/lib/components/QueryEditor.js +130 -0
- package/lib/components/QueryEditor.js.map +1 -0
- package/lib/components/QueryEditorComponentTestUtils.d.ts +35 -0
- package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -0
- package/lib/components/QueryEditorComponentTestUtils.js +108 -0
- package/lib/components/QueryEditorComponentTestUtils.js.map +1 -0
- package/lib/components/QueryEditorStoreProvider.d.ts +37 -0
- package/lib/components/QueryEditorStoreProvider.d.ts.map +1 -0
- package/lib/components/QueryEditorStoreProvider.js +48 -0
- package/lib/components/QueryEditorStoreProvider.js.map +1 -0
- package/lib/components/QuerySetup.d.ts +18 -0
- package/lib/components/QuerySetup.d.ts.map +1 -0
- package/lib/components/QuerySetup.js +388 -0
- package/lib/components/QuerySetup.js.map +1 -0
- package/lib/components/QuerySetupStoreProvider.d.ts +23 -0
- package/lib/components/QuerySetupStoreProvider.d.ts.map +1 -0
- package/lib/components/QuerySetupStoreProvider.js +35 -0
- package/lib/components/QuerySetupStoreProvider.js.map +1 -0
- package/lib/components/shared/ElementIconUtils.d.ts +18 -0
- package/lib/components/shared/ElementIconUtils.d.ts.map +1 -0
- package/lib/components/shared/ElementIconUtils.js +37 -0
- package/lib/components/shared/ElementIconUtils.js.map +1 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPlugin.d.ts +21 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPlugin.d.ts.map +1 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPlugin.js +27 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPlugin.js.map +1 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPreset.d.ts +24 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPreset.d.ts.map +1 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPreset.js +32 -0
- package/lib/graphManager/QueryBuilder_GraphManagerPreset.js.map +1 -0
- package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.d.ts +21 -0
- package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.d.ts.map +1 -0
- package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.js +20 -0
- package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.js.map +1 -0
- package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.d.ts +21 -0
- package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.d.ts.map +1 -0
- package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.js +20 -0
- package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.js.map +1 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.d.ts +25 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.js +21 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.js.map +1 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.d.ts +18 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.js +20 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.js.map +1 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts +22 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +68 -0
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts +22 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js +207 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts +18 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js +18 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.d.ts +29 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js +182 -0
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js.map +1 -0
- package/lib/index.css +17 -0
- package/lib/index.css.map +1 -0
- package/lib/index.d.ts +36 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +36 -0
- package/lib/index.js.map +1 -0
- package/lib/package.json +99 -0
- package/lib/stores/LegendQueryApplicationPlugin.d.ts +47 -0
- package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -0
- package/lib/stores/LegendQueryApplicationPlugin.js +27 -0
- package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -0
- package/lib/stores/LegendQueryBaseStore.d.ts +28 -0
- package/lib/stores/LegendQueryBaseStore.d.ts.map +1 -0
- package/lib/stores/LegendQueryBaseStore.js +28 -0
- package/lib/stores/LegendQueryBaseStore.js.map +1 -0
- package/lib/stores/LegendQueryEventService.d.ts +27 -0
- package/lib/stores/LegendQueryEventService.d.ts.map +1 -0
- package/lib/stores/LegendQueryEventService.js +29 -0
- package/lib/stores/LegendQueryEventService.js.map +1 -0
- package/lib/stores/LegendQueryRouter.d.ts +55 -0
- package/lib/stores/LegendQueryRouter.d.ts.map +1 -0
- package/lib/stores/LegendQueryRouter.js +50 -0
- package/lib/stores/LegendQueryRouter.js.map +1 -0
- package/lib/stores/QueryBuilderAggregationState.d.ts +53 -0
- package/lib/stores/QueryBuilderAggregationState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderAggregationState.js +122 -0
- package/lib/stores/QueryBuilderAggregationState.js.map +1 -0
- package/lib/stores/QueryBuilderExplorerState.d.ts +93 -0
- package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderExplorerState.js +310 -0
- package/lib/stores/QueryBuilderExplorerState.js.map +1 -0
- package/lib/stores/QueryBuilderFetchStructureState.d.ts +33 -0
- package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderFetchStructureState.js +50 -0
- package/lib/stores/QueryBuilderFetchStructureState.js.map +1 -0
- package/lib/stores/QueryBuilderFilterState.d.ts +127 -0
- package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderFilterState.js +566 -0
- package/lib/stores/QueryBuilderFilterState.js.map +1 -0
- package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts +35 -0
- package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderGraphFetchTreeState.js +65 -0
- package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +1 -0
- package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts +41 -0
- package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -0
- package/lib/stores/QueryBuilderGraphFetchTreeUtil.js +173 -0
- package/lib/stores/QueryBuilderGraphFetchTreeUtil.js.map +1 -0
- package/lib/stores/QueryBuilderLambdaBuilder.d.ts +30 -0
- package/lib/stores/QueryBuilderLambdaBuilder.d.ts.map +1 -0
- package/lib/stores/QueryBuilderLambdaBuilder.js +407 -0
- package/lib/stores/QueryBuilderLambdaBuilder.js.map +1 -0
- package/lib/stores/QueryBuilderLambdaProcessor.d.ts +56 -0
- package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +1 -0
- package/lib/stores/QueryBuilderLambdaProcessor.js +544 -0
- package/lib/stores/QueryBuilderLambdaProcessor.js.map +1 -0
- package/lib/stores/QueryBuilderOperatorsHelper.d.ts +28 -0
- package/lib/stores/QueryBuilderOperatorsHelper.d.ts.map +1 -0
- package/lib/stores/QueryBuilderOperatorsHelper.js +123 -0
- package/lib/stores/QueryBuilderOperatorsHelper.js.map +1 -0
- package/lib/stores/QueryBuilderPostFilterOperator.d.ts +29 -0
- package/lib/stores/QueryBuilderPostFilterOperator.d.ts.map +1 -0
- package/lib/stores/QueryBuilderPostFilterOperator.js +30 -0
- package/lib/stores/QueryBuilderPostFilterOperator.js.map +1 -0
- package/lib/stores/QueryBuilderPostFilterProcessor.d.ts +24 -0
- package/lib/stores/QueryBuilderPostFilterProcessor.d.ts.map +1 -0
- package/lib/stores/QueryBuilderPostFilterProcessor.js +111 -0
- package/lib/stores/QueryBuilderPostFilterProcessor.js.map +1 -0
- package/lib/stores/QueryBuilderPostFilterState.d.ts +132 -0
- package/lib/stores/QueryBuilderPostFilterState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderPostFilterState.js +559 -0
- package/lib/stores/QueryBuilderPostFilterState.js.map +1 -0
- package/lib/stores/QueryBuilderPreviewDataHelper.d.ts +25 -0
- package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -0
- package/lib/stores/QueryBuilderPreviewDataHelper.js +161 -0
- package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -0
- package/lib/stores/QueryBuilderProjectionState.d.ts +104 -0
- package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderProjectionState.js +432 -0
- package/lib/stores/QueryBuilderProjectionState.js.map +1 -0
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts +62 -0
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderPropertyEditorState.js +384 -0
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -0
- package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts +46 -0
- package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderPropertySearchPanelState.js +240 -0
- package/lib/stores/QueryBuilderPropertySearchPanelState.js.map +1 -0
- package/lib/stores/QueryBuilderResultState.d.ts +38 -0
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderResultState.js +164 -0
- package/lib/stores/QueryBuilderResultState.js.map +1 -0
- package/lib/stores/QueryBuilderSetupState.d.ts +46 -0
- package/lib/stores/QueryBuilderSetupState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderSetupState.js +163 -0
- package/lib/stores/QueryBuilderSetupState.js.map +1 -0
- package/lib/stores/QueryBuilderState.d.ts +101 -0
- package/lib/stores/QueryBuilderState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderState.js +371 -0
- package/lib/stores/QueryBuilderState.js.map +1 -0
- package/lib/stores/QueryBuilderUnsupportedState.d.ts +26 -0
- package/lib/stores/QueryBuilderUnsupportedState.d.ts.map +1 -0
- package/lib/stores/QueryBuilderUnsupportedState.js +36 -0
- package/lib/stores/QueryBuilderUnsupportedState.js.map +1 -0
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts +19 -0
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -0
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +50 -0
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -0
- package/lib/stores/QueryEditorStore.d.ts +98 -0
- package/lib/stores/QueryEditorStore.d.ts.map +1 -0
- package/lib/stores/QueryEditorStore.js +370 -0
- package/lib/stores/QueryEditorStore.js.map +1 -0
- package/lib/stores/QueryEditorStoreTestUtils.d.ts +18 -0
- package/lib/stores/QueryEditorStoreTestUtils.d.ts.map +1 -0
- package/lib/stores/QueryEditorStoreTestUtils.js +42 -0
- package/lib/stores/QueryEditorStoreTestUtils.js.map +1 -0
- package/lib/stores/QueryFunctionsExplorerState.d.ts +63 -0
- package/lib/stores/QueryFunctionsExplorerState.d.ts.map +1 -0
- package/lib/stores/QueryFunctionsExplorerState.js +238 -0
- package/lib/stores/QueryFunctionsExplorerState.js.map +1 -0
- package/lib/stores/QueryParametersState.d.ts +30 -0
- package/lib/stores/QueryParametersState.d.ts.map +1 -0
- package/lib/stores/QueryParametersState.js +42 -0
- package/lib/stores/QueryParametersState.js.map +1 -0
- package/lib/stores/QueryResultSetModifierState.d.ts +52 -0
- package/lib/stores/QueryResultSetModifierState.d.ts.map +1 -0
- package/lib/stores/QueryResultSetModifierState.js +165 -0
- package/lib/stores/QueryResultSetModifierState.js.map +1 -0
- package/lib/stores/QuerySetupStore.d.ts +86 -0
- package/lib/stores/QuerySetupStore.d.ts.map +1 -0
- package/lib/stores/QuerySetupStore.js +297 -0
- package/lib/stores/QuerySetupStore.js.map +1 -0
- package/lib/stores/QueryTextEditorState.d.ts +49 -0
- package/lib/stores/QueryTextEditorState.d.ts.map +1 -0
- package/lib/stores/QueryTextEditorState.js +145 -0
- package/lib/stores/QueryTextEditorState.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts +21 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js +40 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts +26 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js +50 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts +26 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js +55 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts +25 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js +50 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts +26 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js +77 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts +26 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js +66 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts +25 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js +86 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts +25 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js +86 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts +26 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js +50 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +26 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js +50 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts +25 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js +45 -0
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts +20 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js +257 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts +31 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js +72 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts +31 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js +72 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts +31 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +139 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts +26 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +107 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +26 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +107 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts +31 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js +103 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts +31 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js +65 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts +26 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +108 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts +26 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +107 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts +31 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js +72 -0
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts +23 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js +74 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts +32 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js +76 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts +32 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js +76 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts +32 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +142 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts +27 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +105 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +24 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +43 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts +32 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js +104 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +33 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js +67 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts +27 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +105 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +24 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js +43 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts +32 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js +76 -0
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -0
- package/package.json +99 -0
- package/src/LegendQueryAppEvent.ts +20 -0
- package/src/QueryBuilder_Const.ts +88 -0
- package/src/application/LegendQuery.tsx +92 -0
- package/src/application/LegendQueryApplicationConfig.ts +77 -0
- package/src/application/LegendQueryPluginManager.ts +67 -0
- package/src/components/LegendQueryApplication.tsx +104 -0
- package/src/components/LegendQueryBaseStoreProvider.tsx +68 -0
- package/src/components/QueryBuilder.tsx +375 -0
- package/src/components/QueryBuilderExplorerPanel.tsx +998 -0
- package/src/components/QueryBuilderFetchStructurePanel.tsx +184 -0
- package/src/components/QueryBuilderFilterPanel.tsx +858 -0
- package/src/components/QueryBuilderFunctionsExplorerPanel.tsx +598 -0
- package/src/components/QueryBuilderGraphFetchTreePanel.tsx +270 -0
- package/src/components/QueryBuilderLambdaEditor.tsx +117 -0
- package/src/components/QueryBuilderMilestoneEditor.tsx +291 -0
- package/src/components/QueryBuilderParameterPanel.tsx +434 -0
- package/src/components/QueryBuilderPostFilterPanel.tsx +1061 -0
- package/src/components/QueryBuilderProjectionPanel.tsx +652 -0
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +370 -0
- package/src/components/QueryBuilderPropertyInfoTooltip.tsx +87 -0
- package/src/components/QueryBuilderPropertySearchPanel.tsx +617 -0
- package/src/components/QueryBuilderResultModifierPanel.tsx +252 -0
- package/src/components/QueryBuilderResultPanel.tsx +582 -0
- package/src/components/QueryBuilderSetupPanel.tsx +341 -0
- package/src/components/QueryBuilderTextEditor.tsx +127 -0
- package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +110 -0
- package/src/components/QueryBuilder_TestID.ts +26 -0
- package/src/components/QueryEditor.tsx +345 -0
- package/src/components/QueryEditorComponentTestUtils.tsx +200 -0
- package/src/components/QueryEditorStoreProvider.tsx +128 -0
- package/src/components/QuerySetup.tsx +907 -0
- package/src/components/QuerySetupStoreProvider.tsx +65 -0
- package/src/components/shared/ElementIconUtils.tsx +47 -0
- package/src/graphManager/QueryBuilder_GraphManagerPlugin.ts +32 -0
- package/src/graphManager/QueryBuilder_GraphManagerPreset.ts +33 -0
- package/src/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.ts +22 -0
- package/src/graphManager/action/analytics/ServiceExecutionAnalysis.ts +22 -0
- package/src/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.ts +47 -0
- package/src/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.ts +27 -0
- package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +170 -0
- package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.ts +573 -0
- package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.ts +28 -0
- package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.ts +296 -0
- package/src/index.ts +57 -0
- package/src/stores/LegendQueryApplicationPlugin.ts +61 -0
- package/src/stores/LegendQueryBaseStore.ts +47 -0
- package/src/stores/LegendQueryEventService.ts +38 -0
- package/src/stores/LegendQueryRouter.ts +114 -0
- package/src/stores/QueryBuilderAggregationState.ts +208 -0
- package/src/stores/QueryBuilderExplorerState.ts +590 -0
- package/src/stores/QueryBuilderFetchStructureState.ts +59 -0
- package/src/stores/QueryBuilderFilterState.ts +815 -0
- package/src/stores/QueryBuilderGraphFetchTreeState.ts +90 -0
- package/src/stores/QueryBuilderGraphFetchTreeUtil.ts +281 -0
- package/src/stores/QueryBuilderLambdaBuilder.ts +755 -0
- package/src/stores/QueryBuilderLambdaProcessor.ts +1239 -0
- package/src/stores/QueryBuilderOperatorsHelper.ts +191 -0
- package/src/stores/QueryBuilderPostFilterOperator.ts +66 -0
- package/src/stores/QueryBuilderPostFilterProcessor.ts +275 -0
- package/src/stores/QueryBuilderPostFilterState.ts +762 -0
- package/src/stores/QueryBuilderPreviewDataHelper.ts +300 -0
- package/src/stores/QueryBuilderProjectionState.ts +796 -0
- package/src/stores/QueryBuilderPropertyEditorState.ts +656 -0
- package/src/stores/QueryBuilderPropertySearchPanelState.ts +331 -0
- package/src/stores/QueryBuilderResultState.ts +263 -0
- package/src/stores/QueryBuilderSetupState.ts +236 -0
- package/src/stores/QueryBuilderState.ts +561 -0
- package/src/stores/QueryBuilderUnsupportedState.ts +42 -0
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +76 -0
- package/src/stores/QueryEditorStore.ts +648 -0
- package/src/stores/QueryEditorStoreTestUtils.ts +46 -0
- package/src/stores/QueryFunctionsExplorerState.ts +386 -0
- package/src/stores/QueryParametersState.ts +54 -0
- package/src/stores/QueryResultSetModifierState.ts +307 -0
- package/src/stores/QuerySetupStore.ts +430 -0
- package/src/stores/QueryTextEditorState.ts +203 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.ts +111 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.ts +100 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.ts +108 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.ts +98 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.ts +175 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.ts +157 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.ts +176 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.ts +176 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.ts +100 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.ts +100 -0
- package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.ts +90 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperatorHelper.ts +524 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_Contain.ts +134 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_EndWith.ts +134 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +233 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +164 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +164 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_In.ts +181 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.ts +125 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +165 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +164 -0
- package/src/stores/filterOperators/QueryBuilderFilterOperator_StartWith.ts +134 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.ts +129 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.ts +140 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.ts +135 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +238 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +161 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +70 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.ts +183 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.ts +113 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +161 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.ts +70 -0
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.ts +135 -0
- package/tsconfig.json +155 -0
- package/tsconfig.package.json +38 -0
@@ -0,0 +1,191 @@
|
|
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
|
+
import {
|
18
|
+
type PrimitiveType,
|
19
|
+
type Enumeration,
|
20
|
+
type Type,
|
21
|
+
type PureModel,
|
22
|
+
type ValueSpecification,
|
23
|
+
PRIMITIVE_TYPE,
|
24
|
+
extractElementNameFromPath,
|
25
|
+
matchFunctionName,
|
26
|
+
SimpleFunctionExpression,
|
27
|
+
TYPICAL_MULTIPLICITY_TYPE,
|
28
|
+
PrimitiveInstanceValue,
|
29
|
+
EnumValueInstanceValue,
|
30
|
+
VariableExpression,
|
31
|
+
AbstractPropertyExpression,
|
32
|
+
} from '@finos/legend-graph';
|
33
|
+
import {
|
34
|
+
addUniqueEntry,
|
35
|
+
guaranteeNonNullable,
|
36
|
+
guaranteeType,
|
37
|
+
UnsupportedOperationError,
|
38
|
+
} from '@finos/legend-shared';
|
39
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../QueryBuilder_Const.js';
|
40
|
+
|
41
|
+
export enum QUERY_BUILDER_GROUP_OPERATION {
|
42
|
+
AND = 'and',
|
43
|
+
OR = 'or',
|
44
|
+
}
|
45
|
+
|
46
|
+
export const fromGroupOperation = (
|
47
|
+
operation: QUERY_BUILDER_GROUP_OPERATION,
|
48
|
+
): string => {
|
49
|
+
switch (operation) {
|
50
|
+
case QUERY_BUILDER_GROUP_OPERATION.AND:
|
51
|
+
return QUERY_BUILDER_SUPPORTED_FUNCTIONS.AND;
|
52
|
+
case QUERY_BUILDER_GROUP_OPERATION.OR:
|
53
|
+
return QUERY_BUILDER_SUPPORTED_FUNCTIONS.OR;
|
54
|
+
default:
|
55
|
+
throw new UnsupportedOperationError(
|
56
|
+
`Can't derive function name from group operation '${operation}'`,
|
57
|
+
);
|
58
|
+
}
|
59
|
+
};
|
60
|
+
|
61
|
+
export const toGroupOperation = (
|
62
|
+
functionName: string,
|
63
|
+
): QUERY_BUILDER_GROUP_OPERATION => {
|
64
|
+
if (matchFunctionName(functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.AND)) {
|
65
|
+
return QUERY_BUILDER_GROUP_OPERATION.AND;
|
66
|
+
} else if (
|
67
|
+
matchFunctionName(functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.OR)
|
68
|
+
) {
|
69
|
+
return QUERY_BUILDER_GROUP_OPERATION.OR;
|
70
|
+
}
|
71
|
+
throw new UnsupportedOperationError(
|
72
|
+
`Can't derive group operation from function name '${functionName}'`,
|
73
|
+
);
|
74
|
+
};
|
75
|
+
|
76
|
+
export const getNonCollectionValueSpecificationType = (
|
77
|
+
valueSpecification: ValueSpecification,
|
78
|
+
): Type | undefined => {
|
79
|
+
if (valueSpecification instanceof PrimitiveInstanceValue) {
|
80
|
+
return valueSpecification.genericType.value.rawType;
|
81
|
+
} else if (valueSpecification instanceof EnumValueInstanceValue) {
|
82
|
+
return guaranteeNonNullable(valueSpecification.values[0]).value._OWNER;
|
83
|
+
} else if (valueSpecification instanceof VariableExpression) {
|
84
|
+
return valueSpecification.genericType?.value.rawType;
|
85
|
+
} else if (valueSpecification instanceof SimpleFunctionExpression) {
|
86
|
+
return valueSpecification.genericType?.value.rawType;
|
87
|
+
}
|
88
|
+
return undefined;
|
89
|
+
};
|
90
|
+
|
91
|
+
export const getCollectionValueSpecificationType = (
|
92
|
+
graph: PureModel,
|
93
|
+
values: ValueSpecification[],
|
94
|
+
): Type | undefined => {
|
95
|
+
if (values.every((val) => val instanceof PrimitiveInstanceValue)) {
|
96
|
+
const valuePrimitiveTypes: (PrimitiveType | undefined)[] = [];
|
97
|
+
(values as PrimitiveInstanceValue[]).forEach((val) => {
|
98
|
+
const primitiveType = val.genericType.value.rawType;
|
99
|
+
switch (primitiveType.path) {
|
100
|
+
case PRIMITIVE_TYPE.STRING:
|
101
|
+
addUniqueEntry(
|
102
|
+
valuePrimitiveTypes,
|
103
|
+
graph.getPrimitiveType(PRIMITIVE_TYPE.STRING),
|
104
|
+
);
|
105
|
+
break;
|
106
|
+
case PRIMITIVE_TYPE.INTEGER:
|
107
|
+
case PRIMITIVE_TYPE.DECIMAL:
|
108
|
+
case PRIMITIVE_TYPE.FLOAT:
|
109
|
+
case PRIMITIVE_TYPE.NUMBER:
|
110
|
+
addUniqueEntry(
|
111
|
+
valuePrimitiveTypes,
|
112
|
+
graph.getPrimitiveType(PRIMITIVE_TYPE.NUMBER),
|
113
|
+
);
|
114
|
+
break;
|
115
|
+
default:
|
116
|
+
valuePrimitiveTypes.push(undefined);
|
117
|
+
break;
|
118
|
+
}
|
119
|
+
});
|
120
|
+
if (valuePrimitiveTypes.length > 1) {
|
121
|
+
return undefined;
|
122
|
+
}
|
123
|
+
return valuePrimitiveTypes[0] as PrimitiveType;
|
124
|
+
} else if (values.every((val) => val instanceof EnumValueInstanceValue)) {
|
125
|
+
const valueEnumerationTypes: Enumeration[] = [];
|
126
|
+
(values as EnumValueInstanceValue[]).forEach((val) => {
|
127
|
+
addUniqueEntry(
|
128
|
+
valueEnumerationTypes,
|
129
|
+
guaranteeNonNullable(val.values[0]).value._OWNER,
|
130
|
+
);
|
131
|
+
});
|
132
|
+
if (valueEnumerationTypes.length > 1) {
|
133
|
+
return undefined;
|
134
|
+
}
|
135
|
+
return valueEnumerationTypes[0];
|
136
|
+
}
|
137
|
+
return undefined;
|
138
|
+
};
|
139
|
+
|
140
|
+
export const unwrapNotExpression = (
|
141
|
+
expression: SimpleFunctionExpression,
|
142
|
+
): SimpleFunctionExpression | undefined => {
|
143
|
+
if (
|
144
|
+
matchFunctionName(
|
145
|
+
expression.functionName,
|
146
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.NOT,
|
147
|
+
)
|
148
|
+
) {
|
149
|
+
return guaranteeType(
|
150
|
+
expression.parametersValues[0],
|
151
|
+
SimpleFunctionExpression,
|
152
|
+
);
|
153
|
+
}
|
154
|
+
return undefined;
|
155
|
+
};
|
156
|
+
|
157
|
+
export const buildNotExpression = (
|
158
|
+
graph: PureModel,
|
159
|
+
expression: ValueSpecification,
|
160
|
+
): ValueSpecification => {
|
161
|
+
const multiplicityOne = graph.getTypicalMultiplicity(
|
162
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
163
|
+
);
|
164
|
+
const expressionNot = new SimpleFunctionExpression(
|
165
|
+
extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.NOT),
|
166
|
+
multiplicityOne,
|
167
|
+
);
|
168
|
+
expressionNot.parametersValues.push(expression);
|
169
|
+
return expressionNot;
|
170
|
+
};
|
171
|
+
|
172
|
+
export const isPropertyExpressionChainOptional = (
|
173
|
+
expression: ValueSpecification | undefined,
|
174
|
+
): boolean => {
|
175
|
+
let isOptional = false;
|
176
|
+
let propertyExpression = expression;
|
177
|
+
while (
|
178
|
+
propertyExpression &&
|
179
|
+
propertyExpression instanceof AbstractPropertyExpression
|
180
|
+
) {
|
181
|
+
if (propertyExpression.func.multiplicity.lowerBound === 0) {
|
182
|
+
isOptional = true;
|
183
|
+
break;
|
184
|
+
}
|
185
|
+
propertyExpression = propertyExpression.parametersValues.at(0);
|
186
|
+
while (propertyExpression instanceof SimpleFunctionExpression) {
|
187
|
+
propertyExpression = propertyExpression.parametersValues.at(0);
|
188
|
+
}
|
189
|
+
}
|
190
|
+
return isOptional;
|
191
|
+
};
|
@@ -0,0 +1,66 @@
|
|
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
|
+
import type {
|
18
|
+
FunctionExpression,
|
19
|
+
Type,
|
20
|
+
ValueSpecification,
|
21
|
+
} from '@finos/legend-graph';
|
22
|
+
import { uuid } from '@finos/legend-shared';
|
23
|
+
import type {
|
24
|
+
PostFilterConditionState,
|
25
|
+
QueryBuilderPostFilterState,
|
26
|
+
TDS_COLUMN_GETTER,
|
27
|
+
} from './QueryBuilderPostFilterState.js';
|
28
|
+
|
29
|
+
export abstract class QueryBuilderPostFilterOperator {
|
30
|
+
readonly uuid = uuid();
|
31
|
+
|
32
|
+
abstract getLabel(): string;
|
33
|
+
|
34
|
+
getTdsColumnGetter(): TDS_COLUMN_GETTER | undefined {
|
35
|
+
return undefined;
|
36
|
+
}
|
37
|
+
|
38
|
+
abstract isCompatibleWithType(type: Type): boolean;
|
39
|
+
|
40
|
+
abstract isCompatibleWithConditionValue(
|
41
|
+
postFilterConditionState: PostFilterConditionState,
|
42
|
+
): boolean;
|
43
|
+
|
44
|
+
abstract getDefaultFilterConditionValue(
|
45
|
+
postFilterConditionState: PostFilterConditionState,
|
46
|
+
): ValueSpecification | undefined;
|
47
|
+
|
48
|
+
isCompatibleWithPostFilterColumn(
|
49
|
+
postFilterState: PostFilterConditionState,
|
50
|
+
): boolean {
|
51
|
+
const columnType = postFilterState.columnState.getReturnType();
|
52
|
+
if (columnType) {
|
53
|
+
return this.isCompatibleWithType(columnType);
|
54
|
+
}
|
55
|
+
return false;
|
56
|
+
}
|
57
|
+
|
58
|
+
abstract buildPostFilterConditionExpression(
|
59
|
+
postFilterConditionState: PostFilterConditionState,
|
60
|
+
): ValueSpecification | undefined;
|
61
|
+
|
62
|
+
abstract buildPostFilterConditionState(
|
63
|
+
postFilterState: QueryBuilderPostFilterState,
|
64
|
+
expression: FunctionExpression,
|
65
|
+
): PostFilterConditionState | undefined;
|
66
|
+
}
|
@@ -0,0 +1,275 @@
|
|
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
|
+
import {
|
18
|
+
type LambdaFunctionInstanceValue,
|
19
|
+
AbstractPropertyExpression,
|
20
|
+
extractElementNameFromPath,
|
21
|
+
PrimitiveInstanceValue,
|
22
|
+
matchFunctionName,
|
23
|
+
VariableExpression,
|
24
|
+
FunctionExpression,
|
25
|
+
} from '@finos/legend-graph';
|
26
|
+
import {
|
27
|
+
assertTrue,
|
28
|
+
guaranteeIsString,
|
29
|
+
guaranteeNonNullable,
|
30
|
+
guaranteeType,
|
31
|
+
UnsupportedOperationError,
|
32
|
+
} from '@finos/legend-shared';
|
33
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../QueryBuilder_Const.js';
|
34
|
+
import type { QueryBuilderAggregateColumnState } from './QueryBuilderAggregationState.js';
|
35
|
+
import { toGroupOperation } from './QueryBuilderOperatorsHelper.js';
|
36
|
+
import type { QueryBuilderPostFilterOperator } from './QueryBuilderPostFilterOperator.js';
|
37
|
+
import {
|
38
|
+
type QueryBuilderPostFilterState,
|
39
|
+
getTDSColumnDerivedProperyFromType,
|
40
|
+
PostFilterConditionState,
|
41
|
+
QueryBuilderPostFilterTreeConditionNodeData,
|
42
|
+
QueryBuilderPostFilterTreeGroupNodeData,
|
43
|
+
TDS_COLUMN_GETTER,
|
44
|
+
getTypeFromDerivedProperty,
|
45
|
+
} from './QueryBuilderPostFilterState.js';
|
46
|
+
import {
|
47
|
+
type QueryBuilderProjectionColumnState,
|
48
|
+
QueryBuilderDerivationProjectionColumnState,
|
49
|
+
} from './QueryBuilderProjectionState.js';
|
50
|
+
|
51
|
+
export const findTdsColumnState = (
|
52
|
+
propertyExpression: AbstractPropertyExpression,
|
53
|
+
postFilterState: QueryBuilderPostFilterState,
|
54
|
+
): QueryBuilderProjectionColumnState | QueryBuilderAggregateColumnState => {
|
55
|
+
const fetchStructureState =
|
56
|
+
postFilterState.queryBuilderState.fetchStructureState;
|
57
|
+
const properyExpressionName = propertyExpression.func.name;
|
58
|
+
assertTrue(
|
59
|
+
Object.values(TDS_COLUMN_GETTER).includes(
|
60
|
+
properyExpressionName as TDS_COLUMN_GETTER,
|
61
|
+
),
|
62
|
+
`Can't process TDS column expression: TDS column property '${properyExpressionName}' not supported. Supported types are ${Object.values(
|
63
|
+
TDS_COLUMN_GETTER,
|
64
|
+
).join(',')}`,
|
65
|
+
);
|
66
|
+
const tdsColumnGetter = properyExpressionName as TDS_COLUMN_GETTER;
|
67
|
+
const columnNameExpression = propertyExpression.parametersValues[1];
|
68
|
+
const columnName = guaranteeIsString(
|
69
|
+
guaranteeType(
|
70
|
+
columnNameExpression,
|
71
|
+
PrimitiveInstanceValue,
|
72
|
+
'Can`t process TDS column expression: Column should be a primitive instance value',
|
73
|
+
).values[0],
|
74
|
+
'Can`t process TDS column expression: Column should be a string primitive instance value',
|
75
|
+
);
|
76
|
+
const columnStates = [
|
77
|
+
...fetchStructureState.projectionState.aggregationState.columns,
|
78
|
+
...fetchStructureState.projectionState.columns,
|
79
|
+
];
|
80
|
+
const columnState = guaranteeNonNullable(
|
81
|
+
columnStates.find((c) => c.columnName === columnName),
|
82
|
+
);
|
83
|
+
if (
|
84
|
+
tdsColumnGetter !== TDS_COLUMN_GETTER.IS_NULL &&
|
85
|
+
tdsColumnGetter !== TDS_COLUMN_GETTER.IS_NOT_NULL
|
86
|
+
) {
|
87
|
+
if (columnState instanceof QueryBuilderDerivationProjectionColumnState) {
|
88
|
+
const type = getTypeFromDerivedProperty(
|
89
|
+
tdsColumnGetter,
|
90
|
+
postFilterState.queryBuilderState.graphManagerState.graph,
|
91
|
+
);
|
92
|
+
if (type) {
|
93
|
+
columnState.setReturnType(type);
|
94
|
+
}
|
95
|
+
return columnState;
|
96
|
+
}
|
97
|
+
const columnType = guaranteeNonNullable(columnState.getReturnType());
|
98
|
+
assertTrue(
|
99
|
+
(getTDSColumnDerivedProperyFromType(columnType) as string) ===
|
100
|
+
tdsColumnGetter,
|
101
|
+
`Can't process TDS column expression: expected column type ${getTDSColumnDerivedProperyFromType(
|
102
|
+
columnType,
|
103
|
+
)} (got ${tdsColumnGetter})`,
|
104
|
+
);
|
105
|
+
}
|
106
|
+
return columnState;
|
107
|
+
};
|
108
|
+
|
109
|
+
export const buildPostFilterConditionState = (
|
110
|
+
postFilterState: QueryBuilderPostFilterState,
|
111
|
+
expression: FunctionExpression,
|
112
|
+
operatorFunctionFullPath: string | undefined,
|
113
|
+
operator: QueryBuilderPostFilterOperator,
|
114
|
+
): PostFilterConditionState | undefined => {
|
115
|
+
let postConditionState: PostFilterConditionState | undefined;
|
116
|
+
const tdsColumnGetter = operator.getTdsColumnGetter();
|
117
|
+
if (
|
118
|
+
tdsColumnGetter &&
|
119
|
+
expression instanceof AbstractPropertyExpression &&
|
120
|
+
expression.func.name === tdsColumnGetter
|
121
|
+
) {
|
122
|
+
const columnState = findTdsColumnState(expression, postFilterState);
|
123
|
+
postConditionState = new PostFilterConditionState(
|
124
|
+
postFilterState,
|
125
|
+
columnState,
|
126
|
+
undefined,
|
127
|
+
operator,
|
128
|
+
);
|
129
|
+
return postConditionState;
|
130
|
+
} else if (
|
131
|
+
operatorFunctionFullPath &&
|
132
|
+
matchFunctionName(expression.functionName, operatorFunctionFullPath)
|
133
|
+
) {
|
134
|
+
assertTrue(
|
135
|
+
expression.parametersValues.length === 2,
|
136
|
+
`Can't process ${extractElementNameFromPath(
|
137
|
+
operatorFunctionFullPath,
|
138
|
+
)}() expression: ${extractElementNameFromPath(
|
139
|
+
operatorFunctionFullPath,
|
140
|
+
)}() expects '1 argument'`,
|
141
|
+
);
|
142
|
+
|
143
|
+
// get projection column
|
144
|
+
const tdsColumnPropertyExpression = guaranteeType(
|
145
|
+
expression.parametersValues[0],
|
146
|
+
AbstractPropertyExpression,
|
147
|
+
`Can't process ${extractElementNameFromPath(
|
148
|
+
operatorFunctionFullPath,
|
149
|
+
)}() expression: expects property expression in lambda body`,
|
150
|
+
);
|
151
|
+
const columnState = findTdsColumnState(
|
152
|
+
tdsColumnPropertyExpression,
|
153
|
+
postFilterState,
|
154
|
+
);
|
155
|
+
|
156
|
+
// get operation value specification
|
157
|
+
const value = expression.parametersValues[1];
|
158
|
+
// create state
|
159
|
+
postConditionState = new PostFilterConditionState(
|
160
|
+
postFilterState,
|
161
|
+
columnState,
|
162
|
+
value,
|
163
|
+
operator,
|
164
|
+
);
|
165
|
+
|
166
|
+
//post checks
|
167
|
+
assertTrue(
|
168
|
+
operator.isCompatibleWithPostFilterColumn(postConditionState),
|
169
|
+
`Can't process ${extractElementNameFromPath(
|
170
|
+
operatorFunctionFullPath,
|
171
|
+
)}() expression: property is not compatible with post-filter operator`,
|
172
|
+
);
|
173
|
+
assertTrue(
|
174
|
+
operator.isCompatibleWithConditionValue(postConditionState),
|
175
|
+
`Operator '${operator.getLabel()}' not compatible with value specification ${value?.toString()}`,
|
176
|
+
);
|
177
|
+
}
|
178
|
+
return postConditionState;
|
179
|
+
};
|
180
|
+
|
181
|
+
const processPostFilterExpression = (
|
182
|
+
expression: FunctionExpression,
|
183
|
+
postFilterState: QueryBuilderPostFilterState,
|
184
|
+
parentPostFilterNodeId: string | undefined,
|
185
|
+
): void => {
|
186
|
+
const parentNode = parentPostFilterNodeId
|
187
|
+
? postFilterState.getNode(parentPostFilterNodeId)
|
188
|
+
: undefined;
|
189
|
+
if (
|
190
|
+
[
|
191
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.AND,
|
192
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.OR,
|
193
|
+
].some((fn) => matchFunctionName(expression.functionName, fn))
|
194
|
+
) {
|
195
|
+
const groupNode = new QueryBuilderPostFilterTreeGroupNodeData(
|
196
|
+
parentPostFilterNodeId,
|
197
|
+
toGroupOperation(expression.functionName),
|
198
|
+
);
|
199
|
+
postFilterState.nodes.set(groupNode.id, groupNode);
|
200
|
+
expression.parametersValues.forEach((postFilterExpression) =>
|
201
|
+
processPostFilterExpression(
|
202
|
+
guaranteeType(
|
203
|
+
postFilterExpression,
|
204
|
+
FunctionExpression,
|
205
|
+
`Can't process post-filter group expression: each child expression must be a function expression`,
|
206
|
+
),
|
207
|
+
postFilterState,
|
208
|
+
groupNode.id,
|
209
|
+
),
|
210
|
+
);
|
211
|
+
postFilterState.addNodeFromNode(groupNode, parentNode);
|
212
|
+
} else {
|
213
|
+
for (const operator of postFilterState.operators) {
|
214
|
+
// NOTE: this allow plugin author to either return `undefined`
|
215
|
+
const postFilterConditionState = operator.buildPostFilterConditionState(
|
216
|
+
postFilterState,
|
217
|
+
expression,
|
218
|
+
);
|
219
|
+
if (postFilterConditionState) {
|
220
|
+
postFilterState.addNodeFromNode(
|
221
|
+
new QueryBuilderPostFilterTreeConditionNodeData(
|
222
|
+
undefined,
|
223
|
+
postFilterConditionState,
|
224
|
+
),
|
225
|
+
parentNode,
|
226
|
+
);
|
227
|
+
return;
|
228
|
+
}
|
229
|
+
}
|
230
|
+
throw new UnsupportedOperationError(
|
231
|
+
`Can't process post-filter expression: no compatible post-filter operator processer available from plugins`,
|
232
|
+
);
|
233
|
+
}
|
234
|
+
};
|
235
|
+
|
236
|
+
export const processPostFilterLambda = (
|
237
|
+
postFilterLambda: LambdaFunctionInstanceValue,
|
238
|
+
postFilterState: QueryBuilderPostFilterState,
|
239
|
+
): void => {
|
240
|
+
const fetchStructureState =
|
241
|
+
postFilterState.queryBuilderState.fetchStructureState;
|
242
|
+
assertTrue(
|
243
|
+
fetchStructureState.isProjectionMode(),
|
244
|
+
`Can't process post-filter lambda: post-filter lambda must use projection fetch structure`,
|
245
|
+
);
|
246
|
+
assertTrue(
|
247
|
+
Boolean(fetchStructureState.projectionState.columns.length),
|
248
|
+
`Can't process post-filter lambda: post-filter lambda must have at least one projection column `,
|
249
|
+
);
|
250
|
+
const lambdaFunc = guaranteeNonNullable(
|
251
|
+
postFilterLambda.values[0],
|
252
|
+
`Can't process post-filter lambda: post-filter lambda function is missing`,
|
253
|
+
);
|
254
|
+
assertTrue(
|
255
|
+
lambdaFunc.expressionSequence.length === 1,
|
256
|
+
`Can't process post-filter lambda: only support post-filter lambda body with 1 expression`,
|
257
|
+
);
|
258
|
+
const rootExpression = guaranteeType(
|
259
|
+
lambdaFunc.expressionSequence[0],
|
260
|
+
FunctionExpression,
|
261
|
+
`Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'`,
|
262
|
+
);
|
263
|
+
assertTrue(
|
264
|
+
lambdaFunc.functionType.parameters.length === 1,
|
265
|
+
`Can't process post-filter lambda: only support post-filter lambda with 1 parameter`,
|
266
|
+
);
|
267
|
+
postFilterState.setLambdaParameterName(
|
268
|
+
guaranteeType(
|
269
|
+
lambdaFunc.functionType.parameters[0],
|
270
|
+
VariableExpression,
|
271
|
+
`Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'`,
|
272
|
+
).name,
|
273
|
+
);
|
274
|
+
processPostFilterExpression(rootExpression, postFilterState, undefined);
|
275
|
+
};
|