@finos/legend-query-builder 4.1.15 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/lib/components/filter/QueryBuilderFilterPanel.d.ts +6 -1
  2. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  3. package/lib/components/filter/QueryBuilderFilterPanel.js +189 -13
  4. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  5. package/lib/index.css +2 -2
  6. package/lib/index.css.map +1 -1
  7. package/lib/package.json +1 -1
  8. package/lib/stores/QueryBuilderStateHashUtils.d.ts +1 -0
  9. package/lib/stores/QueryBuilderStateHashUtils.d.ts.map +1 -1
  10. package/lib/stores/QueryBuilderStateHashUtils.js +1 -0
  11. package/lib/stores/QueryBuilderStateHashUtils.js.map +1 -1
  12. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +1 -1
  13. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -1
  14. package/lib/stores/filter/QueryBuilderFilterOperator.js.map +1 -1
  15. package/lib/stores/filter/QueryBuilderFilterState.d.ts +16 -5
  16. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  17. package/lib/stores/filter/QueryBuilderFilterState.js +78 -18
  18. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  19. package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts.map +1 -1
  20. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +125 -2
  21. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
  22. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.d.ts.map +1 -1
  23. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js +62 -3
  24. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js.map +1 -1
  25. package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts +1 -1
  26. package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts.map +1 -1
  27. package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.js +12 -192
  28. package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.js.map +1 -1
  29. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts +2 -2
  30. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
  31. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +4 -4
  32. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
  33. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts +2 -2
  34. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
  35. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +4 -4
  36. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
  37. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts +2 -2
  38. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  39. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +4 -4
  40. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  41. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts +1 -1
  42. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  43. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +2 -2
  44. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  45. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +1 -1
  46. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  47. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +2 -2
  48. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  49. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts +2 -2
  50. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -1
  51. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +4 -4
  52. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
  53. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts +2 -2
  54. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -1
  55. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +4 -4
  56. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
  57. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts +1 -1
  58. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  59. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +2 -2
  60. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  61. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts +1 -1
  62. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  63. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +2 -2
  64. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  65. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts +2 -2
  66. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
  67. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +4 -4
  68. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
  69. package/package.json +1 -1
  70. package/src/components/filter/QueryBuilderFilterPanel.tsx +355 -24
  71. package/src/stores/QueryBuilderStateHashUtils.ts +1 -0
  72. package/src/stores/filter/QueryBuilderFilterOperator.ts +1 -0
  73. package/src/stores/filter/QueryBuilderFilterState.ts +115 -27
  74. package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +244 -0
  75. package/src/stores/filter/QueryBuilderFilterValueSpecificationBuilder.ts +94 -1
  76. package/src/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.ts +37 -377
  77. package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +7 -1
  78. package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +7 -1
  79. package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +7 -1
  80. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +2 -0
  81. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +2 -0
  82. package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +7 -1
  83. package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +7 -1
  84. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +2 -0
  85. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +2 -0
  86. package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +7 -1
@@ -13,12 +13,25 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { AbstractPropertyExpression, LambdaFunctionInstanceValue, matchFunctionName, SimpleFunctionExpression, VariableExpression, } from '@finos/legend-graph';
16
+ import { AbstractPropertyExpression, extractElementNameFromPath, LambdaFunction, LambdaFunctionInstanceValue, matchFunctionName, SimpleFunctionExpression, VariableExpression, } from '@finos/legend-graph';
17
17
  import { assertTrue, assertType, guaranteeNonNullable, guaranteeType, returnUndefOnError, UnsupportedOperationError, } from '@finos/legend-shared';
18
18
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../graph/QueryBuilderMetaModelConst.js';
19
19
  import { toGroupOperation } from '../QueryBuilderGroupOperationHelper.js';
20
20
  import { validatePropertyExpressionChain } from '../QueryBuilderValueSpecificationHelper.js';
21
- import { QueryBuilderFilterTreeConditionNodeData, QueryBuilderFilterTreeGroupNodeData, } from './QueryBuilderFilterState.js';
21
+ import { QueryBuilderFilterTreeConditionNodeData, QueryBuilderFilterTreeGroupNodeData, QueryBuilderFilterTreeExistsNodeData, QueryBuilderFilterTreeOperationNodeData, } from './QueryBuilderFilterState.js';
22
+ const getPropertyExpressionChainVariable = (propertyExpression) => {
23
+ let currentExpression = propertyExpression;
24
+ while (currentExpression instanceof AbstractPropertyExpression) {
25
+ currentExpression = guaranteeNonNullable(currentExpression.parametersValues[0]);
26
+ // Take care of chains of subtype (a pattern that is not useful, but we want to support and rectify)
27
+ // $x.employees->subType(@Person)->subType(@Staff)
28
+ while (currentExpression instanceof SimpleFunctionExpression &&
29
+ matchFunctionName(currentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE)) {
30
+ currentExpression = guaranteeNonNullable(currentExpression.parametersValues[0]);
31
+ }
32
+ }
33
+ return guaranteeType(currentExpression, VariableExpression);
34
+ };
22
35
  const processFilterTree = (expression, filterState, parentFilterNodeId) => {
23
36
  const parentNode = parentFilterNodeId
24
37
  ? filterState.getNode(parentFilterNodeId)
@@ -29,9 +42,113 @@ const processFilterTree = (expression, filterState, parentFilterNodeId) => {
29
42
  ])) {
30
43
  const groupNode = new QueryBuilderFilterTreeGroupNodeData(parentFilterNodeId, toGroupOperation(expression.functionName));
31
44
  filterState.nodes.set(groupNode.id, groupNode);
45
+ if (parentNode) {
46
+ groupNode.lambdaParameterName = guaranteeType(parentNode, QueryBuilderFilterTreeOperationNodeData).lambdaParameterName;
47
+ }
32
48
  expression.parametersValues.forEach((filterExpression) => processFilterTree(guaranteeType(filterExpression, SimpleFunctionExpression, `Can't process filter group expression: each child expression must be a function expression`), filterState, groupNode.id));
33
49
  filterState.addNodeFromNode(groupNode, parentNode);
34
50
  }
