@finos/legend-application-query 5.2.6 → 5.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/lib/components/QueryBuilder.d.ts.map +1 -1
  2. package/lib/components/QueryBuilder.js +22 -11
  3. package/lib/components/QueryBuilder.js.map +1 -1
  4. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  5. package/lib/components/QueryBuilderResultPanel.js +12 -7
  6. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  7. package/lib/components/QueryBuilderSetupPanel.js +1 -1
  8. package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
  9. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts +1 -2
  10. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
  11. package/lib/components/explorer/QueryBuilderExplorerPanel.js +14 -16
  12. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  13. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +2 -2
  14. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
  15. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
  16. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +22 -105
  17. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
  18. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +1 -2
  19. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
  20. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js +8 -10
  21. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -1
  22. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  23. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +23 -17
  24. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  25. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts +2 -2
  26. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +1 -1
  27. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js +15 -12
  28. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +1 -1
  29. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +2 -2
  30. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
  31. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +23 -28
  32. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
  33. package/lib/components/filter/QueryBuilderFilterPanel.js +7 -7
  34. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  35. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -1
  36. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js +1 -1
  37. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -1
  38. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
  39. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +5 -3
  40. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
  41. package/lib/index.css +2 -2
  42. package/lib/index.css.map +1 -1
  43. package/lib/package.json +7 -7
  44. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -1
  45. package/lib/stores/QueryBuilderPreviewDataHelper.js +17 -14
  46. package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -1
  47. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
  48. package/lib/stores/QueryBuilderPropertyEditorState.js +34 -24
  49. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
  50. package/lib/stores/QueryBuilderState.d.ts +1 -2
  51. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  52. package/lib/stores/QueryBuilderState.js +17 -26
  53. package/lib/stores/QueryBuilderState.js.map +1 -1
  54. package/lib/stores/QueryBuilderStateBuilder.d.ts +124 -0
  55. package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -0
  56. package/lib/stores/QueryBuilderStateBuilder.js +310 -0
  57. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -0
  58. package/lib/stores/{QueryBuilderTestUtils.d.ts → QueryBuilderStateTestUtils.d.ts} +2 -2
  59. package/lib/stores/QueryBuilderStateTestUtils.d.ts.map +1 -0
  60. package/lib/stores/{QueryBuilderTestUtils.js → QueryBuilderStateTestUtils.js} +2 -2
  61. package/lib/stores/QueryBuilderStateTestUtils.js.map +1 -0
  62. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -1
  63. package/lib/stores/QueryBuilderTypeaheadHelper.js +14 -12
  64. package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
  65. package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts +3 -11
  66. package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
  67. package/lib/stores/QueryBuilderValueSpecificationBuilder.js +10 -319
  68. package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
  69. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts +27 -0
  70. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -0
  71. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +153 -0
  72. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -0
  73. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +37 -1
  74. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
  75. package/lib/stores/QueryBuilderValueSpecificationHelper.js +79 -2
  76. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
  77. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +12 -11
  78. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
  79. package/lib/stores/explorer/QueryBuilderExplorerState.js +53 -20
  80. package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
  81. package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.d.ts +1 -1
  82. package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.d.ts.map +1 -1
  83. package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.js +3 -1
  84. package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.js.map +1 -1
  85. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +17 -0
  86. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
  87. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +10 -0
  88. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
  89. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts +3 -20
  90. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -1
  91. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +31 -73
  92. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
  93. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +17 -4
  94. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
  95. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +110 -21
  96. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
  97. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts +20 -0
  98. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts.map +1 -0
  99. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js +62 -0
  100. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map +1 -0
  101. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts +2 -1
  102. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -1
  103. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +3 -8
  104. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
  105. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts +9 -2
  106. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +1 -1
  107. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js +28 -5
  108. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +1 -1
  109. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +2 -2
  110. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
  111. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts +10 -2
  112. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +1 -1
  113. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +102 -39
  114. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
  115. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.d.ts +25 -0
  116. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -0
  117. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js +186 -0
  118. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js.map +1 -0
  119. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts +9 -4
  120. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
  121. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +129 -13
  122. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
  123. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.d.ts +20 -0
  124. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.d.ts.map +1 -0
  125. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.js +96 -0
  126. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.js.map +1 -0
  127. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +1 -1
  128. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
  129. package/lib/stores/fetch-structure/projection/post-filter/{QueryBuilderPostFilterValueSpecificationProcessor.d.ts → QueryBuilderPostFilterStateBuilder.d.ts} +4 -3
  130. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.d.ts.map +1 -0
  131. package/lib/stores/fetch-structure/projection/post-filter/{QueryBuilderPostFilterValueSpecificationProcessor.js → QueryBuilderPostFilterStateBuilder.js} +30 -21
  132. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -0
  133. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -1
  134. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +1 -4
  135. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
  136. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +1 -1
  137. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
  138. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +1 -1
  139. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
  140. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +1 -1
  141. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  142. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +1 -1
  143. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  144. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +1 -1
  145. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
  146. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +1 -1
  147. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
  148. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +1 -1
  149. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
  150. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +1 -1
  151. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  152. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +1 -1
  153. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
  154. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +1 -1
  155. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
  156. package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts +19 -0
  157. package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts.map +1 -0
  158. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +74 -0
  159. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -0
  160. package/lib/stores/filter/{QueryBuilderValueSpecificationBuilder.d.ts → QueryBuilderFilterValueSpecificationBuilder.d.ts} +1 -1
  161. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.d.ts.map +1 -0
  162. package/lib/stores/filter/{QueryBuilderValueSpecificationBuilder.js → QueryBuilderFilterValueSpecificationBuilder.js} +1 -1
  163. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js.map +1 -0
  164. package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +1 -1
  165. package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js +5 -5
  166. package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +1 -1
  167. package/package.json +14 -14
  168. package/src/components/QueryBuilder.tsx +47 -28
  169. package/src/components/QueryBuilderResultPanel.tsx +21 -14
  170. package/src/components/QueryBuilderSetupPanel.tsx +1 -1
  171. package/src/components/explorer/QueryBuilderExplorerPanel.tsx +23 -38
  172. package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +2 -2
  173. package/src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx +41 -175
  174. package/src/components/fetch-structure/QueryBuilderGraphFetchTreePanel.tsx +9 -12
  175. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +62 -28
  176. package/src/components/fetch-structure/QueryBuilderProjectionPanel.tsx +74 -48
  177. package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +33 -41
  178. package/src/components/filter/QueryBuilderFilterPanel.tsx +7 -7
  179. package/src/components/shared/QueryBuilderPanelIssueCountBadge.tsx +3 -1
  180. package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +5 -8
  181. package/src/stores/QueryBuilderPreviewDataHelper.ts +27 -18
  182. package/src/stores/QueryBuilderPropertyEditorState.ts +40 -31
  183. package/src/stores/QueryBuilderState.ts +26 -32
  184. package/src/stores/QueryBuilderStateBuilder.ts +584 -0
  185. package/src/stores/{QueryBuilderTestUtils.ts → QueryBuilderStateTestUtils.ts} +1 -1
  186. package/src/stores/QueryBuilderTypeaheadHelper.ts +23 -16
  187. package/src/stores/QueryBuilderValueSpecificationBuilder.ts +24 -584
  188. package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +248 -0
  189. package/src/stores/QueryBuilderValueSpecificationHelper.ts +114 -0
  190. package/src/stores/explorer/QueryBuilderExplorerState.ts +73 -33
  191. package/src/stores/explorer/QueryBuilderPropertySearchPanelState.ts +3 -1
  192. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +33 -2
  193. package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +53 -118
  194. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +166 -26
  195. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts +131 -0
  196. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +10 -19
  197. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.ts +68 -4
  198. package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +2 -2
  199. package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +172 -67
  200. package/src/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.ts +426 -0
  201. package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +266 -21
  202. package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.ts +228 -0
  203. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +1 -1
  204. package/src/stores/fetch-structure/projection/post-filter/{QueryBuilderPostFilterValueSpecificationProcessor.ts → QueryBuilderPostFilterStateBuilder.ts} +68 -48
  205. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +1 -11
  206. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +1 -1
  207. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +1 -1
  208. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +1 -1
  209. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +1 -1
  210. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +1 -1
  211. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +1 -1
  212. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +1 -1
  213. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +1 -1
  214. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +1 -1
  215. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +1 -1
  216. package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +155 -0
  217. package/src/stores/filter/{QueryBuilderValueSpecificationBuilder.ts → QueryBuilderFilterValueSpecificationBuilder.ts} +0 -0
  218. package/src/stores/filter/operators/QueryBuilderFilterOperatorHelper.ts +5 -5
  219. package/tsconfig.json +10 -5
  220. package/tsconfig.package.json +1 -1
  221. package/lib/stores/QueryBuilderTestUtils.d.ts.map +0 -1
  222. package/lib/stores/QueryBuilderTestUtils.js.map +0 -1
  223. package/lib/stores/QueryBuilderValueSpecificationProcessor.d.ts +0 -56
  224. package/lib/stores/QueryBuilderValueSpecificationProcessor.d.ts.map +0 -1
  225. package/lib/stores/QueryBuilderValueSpecificationProcessor.js +0 -548
  226. package/lib/stores/QueryBuilderValueSpecificationProcessor.js.map +0 -1
  227. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.d.ts.map +0 -1
  228. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.js.map +0 -1
  229. package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.d.ts.map +0 -1
  230. package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.js.map +0 -1
  231. package/src/stores/QueryBuilderValueSpecificationProcessor.ts +0 -1254
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { AbstractPropertyExpression, CollectionInstanceValue, DerivedProperty, matchFunctionName, RawLambda, SimpleFunctionExpression, V1_deserializeRawValueSpecification, V1_RawLambda, VariableExpression, } from '@finos/legend-graph';
17
+ import { assertNonNullable, assertTrue, assertType, guaranteeNonNullable, guaranteeType, isNonNullable, returnUndefOnError, } from '@finos/legend-shared';
18
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../QueryBuilder_Const.js';
19
+ import { QueryBuilderValueSpecificationProcessor } from '../../QueryBuilderStateBuilder.js';
20
+ import { extractNullableNumberFromInstanceValue, extractNullableStringFromInstanceValue, validatePropertyExpressionChain, } from '../../QueryBuilderValueSpecificationHelper.js';
21
+ import { FETCH_STRUCTURE_IMPLEMENTATION } from '../QueryBuilderFetchStructureImplementationState.js';
22
+ import { QueryBuilderDerivationProjectionColumnState, QueryBuilderSimpleProjectionColumnState, } from './QueryBuilderProjectionColumnState.js';
23
+ import { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
24
+ import { COLUMN_SORT_TYPE, SortColumnState, } from './QueryResultSetModifierState.js';
25
+ export const processTDSProjectExpression = (expression, queryBuilderState) => {
26
+ // update fetch-structure
27
+ queryBuilderState.fetchStructureState.changeImplementation(FETCH_STRUCTURE_IMPLEMENTATION.PROJECTION);
28
+ // check parameters
29
+ assertTrue(expression.parametersValues.length === 3, `Can't process project() expression: project() expects 2 arguments`);
30
+ // check preceding expression
31
+ const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process project() expression: only support project() immediately following an expression`);
32
+ assertTrue(matchFunctionName(precedingExpression.functionName, [
33
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.GET_ALL,
34
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.FILTER,
35
+ ]), `Can't process project() expression: only support project() immediately following either getAll() or filter()`);
36
+ QueryBuilderValueSpecificationProcessor.process(precedingExpression, queryBuilderState);
37
+ // check columns
38
+ const columnLambdas = expression.parametersValues[1];
39
+ assertType(columnLambdas, CollectionInstanceValue, `Can't process project() expression: project() expects argument #1 to be a collection`);
40
+ columnLambdas.values.map((value) => QueryBuilderValueSpecificationProcessor.processChild(value, expression, queryBuilderState));
41
+ // check column aliases
42
+ const columnAliases = expression.parametersValues[2];
43
+ assertType(columnAliases, CollectionInstanceValue, `Can't process project() expression: project() expects argument #2 to be a collection`);
44
+ assertTrue(columnLambdas.values.length === columnAliases.values.length, `Can't process project() expression: number of aliases does not match the number of columns`);
45
+ const aliases = columnAliases.values
46
+ .map(extractNullableStringFromInstanceValue)
47
+ .filter(isNonNullable);
48
+ // build state
49
+ if (queryBuilderState.fetchStructureState.implementation instanceof
50
+ QueryBuilderProjectionState) {
51
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
52
+ projectionState.columns.forEach((column, idx) => column.setColumnName(aliases[idx]));
53
+ }
54
+ };
55
+ export const processTDSProjectionColumnPropertyExpression = (expression, queryBuilderState) => {
56
+ if (queryBuilderState.fetchStructureState.implementation instanceof
57
+ QueryBuilderProjectionState) {
58
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
59
+ // NOTE: we do this before creating the projection state, as we will
60
+ // auto-fill arguments for derived properties when missing as part of building
61
+ // the property expression state.
62
+ let currentPropertyExpression = expression;
63
+ while (currentPropertyExpression instanceof AbstractPropertyExpression) {
64
+ const propertyExpression = currentPropertyExpression;
65
+ validatePropertyExpressionChain(currentPropertyExpression, queryBuilderState.graphManagerState.graph);
66
+ currentPropertyExpression = guaranteeNonNullable(currentPropertyExpression.parametersValues[0]);
67
+ // here we just do a simple check to ensure that if we encounter derived properties
68
+ // the number of parameters and arguments provided match
69
+ if (propertyExpression.func instanceof DerivedProperty) {
70
+ assertTrue((Array.isArray(propertyExpression.func.parameters)
71
+ ? propertyExpression.func.parameters.length
72
+ : 0) ===
73
+ propertyExpression.parametersValues.length - 1, `Can't process property expression: derived property '${propertyExpression.func.name}' expects number of provided arguments to match number of parameters`);
74
+ }
75
+ // Take care of chains of subtype (a pattern that is not useful, but we want to support and rectify)
76
+ // $x.employees->subType(@Person)->subType(@Staff)
77
+ while (currentPropertyExpression instanceof SimpleFunctionExpression &&
78
+ matchFunctionName(currentPropertyExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE)) {
79
+ currentPropertyExpression = guaranteeNonNullable(currentPropertyExpression.parametersValues[0]);
80
+ }
81
+ }
82
+ assertType(currentPropertyExpression, VariableExpression, `Can't process property expression: expects expression root to be a variable`);
83
+ const columnState = new QueryBuilderSimpleProjectionColumnState(projectionState, expression, false);
84
+ projectionState.addColumn(columnState, { skipSorting: true });
85
+ // NOTE: technically we should set the lambda parameter name when we process
86
+ // the lambda, not when we process the lambda body like this, but that requires
87
+ // some setup, so it's easier to do it here. The validation of this should have
88
+ // already been taken care of by the builder.
89
+ columnState.setLambdaParameterName(currentPropertyExpression.name);
90
+ }
91
+ };
92
+ export const processTDSProjectionDerivationExpression = (value, parentExpression, queryBuilderState) => {
93
+ if (queryBuilderState.fetchStructureState.implementation instanceof
94
+ QueryBuilderProjectionState) {
95
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
96
+ const rawLambdaProtocol = returnUndefOnError(() => guaranteeType(V1_deserializeRawValueSpecification(value.content), V1_RawLambda));
97
+ assertNonNullable(rawLambdaProtocol, `Can't process unknown value: only support ${parentExpression.functionName}() column expression as a lambda`);
98
+ const columnState = new QueryBuilderDerivationProjectionColumnState(projectionState, new RawLambda(rawLambdaProtocol.parameters, rawLambdaProtocol.body));
99
+ projectionState.addColumn(columnState, { skipSorting: true });
100
+ }
101
+ };
102
+ export const processTDSTakeExpression = (expression, queryBuilderState) => {
103
+ // check parameters
104
+ assertTrue(expression.parametersValues.length === 2, `Can't process take() expression: take() expects 1 argument`);
105
+ // check preceding expression
106
+ const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process take() expression: only support take() immediately following an expression`);
107
+ assertTrue(matchFunctionName(precedingExpression.functionName, [
108
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE,
109
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT,
110
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT,
111
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
112
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
113
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
114
+ ]), `Can't process take() expression: only support take() in TDS expression`);
115
+ QueryBuilderValueSpecificationProcessor.process(precedingExpression, queryBuilderState);
116
+ // build state
117
+ if (queryBuilderState.fetchStructureState.implementation instanceof
118
+ QueryBuilderProjectionState) {
119
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
120
+ const takeValue = extractNullableNumberFromInstanceValue(guaranteeNonNullable(expression.parametersValues[1]));
121
+ projectionState.resultSetModifierState.setLimit(takeValue);
122
+ }
123
+ };
124
+ export const processTDSDistinctExpression = (expression, queryBuilderState) => {
125
+ // check parameters
126
+ assertTrue(expression.parametersValues.length === 1, `Can't process disctinct() expression: distinct() expects no parameter`);
127
+ // check preceding expression
128
+ const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process distinct() expression: only support distinct() immediately following an expression`);
129
+ assertTrue(matchFunctionName(precedingExpression.functionName, [
130
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE,
131
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT,
132
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT,
133
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
134
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
135
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
136
+ ]), `Can't process distinct() expression: only support distinct() in TDS expression`);
137
+ QueryBuilderValueSpecificationProcessor.process(precedingExpression, queryBuilderState);
138
+ // build state
139
+ if (queryBuilderState.fetchStructureState.implementation instanceof
140
+ QueryBuilderProjectionState) {
141
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
142
+ projectionState.resultSetModifierState.distinct = true;
143
+ }
144
+ };
145
+ export const processTDSSortExpression = (expression, queryBuilderState) => {
146
+ // check parameters
147
+ assertTrue(expression.parametersValues.length === 2, `Can't process sort() expression: sort() expects 1 argument`);
148
+ // check preceding expression
149
+ const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process sort() expression: only support sort() immediately following an expression`);
150
+ assertTrue(matchFunctionName(precedingExpression.functionName, [
151
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE,
152
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT,
153
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT,
154
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
155
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
156
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
157
+ ]), `Can't process sort() expression: only support sort() in TDS expression`);
158
+ QueryBuilderValueSpecificationProcessor.process(precedingExpression, queryBuilderState);
159
+ // check sort configuration
160
+ const sortLambdas = expression.parametersValues[1];
161
+ assertType(sortLambdas, CollectionInstanceValue, `Can't process sort() expression: sort() argument should be a collection`);
162
+ sortLambdas.values.map((value) => QueryBuilderValueSpecificationProcessor.processChild(value, expression, queryBuilderState));
163
+ };
164
+ export const processTDSSortDirectionExpression = (expression, parentExpression, queryBuilderState) => {
165
+ const functionName = expression.functionName;
166
+ // check parent expression
167
+ assertTrue(Boolean(parentExpression &&
168
+ matchFunctionName(parentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT)), `Can't process ${functionName}() expression: only support ${functionName}() used within a sort() expression`);
169
+ // check parameters
170
+ assertTrue(expression.parametersValues.length === 1, `Can't process ${functionName}() expression: ${functionName}() expects no argument`);
171
+ // build state
172
+ if (queryBuilderState.fetchStructureState.implementation instanceof
173
+ QueryBuilderProjectionState) {
174
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
175
+ const sortColumnName = extractNullableStringFromInstanceValue(guaranteeNonNullable(expression.parametersValues[0]));
176
+ const queryBuilderProjectionColumnState = projectionState.columns.find((e) => e.columnName === sortColumnName);
177
+ if (queryBuilderProjectionColumnState) {
178
+ const sortColumnState = new SortColumnState(queryBuilderProjectionColumnState);
179
+ sortColumnState.sortType = matchFunctionName(functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_ASC)
180
+ ? COLUMN_SORT_TYPE.ASC
181
+ : COLUMN_SORT_TYPE.DESC;
182
+ projectionState.resultSetModifierState.addSortColumn(sortColumnState);
183
+ }
184
+ }
185
+ };
186
+ //# sourceMappingURL=QueryBuilderProjectionStateBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderProjectionStateBuilder.js","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,13 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { type LambdaFunction } from '@finos/legend-graph';
17
- import { type QueryResultSetModifierState } from './QueryResultSetModifierState.js';
18
- export declare const appendResultSetModifiers: (resultModifiersState: QueryResultSetModifierState, lambda: LambdaFunction, options?: {
19
- overridingLimit?: number | undefined;
20
- } | undefined) => LambdaFunction;
17
+ import type { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
18
+ export declare const appendProjection: (projectionState: QueryBuilderProjectionState, lambdaFunction: LambdaFunction, options?: {
19
+ /**
20
+ * Set queryBuilderState to `true` when we construct query for execution within the app.
21
+ * queryBuilderState will make the lambda function building process overrides several query values, such as the row limit.
22
+ */
23
+ isBuildingExecutionQuery?: boolean | undefined;
24
+ keepSourceInformation?: boolean | undefined;
25
+ }) => void;
21
26
  //# sourceMappingURL=QueryBuilderProjectionValueSpecificationBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,cAAc,EAWpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,KAAK,2BAA2B,EAEjC,MAAM,kCAAkC,CAAC;AAgC1C,eAAO,MAAM,wBAAwB,yBACb,2BAA2B,UACzC,cAAc,YAElB;IACE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,GACD,SAAS,KACZ,cA+FF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,cAAc,EAgBpB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAuIpF,eAAO,MAAM,gBAAgB,oBACV,2BAA2B,kBAC5B,cAAc,YACpB;IACR;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C,KACA,IA8NF,CAAC"}
@@ -13,8 +13,13 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { CollectionInstanceValue, extractElementNameFromPath, GenericType, GenericTypeExplicitReference, matchFunctionName, Multiplicity, PrimitiveInstanceValue, PRIMITIVE_TYPE, SimpleFunctionExpression, TYPICAL_MULTIPLICITY_TYPE, } from '@finos/legend-graph';
16
+ import { CollectionInstanceValue, extractElementNameFromPath, GenericType, GenericTypeExplicitReference, Multiplicity, PrimitiveInstanceValue, PRIMITIVE_TYPE, SimpleFunctionExpression, TYPICAL_MULTIPLICITY_TYPE, INTERNAL__UnknownValueSpecification, V1_serializeRawValueSpecification, V1_transformRawLambda, V1_GraphTransformerContextBuilder, matchFunctionName, } from '@finos/legend-graph';
17
+ import { guaranteeNonNullable, UnsupportedOperationError, } from '@finos/legend-shared';
17
18
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../QueryBuilder_Const.js';
19
+ import { buildPropertyExpressionChain } from '../../QueryBuilderValueSpecificationBuilderHelper.js';
20
+ import { buildGenericLambdaFunctionInstanceValue } from '../../QueryBuilderValueSpecificationHelper.js';
21
+ import { appendPostFilter } from './post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js';
22
+ import { QueryBuilderDerivationProjectionColumnState, QueryBuilderSimpleProjectionColumnState, } from './QueryBuilderProjectionColumnState.js';
18
23
  import { COLUMN_SORT_TYPE, } from './QueryResultSetModifierState.js';
19
24
  const buildSortExpression = (sortColumnState) => {
20
25
  const multiplicityOne = sortColumnState.columnState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(TYPICAL_MULTIPLICITY_TYPE.ONE);
@@ -26,37 +31,39 @@ const buildSortExpression = (sortColumnState) => {
26
31
  sortColumnFunction.parametersValues[0] = sortColumnName;
27
32
  return sortColumnFunction;
28
33
  };
29
- export const appendResultSetModifiers = (resultModifiersState, lambda, options) => {
30
- const multiplicityOne = resultModifiersState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(TYPICAL_MULTIPLICITY_TYPE.ONE);
34
+ const appendResultSetModifier = (resultModifierState, lambda, options) => {
35
+ const multiplicityOne = resultModifierState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(TYPICAL_MULTIPLICITY_TYPE.ONE);
31
36
  if (lambda.expressionSequence.length === 1) {
32
37
  const func = lambda.expressionSequence[0];
33
38
  if (func instanceof SimpleFunctionExpression) {
34
- if (matchFunctionName(func.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT) ||
35
- matchFunctionName(func.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY) ||
36
- matchFunctionName(func.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER)) {
39
+ if (matchFunctionName(func.functionName, [
40
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
41
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
42
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
43
+ ])) {
37
44
  let currentExpression = func;
38
45
  // build distinct()
39
- if (resultModifiersState.distinct) {
46
+ if (resultModifierState.distinct) {
40
47
  const distinctFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT), multiplicityOne);
41
48
  distinctFunction.parametersValues[0] = currentExpression;
42
49
  currentExpression = distinctFunction;
43
50
  }
44
51
  // build sort()
45
- if (resultModifiersState.sortColumns.length) {
52
+ if (resultModifierState.sortColumns.length) {
46
53
  const sortFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT), multiplicityOne);
47
- const multiplicity = new Multiplicity(resultModifiersState.sortColumns.length, resultModifiersState.sortColumns.length);
54
+ const multiplicity = new Multiplicity(resultModifierState.sortColumns.length, resultModifierState.sortColumns.length);
48
55
  const collection = new CollectionInstanceValue(multiplicity, undefined);
49
56
  collection.values =
50
- resultModifiersState.sortColumns.map(buildSortExpression);
57
+ resultModifierState.sortColumns.map(buildSortExpression);
51
58
  sortFunction.parametersValues[0] = currentExpression;
52
59
  sortFunction.parametersValues[1] = collection;
53
60
  currentExpression = sortFunction;
54
61
  }
55
62
  // build take()
56
- if (resultModifiersState.limit || options?.overridingLimit) {
57
- const limit = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(resultModifiersState.projectionState.queryBuilderState.graphManagerState.graph.getPrimitiveType(PRIMITIVE_TYPE.INTEGER))), multiplicityOne);
63
+ if (resultModifierState.limit || options?.overridingLimit) {
64
+ const limit = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(resultModifierState.projectionState.queryBuilderState.graphManagerState.graph.getPrimitiveType(PRIMITIVE_TYPE.INTEGER))), multiplicityOne);
58
65
  limit.values = [
59
- Math.min(resultModifiersState.limit ?? Number.MAX_SAFE_INTEGER, options?.overridingLimit ?? Number.MAX_SAFE_INTEGER),
66
+ Math.min(resultModifierState.limit ?? Number.MAX_SAFE_INTEGER, options?.overridingLimit ?? Number.MAX_SAFE_INTEGER),
60
67
  ];
61
68
  const takeFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE), multiplicityOne);
62
69
  takeFunction.parametersValues[0] = currentExpression;
@@ -70,4 +77,113 @@ export const appendResultSetModifiers = (resultModifiersState, lambda, options)
70
77
  }
71
78
  return lambda;
72
79
  };
80
+ export const appendProjection = (projectionState, lambdaFunction, options) => {
81
+ const queryBuilderState = projectionState.queryBuilderState;
82
+ const precedingExpression = guaranteeNonNullable(lambdaFunction.expressionSequence[0], `Can't build projection expression: preceding expression is not defined`);
83
+ const multiplicityOne = queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(TYPICAL_MULTIPLICITY_TYPE.ONE);
84
+ const typeString = queryBuilderState.graphManagerState.graph.getPrimitiveType(PRIMITIVE_TYPE.STRING);
85
+ // build projection
86
+ if (projectionState.aggregationState.columns.length) {
87
+ // aggregation
88
+ const groupByFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY), multiplicityOne);
89
+ const colLambdas = new CollectionInstanceValue(new Multiplicity(projectionState.columns.length -
90
+ projectionState.aggregationState.columns.length, projectionState.columns.length -
91
+ projectionState.aggregationState.columns.length));
92
+ const aggregateLambdas = new CollectionInstanceValue(new Multiplicity(projectionState.aggregationState.columns.length, projectionState.aggregationState.columns.length));
93
+ const colAliases = new CollectionInstanceValue(new Multiplicity(projectionState.columns.length, projectionState.columns.length));
94
+ projectionState.columns.forEach((projectionColumnState) => {
95
+ // column alias
96
+ const colAlias = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(typeString)), multiplicityOne);
97
+ colAlias.values.push(projectionColumnState.columnName);
98
+ colAliases.values.push(colAlias);
99
+ const aggregateColumnState = projectionState.aggregationState.columns.find((column) => column.projectionColumnState === projectionColumnState);
100
+ // column projection
101
+ let columnLambda;
102
+ if (projectionColumnState instanceof QueryBuilderSimpleProjectionColumnState) {
103
+ columnLambda = buildGenericLambdaFunctionInstanceValue(projectionColumnState.lambdaParameterName, [
104
+ buildPropertyExpressionChain(projectionColumnState.propertyExpressionState.propertyExpression, projectionColumnState.propertyExpressionState.queryBuilderState),
105
+ ], queryBuilderState.graphManagerState.graph);
106
+ }
107
+ else if (projectionColumnState instanceof
108
+ QueryBuilderDerivationProjectionColumnState) {
109
+ columnLambda = new INTERNAL__UnknownValueSpecification(V1_serializeRawValueSpecification(V1_transformRawLambda(projectionColumnState.lambda, new V1_GraphTransformerContextBuilder(
110
+ // TODO?: do we need to include the plugins here?
111
+ [])
112
+ .withKeepSourceInformationFlag(Boolean(options?.keepSourceInformation))
113
+ .build())));
114
+ }
115
+ else {
116
+ throw new UnsupportedOperationError(`Can't build project() column expression: unsupported projection column state`, projectionColumnState);
117
+ }
118
+ // column aggregation
119
+ if (aggregateColumnState) {
120
+ const aggregateFunctionExpression = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_AGG), multiplicityOne);
121
+ const aggregateLambda = buildGenericLambdaFunctionInstanceValue(aggregateColumnState.lambdaParameterName, [
122
+ aggregateColumnState.operator.buildAggregateExpressionFromState(aggregateColumnState),
123
+ ], aggregateColumnState.aggregationState.projectionState
124
+ .queryBuilderState.graphManagerState.graph);
125
+ aggregateFunctionExpression.parametersValues = [
126
+ columnLambda,
127
+ aggregateLambda,
128
+ ];
129
+ aggregateLambdas.values.push(aggregateFunctionExpression);
130
+ }
131
+ else {
132
+ colLambdas.values.push(columnLambda);
133
+ }
134
+ });
135
+ groupByFunction.parametersValues = [
136
+ precedingExpression,
137
+ colLambdas,
138
+ aggregateLambdas,
139
+ colAliases,
140
+ ];
141
+ lambdaFunction.expressionSequence[0] = groupByFunction;
142
+ }
143
+ else if (projectionState.columns.length) {
144
+ // projection
145
+ const projectFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT), multiplicityOne);
146
+ const colLambdas = new CollectionInstanceValue(new Multiplicity(projectionState.columns.length, projectionState.columns.length));
147
+ const colAliases = new CollectionInstanceValue(new Multiplicity(projectionState.columns.length, projectionState.columns.length));
148
+ projectionState.columns.forEach((projectionColumnState) => {
149
+ // column alias
150
+ const colAlias = new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(typeString)), multiplicityOne);
151
+ colAlias.values.push(projectionColumnState.columnName);
152
+ colAliases.values.push(colAlias);
153
+ // column projection
154
+ let columnLambda;
155
+ if (projectionColumnState instanceof QueryBuilderSimpleProjectionColumnState) {
156
+ columnLambda = buildGenericLambdaFunctionInstanceValue(projectionColumnState.lambdaParameterName, [
157
+ buildPropertyExpressionChain(projectionColumnState.propertyExpressionState.propertyExpression, projectionColumnState.propertyExpressionState.queryBuilderState),
158
+ ], queryBuilderState.graphManagerState.graph);
159
+ }
160
+ else if (projectionColumnState instanceof
161
+ QueryBuilderDerivationProjectionColumnState) {
162
+ columnLambda = new INTERNAL__UnknownValueSpecification(V1_serializeRawValueSpecification(V1_transformRawLambda(projectionColumnState.lambda, new V1_GraphTransformerContextBuilder(
163
+ // TODO?: do we need to include the plugins here?
164
+ [])
165
+ .withKeepSourceInformationFlag(Boolean(options?.keepSourceInformation))
166
+ .build())));
167
+ }
168
+ else {
169
+ throw new UnsupportedOperationError(`Can't build project() column expression: unsupported projection column state`, projectionColumnState);
170
+ }
171
+ colLambdas.values.push(columnLambda);
172
+ });
173
+ projectFunction.parametersValues = [
174
+ precedingExpression,
175
+ colLambdas,
176
+ colAliases,
177
+ ];
178
+ lambdaFunction.expressionSequence[0] = projectFunction;
179
+ }
180
+ // build post-filter
181
+ appendPostFilter(projectionState.postFilterState, lambdaFunction);
182
+ // build result set modifiers
183
+ appendResultSetModifier(projectionState.resultSetModifierState, lambdaFunction, {
184
+ overridingLimit: options?.isBuildingExecutionQuery
185
+ ? queryBuilderState.resultState.previewLimit
186
+ : undefined,
187
+ });
188
+ };
73
189
  //# sourceMappingURL=QueryBuilderProjectionValueSpecificationBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { SimpleFunctionExpression } from '@finos/legend-graph';
