@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,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
+ unwrapNotExpression,
38
+ getNonCollectionValueSpecificationType,
39
+ } from '../QueryBuilderOperatorsHelper.js';
40
+
41
+ export class QueryBuilderFilterOperator_Contain extends QueryBuilderFilterOperator {
42
+ getLabel(filterConditionState: FilterConditionState): string {
43
+ return 'contains';
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.CONTAINS,
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.CONTAINS,
105
+ this,
106
+ );
107
+ }
108
+ }
109
+
110
+ export class QueryBuilderFilterOperator_NotContain extends QueryBuilderFilterOperator_Contain {
111
+ override getLabel(filterConditionState: FilterConditionState): string {
112
+ return `doesn't contain`;
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,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
+ unwrapNotExpression,
38
+ getNonCollectionValueSpecificationType,
39
+ } from '../QueryBuilderOperatorsHelper.js';
40
+
41
+ export class QueryBuilderFilterOperator_EndWith extends QueryBuilderFilterOperator {
42
+ getLabel(filterConditionState: FilterConditionState): string {
43
+ return 'ends 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.ENDS_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.ENDS_WITH,
105
+ this,
106
+ );
107
+ }
108
+ }
109
+
110
+ export class QueryBuilderFilterOperator_NotEndWith extends QueryBuilderFilterOperator_EndWith {
111
+ override getLabel(filterConditionState: FilterConditionState): string {
112
+ return `doesn't end 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,233 @@
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
+ type ValueSpecification,
24
+ type SimpleFunctionExpression,
25
+ type Enum,
26
+ type AbstractPropertyExpression,
27
+ EnumValueInstanceValue,
28
+ GenericTypeExplicitReference,
29
+ GenericType,
30
+ TYPICAL_MULTIPLICITY_TYPE,
31
+ EnumValueExplicitReference,
32
+ Enumeration,
33
+ PRIMITIVE_TYPE,
34
+ isSuperType,
35
+ SUPPORTED_FUNCTIONS,
36
+ buildPrimitiveInstanceValue,
37
+ } from '@finos/legend-graph';
38
+ import { UnsupportedOperationError } from '@finos/legend-shared';
39
+ import {
40
+ buildFilterConditionState,
41
+ buildFilterConditionExpression,
42
+ } from './QueryBuilderFilterOperatorHelper.js';
43
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
44
+ import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
45
+ import {
46
+ buildNotExpression,
47
+ unwrapNotExpression,
48
+ getNonCollectionValueSpecificationType,
49
+ } from '../QueryBuilderOperatorsHelper.js';
50
+
51
+ export class QueryBuilderFilterOperator_Equal extends QueryBuilderFilterOperator {
52
+ getLabel(filterConditionState: FilterConditionState): string {
53
+ return 'is';
54
+ }
55
+
56
+ isCompatibleWithFilterConditionProperty(
57
+ filterConditionState: FilterConditionState,
58
+ ): boolean {
59
+ const propertyType =
60
+ filterConditionState.propertyExpressionState.propertyExpression.func
61
+ .genericType.value.rawType;
62
+ return (
63
+ (
64
+ [
65
+ PRIMITIVE_TYPE.STRING,
66
+ PRIMITIVE_TYPE.BOOLEAN,
67
+ PRIMITIVE_TYPE.NUMBER,
68
+ PRIMITIVE_TYPE.INTEGER,
69
+ PRIMITIVE_TYPE.DECIMAL,
70
+ PRIMITIVE_TYPE.FLOAT,
71
+ PRIMITIVE_TYPE.DATE,
72
+ PRIMITIVE_TYPE.STRICTDATE,
73
+ PRIMITIVE_TYPE.DATETIME,
74
+ ] as string[]
75
+ ).includes(propertyType.path) ||
76
+ // if the type is enumeration, make sure the enumeration has some value
77
+ (propertyType instanceof Enumeration && propertyType.values.length > 0)
78
+ );
79
+ }
80
+
81
+ isCompatibleWithFilterConditionValue(
82
+ filterConditionState: FilterConditionState,
83
+ ): boolean {
84
+ const propertyType =
85
+ filterConditionState.propertyExpressionState.propertyExpression.func
86
+ .genericType.value.rawType;
87
+ const type = filterConditionState.value
88
+ ? getNonCollectionValueSpecificationType(filterConditionState.value)
89
+ : undefined;
90
+
91
+ const NUMERIC_PRIMITIVE_TYPES = [
92
+ PRIMITIVE_TYPE.NUMBER,
93
+ PRIMITIVE_TYPE.INTEGER,
94
+ PRIMITIVE_TYPE.DECIMAL,
95
+ PRIMITIVE_TYPE.FLOAT,
96
+ ] as string[];
97
+
98
+ const DATE_PRIMITIVE_TYPES = [
99
+ PRIMITIVE_TYPE.DATE,
100
+ PRIMITIVE_TYPE.DATETIME,
101
+ PRIMITIVE_TYPE.STRICTDATE,
102
+ PRIMITIVE_TYPE.LATESTDATE,
103
+ ] as string[];
104
+
105
+ // When changing the return type for LHS, the RHS value should be adjusted accordingly.
106
+ return (
107
+ type !== undefined &&
108
+ // Numeric value is handled loosely because of autoboxing
109
+ // e.g. LHS (integer) = RHS (float) is acceptable
110
+ ((NUMERIC_PRIMITIVE_TYPES.includes(type.path) &&
111
+ NUMERIC_PRIMITIVE_TYPES.includes(propertyType.path)) ||
112
+ // Date value is handled loosely as well if the LHS is of type DateTime
113
+ // This is because we would simulate auto-boxing for date by altering the
114
+ // Pure function used for the operation
115
+ // e.g. LHS(DateTime) = RHS(Date) -> we use isOnDay() instead of is()
116
+ DATE_PRIMITIVE_TYPES.includes(type.path) ||
117
+ type === propertyType ||
118
+ isSuperType(propertyType, type))
119
+ );
120
+ }
121
+
122
+ getDefaultFilterConditionValue(
123
+ filterConditionState: FilterConditionState,
124
+ ): ValueSpecification | undefined {
125
+ const propertyType =
126
+ filterConditionState.propertyExpressionState.propertyExpression.func
127
+ .genericType.value.rawType;
128
+ switch (propertyType.path) {
129
+ case PRIMITIVE_TYPE.STRING:
130
+ case PRIMITIVE_TYPE.BOOLEAN:
131
+ case PRIMITIVE_TYPE.DATE:
132
+ case PRIMITIVE_TYPE.STRICTDATE:
133
+ case PRIMITIVE_TYPE.DATETIME:
134
+ case PRIMITIVE_TYPE.NUMBER:
135
+ case PRIMITIVE_TYPE.DECIMAL:
136
+ case PRIMITIVE_TYPE.FLOAT:
137
+ case PRIMITIVE_TYPE.INTEGER: {
138
+ return buildPrimitiveInstanceValue(
139
+ filterConditionState.filterState.queryBuilderState.graphManagerState
140
+ .graph,
141
+ propertyType.path,
142
+ generateDefaultValueForPrimitiveType(propertyType.path),
143
+ );
144
+ }
145
+ default:
146
+ if (propertyType instanceof Enumeration) {
147
+ if (propertyType.values.length > 0) {
148
+ const multiplicityOne =
149
+ filterConditionState.filterState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
150
+ TYPICAL_MULTIPLICITY_TYPE.ONE,
151
+ );
152
+ const enumValueInstanceValue = new EnumValueInstanceValue(
153
+ GenericTypeExplicitReference.create(
154
+ new GenericType(propertyType),
155
+ ),
156
+ multiplicityOne,
157
+ );
158
+ enumValueInstanceValue.values = [
159
+ EnumValueExplicitReference.create(propertyType.values[0] as Enum),
160
+ ];
161
+ return enumValueInstanceValue;
162
+ }
163
+ throw new UnsupportedOperationError(
164
+ `Can't get default value for filter operator '${this.getLabel(
165
+ filterConditionState,
166
+ )}' since enumeration '${propertyType.path}' has no value`,
167
+ );
168
+ }
169
+ throw new UnsupportedOperationError(
170
+ `Can't get default value for filter operator '${this.getLabel(
171
+ filterConditionState,
172
+ )}' when the LHS property is of type '${propertyType.path}'`,
173
+ );
174
+ }
175
+ }
176
+
177
+ buildFilterConditionExpression(
178
+ filterConditionState: FilterConditionState,
179
+ ): ValueSpecification {
180
+ return buildFilterConditionExpression(
181
+ filterConditionState,
182
+ filterConditionState.propertyExpressionState.propertyExpression.func
183
+ .genericType.value.rawType.path === PRIMITIVE_TYPE.DATETIME &&
184
+ filterConditionState.value?.genericType?.value.rawType.path !==
185
+ PRIMITIVE_TYPE.DATETIME
186
+ ? SUPPORTED_FUNCTIONS.IS_ON_DAY
187
+ : QUERY_BUILDER_SUPPORTED_FUNCTIONS.EQUAL,
188
+ );
189
+ }
190
+
191
+ buildFilterConditionState(
192
+ filterState: QueryBuilderFilterState,
193
+ expression: SimpleFunctionExpression,
194
+ ): FilterConditionState | undefined {
195
+ return buildFilterConditionState(
196
+ filterState,
197
+ expression,
198
+ (expression.parametersValues[0] as AbstractPropertyExpression).func
199
+ .genericType.value.rawType.path === PRIMITIVE_TYPE.DATETIME &&
200
+ expression.parametersValues[1]?.genericType?.value.rawType.path !==
201
+ PRIMITIVE_TYPE.DATETIME
202
+ ? SUPPORTED_FUNCTIONS.IS_ON_DAY
203
+ : QUERY_BUILDER_SUPPORTED_FUNCTIONS.EQUAL,
204
+ this,
205
+ );
206
+ }
207
+ }
208
+
209
+ export class QueryBuilderFilterOperator_NotEqual extends QueryBuilderFilterOperator_Equal {
210
+ override getLabel(filterConditionState: FilterConditionState): string {
211
+ return `is not`;
212
+ }
213
+
214
+ override buildFilterConditionExpression(
215
+ filterConditionState: FilterConditionState,
216
+ ): ValueSpecification {
217
+ return buildNotExpression(
218
+ filterConditionState.filterState.queryBuilderState.graphManagerState
219
+ .graph,
220
+ super.buildFilterConditionExpression(filterConditionState),
221
+ );
222
+ }
223
+
224
+ override buildFilterConditionState(
225
+ filterState: QueryBuilderFilterState,
226
+ expression: SimpleFunctionExpression,
227
+ ): FilterConditionState | undefined {
228
+ const innerExpression = unwrapNotExpression(expression);
229
+ return innerExpression
230
+ ? super.buildFilterConditionState(filterState, innerExpression)
231
+ : undefined;
232
+ }
233
+ }
@@ -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
+ type ValueSpecification,
24
+ type SimpleFunctionExpression,
25
+ type AbstractPropertyExpression,
26
+ PRIMITIVE_TYPE,
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_GreaterThan 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_AFTER_DAY
144
+ : QUERY_BUILDER_SUPPORTED_FUNCTIONS.GREATER_THAN,
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_AFTER_DAY
160
+ : QUERY_BUILDER_SUPPORTED_FUNCTIONS.GREATER_THAN,
161
+ this,
162
+ );
163
+ }
164
+ }