@finos/legend-application-query 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/lib/LegendQueryAppEvent.d.ts +19 -0
  4. package/lib/LegendQueryAppEvent.d.ts.map +1 -0
  5. package/lib/LegendQueryAppEvent.js +21 -0
  6. package/lib/LegendQueryAppEvent.js.map +1 -0
  7. package/lib/QueryBuilder_Const.d.ts +77 -0
  8. package/lib/QueryBuilder_Const.d.ts.map +1 -0
  9. package/lib/QueryBuilder_Const.js +85 -0
  10. package/lib/QueryBuilder_Const.js.map +1 -0
  11. package/lib/application/LegendQuery.d.ts +27 -0
  12. package/lib/application/LegendQuery.d.ts.map +1 -0
  13. package/lib/application/LegendQuery.js +58 -0
  14. package/lib/application/LegendQuery.js.map +1 -0
  15. package/lib/application/LegendQueryApplicationConfig.d.ts +46 -0
  16. package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -0
  17. package/lib/application/LegendQueryApplicationConfig.js +35 -0
  18. package/lib/application/LegendQueryApplicationConfig.js.map +1 -0
  19. package/lib/application/LegendQueryPluginManager.d.ts +32 -0
  20. package/lib/application/LegendQueryPluginManager.d.ts.map +1 -0
  21. package/lib/application/LegendQueryPluginManager.js +46 -0
  22. package/lib/application/LegendQueryPluginManager.js.map +1 -0
  23. package/lib/components/LegendQueryApplication.d.ts +25 -0
  24. package/lib/components/LegendQueryApplication.d.ts.map +1 -0
  25. package/lib/components/LegendQueryApplication.js +39 -0
  26. package/lib/components/LegendQueryApplication.js.map +1 -0
  27. package/lib/components/LegendQueryBaseStoreProvider.d.ts +28 -0
  28. package/lib/components/LegendQueryBaseStoreProvider.d.ts.map +1 -0
  29. package/lib/components/LegendQueryBaseStoreProvider.js +32 -0
  30. package/lib/components/LegendQueryBaseStoreProvider.js.map +1 -0
  31. package/lib/components/QueryBuilder.d.ts +23 -0
  32. package/lib/components/QueryBuilder.d.ts.map +1 -0
  33. package/lib/components/QueryBuilder.js +91 -0
  34. package/lib/components/QueryBuilder.js.map +1 -0
  35. package/lib/components/QueryBuilderExplorerPanel.d.ts +34 -0
  36. package/lib/components/QueryBuilderExplorerPanel.d.ts.map +1 -0
  37. package/lib/components/QueryBuilderExplorerPanel.js +379 -0
  38. package/lib/components/QueryBuilderExplorerPanel.js.map +1 -0
  39. package/lib/components/QueryBuilderFetchStructurePanel.d.ts +23 -0
  40. package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +1 -0
  41. package/lib/components/QueryBuilderFetchStructurePanel.js +89 -0
  42. package/lib/components/QueryBuilderFetchStructurePanel.js.map +1 -0
  43. package/lib/components/QueryBuilderFilterPanel.d.ts +23 -0
  44. package/lib/components/QueryBuilderFilterPanel.d.ts.map +1 -0
  45. package/lib/components/QueryBuilderFilterPanel.js +301 -0
  46. package/lib/components/QueryBuilderFilterPanel.js.map +1 -0
  47. package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts +23 -0
  48. package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -0
  49. package/lib/components/QueryBuilderFunctionsExplorerPanel.js +177 -0
  50. package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +1 -0
  51. package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts +33 -0
  52. package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -0
  53. package/lib/components/QueryBuilderGraphFetchTreePanel.js +96 -0
  54. package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +1 -0
  55. package/lib/components/QueryBuilderLambdaEditor.d.ts +42 -0
  56. package/lib/components/QueryBuilderLambdaEditor.d.ts.map +1 -0
  57. package/lib/components/QueryBuilderLambdaEditor.js +47 -0
  58. package/lib/components/QueryBuilderLambdaEditor.js.map +1 -0
  59. package/lib/components/QueryBuilderMilestoneEditor.d.ts +24 -0
  60. package/lib/components/QueryBuilderMilestoneEditor.d.ts.map +1 -0
  61. package/lib/components/QueryBuilderMilestoneEditor.js +120 -0
  62. package/lib/components/QueryBuilderMilestoneEditor.js.map +1 -0
  63. package/lib/components/QueryBuilderParameterPanel.d.ts +30 -0
  64. package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -0
  65. package/lib/components/QueryBuilderParameterPanel.js +148 -0
  66. package/lib/components/QueryBuilderParameterPanel.js.map +1 -0
  67. package/lib/components/QueryBuilderPostFilterPanel.d.ts +31 -0
  68. package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -0
  69. package/lib/components/QueryBuilderPostFilterPanel.js +373 -0
  70. package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -0
  71. package/lib/components/QueryBuilderProjectionPanel.d.ts +23 -0
  72. package/lib/components/QueryBuilderProjectionPanel.d.ts.map +1 -0
  73. package/lib/components/QueryBuilderProjectionPanel.js +229 -0
  74. package/lib/components/QueryBuilderProjectionPanel.js.map +1 -0
  75. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +30 -0
  76. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -0
  77. package/lib/components/QueryBuilderPropertyExpressionEditor.js +116 -0
  78. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -0
  79. package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts +26 -0
  80. package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -0
  81. package/lib/components/QueryBuilderPropertyInfoTooltip.js +32 -0
  82. package/lib/components/QueryBuilderPropertyInfoTooltip.js.map +1 -0
  83. package/lib/components/QueryBuilderPropertySearchPanel.d.ts +24 -0
  84. package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -0
  85. package/lib/components/QueryBuilderPropertySearchPanel.js +202 -0
  86. package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -0
  87. package/lib/components/QueryBuilderResultModifierPanel.d.ts +23 -0
  88. package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +1 -0
  89. package/lib/components/QueryBuilderResultModifierPanel.js +88 -0
  90. package/lib/components/QueryBuilderResultModifierPanel.js.map +1 -0
  91. package/lib/components/QueryBuilderResultPanel.d.ts +23 -0
  92. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -0
  93. package/lib/components/QueryBuilderResultPanel.js +223 -0
  94. package/lib/components/QueryBuilderResultPanel.js.map +1 -0
  95. package/lib/components/QueryBuilderSetupPanel.d.ts +23 -0
  96. package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -0
  97. package/lib/components/QueryBuilderSetupPanel.js +148 -0
  98. package/lib/components/QueryBuilderSetupPanel.js.map +1 -0
  99. package/lib/components/QueryBuilderTextEditor.d.ts +23 -0
  100. package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -0
  101. package/lib/components/QueryBuilderTextEditor.js +48 -0
  102. package/lib/components/QueryBuilderTextEditor.js.map +1 -0
  103. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +23 -0
  104. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -0
  105. package/lib/components/QueryBuilderUnsupportedQueryEditor.js +35 -0
  106. package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -0
  107. package/lib/components/QueryBuilder_TestID.d.ts +26 -0
  108. package/lib/components/QueryBuilder_TestID.d.ts.map +1 -0
  109. package/lib/components/QueryBuilder_TestID.js +27 -0
  110. package/lib/components/QueryBuilder_TestID.js.map +1 -0
  111. package/lib/components/QueryEditor.d.ts +29 -0
  112. package/lib/components/QueryEditor.d.ts.map +1 -0
  113. package/lib/components/QueryEditor.js +130 -0
  114. package/lib/components/QueryEditor.js.map +1 -0
  115. package/lib/components/QueryEditorComponentTestUtils.d.ts +35 -0
  116. package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -0
  117. package/lib/components/QueryEditorComponentTestUtils.js +108 -0
  118. package/lib/components/QueryEditorComponentTestUtils.js.map +1 -0
  119. package/lib/components/QueryEditorStoreProvider.d.ts +37 -0
  120. package/lib/components/QueryEditorStoreProvider.d.ts.map +1 -0
  121. package/lib/components/QueryEditorStoreProvider.js +48 -0
  122. package/lib/components/QueryEditorStoreProvider.js.map +1 -0
  123. package/lib/components/QuerySetup.d.ts +18 -0
  124. package/lib/components/QuerySetup.d.ts.map +1 -0
  125. package/lib/components/QuerySetup.js +388 -0
  126. package/lib/components/QuerySetup.js.map +1 -0
  127. package/lib/components/QuerySetupStoreProvider.d.ts +23 -0
  128. package/lib/components/QuerySetupStoreProvider.d.ts.map +1 -0
  129. package/lib/components/QuerySetupStoreProvider.js +35 -0
  130. package/lib/components/QuerySetupStoreProvider.js.map +1 -0
  131. package/lib/components/shared/ElementIconUtils.d.ts +18 -0
  132. package/lib/components/shared/ElementIconUtils.d.ts.map +1 -0
  133. package/lib/components/shared/ElementIconUtils.js +37 -0
  134. package/lib/components/shared/ElementIconUtils.js.map +1 -0
  135. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.d.ts +21 -0
  136. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.d.ts.map +1 -0
  137. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.js +27 -0
  138. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.js.map +1 -0
  139. package/lib/graphManager/QueryBuilder_GraphManagerPreset.d.ts +24 -0
  140. package/lib/graphManager/QueryBuilder_GraphManagerPreset.d.ts.map +1 -0
  141. package/lib/graphManager/QueryBuilder_GraphManagerPreset.js +32 -0
  142. package/lib/graphManager/QueryBuilder_GraphManagerPreset.js.map +1 -0
  143. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.d.ts +21 -0
  144. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.d.ts.map +1 -0
  145. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.js +20 -0
  146. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.js.map +1 -0
  147. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.d.ts +21 -0
  148. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.d.ts.map +1 -0
  149. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.js +20 -0
  150. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.js.map +1 -0
  151. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.d.ts +25 -0
  152. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.d.ts.map +1 -0
  153. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.js +21 -0
  154. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.js.map +1 -0
  155. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.d.ts +18 -0
  156. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.d.ts.map +1 -0
  157. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.js +20 -0
  158. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.js.map +1 -0
  159. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts +22 -0
  160. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -0
  161. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +68 -0
  162. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -0
  163. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts +22 -0
  164. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts.map +1 -0
  165. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js +207 -0
  166. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js.map +1 -0
  167. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts +18 -0
  168. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts.map +1 -0
  169. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js +18 -0
  170. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js.map +1 -0
  171. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.d.ts +29 -0
  172. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.d.ts.map +1 -0
  173. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js +182 -0
  174. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js.map +1 -0
  175. package/lib/index.css +17 -0
  176. package/lib/index.css.map +1 -0
  177. package/lib/index.d.ts +36 -0
  178. package/lib/index.d.ts.map +1 -0
  179. package/lib/index.js +36 -0
  180. package/lib/index.js.map +1 -0
  181. package/lib/package.json +99 -0
  182. package/lib/stores/LegendQueryApplicationPlugin.d.ts +47 -0
  183. package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -0
  184. package/lib/stores/LegendQueryApplicationPlugin.js +27 -0
  185. package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -0
  186. package/lib/stores/LegendQueryBaseStore.d.ts +28 -0
  187. package/lib/stores/LegendQueryBaseStore.d.ts.map +1 -0
  188. package/lib/stores/LegendQueryBaseStore.js +28 -0
  189. package/lib/stores/LegendQueryBaseStore.js.map +1 -0
  190. package/lib/stores/LegendQueryEventService.d.ts +27 -0
  191. package/lib/stores/LegendQueryEventService.d.ts.map +1 -0
  192. package/lib/stores/LegendQueryEventService.js +29 -0
  193. package/lib/stores/LegendQueryEventService.js.map +1 -0
  194. package/lib/stores/LegendQueryRouter.d.ts +55 -0
  195. package/lib/stores/LegendQueryRouter.d.ts.map +1 -0
  196. package/lib/stores/LegendQueryRouter.js +50 -0
  197. package/lib/stores/LegendQueryRouter.js.map +1 -0
  198. package/lib/stores/QueryBuilderAggregationState.d.ts +53 -0
  199. package/lib/stores/QueryBuilderAggregationState.d.ts.map +1 -0
  200. package/lib/stores/QueryBuilderAggregationState.js +122 -0
  201. package/lib/stores/QueryBuilderAggregationState.js.map +1 -0
  202. package/lib/stores/QueryBuilderExplorerState.d.ts +93 -0
  203. package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -0
  204. package/lib/stores/QueryBuilderExplorerState.js +310 -0
  205. package/lib/stores/QueryBuilderExplorerState.js.map +1 -0
  206. package/lib/stores/QueryBuilderFetchStructureState.d.ts +33 -0
  207. package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +1 -0
  208. package/lib/stores/QueryBuilderFetchStructureState.js +50 -0
  209. package/lib/stores/QueryBuilderFetchStructureState.js.map +1 -0
  210. package/lib/stores/QueryBuilderFilterState.d.ts +127 -0
  211. package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -0
  212. package/lib/stores/QueryBuilderFilterState.js +566 -0
  213. package/lib/stores/QueryBuilderFilterState.js.map +1 -0
  214. package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts +35 -0
  215. package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +1 -0
  216. package/lib/stores/QueryBuilderGraphFetchTreeState.js +65 -0
  217. package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +1 -0
  218. package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts +41 -0
  219. package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -0
  220. package/lib/stores/QueryBuilderGraphFetchTreeUtil.js +173 -0
  221. package/lib/stores/QueryBuilderGraphFetchTreeUtil.js.map +1 -0
  222. package/lib/stores/QueryBuilderLambdaBuilder.d.ts +30 -0
  223. package/lib/stores/QueryBuilderLambdaBuilder.d.ts.map +1 -0
  224. package/lib/stores/QueryBuilderLambdaBuilder.js +407 -0
  225. package/lib/stores/QueryBuilderLambdaBuilder.js.map +1 -0
  226. package/lib/stores/QueryBuilderLambdaProcessor.d.ts +56 -0
  227. package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +1 -0
  228. package/lib/stores/QueryBuilderLambdaProcessor.js +544 -0
  229. package/lib/stores/QueryBuilderLambdaProcessor.js.map +1 -0
  230. package/lib/stores/QueryBuilderOperatorsHelper.d.ts +28 -0
  231. package/lib/stores/QueryBuilderOperatorsHelper.d.ts.map +1 -0
  232. package/lib/stores/QueryBuilderOperatorsHelper.js +123 -0
  233. package/lib/stores/QueryBuilderOperatorsHelper.js.map +1 -0
  234. package/lib/stores/QueryBuilderPostFilterOperator.d.ts +29 -0
  235. package/lib/stores/QueryBuilderPostFilterOperator.d.ts.map +1 -0
  236. package/lib/stores/QueryBuilderPostFilterOperator.js +30 -0
  237. package/lib/stores/QueryBuilderPostFilterOperator.js.map +1 -0
  238. package/lib/stores/QueryBuilderPostFilterProcessor.d.ts +24 -0
  239. package/lib/stores/QueryBuilderPostFilterProcessor.d.ts.map +1 -0
  240. package/lib/stores/QueryBuilderPostFilterProcessor.js +111 -0
  241. package/lib/stores/QueryBuilderPostFilterProcessor.js.map +1 -0
  242. package/lib/stores/QueryBuilderPostFilterState.d.ts +132 -0
  243. package/lib/stores/QueryBuilderPostFilterState.d.ts.map +1 -0
  244. package/lib/stores/QueryBuilderPostFilterState.js +559 -0
  245. package/lib/stores/QueryBuilderPostFilterState.js.map +1 -0
  246. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts +25 -0
  247. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -0
  248. package/lib/stores/QueryBuilderPreviewDataHelper.js +161 -0
  249. package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -0
  250. package/lib/stores/QueryBuilderProjectionState.d.ts +104 -0
  251. package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -0
  252. package/lib/stores/QueryBuilderProjectionState.js +432 -0
  253. package/lib/stores/QueryBuilderProjectionState.js.map +1 -0
  254. package/lib/stores/QueryBuilderPropertyEditorState.d.ts +62 -0
  255. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -0
  256. package/lib/stores/QueryBuilderPropertyEditorState.js +384 -0
  257. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -0
  258. package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts +46 -0
  259. package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts.map +1 -0
  260. package/lib/stores/QueryBuilderPropertySearchPanelState.js +240 -0
  261. package/lib/stores/QueryBuilderPropertySearchPanelState.js.map +1 -0
  262. package/lib/stores/QueryBuilderResultState.d.ts +38 -0
  263. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -0
  264. package/lib/stores/QueryBuilderResultState.js +164 -0
  265. package/lib/stores/QueryBuilderResultState.js.map +1 -0
  266. package/lib/stores/QueryBuilderSetupState.d.ts +46 -0
  267. package/lib/stores/QueryBuilderSetupState.d.ts.map +1 -0
  268. package/lib/stores/QueryBuilderSetupState.js +163 -0
  269. package/lib/stores/QueryBuilderSetupState.js.map +1 -0
  270. package/lib/stores/QueryBuilderState.d.ts +101 -0
  271. package/lib/stores/QueryBuilderState.d.ts.map +1 -0
  272. package/lib/stores/QueryBuilderState.js +371 -0
  273. package/lib/stores/QueryBuilderState.js.map +1 -0
  274. package/lib/stores/QueryBuilderUnsupportedState.d.ts +26 -0
  275. package/lib/stores/QueryBuilderUnsupportedState.d.ts.map +1 -0
  276. package/lib/stores/QueryBuilderUnsupportedState.js +36 -0
  277. package/lib/stores/QueryBuilderUnsupportedState.js.map +1 -0
  278. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts +19 -0
  279. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -0
  280. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +50 -0
  281. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -0
  282. package/lib/stores/QueryEditorStore.d.ts +98 -0
  283. package/lib/stores/QueryEditorStore.d.ts.map +1 -0
  284. package/lib/stores/QueryEditorStore.js +370 -0
  285. package/lib/stores/QueryEditorStore.js.map +1 -0
  286. package/lib/stores/QueryEditorStoreTestUtils.d.ts +18 -0
  287. package/lib/stores/QueryEditorStoreTestUtils.d.ts.map +1 -0
  288. package/lib/stores/QueryEditorStoreTestUtils.js +42 -0
  289. package/lib/stores/QueryEditorStoreTestUtils.js.map +1 -0
  290. package/lib/stores/QueryFunctionsExplorerState.d.ts +63 -0
  291. package/lib/stores/QueryFunctionsExplorerState.d.ts.map +1 -0
  292. package/lib/stores/QueryFunctionsExplorerState.js +238 -0
  293. package/lib/stores/QueryFunctionsExplorerState.js.map +1 -0
  294. package/lib/stores/QueryParametersState.d.ts +30 -0
  295. package/lib/stores/QueryParametersState.d.ts.map +1 -0
  296. package/lib/stores/QueryParametersState.js +42 -0
  297. package/lib/stores/QueryParametersState.js.map +1 -0
  298. package/lib/stores/QueryResultSetModifierState.d.ts +52 -0
  299. package/lib/stores/QueryResultSetModifierState.d.ts.map +1 -0
  300. package/lib/stores/QueryResultSetModifierState.js +165 -0
  301. package/lib/stores/QueryResultSetModifierState.js.map +1 -0
  302. package/lib/stores/QuerySetupStore.d.ts +86 -0
  303. package/lib/stores/QuerySetupStore.d.ts.map +1 -0
  304. package/lib/stores/QuerySetupStore.js +297 -0
  305. package/lib/stores/QuerySetupStore.js.map +1 -0
  306. package/lib/stores/QueryTextEditorState.d.ts +49 -0
  307. package/lib/stores/QueryTextEditorState.d.ts.map +1 -0
  308. package/lib/stores/QueryTextEditorState.js +145 -0
  309. package/lib/stores/QueryTextEditorState.js.map +1 -0
  310. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts +21 -0
  311. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts.map +1 -0
  312. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js +40 -0
  313. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js.map +1 -0
  314. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts +26 -0
  315. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -0
  316. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js +50 -0
  317. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js.map +1 -0
  318. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts +26 -0
  319. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -0
  320. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js +55 -0
  321. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js.map +1 -0
  322. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts +25 -0
  323. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -0
  324. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js +50 -0
  325. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js.map +1 -0
  326. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts +26 -0
  327. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -0
  328. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js +77 -0
  329. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -0
  330. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts +26 -0
  331. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -0
  332. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js +66 -0
  333. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js.map +1 -0
  334. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts +25 -0
  335. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -0
  336. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js +86 -0
  337. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js.map +1 -0
  338. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts +25 -0
  339. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -0
  340. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js +86 -0
  341. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js.map +1 -0
  342. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts +26 -0
  343. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -0
  344. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js +50 -0
  345. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -0
  346. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +26 -0
  347. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -0
  348. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js +50 -0
  349. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -0
  350. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts +25 -0
  351. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -0
  352. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js +45 -0
  353. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js.map +1 -0
  354. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts +20 -0
  355. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts.map +1 -0
  356. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js +257 -0
  357. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js.map +1 -0
  358. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts +31 -0
  359. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -0
  360. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js +72 -0
  361. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js.map +1 -0
  362. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts +31 -0
  363. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -0
  364. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js +72 -0
  365. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js.map +1 -0
  366. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts +31 -0
  367. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -0
  368. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +139 -0
  369. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -0
  370. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts +26 -0
  371. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -0
  372. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +107 -0
  373. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -0
  374. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +26 -0
  375. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -0
  376. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +107 -0
  377. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -0
  378. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts +31 -0
  379. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts.map +1 -0
  380. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js +103 -0
  381. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js.map +1 -0
  382. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts +31 -0
  383. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -0
  384. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js +65 -0
  385. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -0
  386. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts +26 -0
  387. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -0
  388. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +108 -0
  389. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -0
  390. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts +26 -0
  391. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -0
  392. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +107 -0
  393. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -0
  394. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts +31 -0
  395. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -0
  396. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js +72 -0
  397. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js.map +1 -0
  398. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts +23 -0
  399. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -0
  400. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js +74 -0
  401. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js.map +1 -0
  402. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts +32 -0
  403. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -0
  404. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js +76 -0
  405. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js.map +1 -0
  406. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts +32 -0
  407. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -0
  408. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js +76 -0
  409. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -0
  410. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts +32 -0
  411. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -0
  412. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +142 -0
  413. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -0
  414. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts +27 -0
  415. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -0
  416. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +105 -0
  417. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -0
  418. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +24 -0
  419. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -0
  420. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +43 -0
  421. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -0
  422. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts +32 -0
  423. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -0
  424. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js +104 -0
  425. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js.map +1 -0
  426. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +33 -0
  427. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -0
  428. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js +67 -0
  429. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -0
  430. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts +27 -0
  431. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -0
  432. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +105 -0
  433. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -0
  434. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +24 -0
  435. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -0
  436. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js +43 -0
  437. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -0
  438. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts +32 -0
  439. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -0
  440. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js +76 -0
  441. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -0
  442. package/package.json +99 -0
  443. package/src/LegendQueryAppEvent.ts +20 -0
  444. package/src/QueryBuilder_Const.ts +88 -0
  445. package/src/application/LegendQuery.tsx +92 -0
  446. package/src/application/LegendQueryApplicationConfig.ts +77 -0
  447. package/src/application/LegendQueryPluginManager.ts +67 -0
  448. package/src/components/LegendQueryApplication.tsx +104 -0
  449. package/src/components/LegendQueryBaseStoreProvider.tsx +68 -0
  450. package/src/components/QueryBuilder.tsx +375 -0
  451. package/src/components/QueryBuilderExplorerPanel.tsx +998 -0
  452. package/src/components/QueryBuilderFetchStructurePanel.tsx +184 -0
  453. package/src/components/QueryBuilderFilterPanel.tsx +858 -0
  454. package/src/components/QueryBuilderFunctionsExplorerPanel.tsx +598 -0
  455. package/src/components/QueryBuilderGraphFetchTreePanel.tsx +270 -0
  456. package/src/components/QueryBuilderLambdaEditor.tsx +117 -0
  457. package/src/components/QueryBuilderMilestoneEditor.tsx +291 -0
  458. package/src/components/QueryBuilderParameterPanel.tsx +434 -0
  459. package/src/components/QueryBuilderPostFilterPanel.tsx +1061 -0
  460. package/src/components/QueryBuilderProjectionPanel.tsx +652 -0
  461. package/src/components/QueryBuilderPropertyExpressionEditor.tsx +370 -0
  462. package/src/components/QueryBuilderPropertyInfoTooltip.tsx +87 -0
  463. package/src/components/QueryBuilderPropertySearchPanel.tsx +617 -0
  464. package/src/components/QueryBuilderResultModifierPanel.tsx +252 -0
  465. package/src/components/QueryBuilderResultPanel.tsx +582 -0
  466. package/src/components/QueryBuilderSetupPanel.tsx +341 -0
  467. package/src/components/QueryBuilderTextEditor.tsx +127 -0
  468. package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +110 -0
  469. package/src/components/QueryBuilder_TestID.ts +26 -0
  470. package/src/components/QueryEditor.tsx +345 -0
  471. package/src/components/QueryEditorComponentTestUtils.tsx +200 -0
  472. package/src/components/QueryEditorStoreProvider.tsx +128 -0
  473. package/src/components/QuerySetup.tsx +907 -0
  474. package/src/components/QuerySetupStoreProvider.tsx +65 -0
  475. package/src/components/shared/ElementIconUtils.tsx +47 -0
  476. package/src/graphManager/QueryBuilder_GraphManagerPlugin.ts +32 -0
  477. package/src/graphManager/QueryBuilder_GraphManagerPreset.ts +33 -0
  478. package/src/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.ts +22 -0
  479. package/src/graphManager/action/analytics/ServiceExecutionAnalysis.ts +22 -0
  480. package/src/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.ts +47 -0
  481. package/src/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.ts +27 -0
  482. package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +170 -0
  483. package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.ts +573 -0
  484. package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.ts +28 -0
  485. package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.ts +296 -0
  486. package/src/index.ts +57 -0
  487. package/src/stores/LegendQueryApplicationPlugin.ts +61 -0
  488. package/src/stores/LegendQueryBaseStore.ts +47 -0
  489. package/src/stores/LegendQueryEventService.ts +38 -0
  490. package/src/stores/LegendQueryRouter.ts +114 -0
  491. package/src/stores/QueryBuilderAggregationState.ts +208 -0
  492. package/src/stores/QueryBuilderExplorerState.ts +590 -0
  493. package/src/stores/QueryBuilderFetchStructureState.ts +59 -0
  494. package/src/stores/QueryBuilderFilterState.ts +815 -0
  495. package/src/stores/QueryBuilderGraphFetchTreeState.ts +90 -0
  496. package/src/stores/QueryBuilderGraphFetchTreeUtil.ts +281 -0
  497. package/src/stores/QueryBuilderLambdaBuilder.ts +755 -0
  498. package/src/stores/QueryBuilderLambdaProcessor.ts +1239 -0
  499. package/src/stores/QueryBuilderOperatorsHelper.ts +191 -0
  500. package/src/stores/QueryBuilderPostFilterOperator.ts +66 -0
  501. package/src/stores/QueryBuilderPostFilterProcessor.ts +275 -0
  502. package/src/stores/QueryBuilderPostFilterState.ts +762 -0
  503. package/src/stores/QueryBuilderPreviewDataHelper.ts +300 -0
  504. package/src/stores/QueryBuilderProjectionState.ts +796 -0
  505. package/src/stores/QueryBuilderPropertyEditorState.ts +656 -0
  506. package/src/stores/QueryBuilderPropertySearchPanelState.ts +331 -0
  507. package/src/stores/QueryBuilderResultState.ts +263 -0
  508. package/src/stores/QueryBuilderSetupState.ts +236 -0
  509. package/src/stores/QueryBuilderState.ts +561 -0
  510. package/src/stores/QueryBuilderUnsupportedState.ts +42 -0
  511. package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +76 -0
  512. package/src/stores/QueryEditorStore.ts +648 -0
  513. package/src/stores/QueryEditorStoreTestUtils.ts +46 -0
  514. package/src/stores/QueryFunctionsExplorerState.ts +386 -0
  515. package/src/stores/QueryParametersState.ts +54 -0
  516. package/src/stores/QueryResultSetModifierState.ts +307 -0
  517. package/src/stores/QuerySetupStore.ts +430 -0
  518. package/src/stores/QueryTextEditorState.ts +203 -0
  519. package/src/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.ts +111 -0
  520. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.ts +100 -0
  521. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.ts +108 -0
  522. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.ts +98 -0
  523. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.ts +175 -0
  524. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.ts +157 -0
  525. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.ts +176 -0
  526. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.ts +176 -0
  527. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.ts +100 -0
  528. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.ts +100 -0
  529. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.ts +90 -0
  530. package/src/stores/filterOperators/QueryBuilderFilterOperatorHelper.ts +524 -0
  531. package/src/stores/filterOperators/QueryBuilderFilterOperator_Contain.ts +134 -0
  532. package/src/stores/filterOperators/QueryBuilderFilterOperator_EndWith.ts +134 -0
  533. package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +233 -0
  534. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +164 -0
  535. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +164 -0
  536. package/src/stores/filterOperators/QueryBuilderFilterOperator_In.ts +181 -0
  537. package/src/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.ts +125 -0
  538. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +165 -0
  539. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +164 -0
  540. package/src/stores/filterOperators/QueryBuilderFilterOperator_StartWith.ts +134 -0
  541. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.ts +129 -0
  542. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.ts +140 -0
  543. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.ts +135 -0
  544. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +238 -0
  545. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +161 -0
  546. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +70 -0
  547. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.ts +183 -0
  548. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.ts +113 -0
  549. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +161 -0
  550. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.ts +70 -0
  551. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.ts +135 -0
  552. package/tsconfig.json +155 -0
  553. package/tsconfig.package.json +38 -0
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ QueryBuilderFilterOperator,
19
+ type QueryBuilderFilterState,
20
+ type FilterConditionState,
21
+ } from '../QueryBuilderFilterState.js';
22
+ import {
23
+ PRIMITIVE_TYPE,
24
+ type ValueSpecification,
25
+ type SimpleFunctionExpression,
26
+ type AbstractPropertyExpression,
27
+ isSuperType,
28
+ SUPPORTED_FUNCTIONS,
29
+ buildPrimitiveInstanceValue,
30
+ } from '@finos/legend-graph';
31
+ import { UnsupportedOperationError } from '@finos/legend-shared';
32
+ import {
33
+ buildFilterConditionState,
34
+ buildFilterConditionExpression,
35
+ } from './QueryBuilderFilterOperatorHelper.js';
36
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
37
+ import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
38
+ import { getNonCollectionValueSpecificationType } from '../QueryBuilderOperatorsHelper.js';
39
+
40
+ export class QueryBuilderFilterOperator_LessThanEqual extends QueryBuilderFilterOperator {
41
+ getLabel(filterConditionState: FilterConditionState): string {
42
+ return '<=';
43
+ }
44
+
45
+ isCompatibleWithFilterConditionProperty(
46
+ filterConditionState: FilterConditionState,
47
+ ): boolean {
48
+ const propertyType =
49
+ filterConditionState.propertyExpressionState.propertyExpression.func
50
+ .genericType.value.rawType;
51
+ return (
52
+ [
53
+ PRIMITIVE_TYPE.NUMBER,
54
+ PRIMITIVE_TYPE.INTEGER,
55
+ PRIMITIVE_TYPE.DECIMAL,
56
+ PRIMITIVE_TYPE.FLOAT,
57
+ PRIMITIVE_TYPE.DATE,
58
+ PRIMITIVE_TYPE.STRICTDATE,
59
+ PRIMITIVE_TYPE.DATETIME,
60
+ ] as string[]
61
+ ).includes(propertyType.path);
62
+ }
63
+
64
+ isCompatibleWithFilterConditionValue(
65
+ filterConditionState: FilterConditionState,
66
+ ): boolean {
67
+ const propertyType =
68
+ filterConditionState.propertyExpressionState.propertyExpression.func
69
+ .genericType.value.rawType;
70
+ const type = filterConditionState.value
71
+ ? getNonCollectionValueSpecificationType(filterConditionState.value)
72
+ : undefined;
73
+ const NUMERIC_PRIMITIVE_TYPES = [
74
+ PRIMITIVE_TYPE.NUMBER,
75
+ PRIMITIVE_TYPE.INTEGER,
76
+ PRIMITIVE_TYPE.DECIMAL,
77
+ PRIMITIVE_TYPE.FLOAT,
78
+ ] as string[];
79
+
80
+ const DATE_PRIMITIVE_TYPES = [
81
+ PRIMITIVE_TYPE.DATE,
82
+ PRIMITIVE_TYPE.DATETIME,
83
+ PRIMITIVE_TYPE.STRICTDATE,
84
+ PRIMITIVE_TYPE.LATESTDATE,
85
+ ] as string[];
86
+
87
+ // When changing the return type for LHS, the RHS value should be adjusted accordingly.
88
+ return (
89
+ type !== undefined &&
90
+ // Numeric value is handled loosely because of autoboxing
91
+ // e.g. LHS (integer) = RHS (float) is acceptable
92
+ ((NUMERIC_PRIMITIVE_TYPES.includes(type.path) &&
93
+ NUMERIC_PRIMITIVE_TYPES.includes(propertyType.path)) ||
94
+ // Date value is handled loosely as well if the LHS is of type DateTime
95
+ // This is because we would simulate auto-boxing for date by altering the
96
+ // Pure function used for the operation
97
+ // e.g. LHS(DateTime) = RHS(Date) -> we use isOnDay() instead of is()
98
+ DATE_PRIMITIVE_TYPES.includes(type.path) ||
99
+ type === propertyType ||
100
+ isSuperType(propertyType, type))
101
+ );
102
+ }
103
+
104
+ getDefaultFilterConditionValue(
105
+ filterConditionState: FilterConditionState,
106
+ ): ValueSpecification | undefined {
107
+ const propertyType =
108
+ filterConditionState.propertyExpressionState.propertyExpression.func
109
+ .genericType.value.rawType;
110
+ switch (propertyType.path) {
111
+ case PRIMITIVE_TYPE.NUMBER:
112
+ case PRIMITIVE_TYPE.DECIMAL:
113
+ case PRIMITIVE_TYPE.FLOAT:
114
+ case PRIMITIVE_TYPE.INTEGER:
115
+ case PRIMITIVE_TYPE.DATE:
116
+ case PRIMITIVE_TYPE.STRICTDATE:
117
+ case PRIMITIVE_TYPE.DATETIME: {
118
+ return buildPrimitiveInstanceValue(
119
+ filterConditionState.filterState.queryBuilderState.graphManagerState
120
+ .graph,
121
+ propertyType.path,
122
+ generateDefaultValueForPrimitiveType(propertyType.path),
123
+ );
124
+ }
125
+ default:
126
+ throw new UnsupportedOperationError(
127
+ `Can't get default value for filter operator '${this.getLabel(
128
+ filterConditionState,
129
+ )}' when the LHS property is of type '${propertyType.path}'`,
130
+ );
131
+ }
132
+ }
133
+
134
+ buildFilterConditionExpression(
135
+ filterConditionState: FilterConditionState,
136
+ ): ValueSpecification {
137
+ return buildFilterConditionExpression(
138
+ filterConditionState,
139
+ filterConditionState.propertyExpressionState.propertyExpression.func
140
+ .genericType.value.rawType.path === PRIMITIVE_TYPE.DATETIME &&
141
+ filterConditionState.value?.genericType?.value.rawType.path !==
142
+ PRIMITIVE_TYPE.DATETIME
143
+ ? SUPPORTED_FUNCTIONS.IS_ON_OR_BEFORE_DAY
144
+ : QUERY_BUILDER_SUPPORTED_FUNCTIONS.LESS_THAN_EQUAL,
145
+ );
146
+ }
147
+
148
+ buildFilterConditionState(
149
+ filterState: QueryBuilderFilterState,
150
+ expression: SimpleFunctionExpression,
151
+ ): FilterConditionState | undefined {
152
+ return buildFilterConditionState(
153
+ filterState,
154
+ expression,
155
+ (expression.parametersValues[0] as AbstractPropertyExpression).func
156
+ .genericType.value.rawType.path === PRIMITIVE_TYPE.DATETIME &&
157
+ expression.parametersValues[1]?.genericType?.value.rawType.path !==
158
+ PRIMITIVE_TYPE.DATETIME
159
+ ? SUPPORTED_FUNCTIONS.IS_ON_OR_BEFORE_DAY
160
+ : QUERY_BUILDER_SUPPORTED_FUNCTIONS.LESS_THAN_EQUAL,
161
+ this,
162
+ );
163
+ }
164
+ }
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ QueryBuilderFilterOperator,
19
+ type QueryBuilderFilterState,
20
+ type FilterConditionState,
21
+ } from '../QueryBuilderFilterState.js';
22
+ import {
23
+ PRIMITIVE_TYPE,
24
+ type ValueSpecification,
25
+ type SimpleFunctionExpression,
26
+ buildPrimitiveInstanceValue,
27
+ } from '@finos/legend-graph';
28
+ import { UnsupportedOperationError } from '@finos/legend-shared';
29
+ import {
30
+ buildFilterConditionState,
31
+ buildFilterConditionExpression,
32
+ } from './QueryBuilderFilterOperatorHelper.js';
33
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
34
+ import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
35
+ import {
36
+ buildNotExpression,
37
+ getNonCollectionValueSpecificationType,
38
+ unwrapNotExpression,
39
+ } from '../QueryBuilderOperatorsHelper.js';
40
+
41
+ export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOperator {
42
+ getLabel(filterConditionState: FilterConditionState): string {
43
+ return 'starts with';
44
+ }
45
+
46
+ isCompatibleWithFilterConditionProperty(
47
+ filterConditionState: FilterConditionState,
48
+ ): boolean {
49
+ const propertyType =
50
+ filterConditionState.propertyExpressionState.propertyExpression.func
51
+ .genericType.value.rawType;
52
+ return PRIMITIVE_TYPE.STRING === propertyType.path;
53
+ }
54
+
55
+ isCompatibleWithFilterConditionValue(
56
+ filterConditionState: FilterConditionState,
57
+ ): boolean {
58
+ const type = filterConditionState.value
59
+ ? getNonCollectionValueSpecificationType(filterConditionState.value)
60
+ : undefined;
61
+ return PRIMITIVE_TYPE.STRING === type?.path;
62
+ }
63
+
64
+ getDefaultFilterConditionValue(
65
+ filterConditionState: FilterConditionState,
66
+ ): ValueSpecification | undefined {
67
+ const propertyType =
68
+ filterConditionState.propertyExpressionState.propertyExpression.func
69
+ .genericType.value.rawType;
70
+ switch (propertyType.path) {
71
+ case PRIMITIVE_TYPE.STRING: {
72
+ return buildPrimitiveInstanceValue(
73
+ filterConditionState.filterState.queryBuilderState.graphManagerState
74
+ .graph,
75
+ propertyType.path,
76
+ generateDefaultValueForPrimitiveType(propertyType.path),
77
+ );
78
+ }
79
+ default:
80
+ throw new UnsupportedOperationError(
81
+ `Can't get default value for filter operator '${this.getLabel(
82
+ filterConditionState,
83
+ )}' when the LHS property is of type '${propertyType.path}'`,
84
+ );
85
+ }
86
+ }
87
+
88
+ buildFilterConditionExpression(
89
+ filterConditionState: FilterConditionState,
90
+ ): ValueSpecification {
91
+ return buildFilterConditionExpression(
92
+ filterConditionState,
93
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.STARTS_WITH,
94
+ );
95
+ }
96
+
97
+ buildFilterConditionState(
98
+ filterState: QueryBuilderFilterState,
99
+ expression: SimpleFunctionExpression,
100
+ ): FilterConditionState | undefined {
101
+ return buildFilterConditionState(
102
+ filterState,
103
+ expression,
104
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.STARTS_WITH,
105
+ this,
106
+ );
107
+ }
108
+ }
109
+
110
+ export class QueryBuilderFilterOperator_NotStartWith extends QueryBuilderFilterOperator_StartWith {
111
+ override getLabel(filterConditionState: FilterConditionState): string {
112
+ return `doesn't start with`;
113
+ }
114
+
115
+ override buildFilterConditionExpression(
116
+ filterConditionState: FilterConditionState,
117
+ ): ValueSpecification {
118
+ return buildNotExpression(
119
+ filterConditionState.filterState.queryBuilderState.graphManagerState
120
+ .graph,
121
+ super.buildFilterConditionExpression(filterConditionState),
122
+ );
123
+ }
124
+
125
+ override buildFilterConditionState(
126
+ filterState: QueryBuilderFilterState,
127
+ expression: SimpleFunctionExpression,
128
+ ): FilterConditionState | undefined {
129
+ const innerExpression = unwrapNotExpression(expression);
130
+ return innerExpression
131
+ ? super.buildFilterConditionState(filterState, innerExpression)
132
+ : undefined;
133
+ }
134
+ }
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ type Multiplicity,
19
+ type FunctionExpression,
20
+ AbstractPropertyExpression,
21
+ extractElementNameFromPath,
22
+ GenericType,
23
+ GenericTypeExplicitReference,
24
+ PrimitiveInstanceValue,
25
+ PRIMITIVE_TYPE,
26
+ SimpleFunctionExpression,
27
+ TYPICAL_MULTIPLICITY_TYPE,
28
+ VariableExpression,
29
+ getAllClassDerivedProperties,
30
+ } from '@finos/legend-graph';
31
+ import {
32
+ guaranteeNonNullable,
33
+ UnsupportedOperationError,
34
+ } from '@finos/legend-shared';
35
+ import { TDS_ROW } from '../../QueryBuilder_Const.js';
36
+ import { QueryBuilderAggregateColumnState } from '../QueryBuilderAggregationState.js';
37
+ import type { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
38
+ import {
39
+ type PostFilterConditionState,
40
+ type TDS_COLUMN_GETTER,
41
+ getTDSColumnDerivedProperyFromType,
42
+ } from '../QueryBuilderPostFilterState.js';
43
+ import {
44
+ type QueryBuilderProjectionColumnState,
45
+ QueryBuilderSimpleProjectionColumnState,
46
+ } from '../QueryBuilderProjectionState.js';
47
+
48
+ export const getColumnMultiplicity = (
49
+ columnState:
50
+ | QueryBuilderProjectionColumnState
51
+ | QueryBuilderAggregateColumnState,
52
+ ): Multiplicity => {
53
+ if (columnState instanceof QueryBuilderAggregateColumnState) {
54
+ return columnState.aggregationState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
55
+ TYPICAL_MULTIPLICITY_TYPE.ONE,
56
+ );
57
+ } else if (columnState instanceof QueryBuilderSimpleProjectionColumnState) {
58
+ return columnState.propertyExpressionState.propertyExpression.func
59
+ .multiplicity;
60
+ }
61
+ throw new UnsupportedOperationError(
62
+ `Can't get multiplicity for column`,
63
+ columnState,
64
+ );
65
+ };
66
+
67
+ export const buildPostFilterConditionExpression = (
68
+ filterConditionState: PostFilterConditionState,
69
+ operator: QueryBuilderPostFilterOperator,
70
+ /**
71
+ * If provided, this will be used to construct the simple
72
+ * function expression for the function with the specified
73
+ * name. If not provided, we will fall back to use the TDS column getter function expression.
74
+ * This is the case because with TDS, we are provided some filter-like operators, e.g. IS_NULL, IS_NOT_NULL, etc.
75
+ */
76
+ operatorFunctionFullPath: string | undefined,
77
+ ): FunctionExpression => {
78
+ // primitives
79
+ const graph =
80
+ filterConditionState.postFilterState.queryBuilderState.graphManagerState
81
+ .graph;
82
+ const multiplicityOne = graph.getTypicalMultiplicity(
83
+ TYPICAL_MULTIPLICITY_TYPE.ONE,
84
+ );
85
+ const typeString = graph.getPrimitiveType(PRIMITIVE_TYPE.STRING);
86
+ // property expression
87
+ const colState = filterConditionState.columnState;
88
+ const tdsPropertyExpression = new AbstractPropertyExpression(
89
+ '',
90
+ multiplicityOne,
91
+ );
92
+ let tdsDerivedPropertyName: TDS_COLUMN_GETTER;
93
+ const correspondingTdsDerivedProperty = operator.getTdsColumnGetter();
94
+ if (correspondingTdsDerivedProperty) {
95
+ tdsDerivedPropertyName = correspondingTdsDerivedProperty;
96
+ } else {
97
+ const type = guaranteeNonNullable(colState.getReturnType());
98
+ tdsDerivedPropertyName = getTDSColumnDerivedProperyFromType(type);
99
+ }
100
+ tdsPropertyExpression.func = guaranteeNonNullable(
101
+ getAllClassDerivedProperties(graph.getClass(TDS_ROW)).find(
102
+ (p) => p.name === tdsDerivedPropertyName,
103
+ ),
104
+ );
105
+ const variableName = new VariableExpression(
106
+ filterConditionState.postFilterState.lambdaParameterName,
107
+ multiplicityOne,
108
+ );
109
+ const colInstanceValue = new PrimitiveInstanceValue(
110
+ GenericTypeExplicitReference.create(new GenericType(typeString)),
111
+ multiplicityOne,
112
+ );
113
+ colInstanceValue.values = [colState.columnName];
114
+ tdsPropertyExpression.parametersValues = [variableName, colInstanceValue];
115
+
116
+ if (operatorFunctionFullPath) {
117
+ const expression = new SimpleFunctionExpression(
118
+ extractElementNameFromPath(operatorFunctionFullPath),
119
+ multiplicityOne,
120
+ );
121
+ expression.parametersValues.push(tdsPropertyExpression);
122
+ if (filterConditionState.value) {
123
+ expression.parametersValues.push(filterConditionState.value);
124
+ }
125
+ return expression;
126
+ } else {
127
+ return tdsPropertyExpression;
128
+ }
129
+ };
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ type SimpleFunctionExpression,
19
+ type Type,
20
+ type ValueSpecification,
21
+ type FunctionExpression,
22
+ PRIMITIVE_TYPE,
23
+ buildPrimitiveInstanceValue,
24
+ } from '@finos/legend-graph';
25
+ import {
26
+ guaranteeNonNullable,
27
+ UnsupportedOperationError,
28
+ } from '@finos/legend-shared';
29
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
30
+ import {
31
+ buildNotExpression,
32
+ getNonCollectionValueSpecificationType,
33
+ unwrapNotExpression,
34
+ } from '../QueryBuilderOperatorsHelper.js';
35
+ import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
36
+ import { buildPostFilterConditionState } from '../QueryBuilderPostFilterProcessor.js';
37
+ import type {
38
+ PostFilterConditionState,
39
+ QueryBuilderPostFilterState,
40
+ } from '../QueryBuilderPostFilterState.js';
41
+ import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
42
+ import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
43
+
44
+ export class QueryBuilderPostFilterOperator_Contain extends QueryBuilderPostFilterOperator {
45
+ getLabel(): string {
46
+ return 'contains';
47
+ }
48
+
49
+ isCompatibleWithType(type: Type): boolean {
50
+ if (type.path === PRIMITIVE_TYPE.STRING) {
51
+ return true;
52
+ }
53
+ return false;
54
+ }
55
+
56
+ isCompatibleWithConditionValue(
57
+ postFilterConditionState: PostFilterConditionState,
58
+ ): boolean {
59
+ const type = postFilterConditionState.value
60
+ ? getNonCollectionValueSpecificationType(postFilterConditionState.value)
61
+ : undefined;
62
+ return PRIMITIVE_TYPE.STRING === type?.path;
63
+ }
64
+
65
+ getDefaultFilterConditionValue(
66
+ postFilterConditionState: PostFilterConditionState,
67
+ ): ValueSpecification {
68
+ const propertyType = guaranteeNonNullable(
69
+ postFilterConditionState.columnState.getReturnType(),
70
+ );
71
+ switch (propertyType.path) {
72
+ case PRIMITIVE_TYPE.STRING: {
73
+ return buildPrimitiveInstanceValue(
74
+ postFilterConditionState.postFilterState.queryBuilderState
75
+ .graphManagerState.graph,
76
+ propertyType.path,
77
+ generateDefaultValueForPrimitiveType(propertyType.path),
78
+ );
79
+ }
80
+ default:
81
+ throw new UnsupportedOperationError(
82
+ `Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${
83
+ propertyType.path
84
+ }'`,
85
+ );
86
+ }
87
+ }
88
+
89
+ buildPostFilterConditionExpression(
90
+ postFilterConditionState: PostFilterConditionState,
91
+ ): ValueSpecification | undefined {
92
+ return buildPostFilterConditionExpression(
93
+ postFilterConditionState,
94
+ this,
95
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.CONTAINS,
96
+ );
97
+ }
98
+
99
+ buildPostFilterConditionState(
100
+ postFilterState: QueryBuilderPostFilterState,
101
+ expression: FunctionExpression,
102
+ ): PostFilterConditionState | undefined {
103
+ return buildPostFilterConditionState(
104
+ postFilterState,
105
+ expression,
106
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.CONTAINS,
107
+ this,
108
+ );
109
+ }
110
+ }
111
+
112
+ export class QueryBuilderPostFilterOperator_NotContain extends QueryBuilderPostFilterOperator_Contain {
113
+ override getLabel(): string {
114
+ return `doesn't contain`;
115
+ }
116
+ override buildPostFilterConditionExpression(
117
+ postFilterConditionState: PostFilterConditionState,
118
+ ): ValueSpecification | undefined {
119
+ const expression = super.buildPostFilterConditionExpression(
120
+ postFilterConditionState,
121
+ );
122
+ return expression
123
+ ? buildNotExpression(
124
+ postFilterConditionState.postFilterState.queryBuilderState
125
+ .graphManagerState.graph,
126
+ expression,
127
+ )
128
+ : undefined;
129
+ }
130
+
131
+ override buildPostFilterConditionState(
132
+ postFilterState: QueryBuilderPostFilterState,
133
+ expression: SimpleFunctionExpression,
134
+ ): PostFilterConditionState | undefined {
135
+ const innerExpression = unwrapNotExpression(expression);
136
+ return innerExpression
137
+ ? super.buildPostFilterConditionState(postFilterState, innerExpression)
138
+ : undefined;
139
+ }
140
+ }
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import {
17
+ type SimpleFunctionExpression,
18
+ type Type,
19
+ type ValueSpecification,
20
+ type FunctionExpression,
21
+ PRIMITIVE_TYPE,
22
+ buildPrimitiveInstanceValue,
23
+ } from '@finos/legend-graph';
24
+ import { UnsupportedOperationError } from '@finos/legend-shared';
25
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
26
+ import {
27
+ buildNotExpression,
28
+ getNonCollectionValueSpecificationType,
29
+ unwrapNotExpression,
30
+ } from '../QueryBuilderOperatorsHelper.js';
31
+ import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
32
+ import { buildPostFilterConditionState } from '../QueryBuilderPostFilterProcessor.js';
33
+ import type {
34
+ PostFilterConditionState,
35
+ QueryBuilderPostFilterState,
36
+ } from '../QueryBuilderPostFilterState.js';
37
+ import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
38
+ import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
39
+
40
+ export class QueryBuilderPostFilterOperator_EndWith extends QueryBuilderPostFilterOperator {
41
+ getLabel(): string {
42
+ return 'ends with';
43
+ }
44
+
45
+ isCompatibleWithType(type: Type): boolean {
46
+ if (type.path === PRIMITIVE_TYPE.STRING) {
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+
52
+ isCompatibleWithConditionValue(
53
+ postFilterConditionState: PostFilterConditionState,
54
+ ): boolean {
55
+ const type = postFilterConditionState.value
56
+ ? getNonCollectionValueSpecificationType(postFilterConditionState.value)
57
+ : undefined;
58
+ return PRIMITIVE_TYPE.STRING === type?.path;
59
+ }
60
+
61
+ getDefaultFilterConditionValue(
62
+ postFilterConditionState: PostFilterConditionState,
63
+ ): ValueSpecification {
64
+ const propertyType = postFilterConditionState.columnState.getReturnType();
65
+ switch (propertyType?.path) {
66
+ case PRIMITIVE_TYPE.STRING: {
67
+ return buildPrimitiveInstanceValue(
68
+ postFilterConditionState.postFilterState.queryBuilderState
69
+ .graphManagerState.graph,
70
+ propertyType.path,
71
+ generateDefaultValueForPrimitiveType(propertyType.path),
72
+ );
73
+ }
74
+ default:
75
+ throw new UnsupportedOperationError(
76
+ `Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${
77
+ propertyType?.path
78
+ }'`,
79
+ );
80
+ }
81
+ }
82
+
83
+ buildPostFilterConditionExpression(
84
+ postFilterConditionState: PostFilterConditionState,
85
+ ): ValueSpecification | undefined {
86
+ return buildPostFilterConditionExpression(
87
+ postFilterConditionState,
88
+ this,
89
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.ENDS_WITH,
90
+ );
91
+ }
92
+
93
+ buildPostFilterConditionState(
94
+ postFilterState: QueryBuilderPostFilterState,
95
+ expression: FunctionExpression,
96
+ ): PostFilterConditionState | undefined {
97
+ return buildPostFilterConditionState(
98
+ postFilterState,
99
+ expression,
100
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.ENDS_WITH,
101
+ this,
102
+ );
103
+ }
104
+ }
105
+
106
+ export class QueryBuilderPostFilterOperator_NotEndWith extends QueryBuilderPostFilterOperator_EndWith {
107
+ override getLabel(): string {
108
+ return `doesn't end with`;
109
+ }
110
+
111
+ override buildPostFilterConditionExpression(
112
+ postFilterConditionState: PostFilterConditionState,
113
+ ): ValueSpecification | undefined {
114
+ const expression = super.buildPostFilterConditionExpression(
115
+ postFilterConditionState,
116
+ );
117
+ return expression
118
+ ? buildNotExpression(
119
+ postFilterConditionState.postFilterState.queryBuilderState
120
+ .graphManagerState.graph,
121
+ expression,
122
+ )
123
+ : undefined;
124
+ }
125
+
126
+ override buildPostFilterConditionState(
127
+ postFilterState: QueryBuilderPostFilterState,
128
+ expression: SimpleFunctionExpression,
129
+ ): PostFilterConditionState | undefined {
130
+ const innerExpression = unwrapNotExpression(expression);
131
+ return innerExpression
132
+ ? super.buildPostFilterConditionState(postFilterState, innerExpression)
133
+ : undefined;
134
+ }
135
+ }