17
+ import type { QueryBuilderState } from '../../../QueryBuilderState.js';
18
+ export declare const processTDSAggregateExpression: (expression: SimpleFunctionExpression, parentExpression: SimpleFunctionExpression | undefined, queryBuilderState: QueryBuilderState) => void;
19
+ export declare const processTDSGroupByExpression: (expression: SimpleFunctionExpression, queryBuilderState: QueryBuilderState) => void;
20
+ //# sourceMappingURL=QueryBuilderAggregationStateBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderAggregationStateBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMvE,eAAO,MAAM,6BAA6B,eAC5B,wBAAwB,oBAClB,wBAAwB,GAAG,SAAS,qBACnC,iBAAiB,KACnC,IA4FF,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAC1B,wBAAwB,qBACjB,iBAAiB,KACnC,IAuFF,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CollectionInstanceValue, LambdaFunctionInstanceValue, matchFunctionName, SimpleFunctionExpression, VariableExpression, } from '@finos/legend-graph';
17
+ import { assertTrue, assertType, guaranteeNonNullable, guaranteeType, isNonNullable, returnUndefOnError, UnsupportedOperationError, } from '@finos/legend-shared';
18
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../QueryBuilder_Const.js';
19
+ import { QueryBuilderValueSpecificationProcessor } from '../../../QueryBuilderStateBuilder.js';
20
+ import { extractNullableStringFromInstanceValue } from '../../../QueryBuilderValueSpecificationHelper.js';
21
+ import { FETCH_STRUCTURE_IMPLEMENTATION } from '../../QueryBuilderFetchStructureImplementationState.js';
22
+ import { QueryBuilderProjectionState } from '../QueryBuilderProjectionState.js';
23
+ export const processTDSAggregateExpression = (expression, parentExpression, queryBuilderState) => {
24
+ // check parent expression
25
+ assertTrue(Boolean(parentExpression &&
26
+ matchFunctionName(parentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY)), `Can't process agg() expression: only support agg() used within a groupBy() expression`);
27
+ // check parameters
28
+ assertTrue(expression.parametersValues.length === 2, `Can't process agg() expression: agg() expects 2 arguments`);
29
+ // process column lambda
30
+ QueryBuilderValueSpecificationProcessor.processChild(
31
+ // TODO?: do we want to do more validation here for the shape of the column lambda?
32
+ guaranteeNonNullable(expression.parametersValues[0]), expression, queryBuilderState);
33
+ // build state
34
+ if (queryBuilderState.fetchStructureState.implementation instanceof
35
+ QueryBuilderProjectionState) {
36
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
37
+ const aggregationState = projectionState.aggregationState;
38
+ // NOTE: since we process agg() expressions one by one, we know that the current agg()
39
+ // always correspond to the last column projection state, based on our processing procedure
40
+ const projectionColumnState = guaranteeNonNullable(projectionState.columns[projectionState.columns.length - 1]);
41
+ const aggregateLambda = expression.parametersValues[1];
42
+ assertType(aggregateLambda, LambdaFunctionInstanceValue, `Can't process agg() expression: agg() expects argument #1 to be a lambda function`);
43
+ const lambdaFunc = guaranteeNonNullable(aggregateLambda.values[0], `Can't process agg() lambda: agg() lambda function is missing`);
44
+ assertTrue(lambdaFunc.expressionSequence.length === 1, `Can't process agg() lambda: only support agg() lambda body with 1 expression`);
45
+ const aggregateColumnExpression = guaranteeType(lambdaFunc.expressionSequence[0], SimpleFunctionExpression, `Can't process agg() lambda: only support agg() lambda body with 1 expression`);
46
+ assertTrue(lambdaFunc.functionType.parameters.length === 1, `Can't process agg() lambda: only support agg() lambda with 1 parameter`);
47
+ const lambdaParam = guaranteeType(lambdaFunc.functionType.parameters[0], VariableExpression, `Can't process agg() lambda: only support agg() lambda with 1 parameter`);
48
+ for (const operator of aggregationState.operators) {
49
+ // NOTE: this allow plugin author to either return `undefined` or throw error
50
+ // if there is a problem with building the lambda. Either case, the plugin is
51
+ // considered as not supporting the lambda.
52
+ const aggregateColumnState = returnUndefOnError(() => operator.buildAggregateColumnState(aggregateColumnExpression, lambdaParam, projectionColumnState));
53
+ if (aggregateColumnState) {
54
+ aggregationState.addColumn(aggregateColumnState);
55
+ return;
56
+ }
57
+ }
58
+ throw new UnsupportedOperationError(`Can't process aggregate expression function: no compatible aggregate operator processer available from plugins`);
59
+ }
60
+ };
61
+ export const processTDSGroupByExpression = (expression, queryBuilderState) => {
62
+ // update fetch-structure
63
+ queryBuilderState.fetchStructureState.changeImplementation(FETCH_STRUCTURE_IMPLEMENTATION.PROJECTION);
64
+ // check parameters
65
+ assertTrue(expression.parametersValues.length === 4, `Can't process groupBy() expression: groupBy() expects 3 arguments`);
66
+ // check preceding expression
67
+ const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process groupBy() expression: only support groupBy() immediately following an expression`);
68
+ assertTrue(matchFunctionName(precedingExpression.functionName, [
69
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.GET_ALL,
70
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.FILTER,
71
+ ]), `Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()`);
72
+ QueryBuilderValueSpecificationProcessor.process(precedingExpression, queryBuilderState);
73
+ // process columns
74
+ const columnExpressions = expression.parametersValues[1];
75
+ assertType(columnExpressions, CollectionInstanceValue, `Can't process groupBy() expression: groupBy() expects argument #1 to be a collection`);
76
+ columnExpressions.values.map((value) => QueryBuilderValueSpecificationProcessor.processChild(value, expression, queryBuilderState));
77
+ // process aggregations
78
+ const aggregateLambdas = expression.parametersValues[2];
79
+ assertType(aggregateLambdas, CollectionInstanceValue, `Can't process groupBy() expression: groupBy() expects argument #2 to be a collection`);
80
+ aggregateLambdas.values.map((value) => QueryBuilderValueSpecificationProcessor.processChild(value, expression, queryBuilderState));
81
+ // process column aliases
82
+ const columnAliases = expression.parametersValues[3];
83
+ assertType(columnAliases, CollectionInstanceValue, `Can't process groupBy() expression: groupBy() expects argument #3 to be a collection`);
84
+ assertTrue(columnAliases.values.length ===
85
+ columnExpressions.values.length + aggregateLambdas.values.length, `Can't process groupBy() expression: number of aliases does not match the number of columns`);
86
+ const aliases = columnAliases.values
87
+ .map(extractNullableStringFromInstanceValue)
88
+ .filter(isNonNullable);
89
+ // build state
90
+ if (queryBuilderState.fetchStructureState.implementation instanceof
91
+ QueryBuilderProjectionState) {
92
+ const projectionState = queryBuilderState.fetchStructureState.implementation;
93
+ projectionState.columns.forEach((column, idx) => column.setColumnName(aliases[idx]));
94
+ }
95
+ };
96
+ //# sourceMappingURL=QueryBuilderAggregationStateBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderAggregationStateBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export class QueryBuilderAggregateOperator_DistinctCount extends QueryBuilderAgg
53
53
  if (matchFunctionName(expression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.COUNT)) {
54
54
  const aggregateColumnState = new QueryBuilderAggregateColumnState(projectionColumnState.projectionState.aggregationState, projectionColumnState, this);
55
55
  aggregateColumnState.setLambdaParameterName(lambdaParam.name);
56
- // count expression
56
+ // process count expression
57
57
  assertTrue(expression.parametersValues.length === 1, `Can't process count() expression: count() expects no argument`);
58
58
  // distinct expression
59
59
  const distinctExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process '${this.getLabel(projectionColumnState)}' aggregate lambda: only support count() immediately following an expression`);
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderAggregateOperator_DistinctCount.js","sourceRoot":"","sources":["../../../../../../src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,cAAc,EAEd,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAEL,uCAAuC,GACxC,MAAM,4CAA4C,CAAC;AAEpD,MAAM,OAAO,2CAA4C,SAAQ,6BAA6B;IAC5F,QAAQ,CAAC,qBAAwD;QAC/D,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,sBAAsB,CACpB,qBAAwD;QAExD,IACE,qBAAqB,YAAY,uCAAuC,EACxE;YACA,MAAM,YAAY,GAChB,qBAAqB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI;iBAClE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/B,OAAO,CAEH;gBACE,cAAc,CAAC,MAAM;gBACrB,cAAc,CAAC,OAAO;gBACtB,cAAc,CAAC,MAAM;gBACrB,cAAc,CAAC,OAAO;gBACtB,cAAc,CAAC,OAAO;gBACtB,cAAc,CAAC,KAAK;gBACpB,cAAc,CAAC,IAAI;gBACnB,cAAc,CAAC,UAAU;gBACzB,cAAc,CAAC,QAAQ;aAE1B,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,YAAY,WAAW,CACrE,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB,CACtB,kBAA0D,EAC1D,YAAoB,EACpB,KAAgB;QAEhB,MAAM,eAAe,GAAG,KAAK,CAAC,sBAAsB,CAClD,yBAAyB,CAAC,GAAG,CAC9B,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,wBAAwB,CACrD,0BAA0B,CAAC,iCAAiC,CAAC,QAAQ,CAAC,EACtE,eAAe,CAChB,CAAC;QACF,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CACtC,IAAI,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CACtD,CAAC;QACF,MAAM,uBAAuB,GAAG,IAAI,wBAAwB,CAC1D,0BAA0B,CAAC,iCAAiC,CAAC,KAAK,CAAC,EACnE,eAAe,CAChB,CAAC;QACF,uBAAuB,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClE,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,yBAAyB,CACvB,UAAoC,EACpC,WAA+B,EAC/B,qBAAwD;QAExD,IACE,iBAAiB,CACf,UAAU,CAAC,YAAY,EACvB,iCAAiC,CAAC,KAAK,CACxC,EACD;YACA,MAAM,oBAAoB,GAAG,IAAI,gCAAgC,CAC/D,qBAAqB,CAAC,eAAe,CAAC,gBAAgB,EACtD,qBAAqB,EACrB,IAAI,CACL,CAAC;YACF,oBAAoB,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9D,mBAAmB;YACnB,UAAU,CACR,UAAU,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EACxC,+DAA+D,CAChE,CAAC;YAEF,sBAAsB;YACtB,MAAM,kBAAkB,GAAG,aAAa,CACtC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAC9B,wBAAwB,EACxB,kBAAkB,IAAI,CAAC,QAAQ,CAC7B,qBAAqB,CACtB,8EAA8E,CAChF,CAAC;YACF,UAAU,CACR,iBAAiB,CACf,kBAAkB,CAAC,YAAY,EAC/B,iCAAiC,CAAC,QAAQ,CAC3C,EACD,kBAAkB,IAAI,CAAC,QAAQ,CAC7B,qBAAqB,CACtB,sFAAsF,CACxF,CAAC;YACF,UAAU,CACR,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAChD,qEAAqE,CACtE,CAAC;YAEF,WAAW;YACX,MAAM,kBAAkB,GAAG,aAAa,CACtC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACtC,kBAAkB,EAClB,0GAA0G,CAC3G,CAAC;YACF,UAAU,CACR,oBAAoB,CAAC,mBAAmB,KAAK,kBAAkB,CAAC,IAAI,EACpE,8EAA8E,kBAAkB,CAAC,IAAI,gCAAgC,oBAAoB,CAAC,mBAAmB,GAAG,CACjL,CAAC;YAEF,WAAW;YACX,UAAU,CACR,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,EACvE,yEAAyE,CAC1E,CAAC;YACF,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAO,oBAAoB,CAAC;SAC7B;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEQ,aAAa,CACpB,oBAAsD;QAEtD,MAAM,KAAK,GACT,oBAAoB,CAAC,gBAAgB,CAAC,eAAe,CAAC,iBAAiB;aACpE,iBAAiB,CAAC,KAAK,CAAC;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"QueryBuilderAggregateOperator_DistinctCount.js","sourceRoot":"","sources":["../../../../../../src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts"],"names":[],"mappings":"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"}