@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,164 @@
|
|
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
|
+
QueryBuilderFilterOperator,
|
19
|
+
type QueryBuilderFilterState,
|
20
|
+
type FilterConditionState,
|
21
|
+
} from '../QueryBuilderFilterState.js';
|
22
|
+
import {
|
23
|
+
PRIMITIVE_TYPE,
|
24
|
+
type ValueSpecification,
|
25
|
+
type SimpleFunctionExpression,
|
26
|
+
type AbstractPropertyExpression,
|
27
|
+
isSuperType,
|
28
|
+
SUPPORTED_FUNCTIONS,
|
29
|
+
buildPrimitiveInstanceValue,
|
30
|
+
} from '@finos/legend-graph';
|
31
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
32
|
+
import {
|
33
|
+
buildFilterConditionState,
|
34
|
+
buildFilterConditionExpression,
|
35
|
+
} from './QueryBuilderFilterOperatorHelper.js';
|
36
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
|
37
|
+
import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
|
38
|
+
import { getNonCollectionValueSpecificationType } from '../QueryBuilderOperatorsHelper.js';
|
39
|
+
|
40
|
+
export class QueryBuilderFilterOperator_LessThanEqual extends QueryBuilderFilterOperator {
|
41
|
+
getLabel(filterConditionState: FilterConditionState): string {
|
42
|
+
return '<=';
|
43
|
+
}
|
44
|
+
|
45
|
+
isCompatibleWithFilterConditionProperty(
|
46
|
+
filterConditionState: FilterConditionState,
|
47
|
+
): boolean {
|
48
|
+
const propertyType =
|
49
|
+
filterConditionState.propertyExpressionState.propertyExpression.func
|
50
|
+
.genericType.value.rawType;
|
51
|
+
return (
|
52
|
+
[
|
53
|
+
PRIMITIVE_TYPE.NUMBER,
|
54
|
+
PRIMITIVE_TYPE.INTEGER,
|
55
|
+
PRIMITIVE_TYPE.DECIMAL,
|
56
|
+
PRIMITIVE_TYPE.FLOAT,
|
57
|
+
PRIMITIVE_TYPE.DATE,
|
58
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
59
|
+
PRIMITIVE_TYPE.DATETIME,
|
60
|
+
] as string[]
|
61
|
+
).includes(propertyType.path);
|
62
|
+
}
|
63
|
+
|
64
|
+
isCompatibleWithFilterConditionValue(
|
65
|
+
filterConditionState: FilterConditionState,
|
66
|
+
): boolean {
|
67
|
+
const propertyType =
|
68
|
+
filterConditionState.propertyExpressionState.propertyExpression.func
|
69
|
+
.genericType.value.rawType;
|
70
|
+
const type = filterConditionState.value
|
71
|
+
? getNonCollectionValueSpecificationType(filterConditionState.value)
|
72
|
+
: undefined;
|
73
|
+
const NUMERIC_PRIMITIVE_TYPES = [
|
74
|
+
PRIMITIVE_TYPE.NUMBER,
|
75
|
+
PRIMITIVE_TYPE.INTEGER,
|
76
|
+
PRIMITIVE_TYPE.DECIMAL,
|
77
|
+
PRIMITIVE_TYPE.FLOAT,
|
78
|
+
] as string[];
|
79
|
+
|
80
|
+
const DATE_PRIMITIVE_TYPES = [
|
81
|
+
PRIMITIVE_TYPE.DATE,
|
82
|
+
PRIMITIVE_TYPE.DATETIME,
|
83
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
84
|
+
PRIMITIVE_TYPE.LATESTDATE,
|
85
|
+
] as string[];
|
86
|
+
|
87
|
+
// When changing the return type for LHS, the RHS value should be adjusted accordingly.
|
88
|
+
return (
|
89
|
+
type !== undefined &&
|
90
|
+
// Numeric value is handled loosely because of autoboxing
|
91
|
+
// e.g. LHS (integer) = RHS (float) is acceptable
|
92
|
+
((NUMERIC_PRIMITIVE_TYPES.includes(type.path) &&
|
93
|
+
NUMERIC_PRIMITIVE_TYPES.includes(propertyType.path)) ||
|
94
|
+
// Date value is handled loosely as well if the LHS is of type DateTime
|
95
|
+
// This is because we would simulate auto-boxing for date by altering the
|
96
|
+
// Pure function used for the operation
|
97
|
+
// e.g. LHS(DateTime) = RHS(Date) -> we use isOnDay() instead of is()
|
98
|
+
DATE_PRIMITIVE_TYPES.includes(type.path) ||
|
99
|
+
type === propertyType ||
|
100
|
+
isSuperType(propertyType, type))
|
101
|
+
);
|
102
|
+
}
|
103
|
+
|
104
|
+
getDefaultFilterConditionValue(
|
105
|
+
filterConditionState: FilterConditionState,
|
106
|
+
): ValueSpecification | undefined {
|
107
|
+
const propertyType =
|
108
|
+
filterConditionState.propertyExpressionState.propertyExpression.func
|
109
|
+
.genericType.value.rawType;
|
110
|
+
switch (propertyType.path) {
|
111
|
+
case PRIMITIVE_TYPE.NUMBER:
|
112
|
+
case PRIMITIVE_TYPE.DECIMAL:
|
113
|
+
case PRIMITIVE_TYPE.FLOAT:
|
114
|
+
case PRIMITIVE_TYPE.INTEGER:
|
115
|
+
case PRIMITIVE_TYPE.DATE:
|
116
|
+
case PRIMITIVE_TYPE.STRICTDATE:
|
117
|
+
case PRIMITIVE_TYPE.DATETIME: {
|
118
|
+
return buildPrimitiveInstanceValue(
|
119
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
120
|
+
.graph,
|
121
|
+
propertyType.path,
|
122
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
123
|
+
);
|
124
|
+
}
|
125
|
+
default:
|
126
|
+
throw new UnsupportedOperationError(
|
127
|
+
`Can't get default value for filter operator '${this.getLabel(
|
128
|
+
filterConditionState,
|
129
|
+
)}' when the LHS property is of type '${propertyType.path}'`,
|
130
|
+
);
|
131
|
+
}
|
132
|
+
}
|
133
|
+
|
134
|
+
buildFilterConditionExpression(
|
135
|
+
filterConditionState: FilterConditionState,
|
136
|
+
): ValueSpecification {
|
137
|
+
return buildFilterConditionExpression(
|
138
|
+
filterConditionState,
|
139
|
+
filterConditionState.propertyExpressionState.propertyExpression.func
|
140
|
+
.genericType.value.rawType.path === PRIMITIVE_TYPE.DATETIME &&
|
141
|
+
filterConditionState.value?.genericType?.value.rawType.path !==
|
142
|
+
PRIMITIVE_TYPE.DATETIME
|
143
|
+
? SUPPORTED_FUNCTIONS.IS_ON_OR_BEFORE_DAY
|
144
|
+
: QUERY_BUILDER_SUPPORTED_FUNCTIONS.LESS_THAN_EQUAL,
|
145
|
+
);
|
146
|
+
}
|
147
|
+
|
148
|
+
buildFilterConditionState(
|
149
|
+
filterState: QueryBuilderFilterState,
|
150
|
+
expression: SimpleFunctionExpression,
|
151
|
+
): FilterConditionState | undefined {
|
152
|
+
return buildFilterConditionState(
|
153
|
+
filterState,
|
154
|
+
expression,
|
155
|
+
(expression.parametersValues[0] as AbstractPropertyExpression).func
|
156
|
+
.genericType.value.rawType.path === PRIMITIVE_TYPE.DATETIME &&
|
157
|
+
expression.parametersValues[1]?.genericType?.value.rawType.path !==
|
158
|
+
PRIMITIVE_TYPE.DATETIME
|
159
|
+
? SUPPORTED_FUNCTIONS.IS_ON_OR_BEFORE_DAY
|
160
|
+
: QUERY_BUILDER_SUPPORTED_FUNCTIONS.LESS_THAN_EQUAL,
|
161
|
+
this,
|
162
|
+
);
|
163
|
+
}
|
164
|
+
}
|
@@ -0,0 +1,134 @@
|
|
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
|
+
QueryBuilderFilterOperator,
|
19
|
+
type QueryBuilderFilterState,
|
20
|
+
type FilterConditionState,
|
21
|
+
} from '../QueryBuilderFilterState.js';
|
22
|
+
import {
|
23
|
+
PRIMITIVE_TYPE,
|
24
|
+
type ValueSpecification,
|
25
|
+
type SimpleFunctionExpression,
|
26
|
+
buildPrimitiveInstanceValue,
|
27
|
+
} from '@finos/legend-graph';
|
28
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
29
|
+
import {
|
30
|
+
buildFilterConditionState,
|
31
|
+
buildFilterConditionExpression,
|
32
|
+
} from './QueryBuilderFilterOperatorHelper.js';
|
33
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
|
34
|
+
import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
|
35
|
+
import {
|
36
|
+
buildNotExpression,
|
37
|
+
getNonCollectionValueSpecificationType,
|
38
|
+
unwrapNotExpression,
|
39
|
+
} from '../QueryBuilderOperatorsHelper.js';
|
40
|
+
|
41
|
+
export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOperator {
|
42
|
+
getLabel(filterConditionState: FilterConditionState): string {
|
43
|
+
return 'starts with';
|
44
|
+
}
|
45
|
+
|
46
|
+
isCompatibleWithFilterConditionProperty(
|
47
|
+
filterConditionState: FilterConditionState,
|
48
|
+
): boolean {
|
49
|
+
const propertyType =
|
50
|
+
filterConditionState.propertyExpressionState.propertyExpression.func
|
51
|
+
.genericType.value.rawType;
|
52
|
+
return PRIMITIVE_TYPE.STRING === propertyType.path;
|
53
|
+
}
|
54
|
+
|
55
|
+
isCompatibleWithFilterConditionValue(
|
56
|
+
filterConditionState: FilterConditionState,
|
57
|
+
): boolean {
|
58
|
+
const type = filterConditionState.value
|
59
|
+
? getNonCollectionValueSpecificationType(filterConditionState.value)
|
60
|
+
: undefined;
|
61
|
+
return PRIMITIVE_TYPE.STRING === type?.path;
|
62
|
+
}
|
63
|
+
|
64
|
+
getDefaultFilterConditionValue(
|
65
|
+
filterConditionState: FilterConditionState,
|
66
|
+
): ValueSpecification | undefined {
|
67
|
+
const propertyType =
|
68
|
+
filterConditionState.propertyExpressionState.propertyExpression.func
|
69
|
+
.genericType.value.rawType;
|
70
|
+
switch (propertyType.path) {
|
71
|
+
case PRIMITIVE_TYPE.STRING: {
|
72
|
+
return buildPrimitiveInstanceValue(
|
73
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
74
|
+
.graph,
|
75
|
+
propertyType.path,
|
76
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
77
|
+
);
|
78
|
+
}
|
79
|
+
default:
|
80
|
+
throw new UnsupportedOperationError(
|
81
|
+
`Can't get default value for filter operator '${this.getLabel(
|
82
|
+
filterConditionState,
|
83
|
+
)}' when the LHS property is of type '${propertyType.path}'`,
|
84
|
+
);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
buildFilterConditionExpression(
|
89
|
+
filterConditionState: FilterConditionState,
|
90
|
+
): ValueSpecification {
|
91
|
+
return buildFilterConditionExpression(
|
92
|
+
filterConditionState,
|
93
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.STARTS_WITH,
|
94
|
+
);
|
95
|
+
}
|
96
|
+
|
97
|
+
buildFilterConditionState(
|
98
|
+
filterState: QueryBuilderFilterState,
|
99
|
+
expression: SimpleFunctionExpression,
|
100
|
+
): FilterConditionState | undefined {
|
101
|
+
return buildFilterConditionState(
|
102
|
+
filterState,
|
103
|
+
expression,
|
104
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.STARTS_WITH,
|
105
|
+
this,
|
106
|
+
);
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
export class QueryBuilderFilterOperator_NotStartWith extends QueryBuilderFilterOperator_StartWith {
|
111
|
+
override getLabel(filterConditionState: FilterConditionState): string {
|
112
|
+
return `doesn't start with`;
|
113
|
+
}
|
114
|
+
|
115
|
+
override buildFilterConditionExpression(
|
116
|
+
filterConditionState: FilterConditionState,
|
117
|
+
): ValueSpecification {
|
118
|
+
return buildNotExpression(
|
119
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
120
|
+
.graph,
|
121
|
+
super.buildFilterConditionExpression(filterConditionState),
|
122
|
+
);
|
123
|
+
}
|
124
|
+
|
125
|
+
override buildFilterConditionState(
|
126
|
+
filterState: QueryBuilderFilterState,
|
127
|
+
expression: SimpleFunctionExpression,
|
128
|
+
): FilterConditionState | undefined {
|
129
|
+
const innerExpression = unwrapNotExpression(expression);
|
130
|
+
return innerExpression
|
131
|
+
? super.buildFilterConditionState(filterState, innerExpression)
|
132
|
+
: undefined;
|
133
|
+
}
|
134
|
+
}
|
@@ -0,0 +1,129 @@
|
|
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 Multiplicity,
|
19
|
+
type FunctionExpression,
|
20
|
+
AbstractPropertyExpression,
|
21
|
+
extractElementNameFromPath,
|
22
|
+
GenericType,
|
23
|
+
GenericTypeExplicitReference,
|
24
|
+
PrimitiveInstanceValue,
|
25
|
+
PRIMITIVE_TYPE,
|
26
|
+
SimpleFunctionExpression,
|
27
|
+
TYPICAL_MULTIPLICITY_TYPE,
|
28
|
+
VariableExpression,
|
29
|
+
getAllClassDerivedProperties,
|
30
|
+
} from '@finos/legend-graph';
|
31
|
+
import {
|
32
|
+
guaranteeNonNullable,
|
33
|
+
UnsupportedOperationError,
|
34
|
+
} from '@finos/legend-shared';
|
35
|
+
import { TDS_ROW } from '../../QueryBuilder_Const.js';
|
36
|
+
import { QueryBuilderAggregateColumnState } from '../QueryBuilderAggregationState.js';
|
37
|
+
import type { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
|
38
|
+
import {
|
39
|
+
type PostFilterConditionState,
|
40
|
+
type TDS_COLUMN_GETTER,
|
41
|
+
getTDSColumnDerivedProperyFromType,
|
42
|
+
} from '../QueryBuilderPostFilterState.js';
|
43
|
+
import {
|
44
|
+
type QueryBuilderProjectionColumnState,
|
45
|
+
QueryBuilderSimpleProjectionColumnState,
|
46
|
+
} from '../QueryBuilderProjectionState.js';
|
47
|
+
|
48
|
+
export const getColumnMultiplicity = (
|
49
|
+
columnState:
|
50
|
+
| QueryBuilderProjectionColumnState
|
51
|
+
| QueryBuilderAggregateColumnState,
|
52
|
+
): Multiplicity => {
|
53
|
+
if (columnState instanceof QueryBuilderAggregateColumnState) {
|
54
|
+
return columnState.aggregationState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
|
55
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
56
|
+
);
|
57
|
+
} else if (columnState instanceof QueryBuilderSimpleProjectionColumnState) {
|
58
|
+
return columnState.propertyExpressionState.propertyExpression.func
|
59
|
+
.multiplicity;
|
60
|
+
}
|
61
|
+
throw new UnsupportedOperationError(
|
62
|
+
`Can't get multiplicity for column`,
|
63
|
+
columnState,
|
64
|
+
);
|
65
|
+
};
|
66
|
+
|
67
|
+
export const buildPostFilterConditionExpression = (
|
68
|
+
filterConditionState: PostFilterConditionState,
|
69
|
+
operator: QueryBuilderPostFilterOperator,
|
70
|
+
/**
|
71
|
+
* If provided, this will be used to construct the simple
|
72
|
+
* function expression for the function with the specified
|
73
|
+
* name. If not provided, we will fall back to use the TDS column getter function expression.
|
74
|
+
* This is the case because with TDS, we are provided some filter-like operators, e.g. IS_NULL, IS_NOT_NULL, etc.
|
75
|
+
*/
|
76
|
+
operatorFunctionFullPath: string | undefined,
|
77
|
+
): FunctionExpression => {
|
78
|
+
// primitives
|
79
|
+
const graph =
|
80
|
+
filterConditionState.postFilterState.queryBuilderState.graphManagerState
|
81
|
+
.graph;
|
82
|
+
const multiplicityOne = graph.getTypicalMultiplicity(
|
83
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
84
|
+
);
|
85
|
+
const typeString = graph.getPrimitiveType(PRIMITIVE_TYPE.STRING);
|
86
|
+
// property expression
|
87
|
+
const colState = filterConditionState.columnState;
|
88
|
+
const tdsPropertyExpression = new AbstractPropertyExpression(
|
89
|
+
'',
|
90
|
+
multiplicityOne,
|
91
|
+
);
|
92
|
+
let tdsDerivedPropertyName: TDS_COLUMN_GETTER;
|
93
|
+
const correspondingTdsDerivedProperty = operator.getTdsColumnGetter();
|
94
|
+
if (correspondingTdsDerivedProperty) {
|
95
|
+
tdsDerivedPropertyName = correspondingTdsDerivedProperty;
|
96
|
+
} else {
|
97
|
+
const type = guaranteeNonNullable(colState.getReturnType());
|
98
|
+
tdsDerivedPropertyName = getTDSColumnDerivedProperyFromType(type);
|
99
|
+
}
|
100
|
+
tdsPropertyExpression.func = guaranteeNonNullable(
|
101
|
+
getAllClassDerivedProperties(graph.getClass(TDS_ROW)).find(
|
102
|
+
(p) => p.name === tdsDerivedPropertyName,
|
103
|
+
),
|
104
|
+
);
|
105
|
+
const variableName = new VariableExpression(
|
106
|
+
filterConditionState.postFilterState.lambdaParameterName,
|
107
|
+
multiplicityOne,
|
108
|
+
);
|
109
|
+
const colInstanceValue = new PrimitiveInstanceValue(
|
110
|
+
GenericTypeExplicitReference.create(new GenericType(typeString)),
|
111
|
+
multiplicityOne,
|
112
|
+
);
|
113
|
+
colInstanceValue.values = [colState.columnName];
|
114
|
+
tdsPropertyExpression.parametersValues = [variableName, colInstanceValue];
|
115
|
+
|
116
|
+
if (operatorFunctionFullPath) {
|
117
|
+
const expression = new SimpleFunctionExpression(
|
118
|
+
extractElementNameFromPath(operatorFunctionFullPath),
|
119
|
+
multiplicityOne,
|
120
|
+
);
|
121
|
+
expression.parametersValues.push(tdsPropertyExpression);
|
122
|
+
if (filterConditionState.value) {
|
123
|
+
expression.parametersValues.push(filterConditionState.value);
|
124
|
+
}
|
125
|
+
return expression;
|
126
|
+
} else {
|
127
|
+
return tdsPropertyExpression;
|
128
|
+
}
|
129
|
+
};
|
@@ -0,0 +1,140 @@
|
|
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 SimpleFunctionExpression,
|
19
|
+
type Type,
|
20
|
+
type ValueSpecification,
|
21
|
+
type FunctionExpression,
|
22
|
+
PRIMITIVE_TYPE,
|
23
|
+
buildPrimitiveInstanceValue,
|
24
|
+
} from '@finos/legend-graph';
|
25
|
+
import {
|
26
|
+
guaranteeNonNullable,
|
27
|
+
UnsupportedOperationError,
|
28
|
+
} from '@finos/legend-shared';
|
29
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
|
30
|
+
import {
|
31
|
+
buildNotExpression,
|
32
|
+
getNonCollectionValueSpecificationType,
|
33
|
+
unwrapNotExpression,
|
34
|
+
} from '../QueryBuilderOperatorsHelper.js';
|
35
|
+
import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
|
36
|
+
import { buildPostFilterConditionState } from '../QueryBuilderPostFilterProcessor.js';
|
37
|
+
import type {
|
38
|
+
PostFilterConditionState,
|
39
|
+
QueryBuilderPostFilterState,
|
40
|
+
} from '../QueryBuilderPostFilterState.js';
|
41
|
+
import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
|
42
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
|
43
|
+
|
44
|
+
export class QueryBuilderPostFilterOperator_Contain extends QueryBuilderPostFilterOperator {
|
45
|
+
getLabel(): string {
|
46
|
+
return 'contains';
|
47
|
+
}
|
48
|
+
|
49
|
+
isCompatibleWithType(type: Type): boolean {
|
50
|
+
if (type.path === PRIMITIVE_TYPE.STRING) {
|
51
|
+
return true;
|
52
|
+
}
|
53
|
+
return false;
|
54
|
+
}
|
55
|
+
|
56
|
+
isCompatibleWithConditionValue(
|
57
|
+
postFilterConditionState: PostFilterConditionState,
|
58
|
+
): boolean {
|
59
|
+
const type = postFilterConditionState.value
|
60
|
+
? getNonCollectionValueSpecificationType(postFilterConditionState.value)
|
61
|
+
: undefined;
|
62
|
+
return PRIMITIVE_TYPE.STRING === type?.path;
|
63
|
+
}
|
64
|
+
|
65
|
+
getDefaultFilterConditionValue(
|
66
|
+
postFilterConditionState: PostFilterConditionState,
|
67
|
+
): ValueSpecification {
|
68
|
+
const propertyType = guaranteeNonNullable(
|
69
|
+
postFilterConditionState.columnState.getReturnType(),
|
70
|
+
);
|
71
|
+
switch (propertyType.path) {
|
72
|
+
case PRIMITIVE_TYPE.STRING: {
|
73
|
+
return buildPrimitiveInstanceValue(
|
74
|
+
postFilterConditionState.postFilterState.queryBuilderState
|
75
|
+
.graphManagerState.graph,
|
76
|
+
propertyType.path,
|
77
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
78
|
+
);
|
79
|
+
}
|
80
|
+
default:
|
81
|
+
throw new UnsupportedOperationError(
|
82
|
+
`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${
|
83
|
+
propertyType.path
|
84
|
+
}'`,
|
85
|
+
);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
buildPostFilterConditionExpression(
|
90
|
+
postFilterConditionState: PostFilterConditionState,
|
91
|
+
): ValueSpecification | undefined {
|
92
|
+
return buildPostFilterConditionExpression(
|
93
|
+
postFilterConditionState,
|
94
|
+
this,
|
95
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.CONTAINS,
|
96
|
+
);
|
97
|
+
}
|
98
|
+
|
99
|
+
buildPostFilterConditionState(
|
100
|
+
postFilterState: QueryBuilderPostFilterState,
|
101
|
+
expression: FunctionExpression,
|
102
|
+
): PostFilterConditionState | undefined {
|
103
|
+
return buildPostFilterConditionState(
|
104
|
+
postFilterState,
|
105
|
+
expression,
|
106
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.CONTAINS,
|
107
|
+
this,
|
108
|
+
);
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
export class QueryBuilderPostFilterOperator_NotContain extends QueryBuilderPostFilterOperator_Contain {
|
113
|
+
override getLabel(): string {
|
114
|
+
return `doesn't contain`;
|
115
|
+
}
|
116
|
+
override buildPostFilterConditionExpression(
|
117
|
+
postFilterConditionState: PostFilterConditionState,
|
118
|
+
): ValueSpecification | undefined {
|
119
|
+
const expression = super.buildPostFilterConditionExpression(
|
120
|
+
postFilterConditionState,
|
121
|
+
);
|
122
|
+
return expression
|
123
|
+
? buildNotExpression(
|
124
|
+
postFilterConditionState.postFilterState.queryBuilderState
|
125
|
+
.graphManagerState.graph,
|
126
|
+
expression,
|
127
|
+
)
|
128
|
+
: undefined;
|
129
|
+
}
|
130
|
+
|
131
|
+
override buildPostFilterConditionState(
|
132
|
+
postFilterState: QueryBuilderPostFilterState,
|
133
|
+
expression: SimpleFunctionExpression,
|
134
|
+
): PostFilterConditionState | undefined {
|
135
|
+
const innerExpression = unwrapNotExpression(expression);
|
136
|
+
return innerExpression
|
137
|
+
? super.buildPostFilterConditionState(postFilterState, innerExpression)
|
138
|
+
: undefined;
|
139
|
+
}
|
140
|
+
}
|
@@ -0,0 +1,135 @@
|
|
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 {
|
17
|
+
type SimpleFunctionExpression,
|
18
|
+
type Type,
|
19
|
+
type ValueSpecification,
|
20
|
+
type FunctionExpression,
|
21
|
+
PRIMITIVE_TYPE,
|
22
|
+
buildPrimitiveInstanceValue,
|
23
|
+
} from '@finos/legend-graph';
|
24
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
25
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
|
26
|
+
import {
|
27
|
+
buildNotExpression,
|
28
|
+
getNonCollectionValueSpecificationType,
|
29
|
+
unwrapNotExpression,
|
30
|
+
} from '../QueryBuilderOperatorsHelper.js';
|
31
|
+
import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
|
32
|
+
import { buildPostFilterConditionState } from '../QueryBuilderPostFilterProcessor.js';
|
33
|
+
import type {
|
34
|
+
PostFilterConditionState,
|
35
|
+
QueryBuilderPostFilterState,
|
36
|
+
} from '../QueryBuilderPostFilterState.js';
|
37
|
+
import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
|
38
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
|
39
|
+
|
40
|
+
export class QueryBuilderPostFilterOperator_EndWith extends QueryBuilderPostFilterOperator {
|
41
|
+
getLabel(): string {
|
42
|
+
return 'ends with';
|
43
|
+
}
|
44
|
+
|
45
|
+
isCompatibleWithType(type: Type): boolean {
|
46
|
+
if (type.path === PRIMITIVE_TYPE.STRING) {
|
47
|
+
return true;
|
48
|
+
}
|
49
|
+
return false;
|
50
|
+
}
|
51
|
+
|
52
|
+
isCompatibleWithConditionValue(
|
53
|
+
postFilterConditionState: PostFilterConditionState,
|
54
|
+
): boolean {
|
55
|
+
const type = postFilterConditionState.value
|
56
|
+
? getNonCollectionValueSpecificationType(postFilterConditionState.value)
|
57
|
+
: undefined;
|
58
|
+
return PRIMITIVE_TYPE.STRING === type?.path;
|
59
|
+
}
|
60
|
+
|
61
|
+
getDefaultFilterConditionValue(
|
62
|
+
postFilterConditionState: PostFilterConditionState,
|
63
|
+
): ValueSpecification {
|
64
|
+
const propertyType = postFilterConditionState.columnState.getReturnType();
|
65
|
+
switch (propertyType?.path) {
|
66
|
+
case PRIMITIVE_TYPE.STRING: {
|
67
|
+
return buildPrimitiveInstanceValue(
|
68
|
+
postFilterConditionState.postFilterState.queryBuilderState
|
69
|
+
.graphManagerState.graph,
|
70
|
+
propertyType.path,
|
71
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
72
|
+
);
|
73
|
+
}
|
74
|
+
default:
|
75
|
+
throw new UnsupportedOperationError(
|
76
|
+
`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${
|
77
|
+
propertyType?.path
|
78
|
+
}'`,
|
79
|
+
);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
buildPostFilterConditionExpression(
|
84
|
+
postFilterConditionState: PostFilterConditionState,
|
85
|
+
): ValueSpecification | undefined {
|
86
|
+
return buildPostFilterConditionExpression(
|
87
|
+
postFilterConditionState,
|
88
|
+
this,
|
89
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.ENDS_WITH,
|
90
|
+
);
|
91
|
+
}
|
92
|
+
|
93
|
+
buildPostFilterConditionState(
|
94
|
+
postFilterState: QueryBuilderPostFilterState,
|
95
|
+
expression: FunctionExpression,
|
96
|
+
): PostFilterConditionState | undefined {
|
97
|
+
return buildPostFilterConditionState(
|
98
|
+
postFilterState,
|
99
|
+
expression,
|
100
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.ENDS_WITH,
|
101
|
+
this,
|
102
|
+
);
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
export class QueryBuilderPostFilterOperator_NotEndWith extends QueryBuilderPostFilterOperator_EndWith {
|
107
|
+
override getLabel(): string {
|
108
|
+
return `doesn't end with`;
|
109
|
+
}
|
110
|
+
|
111
|
+
override buildPostFilterConditionExpression(
|
112
|
+
postFilterConditionState: PostFilterConditionState,
|
113
|
+
): ValueSpecification | undefined {
|
114
|
+
const expression = super.buildPostFilterConditionExpression(
|
115
|
+
postFilterConditionState,
|
116
|
+
);
|
117
|
+
return expression
|
118
|
+
? buildNotExpression(
|
119
|
+
postFilterConditionState.postFilterState.queryBuilderState
|
120
|
+
.graphManagerState.graph,
|
121
|
+
expression,
|
122
|
+
)
|
123
|
+
: undefined;
|
124
|
+
}
|
125
|
+
|
126
|
+
override buildPostFilterConditionState(
|
127
|
+
postFilterState: QueryBuilderPostFilterState,
|
128
|
+
expression: SimpleFunctionExpression,
|
129
|
+
): PostFilterConditionState | undefined {
|
130
|
+
const innerExpression = unwrapNotExpression(expression);
|
131
|
+
return innerExpression
|
132
|
+
? super.buildPostFilterConditionState(postFilterState, innerExpression)
|
133
|
+
: undefined;
|
134
|
+
}
|
135
|
+
}
|