51
+ else if (matchFunctionName(expression.functionName, [
52
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.EXISTS,
53
+ ])) {
54
+ const propertyExpression = guaranteeType(expression.parametersValues[0], AbstractPropertyExpression);
55
+ if (propertyExpression.func.value.multiplicity.upperBound === undefined ||
56
+ propertyExpression.func.value.multiplicity.upperBound > 1) {
57
+ const existsNode = new QueryBuilderFilterTreeExistsNodeData(parentFilterNodeId);
58
+ const lambdaFunctionInstance = guaranteeType(expression.parametersValues[1], LambdaFunctionInstanceValue, `Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue`);
59
+ const lambdaFunction = guaranteeType(lambdaFunctionInstance.values[0], LambdaFunction);
60
+ const filterExpression = guaranteeType(lambdaFunction.expressionSequence[0], SimpleFunctionExpression);
61
+ existsNode.setPropertyExpression(propertyExpression);
62
+ existsNode.lambdaParameterName =
63
+ lambdaFunction.functionType.parameters[0]?.name;
64
+ filterState.nodes.set(existsNode.id, existsNode);
65
+ processFilterTree(filterExpression, filterState, existsNode.id);
66
+ filterState.addNodeFromNode(existsNode, parentNode);
67
+ }
68
+ else {
69
+ // Build property chain if we have exists filter() and the multiplicity of the property
70
+ // is of multiplicity less than or equal to one. This will auto-fix the exists into the
71
+ // desired filter expression
72
+ // 1. Decompose the exists() lambda chain into property expression chains
73
+ const existsLambdaParameterNames = [];
74
+ const existsLambdaExpressions = [];
75
+ let mainFilterExpression = expression;
76
+ while (matchFunctionName(mainFilterExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.EXISTS)) {
77
+ const existsLambda = guaranteeNonNullable(guaranteeType(mainFilterExpression.parametersValues[1], LambdaFunctionInstanceValue).values[0], `Can't process exists() expression: exists() lambda is missing`);
78
+ assertTrue(existsLambda.expressionSequence.length === 1, `Can't process exists() expression: exists() lambda body should hold an expression`);
79
+ mainFilterExpression = guaranteeType(existsLambda.expressionSequence[0], SimpleFunctionExpression, `Can't process exists() expression: exists() lambda body should hold an expression`);
80
+ // record the lambda parameter name
81
+ assertTrue(existsLambda.functionType.parameters.length === 1, `Can't process exists() expression: exists() lambda should have 1 parameter`);
82
+ existsLambdaParameterNames.push(guaranteeType(existsLambda.functionType.parameters[0], VariableExpression, `Can't process exists() expression: exists() lambda should have 1 parameter`).name);
83
+ // record the lambda property expression
84
+ if (mainFilterExpression.parametersValues[0] instanceof
85
+ AbstractPropertyExpression &&
86
+ !(mainFilterExpression.parametersValues[0].func.value.multiplicity
87
+ .upperBound === undefined ||
88
+ mainFilterExpression.parametersValues[0].func.value.multiplicity
89
+ .upperBound > 1)) {
90
+ existsLambdaExpressions.push(mainFilterExpression.parametersValues[0]);
91
+ }
92
+ else {
93
+ break;
94
+ }
95
+ }
96
+ // 2. Build the property expression
97
+ const initialPropertyExpression = guaranteeType(expression.parametersValues[0], AbstractPropertyExpression);
98
+ let flattenedPropertyExpressionChain = new AbstractPropertyExpression('');
99
+ flattenedPropertyExpressionChain.func = initialPropertyExpression.func;
100
+ flattenedPropertyExpressionChain.parametersValues = [
101
+ ...initialPropertyExpression.parametersValues,
102
+ ];
103
+ for (const exp of existsLambdaExpressions) {
104
+ // when rebuilding the property expression chain, disregard the initial variable that starts the chain
105
+ const expressions = [];
106
+ let currentExpression = exp;
107
+ while (currentExpression instanceof AbstractPropertyExpression ||
108
+ (currentExpression instanceof SimpleFunctionExpression &&
109
+ matchFunctionName(currentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE))) {
110
+ if (currentExpression instanceof SimpleFunctionExpression) {
111
+ const functionExpression = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE));
112
+ functionExpression.parametersValues.unshift(guaranteeNonNullable(currentExpression.parametersValues[1]));
113
+ expressions.push(functionExpression);
114
+ }
115
+ else if (currentExpression instanceof AbstractPropertyExpression) {
116
+ const propertyExp = new AbstractPropertyExpression('');
117
+ propertyExp.func = currentExpression.func;
118
+ // NOTE: we must retain the rest of the parameters as those are derived property parameters
119
+ propertyExp.parametersValues =
120
+ currentExpression.parametersValues.length > 1
121
+ ? currentExpression.parametersValues.slice(1)
122
+ : [];
123
+ expressions.push(propertyExp);
124
+ }
125
+ currentExpression = guaranteeNonNullable(currentExpression.parametersValues[0]);
126
+ }
127
+ assertTrue(expressions.length > 0, `Can't process exists() expression: exists() usage with non-chain property expression is not supported`);
128
+ for (let i = 0; i < expressions.length - 1; ++i) {
129
+ expressions[i].parametersValues.unshift(expressions[i + 1]);
130
+ }
131
+ expressions[expressions.length - 1].parametersValues.unshift(flattenedPropertyExpressionChain);
132
+ flattenedPropertyExpressionChain = guaranteeType(expressions[0], AbstractPropertyExpression, `Can't process exists() expression: can't flatten to a property expression`);
133
+ }
134
+ mainFilterExpression.parametersValues =
135
+ mainFilterExpression.parametersValues.map((p) => {
136
+ if (p instanceof SimpleFunctionExpression &&
137
+ p.parametersValues[0] instanceof AbstractPropertyExpression) {
138
+ p.parametersValues[0].parametersValues[0] =
139
+ flattenedPropertyExpressionChain;
140
+ }
141
+ else if (p instanceof AbstractPropertyExpression) {
142
+ p.parametersValues[0] = guaranteeNonNullable(flattenedPropertyExpressionChain.parametersValues[0]);
143
+ }
144
+ else if (p instanceof VariableExpression) {
145
+ return flattenedPropertyExpressionChain;
146
+ }
147
+ return p;
148
+ });
149
+ processFilterTree(mainFilterExpression, filterState, parentFilterNodeId);
150
+ }
151
+ }
35
152
  else {
36
153
  const propertyExpression = expression.parametersValues[0];
37
154
  if (propertyExpression instanceof AbstractPropertyExpression) {
@@ -46,6 +163,12 @@ const processFilterTree = (expression, filterState, parentFilterNodeId) => {
46
163
  // considered as not supporting the lambda.
47
164
  const filterConditionState = returnUndefOnError(() => operator.buildFilterConditionState(filterState, expression));
48
165
  if (filterConditionState) {
166
+ const variableName = getPropertyExpressionChainVariable(filterConditionState.propertyExpressionState.propertyExpression).name;
167
+ const parentLambdaVariableName = parentNode instanceof QueryBuilderFilterTreeOperationNodeData &&
168
+ parentNode.lambdaParameterName
169
+ ? parentNode.lambdaParameterName
170
+ : filterState.lambdaParameterName;
171
+ assertTrue(parentLambdaVariableName === variableName, `Can't process ${extractElementNameFromPath(filterConditionState.operator.getLabel(filterConditionState))}() expression: expects variable used in lambda body '${variableName}' to match lambda parameter '${parentLambdaVariableName}'`);
49
172
  filterState.addNodeFromNode(new QueryBuilderFilterTreeConditionNodeData(undefined, filterConditionState), parentNode);
50
173
  return;
51
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterStateBuilder.js","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterStateBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterStateBuilder.js","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterStateBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,uBAAuB,EAI7B,MAAM,8BAA8B,CAAC;AAmDtC,eAAO,MAAM,qBAAqB,gBACnB,uBAAuB,kBACpB,cAAc,KAC7B,IA4BF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderFilterValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,uBAAuB,EAM7B,MAAM,8BAA8B,CAAC;AA0ItC,eAAO,MAAM,qBAAqB,gBACnB,uBAAuB,kBACpB,cAAc,KAC7B,IA4BF,CAAC"}
@@ -13,15 +13,19 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { isNonNullable, guaranteeNonNullable } from '@finos/legend-shared';
16
+ import { isNonNullable, guaranteeNonNullable, guaranteeType, } from '@finos/legend-shared';
17
17
  import { extractElementNameFromPath, SimpleFunctionExpression, } from '@finos/legend-graph';
18
18
  import { buildGenericLambdaFunctionInstanceValue } from '../QueryBuilderValueSpecificationHelper.js';
19
19
  import { fromGroupOperation } from '../QueryBuilderGroupOperationHelper.js';
20
- import { QueryBuilderFilterTreeConditionNodeData, QueryBuilderFilterTreeGroupNodeData, } from './QueryBuilderFilterState.js';
20
+ import { QueryBuilderFilterTreeConditionNodeData, QueryBuilderFilterTreeGroupNodeData, QueryBuilderFilterTreeExistsNodeData, QueryBuilderFilterTreeOperationNodeData, } from './QueryBuilderFilterState.js';
21
21
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../graph/QueryBuilderMetaModelConst.js';
22
+ import { DEFAULT_LAMBDA_VARIABLE_NAME } from '../QueryBuilderConfig.js';
22
23
  const buildFilterConditionExpression = (filterState, node) => {
23
24
  if (node instanceof QueryBuilderFilterTreeConditionNodeData) {
24
- return node.condition.operator.buildFilterConditionExpression(node.condition);
25
+ const parentNode = node.parentId
26
+ ? guaranteeType(filterState.nodes.get(node.parentId), QueryBuilderFilterTreeOperationNodeData)
27
+ : undefined;
28
+ return node.condition.operator.buildFilterConditionExpression(node.condition, parentNode?.lambdaParameterName);
25
29
  }
26
30
  else if (node instanceof QueryBuilderFilterTreeGroupNodeData) {
27
31
  const func = new SimpleFunctionExpression(extractElementNameFromPath(fromGroupOperation(node.groupOperation)));
@@ -55,6 +59,61 @@ const buildFilterConditionExpression = (filterState, node) => {
55
59
  }
56
60
  return func.parametersValues.length ? func : undefined;
57
61
  }
62
+ else if (node instanceof QueryBuilderFilterTreeExistsNodeData) {
63
+ const func = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.EXISTS));
64
+ let parentNode = node.parentId
65
+ ? guaranteeType(filterState.nodes.get(guaranteeNonNullable(node.parentId)), QueryBuilderFilterTreeOperationNodeData)
66
+ : undefined;
67
+ while (parentNode &&
68
+ !(parentNode instanceof QueryBuilderFilterTreeGroupNodeData)) {
69
+ parentNode = parentNode.parentId
70
+ ? guaranteeType(filterState.nodes.get(guaranteeNonNullable(parentNode.parentId)), QueryBuilderFilterTreeOperationNodeData)
71
+ : undefined;
72
+ }
73
+ const propertyExpression = guaranteeNonNullable(node.propertyExpression);
74
+ const clauses = node.childrenIds
75
+ .map((e) => filterState.nodes.get(e))
76
+ .filter(isNonNullable)
77
+ .map((e) => buildFilterConditionExpression(filterState, e))
78
+ .filter(isNonNullable);
79
+ /**
80
+ * NOTE: Due to a limitation (or perhaps design decision) in the engine, group operations
81
+ * like and/or do not take more than 2 parameters, as such, if we have more than 2, we need
82
+ * to create a chain of this operation to accomondate.
83
+ *
84
+ * This means that in the read direction, we might need to flatten the chains down to group with
85
+ * multiple clauses. This means user's intended grouping will not be kept.
86
+ */
87
+ let parametersValues;
88
+ if (clauses.length > 2) {
89
+ const firstClause = clauses[0];
90
+ let currentClause = clauses[clauses.length - 1];
91
+ for (let i = clauses.length - 2; i > 0; --i) {
92
+ const clause1 = clauses[i];
93
+ const clause2 = currentClause;
94
+ const groupClause = new SimpleFunctionExpression(guaranteeNonNullable(parentNode).groupOperation);
95
+ groupClause.parametersValues = [clause1, clause2];
96
+ currentClause = groupClause;
97
+ }
98
+ parametersValues = [firstClause, currentClause];
99
+ }
100
+ else if (clauses.length === 1) {
101
+ const lambdaFunctionInstanceValue = buildGenericLambdaFunctionInstanceValue(node.lambdaParameterName ?? DEFAULT_LAMBDA_VARIABLE_NAME, clauses, filterState.queryBuilderState.graphManagerState.graph);
102
+ func.parametersValues = [propertyExpression, lambdaFunctionInstanceValue];
103
+ return func;
104
+ }
105
+ else {
106
+ parametersValues = clauses;
107
+ }
108
+ if (!parametersValues.length) {
109
+ return undefined;
110
+ }
111
+ const simp = new SimpleFunctionExpression(extractElementNameFromPath(fromGroupOperation(guaranteeNonNullable(parentNode).groupOperation)));
112
+ simp.parametersValues = parametersValues;
113
+ const lambdaFunctionInstanceValue = buildGenericLambdaFunctionInstanceValue(node.lambdaParameterName ?? DEFAULT_LAMBDA_VARIABLE_NAME, [simp], filterState.queryBuilderState.graphManagerState.graph);
114
+ func.parametersValues = [propertyExpression, lambdaFunctionInstanceValue];
115
+ return func;
116
+ }
58
117
  return undefined;
59
118
  };
60
119
  export const buildFilterExpression = (filterState, lambdaFunction) => {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,6 @@
16
16
  import { type ValueSpecification, SimpleFunctionExpression } from '@finos/legend-graph';
17
17
  import { FilterConditionState, type QueryBuilderFilterState } from '../QueryBuilderFilterState.js';
18
18
  import type { QueryBuilderFilterOperator } from '../QueryBuilderFilterOperator.js';
19
- export declare const buildFilterConditionExpression: (filterConditionState: FilterConditionState, operatorFunctionFullPath: string) => ValueSpecification;
19
+ export declare const buildFilterConditionExpression: (filterConditionState: FilterConditionState, operatorFunctionFullPath: string, lambdaParameterName?: string | undefined) => ValueSpecification;
20
20
  export declare const buildFilterConditionState: (filterState: QueryBuilderFilterState, expression: SimpleFunctionExpression, operatorFunctionFullPath: string, operator: QueryBuilderFilterOperator, hasNoValue?: boolean) => FilterConditionState | undefined;
21
21
  //# sourceMappingURL=QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,kBAAkB,EAMvB,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACL,oBAAoB,EACpB,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AA8KnF,eAAO,MAAM,8BAA8B,yBACnB,oBAAoB,4BAChB,MAAM,KAC/B,kBAqBF,CAAC;AAkLF,eAAO,MAAM,yBAAyB,gBACvB,uBAAuB,cACxB,wBAAwB,4BACV,MAAM,YACtB,0BAA0B,2BAOnC,oBAAoB,GAAG,SAsFzB,CAAC"}
1
+ {"version":3,"file":"QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,kBAAkB,EAKvB,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,oBAAoB,EACpB,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAGnF,eAAO,MAAM,8BAA8B,yBACnB,oBAAoB,4BAChB,MAAM,wBACV,MAAM,GAAG,SAAS,KACvC,kBAeF,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBACvB,uBAAuB,cACxB,wBAAwB,4BACV,MAAM,YACtB,0BAA0B,2BAOnC,oBAAoB,GAAG,SAuGzB,CAAC"}
@@ -13,114 +13,15 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { extractElementNameFromPath, matchFunctionName, LambdaFunctionInstanceValue, VariableExpression, AbstractPropertyExpression, SimpleFunctionExpression, Multiplicity, } from '@finos/legend-graph';
17
- import { guaranteeType, guaranteeNonNullable, assertTrue, generateEnumerableNameFromToken, } from '@finos/legend-shared';
16
+ import { extractElementNameFromPath, matchFunctionName, LambdaFunctionInstanceValue, AbstractPropertyExpression, SimpleFunctionExpression, LambdaFunction, } from '@finos/legend-graph';
17
+ import { guaranteeType, guaranteeNonNullable, assertTrue, } from '@finos/legend-shared';
18
18
  import { FilterConditionState, } from '../QueryBuilderFilterState.js';
19
19
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
20
- import { buildGenericLambdaFunctionInstanceValue, simplifyValueExpression, } from '../../QueryBuilderValueSpecificationHelper.js';
20
+ import { simplifyValueExpression } from '../../QueryBuilderValueSpecificationHelper.js';
21
21
  import { buildPropertyExpressionChain } from '../../QueryBuilderValueSpecificationBuilderHelper.js';
22
- const getPropertyExpressionChainVariable = (propertyExpression) => {
23
- let currentExpression = propertyExpression;
24
- while (currentExpression instanceof AbstractPropertyExpression) {
25
- currentExpression = guaranteeNonNullable(currentExpression.parametersValues[0]);
26
- // Take care of chains of subtype (a pattern that is not useful, but we want to support and rectify)
27
- // $x.employees->subType(@Person)->subType(@Staff)
28
- while (currentExpression instanceof SimpleFunctionExpression &&
29
- matchFunctionName(currentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE)) {
30
- currentExpression = guaranteeNonNullable(currentExpression.parametersValues[0]);
31
- }
32
- }
33
- return guaranteeType(currentExpression, VariableExpression);
34
- };
35
- const buildFilterConditionExpressionWithExists = (filterConditionState, operatorFunctionFullPath) => {
36
- assertTrue(filterConditionState.propertyExpressionState.requiresExistsHandling);
37
- // 1. Decompose property expression
38
- const expressions = [];
39
- let currentPropertyExpression = buildPropertyExpressionChain(filterConditionState.propertyExpressionState.propertyExpression, filterConditionState.propertyExpressionState.queryBuilderState, filterConditionState.filterState.lambdaParameterName);
40
- while (currentPropertyExpression instanceof AbstractPropertyExpression ||
41
- (currentPropertyExpression instanceof SimpleFunctionExpression &&
42
- matchFunctionName(currentPropertyExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE))) {
43
- let exp;
44
- if (currentPropertyExpression instanceof SimpleFunctionExpression) {
45
- exp = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE));
46
- }
47
- else {
48
- exp = new AbstractPropertyExpression('');
49
- exp.func = currentPropertyExpression.func;
50
- }
51
- // NOTE: we must retain the rest of the parameters as those are derived property parameters
52
- exp.parametersValues =
53
- currentPropertyExpression.parametersValues.length > 1
54
- ? currentPropertyExpression.parametersValues.slice(1)
55
- : [];
56
- expressions.push(exp);
57
- currentPropertyExpression = guaranteeNonNullable(currentPropertyExpression.parametersValues[0]);
58
- }
59
- const rootVariable = guaranteeType(currentPropertyExpression, VariableExpression);
60
- // 2. Traverse the list of decomposed property expression backward, every time we encounter a property of
61
- // multiplicity many, create a new property expression and keep track of it to later form the lambda chain
62
- const existsLambdaParamNames = [
63
- ...filterConditionState.existsLambdaParamNames,
64
- ];
65
- const existsLambdaPropertyChains = [rootVariable];
66
- let currentParamNameIndex = 0;
67
- for (let i = expressions.length - 1; i >= 0; --i) {
68
- const exp = expressions[i];
69
- // just keep adding to the property chain
70
- exp.parametersValues.unshift(existsLambdaPropertyChains[existsLambdaPropertyChains.length - 1]);
71
- existsLambdaPropertyChains[existsLambdaPropertyChains.length - 1] = exp;
72
- // ... but if the property is of multiplicity multiple, start a new property chain
73
- if (exp instanceof AbstractPropertyExpression &&
74
- (exp.func.value.multiplicity.upperBound === undefined ||
75
- exp.func.value.multiplicity.upperBound > 1)) {
76
- // NOTE: we need to find/generate the property chain variable name
77
- // here, by doing this, we try our best to respect original/user-input variable name
78
- if (currentParamNameIndex > existsLambdaParamNames.length - 1) {
79
- existsLambdaParamNames.push(generateEnumerableNameFromToken(existsLambdaParamNames, filterConditionState.filterState.lambdaParameterName));
80
- assertTrue(currentParamNameIndex === existsLambdaParamNames.length - 1);
81
- }
82
- existsLambdaPropertyChains.push(new VariableExpression(existsLambdaParamNames[currentParamNameIndex], Multiplicity.ONE));
83
- currentParamNameIndex++;
84
- }
85
- }
86
- // 3. Build each property chain into an exists() simple function expression
87
- const simpleFunctionExpressions = [];
88
- for (let i = 0; i < existsLambdaPropertyChains.length - 1; ++i) {
89
- const simpleFunctionExpression = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.EXISTS));
90
- simpleFunctionExpression.parametersValues.push(existsLambdaPropertyChains[i]);
91
- simpleFunctionExpressions.push(simpleFunctionExpression);
92
- }
93
- // build the leaf simple function expression which uses the operator
94
- const operatorEpression = new SimpleFunctionExpression(extractElementNameFromPath(operatorFunctionFullPath));
95
- operatorEpression.parametersValues.push(existsLambdaPropertyChains[existsLambdaPropertyChains.length - 1]);
96
- // NOTE: there are simple operators which do not require any params (e.g. isEmpty)
97
- if (filterConditionState.value) {
98
- operatorEpression.parametersValues.push(filterConditionState.value);
99
- }
100
- simpleFunctionExpressions.push(operatorEpression);
101
- // 4. Build the exists() lambda chain
102
- assertTrue(simpleFunctionExpressions.length >= 2);
103
- for (let i = simpleFunctionExpressions.length - 2; i >= 0; --i) {
104
- const currentSFE = simpleFunctionExpressions[i];
105
- const childSFE = simpleFunctionExpressions[i + 1];
106
- // build child SFE lambda
107
- const _existsLambdaVariable = childSFE.parametersValues[0];
108
- const existsLambdaVariable = _existsLambdaVariable instanceof AbstractPropertyExpression
109
- ? getPropertyExpressionChainVariable(_existsLambdaVariable)
110
- : guaranteeType(_existsLambdaVariable, VariableExpression);
111
- const existsLambda = buildGenericLambdaFunctionInstanceValue(existsLambdaVariable.name, [childSFE], filterConditionState.filterState.queryBuilderState.graphManagerState
112
- .graph);
113
- // add the child SFE lambda to the current SFE parameters
114
- currentSFE.parametersValues.push(existsLambda);
115
- }
116
- return simpleFunctionExpressions[0];
117
- };
118
- export const buildFilterConditionExpression = (filterConditionState, operatorFunctionFullPath) => {
119
- if (filterConditionState.propertyExpressionState.requiresExistsHandling) {
120
- return buildFilterConditionExpressionWithExists(filterConditionState, operatorFunctionFullPath);
121
- }
22
+ export const buildFilterConditionExpression = (filterConditionState, operatorFunctionFullPath, lambdaParameterName) => {
122
23
  const expression = new SimpleFunctionExpression(extractElementNameFromPath(operatorFunctionFullPath));
123
- const propertyExpression = buildPropertyExpressionChain(filterConditionState.propertyExpressionState.propertyExpression, filterConditionState.propertyExpressionState.queryBuilderState, filterConditionState.filterState.lambdaParameterName);
24
+ const propertyExpression = buildPropertyExpressionChain(filterConditionState.propertyExpressionState.propertyExpression, filterConditionState.propertyExpressionState.queryBuilderState, lambdaParameterName ?? filterConditionState.filterState.lambdaParameterName);
124
25
  expression.parametersValues.push(guaranteeNonNullable(propertyExpression));
125
26
  // NOTE: there are simple operators which do not require any params (e.g. isEmpty)
126
27
  if (filterConditionState.value) {
@@ -128,90 +29,6 @@ export const buildFilterConditionExpression = (filterConditionState, operatorFun
128
29
  }
129
30
  return expression;
130
31
  };
131
- /**
132
- * Handling exists() lambda found in the filter condition expression.
133
- * The general approach for handling exists() is we will flat out the chain
134
- * of exists() expressions into a normal filter condition state.
135
- *
136
- * When we build the condition function expression from the filter condition state,
137
- * we walk the property expression chain, find property with multiplitiy upper bound
138
- * other than 1 and create an exists() lambda there
139
- *
140
- * NOTE: to ensure we respect user's choice of variable name, as we build the state
141
- * we record the lambda parameter names, so we can use those while re-building the function
142
- * If for some reason, this list is stale, we can start adding our own parameter names
143
- */
144
- const buildFilterConditionStateWithExists = (filterState, parentExpression, operatorFunctionFullPath) => {
145
- if (matchFunctionName(parentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.EXISTS)) {
146
- // 1. Decompose the exists() lambda chain into property expression chains
147
- const existsLambdaParameterNames = [];
148
- // `existsLambdaExpressions` should be a list of `AbstractPropertyExpression`
149
- // e.g. |Firm.all()->filter(x|$x.employees->exists(x_1|$x_1->subType(@Develper).id->exists(x_2|$x_2 == 1))
150
- // In the first exists() lambda, `$x_1->subType(@Develper).id` is an `AbstractPropertyExpression`.
151
- const existsLambdaExpressions = [];
152
- let mainFilterExpression = parentExpression;
153
- while (matchFunctionName(mainFilterExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.EXISTS)) {
154
- const existsLambda = guaranteeNonNullable(guaranteeType(mainFilterExpression.parametersValues[1], LambdaFunctionInstanceValue).values[0], `Can't process exists() expression: exists() lambda is missing`);
155
- assertTrue(existsLambda.expressionSequence.length === 1, `Can't process exists() expression: exists() lambda body should hold an expression`);
156
- mainFilterExpression = guaranteeType(existsLambda.expressionSequence[0], SimpleFunctionExpression, `Can't process exists() expression: exists() lambda body should hold an expression`);
157
- // record the lambda parameter name
158
- assertTrue(existsLambda.functionType.parameters.length === 1, `Can't process exists() expression: exists() lambda should have 1 parameter`);
159
- existsLambdaParameterNames.push(guaranteeType(existsLambda.functionType.parameters[0], VariableExpression, `Can't process exists() expression: exists() lambda should have 1 parameter`).name);
160
- // record the lambda property expression
161
- if (mainFilterExpression.parametersValues[0] instanceof
162
- AbstractPropertyExpression) {
163
- existsLambdaExpressions.push(mainFilterExpression.parametersValues[0]);
164
- }
165
- }
166
- // NOTE: make sure that the inner most function expression is the one we support
167
- if (!matchFunctionName(mainFilterExpression.functionName, operatorFunctionFullPath)) {
168
- return [undefined, undefined];
169
- }
170
- // 2. Build the property expression
171
- const initialPropertyExpression = guaranteeType(parentExpression.parametersValues[0], AbstractPropertyExpression);
172
- let flattenedPropertyExpressionChain = new AbstractPropertyExpression('');
173
- flattenedPropertyExpressionChain.func = initialPropertyExpression.func;
174
- flattenedPropertyExpressionChain.parametersValues = [
175
- ...initialPropertyExpression.parametersValues,
176
- ];
177
- for (const expression of existsLambdaExpressions) {
178
- // when rebuilding the property expression chain, disregard the initial variable that starts the chain
179
- const expressions = [];
180
- let currentExpression = expression;
181
- while (currentExpression instanceof AbstractPropertyExpression ||
182
- (currentExpression instanceof SimpleFunctionExpression &&
183
- matchFunctionName(currentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE))) {
184
- if (currentExpression instanceof SimpleFunctionExpression) {
185
- const functionExpression = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE));
186
- functionExpression.parametersValues.unshift(guaranteeNonNullable(currentExpression.parametersValues[1]));
187
- expressions.push(functionExpression);
188
- }
189
- else if (currentExpression instanceof AbstractPropertyExpression) {
190
- const propertyExpression = new AbstractPropertyExpression('');
191
- propertyExpression.func = currentExpression.func;
192
- // NOTE: we must retain the rest of the parameters as those are derived property parameters
193
- propertyExpression.parametersValues =
194
- currentExpression.parametersValues.length > 1
195
- ? currentExpression.parametersValues.slice(1)
196
- : [];
197
- expressions.push(propertyExpression);
198
- }
199
- currentExpression = guaranteeNonNullable(currentExpression.parametersValues[0]);
200
- }
201
- assertTrue(expressions.length > 0, `Can't process exists() expression: exists() usage with non-chain property expression is not supported`);
202
- for (let i = 0; i < expressions.length - 1; ++i) {
203
- expressions[i].parametersValues.unshift(expressions[i + 1]);
204
- }
205
- expressions[expressions.length - 1].parametersValues.unshift(flattenedPropertyExpressionChain);
206
- flattenedPropertyExpressionChain = guaranteeType(expressions[0], AbstractPropertyExpression, `Can't process exists() expression: can't flatten to a property expression`);
207
- }
208
- // 3. Build the filter condition state with the simplified property expression
209
- const filterConditionState = new FilterConditionState(filterState, flattenedPropertyExpressionChain);
210
- existsLambdaParameterNames.forEach((paramName) => filterConditionState.addExistsLambdaParamNames(paramName));
211
- return [filterConditionState, mainFilterExpression];
212
- }
213
- return [undefined, undefined];
214
- };
215
32
  export const buildFilterConditionState = (filterState, expression, operatorFunctionFullPath, operator,
216
33
  /**
217
34
  * Use this flag for operator that does not require any param (e.g. isEmpty)
@@ -227,14 +44,17 @@ hasNoValue = false) => {
227
44
  if (matchFunctionName(expression.functionName, operatorFunctionFullPath)) {
228
45
  assertTrue(expression.parametersValues.length === (hasNoValue ? 1 : 2), `Can't process ${extractElementNameFromPath(operatorFunctionFullPath)}() expression: ${extractElementNameFromPath(operatorFunctionFullPath)}() expects ${hasNoValue ? 'no argument' : '1 argument'}`);
229
46
  const propertyExpression = guaranteeType(expression.parametersValues[0], AbstractPropertyExpression, `Can't process ${extractElementNameFromPath(operatorFunctionFullPath)}() expression: expects property expression in lambda body`);
230
- const variableName = getPropertyExpressionChainVariable(propertyExpression).name;
231
- assertTrue(filterState.lambdaParameterName === variableName, `Can't process ${extractElementNameFromPath(operatorFunctionFullPath)}() expression: expects variable used in lambda body '${variableName}' to match lambda parameter '${filterState.lambdaParameterName}'`);
232
47
  filterConditionState = new FilterConditionState(filterState, propertyExpression);
233
48
  mainExpressionWithOperator = expression;
234
49
  }
235
50
  else if (matchFunctionName(expression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.EXISTS)) {
236
- [filterConditionState, mainExpressionWithOperator] =
237
- buildFilterConditionStateWithExists(filterState, expression, operatorFunctionFullPath);
51
+ const lambdaFunctionInstance = guaranteeType(expression.parametersValues[1], LambdaFunctionInstanceValue);
52
+ const lambdaFunction = guaranteeType(lambdaFunctionInstance.values[0], LambdaFunction);
53
+ const filterExpression = guaranteeType(lambdaFunction.expressionSequence[0], SimpleFunctionExpression);
54
+ assertTrue(filterExpression.parametersValues.length === (hasNoValue ? 1 : 2), `Can't process ${extractElementNameFromPath(operatorFunctionFullPath)}() expression: ${extractElementNameFromPath(operatorFunctionFullPath)}() expects ${hasNoValue ? 'no argument' : '1 argument'}`);
55
+ const propertyExpression = guaranteeType(filterExpression.parametersValues[0], AbstractPropertyExpression, `Can't process ${extractElementNameFromPath(operatorFunctionFullPath)}() expression: expects property expression in lambda body`);
56
+ filterConditionState = new FilterConditionState(filterState, propertyExpression);
57
+ mainExpressionWithOperator = filterExpression;
238
58
  }
239
59
  // Post-build check: make sure the simple filter condition LHS, RHS, and operator are compatible
240
60
  // and set the value of the condition in the state accordingly.
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperatorValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterOperatorValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
@@ -22,13 +22,13 @@ export declare class QueryBuilderFilterOperator_Contain extends QueryBuilderFilt
22
22
  isCompatibleWithFilterConditionProperty(filterConditionState: FilterConditionState): boolean;
23
23
  isCompatibleWithFilterConditionValue(filterConditionState: FilterConditionState): boolean;
24
24
  getDefaultFilterConditionValue(filterConditionState: FilterConditionState): ValueSpecification | undefined;
25
- buildFilterConditionExpression(filterConditionState: FilterConditionState): ValueSpecification;
25
+ buildFilterConditionExpression(filterConditionState: FilterConditionState, lambdaParameterName?: string | undefined): ValueSpecification;
26
26
  buildFilterConditionState(filterState: QueryBuilderFilterState, expression: SimpleFunctionExpression): FilterConditionState | undefined;
27
27
  get hashCode(): string;
28
28
  }
29
29
  export declare class QueryBuilderFilterOperator_NotContain extends QueryBuilderFilterOperator_Contain {
30
30
  getLabel(filterConditionState: FilterConditionState): string;
31
- buildFilterConditionExpression(filterConditionState: FilterConditionState): ValueSpecification;
31
+ buildFilterConditionExpression(filterConditionState: FilterConditionState, lambdaParameterName?: string | undefined): ValueSpecification;
32
32
  buildFilterConditionState(filterState: QueryBuilderFilterState, expression: SimpleFunctionExpression): FilterConditionState | undefined;
33
33
  get hashCode(): string;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_Contain.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAe9B,qBAAa,kCACX,SAAQ,0BACR,YAAW,QAAQ;IAEnB,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,uCAAuC,CACrC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAQV,oCAAoC,CAClC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAOV,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB,GAAG,SAAS;IAuBjC,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB;IAOrB,yBAAyB,CACvB,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IASnC,IAAI,QAAQ,IAAI,MAAM,CAIrB;CACF;AAED,qBAAa,qCAAsC,SAAQ,kCAAkC;IAClF,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,8BAA8B,CACrC,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB;IAMZ,yBAAyB,CAChC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IAOnC,IAAa,QAAQ,IAAI,MAAM,CAI9B;CACF"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_Contain.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAe9B,qBAAa,kCACX,SAAQ,0BACR,YAAW,QAAQ;IAEnB,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,uCAAuC,CACrC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAQV,oCAAoC,CAClC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAOV,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB,GAAG,SAAS;IAuBjC,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IAQrB,yBAAyB,CACvB,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IASnC,IAAI,QAAQ,IAAI,MAAM,CAIrB;CACF;AAED,qBAAa,qCAAsC,SAAQ,kCAAkC;IAClF,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,8BAA8B,CACrC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IASZ,yBAAyB,CAChC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IAOnC,IAAa,QAAQ,IAAI,MAAM,CAI9B;CACF"}