@finos/legend-query-builder 0.1.2 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +1 -1
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderComponentTestUtils.d.ts.map +1 -1
- package/lib/components/QueryBuilderComponentTestUtils.js +1 -3
- package/lib/components/QueryBuilderComponentTestUtils.js.map +1 -1
- package/lib/components/QueryBuilderDiffPanel.js +1 -2
- package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts +1 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.js +8 -5
- package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +11 -8
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +6 -4
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderTextEditor.js +2 -2
- package/lib/components/QueryBuilderTextEditor.js.map +1 -1
- package/lib/components/QueryBuilder_TestID.d.ts +1 -0
- package/lib/components/QueryBuilder_TestID.d.ts.map +1 -1
- package/lib/components/QueryBuilder_TestID.js +1 -0
- package/lib/components/QueryBuilder_TestID.js.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js +2 -2
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js +5 -4
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +4 -2
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +7 -4
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts +53 -0
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -0
- package/lib/components/shared/BasicValueSpecificationEditor.js +323 -0
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -0
- package/lib/components/shared/CustomDatePicker.d.ts +39 -0
- package/lib/components/shared/CustomDatePicker.d.ts.map +1 -0
- package/lib/components/shared/CustomDatePicker.js +622 -0
- package/lib/components/shared/CustomDatePicker.js.map +1 -0
- package/lib/components/shared/LambdaEditor.d.ts +92 -0
- package/lib/components/shared/LambdaEditor.d.ts.map +1 -0
- package/lib/components/shared/LambdaEditor.js +432 -0
- package/lib/components/shared/LambdaEditor.js.map +1 -0
- package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts → components/shared/LambdaParameterValuesEditor.d.ts} +11 -3
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +1 -0
- package/lib/components/shared/LambdaParameterValuesEditor.js +52 -0
- package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -0
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.js +3 -2
- package/lib/components/shared/QueryBuilderLambdaEditor.js.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +1 -2
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.d.ts → V1_QueryValueSpecificationBuilderHelper.d.ts} +3 -2
- package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.js → V1_QueryValueSpecificationBuilderHelper.js} +3 -2
- package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -0
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +7 -10
- package/lib/stores/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderMilestoningState.js +6 -6
- package/lib/stores/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/QueryBuilderParametersState.d.ts +1 -1
- package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderParametersState.js +1 -1
- package/lib/stores/QueryBuilderParametersState.js.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +35 -38
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +2 -1
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +2 -2
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +5 -5
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.d.ts +1 -1
- package/lib/stores/QueryBuilderTextEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.js +2 -1
- package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js +2 -2
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +23 -20
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +10 -9
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +4 -3
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.d.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts} +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.js → QueryBuilderGraphFetchTreeValueSpecificationBuilder.js} +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +3 -3
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js +4 -4
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +6 -6
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.d.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts} +2 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.js → QueryBuilderAggregateOperatorValueSpecificationBuilder.js} +2 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js +5 -5
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js +5 -5
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js +2 -2
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +10 -10
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts +1 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js +3 -46
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -1
- package/{src/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.ts → lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts} +5 -13
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js +61 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +10 -8
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.d.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts} +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.js → QueryBuilderFilterOperatorValueSpecificationBuilder.js} +11 -13
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +13 -11
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +6 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +4 -4
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/shared/LambdaEditorState.d.ts +40 -0
- package/lib/stores/shared/LambdaEditorState.d.ts.map +1 -0
- package/lib/stores/shared/LambdaEditorState.js +81 -0
- package/lib/stores/shared/LambdaEditorState.js.map +1 -0
- package/lib/stores/shared/LambdaParameterState.d.ts +62 -0
- package/lib/stores/shared/LambdaParameterState.d.ts.map +1 -0
- package/lib/stores/shared/LambdaParameterState.js +157 -0
- package/lib/stores/shared/LambdaParameterState.js.map +1 -0
- package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js → stores/shared/ValueSpecificationEditorHelper.d.ts} +5 -3
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js +77 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts +33 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts.map +1 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.js +71 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.js.map +1 -0
- package/package.json +14 -17
- package/src/components/QueryBuilder.tsx +4 -1
- package/src/components/QueryBuilderComponentTestUtils.tsx +2 -2
- package/src/components/QueryBuilderDiffPanel.tsx +1 -1
- package/src/components/QueryBuilderParametersPanel.tsx +8 -7
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +15 -12
- package/src/components/QueryBuilderResultPanel.tsx +8 -6
- package/src/components/QueryBuilderTextEditor.tsx +2 -2
- package/src/components/QueryBuilder_TestID.ts +2 -0
- package/src/components/explorer/QueryBuilderExplorerPanel.tsx +2 -2
- package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +5 -3
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +6 -4
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +1 -1
- package/src/components/filter/QueryBuilderFilterPanel.tsx +9 -6
- package/src/components/shared/BasicValueSpecificationEditor.tsx +837 -0
- package/src/components/shared/CustomDatePicker.tsx +1363 -0
- package/src/components/shared/LambdaEditor.tsx +858 -0
- package/src/components/shared/LambdaParameterValuesEditor.tsx +121 -0
- package/src/components/shared/QueryBuilderLambdaEditor.tsx +5 -5
- package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +2 -2
- package/src/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.ts → V1_QueryValueSpecificationBuilderHelper.ts} +9 -1
- package/src/index.ts +11 -0
- package/src/stores/QueryBuilderMilestoningState.ts +7 -7
- package/src/stores/QueryBuilderParametersState.ts +4 -4
- package/src/stores/QueryBuilderPropertyEditorState.ts +49 -56
- package/src/stores/QueryBuilderResultState.ts +2 -4
- package/src/stores/QueryBuilderState.ts +5 -5
- package/src/stores/QueryBuilderStateBuilder.ts +1 -1
- package/src/stores/QueryBuilderTextEditorState.ts +2 -1
- package/src/stores/QueryBuilderValueSpecificationBuilder.ts +5 -2
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +30 -42
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +13 -8
- package/src/stores/explorer/QueryBuilderExplorerState.ts +12 -2
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +1 -1
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +3 -3
- package/src/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.ts} +0 -1
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +3 -3
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +1 -1
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.ts +4 -4
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +6 -9
- package/src/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.ts} +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +5 -5
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +5 -5
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.ts +2 -2
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +12 -10
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.ts +2 -86
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.ts +104 -0
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +8 -7
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +4 -4
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +2 -2
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +4 -4
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +3 -3
- package/src/stores/filter/operators/{QueryBuilderFilterOperatorHelper.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.ts} +10 -11
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +11 -10
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +3 -3
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +5 -5
- package/src/stores/shared/LambdaEditorState.ts +118 -0
- package/src/stores/shared/LambdaParameterState.ts +259 -0
- package/src/stores/shared/ValueSpecificationEditorHelper.ts +143 -0
- package/src/stores/shared/ValueSpecificationModifierHelper.ts +177 -0
- package/tsconfig.json +14 -7
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js.map +0 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +0 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +0 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.d.ts.map +0 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.js.map +0 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +0 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +0 -1
@@ -31,7 +31,7 @@ import {
|
|
31
31
|
import {
|
32
32
|
buildAggregateColumnState,
|
33
33
|
buildAggregateExpression,
|
34
|
-
} from './
|
34
|
+
} from './QueryBuilderAggregateOperatorValueSpecificationBuilder.js';
|
35
35
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
36
36
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
37
37
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
@@ -52,7 +52,7 @@ export class QueryBuilderAggregateOperator_Sum
|
|
52
52
|
) {
|
53
53
|
const propertyType =
|
54
54
|
projectionColumnState.propertyExpressionState.propertyExpression.func
|
55
|
-
.genericType.value.rawType;
|
55
|
+
.value.genericType.value.rawType;
|
56
56
|
return (
|
57
57
|
[
|
58
58
|
PRIMITIVE_TYPE.NUMBER,
|
@@ -72,8 +72,8 @@ export class QueryBuilderAggregateOperator_Sum
|
|
72
72
|
): ValueSpecification {
|
73
73
|
return buildAggregateExpression(
|
74
74
|
QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUM,
|
75
|
-
graph,
|
76
75
|
variableName,
|
76
|
+
graph,
|
77
77
|
);
|
78
78
|
}
|
79
79
|
|
package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.ts
CHANGED
@@ -57,7 +57,7 @@ const findProjectionColumnState = (
|
|
57
57
|
postFilterState: QueryBuilderPostFilterState,
|
58
58
|
): QueryBuilderProjectionColumnState | QueryBuilderAggregateColumnState => {
|
59
59
|
const projectionState = postFilterState.projectionState;
|
60
|
-
const properyExpressionName = propertyExpression.func.name;
|
60
|
+
const properyExpressionName = propertyExpression.func.value.name;
|
61
61
|
assertTrue(
|
62
62
|
Object.values(TDS_COLUMN_GETTER).includes(
|
63
63
|
properyExpressionName as TDS_COLUMN_GETTER,
|
@@ -121,7 +121,7 @@ export const buildPostFilterConditionState = (
|
|
121
121
|
if (
|
122
122
|
tdsColumnGetter &&
|
123
123
|
expression instanceof AbstractPropertyExpression &&
|
124
|
-
expression.func.name === tdsColumnGetter
|
124
|
+
expression.func.value.name === tdsColumnGetter
|
125
125
|
) {
|
126
126
|
const columnState = findProjectionColumnState(expression, postFilterState);
|
127
127
|
postConditionState = new PostFilterConditionState(
|
@@ -33,7 +33,7 @@ import {
|
|
33
33
|
} from './QueryBuilderPostFilterState.js';
|
34
34
|
|
35
35
|
const buildPostFilterExpression = (
|
36
|
-
|
36
|
+
postFilterState: QueryBuilderPostFilterState,
|
37
37
|
node: QueryBuilderPostFilterTreeNodeData,
|
38
38
|
): ValueSpecification | undefined => {
|
39
39
|
if (node instanceof QueryBuilderPostFilterTreeConditionNodeData) {
|
@@ -42,7 +42,7 @@ const buildPostFilterExpression = (
|
|
42
42
|
);
|
43
43
|
} else if (node instanceof QueryBuilderPostFilterTreeGroupNodeData) {
|
44
44
|
const multiplicityOne =
|
45
|
-
|
45
|
+
postFilterState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
|
46
46
|
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
47
47
|
);
|
48
48
|
const func = new SimpleFunctionExpression(
|
@@ -50,9 +50,9 @@ const buildPostFilterExpression = (
|
|
50
50
|
multiplicityOne,
|
51
51
|
);
|
52
52
|
const clauses = node.childrenIds
|
53
|
-
.map((e) =>
|
53
|
+
.map((e) => postFilterState.nodes.get(e))
|
54
54
|
.filter(isNonNullable)
|
55
|
-
.map((e) => buildPostFilterExpression(
|
55
|
+
.map((e) => buildPostFilterExpression(postFilterState, e))
|
56
56
|
.filter(isNonNullable);
|
57
57
|
/**
|
58
58
|
* NOTE: Due to a limitation (or perhaps design decision) in the engine, group operations
|
@@ -88,7 +88,7 @@ const buildPostFilterExpression = (
|
|
88
88
|
|
89
89
|
export const appendPostFilter = (
|
90
90
|
postFilterState: QueryBuilderPostFilterState,
|
91
|
-
|
91
|
+
lambdaFunction: LambdaFunction,
|
92
92
|
): LambdaFunction => {
|
93
93
|
const postFilterConditionExpressions = postFilterState.rootIds
|
94
94
|
.map((e) => guaranteeNonNullable(postFilterState.nodes.get(e)))
|
@@ -96,9 +96,9 @@ export const appendPostFilter = (
|
|
96
96
|
.filter(isNonNullable);
|
97
97
|
if (
|
98
98
|
!postFilterConditionExpressions.length ||
|
99
|
-
|
99
|
+
lambdaFunction.expressionSequence.length !== 1
|
100
100
|
) {
|
101
|
-
return
|
101
|
+
return lambdaFunction;
|
102
102
|
}
|
103
103
|
const multiplicityOne =
|
104
104
|
postFilterState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
|
@@ -114,8 +114,10 @@ export const appendPostFilter = (
|
|
114
114
|
extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER),
|
115
115
|
multiplicityOne,
|
116
116
|
);
|
117
|
-
const currentExpression = guaranteeNonNullable(
|
117
|
+
const currentExpression = guaranteeNonNullable(
|
118
|
+
lambdaFunction.expressionSequence[0],
|
119
|
+
);
|
118
120
|
filterExpression.parametersValues = [currentExpression, filterLambda];
|
119
|
-
|
120
|
-
return
|
121
|
+
lambdaFunction.expressionSequence[0] = filterExpression;
|
122
|
+
return lambdaFunction;
|
121
123
|
};
|
@@ -16,30 +16,10 @@
|
|
16
16
|
|
17
17
|
import {
|
18
18
|
type Multiplicity,
|
19
|
-
type FunctionExpression,
|
20
|
-
AbstractPropertyExpression,
|
21
|
-
extractElementNameFromPath,
|
22
|
-
GenericType,
|
23
|
-
GenericTypeExplicitReference,
|
24
|
-
PrimitiveInstanceValue,
|
25
|
-
PRIMITIVE_TYPE,
|
26
|
-
SimpleFunctionExpression,
|
27
19
|
TYPICAL_MULTIPLICITY_TYPE,
|
28
|
-
VariableExpression,
|
29
|
-
getAllClassDerivedProperties,
|
30
|
-
CORE_PURE_PATH,
|
31
20
|
} from '@finos/legend-graph';
|
32
|
-
import {
|
33
|
-
guaranteeNonNullable,
|
34
|
-
UnsupportedOperationError,
|
35
|
-
} from '@finos/legend-shared';
|
21
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
36
22
|
import { QueryBuilderAggregateColumnState } from '../../aggregation/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
23
|
import {
|
44
24
|
type QueryBuilderProjectionColumnState,
|
45
25
|
QueryBuilderSimpleProjectionColumnState,
|
@@ -55,7 +35,7 @@ export const getColumnMultiplicity = (
|
|
55
35
|
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
56
36
|
);
|
57
37
|
} else if (columnState instanceof QueryBuilderSimpleProjectionColumnState) {
|
58
|
-
return columnState.propertyExpressionState.propertyExpression.func
|
38
|
+
return columnState.propertyExpressionState.propertyExpression.func.value
|
59
39
|
.multiplicity;
|
60
40
|
}
|
61
41
|
throw new UnsupportedOperationError(
|
@@ -63,67 +43,3 @@ export const getColumnMultiplicity = (
|
|
63
43
|
columnState,
|
64
44
|
);
|
65
45
|
};
|
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.projectionState.queryBuilderState
|
81
|
-
.graphManagerState.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(CORE_PURE_PATH.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,104 @@
|
|
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 FunctionExpression,
|
19
|
+
AbstractPropertyExpression,
|
20
|
+
extractElementNameFromPath,
|
21
|
+
GenericType,
|
22
|
+
GenericTypeExplicitReference,
|
23
|
+
PrimitiveInstanceValue,
|
24
|
+
PRIMITIVE_TYPE,
|
25
|
+
SimpleFunctionExpression,
|
26
|
+
TYPICAL_MULTIPLICITY_TYPE,
|
27
|
+
VariableExpression,
|
28
|
+
getAllClassDerivedProperties,
|
29
|
+
CORE_PURE_PATH,
|
30
|
+
PropertyExplicitReference,
|
31
|
+
} from '@finos/legend-graph';
|
32
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
33
|
+
import type { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
|
34
|
+
import {
|
35
|
+
type PostFilterConditionState,
|
36
|
+
type TDS_COLUMN_GETTER,
|
37
|
+
getTDSColumnDerivedProperyFromType,
|
38
|
+
} from '../QueryBuilderPostFilterState.js';
|
39
|
+
|
40
|
+
export const buildPostFilterConditionExpression = (
|
41
|
+
filterConditionState: PostFilterConditionState,
|
42
|
+
operator: QueryBuilderPostFilterOperator,
|
43
|
+
/**
|
44
|
+
* If provided, this will be used to construct the simple
|
45
|
+
* function expression for the function with the specified
|
46
|
+
* name. If not provided, we will fall back to use the TDS column getter function expression.
|
47
|
+
* This is the case because with TDS, we are provided some filter-like operators, e.g. IS_NULL, IS_NOT_NULL, etc.
|
48
|
+
*/
|
49
|
+
operatorFunctionFullPath: string | undefined,
|
50
|
+
): FunctionExpression => {
|
51
|
+
// primitives
|
52
|
+
const graph =
|
53
|
+
filterConditionState.postFilterState.projectionState.queryBuilderState
|
54
|
+
.graphManagerState.graph;
|
55
|
+
const multiplicityOne = graph.getTypicalMultiplicity(
|
56
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
57
|
+
);
|
58
|
+
const typeString = graph.getPrimitiveType(PRIMITIVE_TYPE.STRING);
|
59
|
+
// property expression
|
60
|
+
const colState = filterConditionState.columnState;
|
61
|
+
const tdsPropertyExpression = new AbstractPropertyExpression(
|
62
|
+
'',
|
63
|
+
multiplicityOne,
|
64
|
+
);
|
65
|
+
let tdsDerivedPropertyName: TDS_COLUMN_GETTER;
|
66
|
+
const correspondingTdsDerivedProperty = operator.getTdsColumnGetter();
|
67
|
+
if (correspondingTdsDerivedProperty) {
|
68
|
+
tdsDerivedPropertyName = correspondingTdsDerivedProperty;
|
69
|
+
} else {
|
70
|
+
const type = guaranteeNonNullable(colState.getReturnType());
|
71
|
+
tdsDerivedPropertyName = getTDSColumnDerivedProperyFromType(type);
|
72
|
+
}
|
73
|
+
tdsPropertyExpression.func = PropertyExplicitReference.create(
|
74
|
+
guaranteeNonNullable(
|
75
|
+
getAllClassDerivedProperties(graph.getClass(CORE_PURE_PATH.TDS_ROW)).find(
|
76
|
+
(p) => p.name === tdsDerivedPropertyName,
|
77
|
+
),
|
78
|
+
),
|
79
|
+
);
|
80
|
+
const variableName = new VariableExpression(
|
81
|
+
filterConditionState.postFilterState.lambdaParameterName,
|
82
|
+
multiplicityOne,
|
83
|
+
);
|
84
|
+
const colInstanceValue = new PrimitiveInstanceValue(
|
85
|
+
GenericTypeExplicitReference.create(new GenericType(typeString)),
|
86
|
+
multiplicityOne,
|
87
|
+
);
|
88
|
+
colInstanceValue.values = [colState.columnName];
|
89
|
+
tdsPropertyExpression.parametersValues = [variableName, colInstanceValue];
|
90
|
+
|
91
|
+
if (operatorFunctionFullPath) {
|
92
|
+
const expression = new SimpleFunctionExpression(
|
93
|
+
extractElementNameFromPath(operatorFunctionFullPath),
|
94
|
+
multiplicityOne,
|
95
|
+
);
|
96
|
+
expression.parametersValues.push(tdsPropertyExpression);
|
97
|
+
if (filterConditionState.value) {
|
98
|
+
expression.parametersValues.push(filterConditionState.value);
|
99
|
+
}
|
100
|
+
return expression;
|
101
|
+
} else {
|
102
|
+
return tdsPropertyExpression;
|
103
|
+
}
|
104
|
+
};
|
@@ -20,7 +20,6 @@ import {
|
|
20
20
|
type ValueSpecification,
|
21
21
|
type FunctionExpression,
|
22
22
|
PRIMITIVE_TYPE,
|
23
|
-
buildPrimitiveInstanceValue,
|
24
23
|
} from '@finos/legend-graph';
|
25
24
|
import {
|
26
25
|
guaranteeNonNullable,
|
@@ -40,9 +39,10 @@ import {
|
|
40
39
|
getNonCollectionValueSpecificationType,
|
41
40
|
unwrapNotExpression,
|
42
41
|
} from '../../../../QueryBuilderValueSpecificationHelper.js';
|
43
|
-
import { buildPostFilterConditionExpression } from './
|
42
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
44
43
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
45
44
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
45
|
+
import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
|
46
46
|
|
47
47
|
export class QueryBuilderPostFilterOperator_Contain
|
48
48
|
extends QueryBuilderPostFilterOperator
|
@@ -133,9 +133,9 @@ export class QueryBuilderPostFilterOperator_NotContain extends QueryBuilderPostF
|
|
133
133
|
);
|
134
134
|
return expression
|
135
135
|
? buildNotExpression(
|
136
|
+
expression,
|
136
137
|
postFilterConditionState.postFilterState.projectionState
|
137
138
|
.queryBuilderState.graphManagerState.graph,
|
138
|
-
expression,
|
139
139
|
)
|
140
140
|
: undefined;
|
141
141
|
}
|
@@ -19,7 +19,6 @@ import {
|
|
19
19
|
type ValueSpecification,
|
20
20
|
type FunctionExpression,
|
21
21
|
PRIMITIVE_TYPE,
|
22
|
-
buildPrimitiveInstanceValue,
|
23
22
|
} from '@finos/legend-graph';
|
24
23
|
import {
|
25
24
|
type Hashable,
|
@@ -38,9 +37,10 @@ import {
|
|
38
37
|
getNonCollectionValueSpecificationType,
|
39
38
|
unwrapNotExpression,
|
40
39
|
} from '../../../../QueryBuilderValueSpecificationHelper.js';
|
41
|
-
import { buildPostFilterConditionExpression } from './
|
40
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
42
41
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
43
42
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
43
|
+
import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
|
44
44
|
|
45
45
|
export class QueryBuilderPostFilterOperator_EndWith
|
46
46
|
extends QueryBuilderPostFilterOperator
|
@@ -130,9 +130,9 @@ export class QueryBuilderPostFilterOperator_NotEndWith extends QueryBuilderPostF
|
|
130
130
|
);
|
131
131
|
return expression
|
132
132
|
? buildNotExpression(
|
133
|
+
expression,
|
133
134
|
postFilterConditionState.postFilterState.projectionState
|
134
135
|
.queryBuilderState.graphManagerState.graph,
|
135
|
-
expression,
|
136
136
|
)
|
137
137
|
: undefined;
|
138
138
|
}
|
@@ -29,7 +29,6 @@ import {
|
|
29
29
|
PRIMITIVE_TYPE,
|
30
30
|
TYPICAL_MULTIPLICITY_TYPE,
|
31
31
|
SUPPORTED_FUNCTIONS,
|
32
|
-
buildPrimitiveInstanceValue,
|
33
32
|
} from '@finos/legend-graph';
|
34
33
|
import {
|
35
34
|
guaranteeNonNullable,
|
@@ -50,9 +49,11 @@ import {
|
|
50
49
|
isTypeCompatibleForAssignment,
|
51
50
|
unwrapNotExpression,
|
52
51
|
} from '../../../../QueryBuilderValueSpecificationHelper.js';
|
53
|
-
import { buildPostFilterConditionExpression } from './
|
52
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
54
53
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
55
54
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
55
|
+
import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
|
56
|
+
import { instanceValue_setValues } from '../../../../shared/ValueSpecificationModifierHelper.js';
|
56
57
|
|
57
58
|
export class QueryBuilderPostFilterOperator_Equal
|
58
59
|
extends QueryBuilderPostFilterOperator
|
@@ -140,9 +141,9 @@ export class QueryBuilderPostFilterOperator_Equal
|
|
140
141
|
),
|
141
142
|
multiplicityOne,
|
142
143
|
);
|
143
|
-
enumValueInstanceValue
|
144
|
+
instanceValue_setValues(enumValueInstanceValue, [
|
144
145
|
EnumValueExplicitReference.create(propertyType.values[0] as Enum),
|
145
|
-
];
|
146
|
+
]);
|
146
147
|
return enumValueInstanceValue;
|
147
148
|
}
|
148
149
|
throw new UnsupportedOperationError(
|
@@ -182,8 +183,8 @@ export class QueryBuilderPostFilterOperator_Equal
|
|
182
183
|
postFilterState,
|
183
184
|
expression,
|
184
185
|
expression.parametersValues[0] instanceof AbstractPropertyExpression &&
|
185
|
-
expression.parametersValues[0].func.genericType.value.rawType
|
186
|
-
PRIMITIVE_TYPE.DATETIME &&
|
186
|
+
expression.parametersValues[0].func.value.genericType.value.rawType
|
187
|
+
.path === PRIMITIVE_TYPE.DATETIME &&
|
187
188
|
expression.parametersValues[1]?.genericType?.value.rawType.path !==
|
188
189
|
PRIMITIVE_TYPE.DATETIME
|
189
190
|
? SUPPORTED_FUNCTIONS.IS_ON_DAY
|
@@ -209,9 +210,9 @@ export class QueryBuilderPostFilterOperator_NotEqual extends QueryBuilderPostFil
|
|
209
210
|
);
|
210
211
|
return expression
|
211
212
|
? buildNotExpression(
|
213
|
+
expression,
|
212
214
|
postFilterConditionState.postFilterState.projectionState
|
213
215
|
.queryBuilderState.graphManagerState.graph,
|
214
|
-
expression,
|
215
216
|
)
|
216
217
|
: undefined;
|
217
218
|
}
|
@@ -21,7 +21,6 @@ import {
|
|
21
21
|
AbstractPropertyExpression,
|
22
22
|
PRIMITIVE_TYPE,
|
23
23
|
SUPPORTED_FUNCTIONS,
|
24
|
-
buildPrimitiveInstanceValue,
|
25
24
|
} from '@finos/legend-graph';
|
26
25
|
import {
|
27
26
|
guaranteeNonNullable,
|
@@ -40,9 +39,10 @@ import {
|
|
40
39
|
getNonCollectionValueSpecificationType,
|
41
40
|
isTypeCompatibleForAssignment,
|
42
41
|
} from '../../../../QueryBuilderValueSpecificationHelper.js';
|
43
|
-
import { buildPostFilterConditionExpression } from './
|
42
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
44
43
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
45
44
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
45
|
+
import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
|
46
46
|
|
47
47
|
export class QueryBuilderPostFilterOperator_GreaterThan
|
48
48
|
extends QueryBuilderPostFilterOperator
|
@@ -137,8 +137,8 @@ export class QueryBuilderPostFilterOperator_GreaterThan
|
|
137
137
|
postFilterState,
|
138
138
|
expression,
|
139
139
|
expression.parametersValues[0] instanceof AbstractPropertyExpression &&
|
140
|
-
expression.parametersValues[0].func.genericType.value.rawType
|
141
|
-
PRIMITIVE_TYPE.DATETIME &&
|
140
|
+
expression.parametersValues[0].func.value.genericType.value.rawType
|
141
|
+
.path === PRIMITIVE_TYPE.DATETIME &&
|
142
142
|
expression.parametersValues[1]?.genericType?.value.rawType.path !==
|
143
143
|
PRIMITIVE_TYPE.DATETIME
|
144
144
|
? SUPPORTED_FUNCTIONS.IS_AFTER_DAY
|
@@ -26,7 +26,7 @@ import type {
|
|
26
26
|
PostFilterConditionState,
|
27
27
|
QueryBuilderPostFilterState,
|
28
28
|
} from '../QueryBuilderPostFilterState.js';
|
29
|
-
import { buildPostFilterConditionExpression } from './
|
29
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
30
30
|
import { QueryBuilderPostFilterOperator_GreaterThan } from './QueryBuilderPostFilterOperator_GreaterThan.js';
|
31
31
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
32
32
|
import { hashArray } from '@finos/legend-shared';
|
@@ -60,8 +60,8 @@ export class QueryBuilderPostFilterOperator_GreaterThanEqual extends QueryBuilde
|
|
60
60
|
postFilterState,
|
61
61
|
expression,
|
62
62
|
expression.parametersValues[0] instanceof AbstractPropertyExpression &&
|
63
|
-
expression.parametersValues[0].func.genericType.value.rawType
|
64
|
-
PRIMITIVE_TYPE.DATETIME &&
|
63
|
+
expression.parametersValues[0].func.value.genericType.value.rawType
|
64
|
+
.path === PRIMITIVE_TYPE.DATETIME &&
|
65
65
|
expression.parametersValues[1]?.genericType?.value.rawType.path !==
|
66
66
|
PRIMITIVE_TYPE.DATETIME
|
67
67
|
? SUPPORTED_FUNCTIONS.IS_AFTER_DAY
|
@@ -38,7 +38,7 @@ import type {
|
|
38
38
|
PostFilterConditionState,
|
39
39
|
QueryBuilderPostFilterState,
|
40
40
|
} from '../QueryBuilderPostFilterState.js';
|
41
|
-
import { buildPostFilterConditionExpression } from './
|
41
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
42
42
|
import {
|
43
43
|
buildNotExpression,
|
44
44
|
getCollectionValueSpecificationType,
|
@@ -176,9 +176,9 @@ export class QueryBuilderPostFilterOperator_NotIn extends QueryBuilderPostFilter
|
|
176
176
|
);
|
177
177
|
return expression
|
178
178
|
? buildNotExpression(
|
179
|
+
expression,
|
179
180
|
postFilterConditionState.postFilterState.projectionState
|
180
181
|
.queryBuilderState.graphManagerState.graph,
|
181
|
-
expression,
|
182
182
|
)
|
183
183
|
: undefined;
|
184
184
|
}
|
@@ -29,7 +29,7 @@ import {
|
|
29
29
|
TDS_COLUMN_GETTER,
|
30
30
|
} from '../QueryBuilderPostFilterState.js';
|
31
31
|
import { QueryBuilderSimpleProjectionColumnState } from '../../QueryBuilderProjectionColumnState.js';
|
32
|
-
import { buildPostFilterConditionExpression } from './
|
32
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
33
33
|
import { isPropertyExpressionChainOptional } from '../../../../QueryBuilderValueSpecificationHelper.js';
|
34
34
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
35
35
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
@@ -21,7 +21,6 @@ import {
|
|
21
21
|
type FunctionExpression,
|
22
22
|
PRIMITIVE_TYPE,
|
23
23
|
SUPPORTED_FUNCTIONS,
|
24
|
-
buildPrimitiveInstanceValue,
|
25
24
|
} from '@finos/legend-graph';
|
26
25
|
import {
|
27
26
|
guaranteeNonNullable,
|
@@ -40,9 +39,10 @@ import {
|
|
40
39
|
getNonCollectionValueSpecificationType,
|
41
40
|
isTypeCompatibleForAssignment,
|
42
41
|
} from '../../../../QueryBuilderValueSpecificationHelper.js';
|
43
|
-
import { buildPostFilterConditionExpression } from './
|
42
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
44
43
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
45
44
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
45
|
+
import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
|
46
46
|
|
47
47
|
export class QueryBuilderPostFilterOperator_LessThan
|
48
48
|
extends QueryBuilderPostFilterOperator
|
@@ -137,8 +137,8 @@ export class QueryBuilderPostFilterOperator_LessThan
|
|
137
137
|
postFilterState,
|
138
138
|
expression,
|
139
139
|
expression.parametersValues[0] instanceof AbstractPropertyExpression &&
|
140
|
-
expression.parametersValues[0].func.genericType.value.rawType
|
141
|
-
PRIMITIVE_TYPE.DATETIME &&
|
140
|
+
expression.parametersValues[0].func.value.genericType.value.rawType
|
141
|
+
.path === PRIMITIVE_TYPE.DATETIME &&
|
142
142
|
expression.parametersValues[1]?.genericType?.value.rawType.path !==
|
143
143
|
PRIMITIVE_TYPE.DATETIME
|
144
144
|
? SUPPORTED_FUNCTIONS.IS_BEFORE_DAY
|
@@ -26,7 +26,7 @@ import type {
|
|
26
26
|
PostFilterConditionState,
|
27
27
|
QueryBuilderPostFilterState,
|
28
28
|
} from '../QueryBuilderPostFilterState.js';
|
29
|
-
import { buildPostFilterConditionExpression } from './
|
29
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
30
30
|
import { QueryBuilderPostFilterOperator_LessThan } from './QueryBuilderPostFilterOperator_LessThan.js';
|
31
31
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
32
32
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
@@ -63,8 +63,8 @@ export class QueryBuilderPostFilterOperator_LessThanEqual
|
|
63
63
|
postFilterState,
|
64
64
|
expression,
|
65
65
|
expression.parametersValues[0] instanceof AbstractPropertyExpression &&
|
66
|
-
expression.parametersValues[0].func.genericType.value.rawType
|
67
|
-
PRIMITIVE_TYPE.DATETIME &&
|
66
|
+
expression.parametersValues[0].func.value.genericType.value.rawType
|
67
|
+
.path === PRIMITIVE_TYPE.DATETIME &&
|
68
68
|
expression.parametersValues[1]?.genericType?.value.rawType.path !==
|
69
69
|
PRIMITIVE_TYPE.DATETIME
|
70
70
|
? SUPPORTED_FUNCTIONS.IS_ON_OR_BEFORE_DAY
|
@@ -20,7 +20,6 @@ import {
|
|
20
20
|
type SimpleFunctionExpression,
|
21
21
|
type FunctionExpression,
|
22
22
|
PRIMITIVE_TYPE,
|
23
|
-
buildPrimitiveInstanceValue,
|
24
23
|
} from '@finos/legend-graph';
|
25
24
|
import {
|
26
25
|
type Hashable,
|
@@ -39,9 +38,10 @@ import {
|
|
39
38
|
getNonCollectionValueSpecificationType,
|
40
39
|
unwrapNotExpression,
|
41
40
|
} from '../../../../QueryBuilderValueSpecificationHelper.js';
|
42
|
-
import { buildPostFilterConditionExpression } from './
|
41
|
+
import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
43
42
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
44
43
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
44
|
+
import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
|
45
45
|
|
46
46
|
export class QueryBuilderPostFilterOperator_StartWith
|
47
47
|
extends QueryBuilderPostFilterOperator
|
@@ -133,9 +133,9 @@ export class QueryBuilderPostFilterOperator_NotStartWith
|
|
133
133
|
);
|
134
134
|
return expression
|
135
135
|
? buildNotExpression(
|
136
|
+
expression,
|
136
137
|
postFilterConditionState.postFilterState.projectionState
|
137
138
|
.queryBuilderState.graphManagerState.graph,
|
138
|
-
expression,
|
139
139
|
)
|
140
140
|
: undefined;
|
141
141
|
}
|
@@ -138,8 +138,8 @@ const buildFilterConditionExpressionWithExists = (
|
|
138
138
|
// ... but if the property is of multiplicity multiple, start a new property chain
|
139
139
|
if (
|
140
140
|
exp instanceof AbstractPropertyExpression &&
|
141
|
-
(exp.func.multiplicity.upperBound === undefined ||
|
142
|
-
exp.func.multiplicity.upperBound > 1)
|
141
|
+
(exp.func.value.multiplicity.upperBound === undefined ||
|
142
|
+
exp.func.value.multiplicity.upperBound > 1)
|
143
143
|
) {
|
144
144
|
// NOTE: we need to find/generate the property chain variable name
|
145
145
|
// here, by doing this, we try our best to respect original/user-input variable name
|
@@ -346,8 +346,9 @@ const buildFilterConditionStateWithExists = (
|
|
346
346
|
multiplicityOne,
|
347
347
|
);
|
348
348
|
flattenedPropertyExpressionChain.func = initialPropertyExpression.func;
|
349
|
-
flattenedPropertyExpressionChain.parametersValues =
|
350
|
-
initialPropertyExpression.parametersValues
|
349
|
+
flattenedPropertyExpressionChain.parametersValues = [
|
350
|
+
...initialPropertyExpression.parametersValues,
|
351
|
+
];
|
351
352
|
|
352
353
|
for (const expression of existsLambdaExpressions) {
|
353
354
|
// when rebuilding the property expression chain, disregard the initial variable that starts the chain
|
@@ -381,13 +382,11 @@ const buildFilterConditionStateWithExists = (
|
|
381
382
|
multiplicityOne,
|
382
383
|
);
|
383
384
|
propertyExpression.func = currentExpression.func;
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
currentExpression.parametersValues.slice(1)
|
388
|
-
|
389
|
-
propertyExpression.parametersValues = [];
|
390
|
-
}
|
385
|
+
// NOTE: we must retain the rest of the parameters as those are derived property parameters
|
386
|
+
propertyExpression.parametersValues =
|
387
|
+
currentExpression.parametersValues.length > 1
|
388
|
+
? currentExpression.parametersValues.slice(1)
|
389
|
+
: [];
|
391
390
|
expressions.push(propertyExpression);
|
392
391
|
}
|
393
392
|
currentExpression = guaranteeNonNullable(
|