@finos/legend-application-repl 0.0.47 → 0.0.49

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 (335) hide show
  1. package/lib/components/dataCube/DataCube.d.ts.map +1 -1
  2. package/lib/components/dataCube/DataCube.js +14 -11
  3. package/lib/components/dataCube/DataCube.js.map +1 -1
  4. package/lib/components/dataCube/editor/DataCubeEditor.d.ts +4 -1
  5. package/lib/components/dataCube/editor/DataCubeEditor.d.ts.map +1 -1
  6. package/lib/components/dataCube/editor/DataCubeEditor.js +6 -7
  7. package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -1
  8. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts +4 -1
  9. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts.map +1 -1
  10. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js +2 -12
  11. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js.map +1 -1
  12. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts +4 -1
  13. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  14. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js +57 -51
  15. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  16. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.d.ts +4 -1
  17. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  18. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js +3 -4
  19. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  20. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js +1 -1
  21. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.d.ts +4 -1
  22. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.d.ts.map +1 -1
  23. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js +3 -4
  24. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js.map +1 -1
  25. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.d.ts +4 -1
  26. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.d.ts.map +1 -1
  27. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js +289 -10
  28. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js.map +1 -1
  29. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts +4 -1
  30. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  31. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js +30 -30
  32. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  33. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.d.ts +4 -1
  34. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -1
  35. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.js +3 -4
  36. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -1
  37. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.d.ts +4 -1
  38. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
  39. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js +19 -20
  40. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js.map +1 -1
  41. package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.d.ts +4 -1
  42. package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.d.ts.map +1 -1
  43. package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.js +3 -4
  44. package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.js.map +1 -1
  45. package/lib/components/dataCube/grid/DataCubeGrid.d.ts +7 -2
  46. package/lib/components/dataCube/grid/DataCubeGrid.d.ts.map +1 -1
  47. package/lib/components/dataCube/grid/DataCubeGrid.js +53 -54
  48. package/lib/components/dataCube/grid/DataCubeGrid.js.map +1 -1
  49. package/lib/components/repl/Form.d.ts +4 -2
  50. package/lib/components/repl/Form.d.ts.map +1 -1
  51. package/lib/components/repl/Form.js +55 -19
  52. package/lib/components/repl/Form.js.map +1 -1
  53. package/lib/index.css +2 -2
  54. package/lib/index.css.map +1 -1
  55. package/lib/package.json +4 -3
  56. package/lib/stores/dataCube/DataCubeEngine.d.ts +30 -0
  57. package/lib/stores/dataCube/DataCubeEngine.d.ts.map +1 -1
  58. package/lib/stores/dataCube/DataCubeEngine.js +60 -1
  59. package/lib/stores/dataCube/DataCubeEngine.js.map +1 -1
  60. package/lib/stores/dataCube/DataCubeState.d.ts +2 -2
  61. package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
  62. package/lib/stores/dataCube/DataCubeState.js +11 -5
  63. package/lib/stores/dataCube/DataCubeState.js.map +1 -1
  64. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts +0 -1
  65. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts.map +1 -1
  66. package/lib/stores/dataCube/core/DataCubeConfiguration.js +0 -2
  67. package/lib/stores/dataCube/core/DataCubeConfiguration.js.map +1 -1
  68. package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts +8 -17
  69. package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts.map +1 -1
  70. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +16 -230
  71. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -1
  72. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.d.ts +44 -0
  73. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.d.ts.map +1 -0
  74. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.js +220 -0
  75. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.js.map +1 -0
  76. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts +41 -20
  77. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts.map +1 -1
  78. package/lib/stores/dataCube/core/DataCubeQueryEngine.js +70 -46
  79. package/lib/stores/dataCube/core/DataCubeQueryEngine.js.map +1 -1
  80. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts +7 -5
  81. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  82. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js +1 -1
  83. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js.map +1 -1
  84. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts +4 -4
  85. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  86. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js +18 -135
  87. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  88. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.d.ts +31 -0
  89. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -0
  90. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.js +142 -0
  91. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -0
  92. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.d.ts +16 -1
  93. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.d.ts.map +1 -1
  94. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js +25 -3
  95. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js.map +1 -1
  96. package/lib/stores/dataCube/core/{DataCubeCoreState.d.ts → DataCubeStaticContentDisplayState.d.ts} +3 -4
  97. package/lib/stores/dataCube/core/DataCubeStaticContentDisplayState.d.ts.map +1 -0
  98. package/lib/stores/dataCube/core/{DataCubeCoreState.js → DataCubeStaticContentDisplayState.js} +3 -6
  99. package/lib/stores/dataCube/core/DataCubeStaticContentDisplayState.js.map +1 -0
  100. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.d.ts +36 -0
  101. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -0
  102. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.js +151 -0
  103. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.js.map +1 -0
  104. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.d.ts +32 -0
  105. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -0
  106. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.js +64 -0
  107. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.js.map +1 -0
  108. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +34 -0
  109. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -0
  110. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.js +59 -0
  111. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -0
  112. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +34 -0
  113. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -0
  114. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +64 -0
  115. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -0
  116. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +34 -0
  117. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -0
  118. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.js +59 -0
  119. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -0
  120. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +34 -0
  121. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -0
  122. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +64 -0
  123. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -0
  124. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +34 -0
  125. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -0
  126. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.js +126 -0
  127. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -0
  128. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +34 -0
  129. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -0
  130. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +64 -0
  131. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -0
  132. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +34 -0
  133. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -0
  134. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +64 -0
  135. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -0
  136. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +34 -0
  137. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -0
  138. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +60 -0
  139. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -0
  140. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +34 -0
  141. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -0
  142. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +59 -0
  143. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -0
  144. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +34 -0
  145. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -0
  146. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +60 -0
  147. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -0
  148. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +34 -0
  149. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -0
  150. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +59 -0
  151. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -0
  152. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +34 -0
  153. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -0
  154. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +60 -0
  155. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -0
  156. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +31 -0
  157. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -0
  158. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +54 -0
  159. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -0
  160. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +31 -0
  161. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -0
  162. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.js +54 -0
  163. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -0
  164. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +34 -0
  165. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -0
  166. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.js +59 -0
  167. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -0
  168. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +34 -0
  169. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -0
  170. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +60 -0
  171. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -0
  172. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +34 -0
  173. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -0
  174. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +59 -0
  175. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -0
  176. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +34 -0
  177. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -0
  178. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +60 -0
  179. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -0
  180. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +34 -0
  181. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -0
  182. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.js +59 -0
  183. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -0
  184. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +34 -0
  185. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -0
  186. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +59 -0
  187. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -0
  188. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +34 -0
  189. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -0
  190. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.js +59 -0
  191. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -0
  192. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +34 -0
  193. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -0
  194. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +64 -0
  195. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -0
  196. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +34 -0
  197. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -0
  198. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +64 -0
  199. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -0
  200. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +34 -0
  201. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -0
  202. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +60 -0
  203. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -0
  204. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +34 -0
  205. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -0
  206. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +59 -0
  207. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -0
  208. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +34 -0
  209. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -0
  210. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.js +59 -0
  211. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -0
  212. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +34 -0
  213. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -0
  214. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +64 -0
  215. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -0
  216. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js +2 -2
  217. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  218. package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.d.ts +58 -0
  219. package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.d.ts.map +1 -0
  220. package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.js +205 -0
  221. package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.js.map +1 -0
  222. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts +4 -4
  223. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  224. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js +2 -2
  225. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  226. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +5 -4
  227. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -1
  228. package/lib/stores/dataCube/editor/DataCubeEditorState.js +9 -7
  229. package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -1
  230. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts +5 -4
  231. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts.map +1 -1
  232. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js +6 -5
  233. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js.map +1 -1
  234. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts +2 -8
  235. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  236. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +3 -10
  237. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -1
  238. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js +1 -1
  239. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js.map +1 -1
  240. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  241. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.js +16 -40
  242. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  243. package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts +17 -7
  244. package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts.map +1 -1
  245. package/lib/stores/dataCube/grid/DataCubeGridControllerState.js +59 -6
  246. package/lib/stores/dataCube/grid/DataCubeGridControllerState.js.map +1 -1
  247. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  248. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js +157 -53
  249. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js.map +1 -1
  250. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts +2 -1
  251. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  252. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js +7 -7
  253. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js.map +1 -1
  254. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js +4 -4
  255. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  256. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts +2 -3
  257. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts.map +1 -1
  258. package/lib/stores/dataCube/grid/DataCubeGridState.js +10 -6
  259. package/lib/stores/dataCube/grid/DataCubeGridState.js.map +1 -1
  260. package/package.json +10 -9
  261. package/src/components/dataCube/DataCube.tsx +20 -13
  262. package/src/components/dataCube/editor/DataCubeEditor.tsx +15 -15
  263. package/src/components/dataCube/editor/DataCubeEditorCodePanel.tsx +72 -80
  264. package/src/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.tsx +1020 -950
  265. package/src/components/dataCube/editor/DataCubeEditorColumnsPanel.tsx +46 -44
  266. package/src/components/dataCube/editor/DataCubeEditorColumnsSelector.tsx +1 -1
  267. package/src/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.tsx +20 -18
  268. package/src/components/dataCube/editor/DataCubeEditorFilterPanel.tsx +862 -19
  269. package/src/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.tsx +687 -667
  270. package/src/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.tsx +20 -18
  271. package/src/components/dataCube/editor/DataCubeEditorSortsPanel.tsx +71 -62
  272. package/src/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.tsx +19 -17
  273. package/src/components/dataCube/grid/DataCubeGrid.tsx +144 -140
  274. package/src/components/repl/Form.tsx +145 -98
  275. package/src/stores/dataCube/DataCubeEngine.ts +69 -1
  276. package/src/stores/dataCube/DataCubeState.ts +13 -9
  277. package/src/stores/dataCube/core/DataCubeConfiguration.ts +1 -3
  278. package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +43 -355
  279. package/src/stores/dataCube/core/DataCubeQueryBuilderUtils.ts +353 -0
  280. package/src/stores/dataCube/core/DataCubeQueryEngine.ts +46 -21
  281. package/src/stores/dataCube/core/DataCubeQuerySnapshot.ts +8 -12
  282. package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilder.ts +25 -194
  283. package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.ts +211 -0
  284. package/src/stores/dataCube/core/DataCubeQuerySnapshotManager.ts +50 -1
  285. package/src/stores/dataCube/core/{DataCubeCoreState.ts → DataCubeStaticContentDisplayState.ts} +2 -6
  286. package/src/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.ts +227 -0
  287. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation.ts +105 -0
  288. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.tsx +87 -0
  289. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +93 -0
  290. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +87 -0
  291. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +93 -0
  292. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.tsx +159 -0
  293. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +93 -0
  294. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +93 -0
  295. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +89 -0
  296. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +87 -0
  297. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +89 -0
  298. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +87 -0
  299. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +89 -0
  300. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +83 -0
  301. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +80 -0
  302. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +87 -0
  303. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +89 -0
  304. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +87 -0
  305. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +89 -0
  306. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +90 -0
  307. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +90 -0
  308. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +90 -0
  309. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +96 -0
  310. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +96 -0
  311. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +92 -0
  312. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +90 -0
  313. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +87 -0
  314. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +93 -0
  315. package/src/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.ts +2 -2
  316. package/src/stores/dataCube/editor/DataCubeEditorFilterPanelState.ts +295 -0
  317. package/src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts +5 -9
  318. package/src/stores/dataCube/editor/DataCubeEditorState.tsx +9 -8
  319. package/src/stores/dataCube/editor/DataCubeMutableConfiguration.ts +10 -10
  320. package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +22 -23
  321. package/src/stores/dataCube/grid/DataCubeGridClientExportEngine.ts +1 -1
  322. package/src/stores/dataCube/grid/DataCubeGridConfigurationBuilder.tsx +16 -43
  323. package/src/stores/dataCube/grid/DataCubeGridControllerState.ts +91 -10
  324. package/src/stores/dataCube/grid/DataCubeGridMenuBuilder.tsx +218 -53
  325. package/src/stores/dataCube/grid/DataCubeGridQueryBuilder.ts +66 -61
  326. package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts +4 -4
  327. package/src/stores/dataCube/grid/DataCubeGridState.ts +10 -6
  328. package/tsconfig.json +33 -2
  329. package/lib/stores/dataCube/core/DataCubeCoreState.d.ts.map +0 -1
  330. package/lib/stores/dataCube/core/DataCubeCoreState.js.map +0 -1
  331. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts +0 -30
  332. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts.map +0 -1
  333. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js +0 -41
  334. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js.map +0 -1
  335. package/src/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.ts +0 -62
@@ -16,230 +16,16 @@
16
16
  /***************************************************************************************
17
17
  * [CORE]
18
18
  *
19
- * These are utilities used to build the executable query from the query snapshot.
20
- * The executable query is then used to fetch data.
19
+ * This and its corresponding utilitites are used to build the executable query from
20
+ * the query snapshot. The executable query is then used to fetch data.
21
21
  ***************************************************************************************/
22
- import { PRIMITIVE_TYPE, V1_AppliedFunction, V1_AppliedProperty, V1_CBoolean, V1_CDateTime, V1_CDecimal, V1_CFloat, V1_CInteger, V1_CStrictDate, V1_CStrictTime, V1_CString, V1_ClassInstance, V1_ClassInstanceType, V1_ColSpec, V1_ColSpecArray, V1_Collection, V1_Lambda, V1_Multiplicity, V1_PackageableElementPtr, V1_Variable, V1_deserializeValueSpecification, extractElementNameFromPath as _name, } from '@finos/legend-graph';
23
- import { _findCol, } from './DataCubeQuerySnapshot.js';
24
- import { guaranteeNonNullable, guaranteeIsString, guaranteeIsBoolean, guaranteeIsNumber, UnsupportedOperationError, guaranteeType, } from '@finos/legend-shared';
25
- import { DataCubeFunction, DEFAULT_LAMBDA_VARIABLE_NAME, INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME, DataCubeQuerySortOperation, DataCubeQueryFilterOperation, DataCubeQueryFilterGroupOperation, DataCubeAggregateOperation, } from './DataCubeQueryEngine.js';
22
+ import { PRIMITIVE_TYPE, V1_deserializeValueSpecification, extractElementNameFromPath as _name, } from '@finos/legend-graph';
23
+ import {} from './DataCubeQuerySnapshot.js';
24
+ import { guaranteeNonNullable } from '@finos/legend-shared';
25
+ import { DataCubeFunction, DataCubeQuerySortOperator, } from './DataCubeQueryEngine.js';
26
26
  import { DataCubeConfiguration } from './DataCubeConfiguration.js';
27
- // --------------------------------- UTILITIES ---------------------------------
28
- function _deserializeToLambda(json) {
29
- return guaranteeType(V1_deserializeValueSpecification(json, []), V1_Lambda);
30
- }
31
- export function _var(name) {
32
- const variable = new V1_Variable();
33
- variable.name = name ?? DEFAULT_LAMBDA_VARIABLE_NAME;
34
- return variable;
35
- }
36
- export function _property(name, variable) {
37
- const property = new V1_AppliedProperty();
38
- property.property = name;
39
- property.parameters.push(variable ?? _var());
40
- return property;
41
- }
42
- export function _lambda(parameters, body) {
43
- const lambda = new V1_Lambda();
44
- lambda.parameters = parameters;
45
- lambda.body = body;
46
- return lambda;
47
- }
48
- export function _function(functionName, parameters) {
49
- const func = new V1_AppliedFunction();
50
- func.function = functionName;
51
- func.parameters = parameters;
52
- return func;
53
- }
54
- function _collection(values) {
55
- const collection = new V1_Collection();
56
- collection.multiplicity = new V1_Multiplicity(values.length, values.length);
57
- collection.values = values;
58
- return collection;
59
- }
60
- function _primitiveValue(type, value) {
61
- const _val = (primitiveValue, val) => {
62
- primitiveValue.value = val;
63
- return primitiveValue;
64
- };
65
- switch (type) {
66
- case PRIMITIVE_TYPE.STRING:
67
- return _val(new V1_CString(), guaranteeIsString(value));
68
- case PRIMITIVE_TYPE.BOOLEAN:
69
- return _val(new V1_CBoolean(), guaranteeIsBoolean(value));
70
- case PRIMITIVE_TYPE.NUMBER:
71
- case PRIMITIVE_TYPE.DECIMAL:
72
- return _val(new V1_CDecimal(), guaranteeIsNumber(value));
73
- case PRIMITIVE_TYPE.INTEGER:
74
- return _val(new V1_CInteger(), guaranteeIsNumber(value));
75
- case PRIMITIVE_TYPE.FLOAT:
76
- return _val(new V1_CFloat(), guaranteeIsNumber(value));
77
- case PRIMITIVE_TYPE.DATE:
78
- case PRIMITIVE_TYPE.DATETIME:
79
- return _val(new V1_CDateTime(), guaranteeIsString(value));
80
- case PRIMITIVE_TYPE.STRICTDATE:
81
- return _val(new V1_CStrictDate(), guaranteeIsString(value));
82
- case PRIMITIVE_TYPE.STRICTTIME:
83
- return _val(new V1_CStrictTime(), guaranteeIsString(value));
84
- default:
85
- throw new UnsupportedOperationError(`Unsupported value type '${type}'`);
86
- }
87
- }
88
- function _elementPtr(fullPath) {
89
- const ptr = new V1_PackageableElementPtr();
90
- ptr.fullPath = fullPath;
91
- return ptr;
92
- }
93
- function _classInstance(type, value) {
94
- const instance = new V1_ClassInstance();
95
- instance.type = type;
96
- instance.value = value;
97
- return instance;
98
- }
99
- export function _colSpec(name, function1, function2) {
100
- const colSpec = new V1_ColSpec();
101
- colSpec.name = name;
102
- colSpec.function1 = function1;
103
- colSpec.function2 = function2;
104
- return colSpec;
105
- }
106
- function _parameterValue(value) {
107
- switch (value.type) {
108
- case PRIMITIVE_TYPE.STRING:
109
- case PRIMITIVE_TYPE.BOOLEAN:
110
- case PRIMITIVE_TYPE.NUMBER:
111
- case PRIMITIVE_TYPE.DECIMAL:
112
- case PRIMITIVE_TYPE.INTEGER:
113
- case PRIMITIVE_TYPE.FLOAT:
114
- case PRIMITIVE_TYPE.DATE:
115
- case PRIMITIVE_TYPE.DATETIME:
116
- case PRIMITIVE_TYPE.STRICTDATE:
117
- case PRIMITIVE_TYPE.STRICTTIME: {
118
- if (Array.isArray(value.value)) {
119
- return _collection(value.value.map((val) => _primitiveValue(value.type, val)));
120
- }
121
- return _primitiveValue(value.type, value.value);
122
- }
123
- default:
124
- throw new UnsupportedOperationError(`Unsupported value type '${value.type}'`);
125
- }
126
- }
127
- function _aggFunctionName(operation) {
128
- switch (operation) {
129
- case DataCubeAggregateOperation.SUM:
130
- return DataCubeFunction.SUM;
131
- case DataCubeAggregateOperation.AVERAGE:
132
- return DataCubeFunction.AVERAGE;
133
- case DataCubeAggregateOperation.COUNT:
134
- return DataCubeFunction.COUNT;
135
- case DataCubeAggregateOperation.MIN:
136
- return DataCubeFunction.MIN;
137
- case DataCubeAggregateOperation.MAX:
138
- return DataCubeFunction.MAX;
139
- case DataCubeAggregateOperation.FIRST:
140
- return DataCubeFunction.FIRST;
141
- case DataCubeAggregateOperation.LAST:
142
- return DataCubeFunction.LAST;
143
- case DataCubeAggregateOperation.VAR_POP:
144
- return DataCubeFunction.VAR_POP;
145
- case DataCubeAggregateOperation.VAR_SAMP:
146
- return DataCubeFunction.VAR_SAMP;
147
- case DataCubeAggregateOperation.STDDEV_POP:
148
- return DataCubeFunction.STDDEV_POP;
149
- case DataCubeAggregateOperation.STDDEV_SAMP:
150
- return DataCubeFunction.STDDEV_SAMP;
151
- default:
152
- throw new UnsupportedOperationError(`Unsupported aggregate operation '${operation}'`);
153
- }
154
- }
155
- function _agg(agg, variable) {
156
- const parameters = agg.parameters.map((param) => _parameterValue(param));
157
- return _function(_aggFunctionName(agg.operation), [
158
- variable ?? _var(),
159
- ...parameters,
160
- ]);
161
- }
162
- // --------------------------------- BUILDING BLOCKS ---------------------------------
163
- export function _col(name, function1, function2) {
164
- return _classInstance(V1_ClassInstanceType.COL_SPEC, _colSpec(name, function1, function2));
165
- }
166
- export function _cols(colSpecs) {
167
- const colSpecArray = new V1_ColSpecArray();
168
- colSpecArray.colSpecs = colSpecs;
169
- return _classInstance(V1_ClassInstanceType.COL_SPEC_ARRAY, colSpecArray);
170
- }
171
- export function _groupByAggCols(columns) {
172
- const variable = _var();
173
- return columns.length
174
- ? columns.map((agg) => _colSpec(agg.name, _lambda([variable], [_property(agg.name, variable)]), _lambda([variable], [_agg(agg)])))
175
- : // if no aggregates are specified, add a dummy count() aggregate to satisfy compiler
176
- [
177
- _colSpec(INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME, _lambda([variable], [variable]), _lambda([variable], [_function(DataCubeFunction.COUNT, [variable])])),
178
- ];
179
- }
180
- export function _filter(filter) {
181
- if ('groupOperation' in filter) {
182
- const group = filter;
183
- const groupOperation = group.groupOperation === DataCubeQueryFilterGroupOperation.AND
184
- ? DataCubeFunction.AND
185
- : DataCubeFunction.OR;
186
- let conditions = [];
187
- group.conditions.forEach((condition) => {
188
- conditions.push(_filter(condition));
189
- // NOTE: a group operation (and/or) function can only have 2 parameters, so we
190
- // have to breakdown the group operation into nested group functions
191
- if (conditions.length === 2) {
192
- conditions = [_function(groupOperation, conditions)];
193
- }
194
- });
195
- return guaranteeNonNullable(conditions[0]);
196
- }
197
- else {
198
- const condition = filter;
199
- const property = _property(condition.name);
200
- const _cond = (fn, ...p) => _function(_name(fn), [property, ...p]);
201
- const _val = () => _parameterValue(guaranteeNonNullable(condition.value));
202
- const _not = (fn) => _function(_name(DataCubeFunction.NOT), [fn]);
203
- switch (condition.operation) {
204
- case DataCubeQueryFilterOperation.EQUAL:
205
- return _cond(DataCubeFunction.EQUAL, _val());
206
- case DataCubeQueryFilterOperation.GREATER_THAN:
207
- return _cond(DataCubeFunction.GREATER_THAN, _val());
208
- case DataCubeQueryFilterOperation.GREATER_THAN_OR_EQUAL:
209
- return _cond(DataCubeFunction.GREATER_THAN_EQUAL, _val());
210
- case DataCubeQueryFilterOperation.LESS_THAN:
211
- return _cond(DataCubeFunction.LESS_THAN, _val());
212
- case DataCubeQueryFilterOperation.LESS_THAN_OR_EQUAL:
213
- return _cond(DataCubeFunction.LESS_THAN_EQUAL, _val());
214
- case DataCubeQueryFilterOperation.CONTAINS:
215
- return _cond(DataCubeFunction.CONTAINS, _val());
216
- case DataCubeQueryFilterOperation.ENDS_WITH:
217
- return _cond(DataCubeFunction.ENDS_WITH, _val());
218
- case DataCubeQueryFilterOperation.STARTS_WITH:
219
- return _cond(DataCubeFunction.STARTS_WITH, _val());
220
- case DataCubeQueryFilterOperation.BLANK:
221
- return _cond(DataCubeFunction.IS_EMPTY);
222
- case DataCubeQueryFilterOperation.NOT_EQUAL:
223
- return _not(_cond(DataCubeFunction.EQUAL, _val()));
224
- case DataCubeQueryFilterOperation.NOT_BLANK:
225
- return _not(_cond(DataCubeFunction.IS_EMPTY));
226
- case DataCubeQueryFilterOperation.NOT_CONTAINS:
227
- return _not(_cond(DataCubeFunction.CONTAINS, _val()));
228
- default:
229
- throw new UnsupportedOperationError(`Unsupported filter operation '${condition.operation}'`);
230
- }
231
- }
232
- }
233
- export function _groupByExtend(columns, columnsUsedInGroupBy) {
234
- const missingCols = columns.filter((col) => !_findCol(columnsUsedInGroupBy, col.name));
235
- return missingCols.length
236
- ? _function(_name(DataCubeFunction.EXTEND), [
237
- _cols(missingCols.map((col) => _colSpec(col.name, _lambda([_var()], [_primitiveValue(PRIMITIVE_TYPE.STRING, '')])))),
238
- ])
239
- : undefined;
240
- }
241
- // --------------------------------- MAIN ---------------------------------
242
- export function buildExecutableQuery(snapshot, options) {
27
+ import { _col, _collection, _cols, _colSpec, _deserializeToLambda, _elementPtr, _filter, _function, _groupByAggCols, _groupByExtend, _lambda, _primitiveValue, _var, } from './DataCubeQueryBuilderUtils.js';
28
+ export function buildExecutableQuery(snapshot, filterOperations, options) {
243
29
  const data = snapshot.data;
244
30
  const sourceQuery = V1_deserializeValueSpecification(data.sourceQuery, []);
245
31
  const configuration = DataCubeConfiguration.serialization.fromJson(data.configuration);
@@ -249,18 +35,18 @@ export function buildExecutableQuery(snapshot, options) {
249
35
  sequence.push(func);
250
36
  funcMap[funcMapKey] = func;
251
37
  };
252
- // --------------------------------- FILTER ---------------------------------
253
- if (data.filter) {
254
- _process('filter', _function(_name(DataCubeFunction.FILTER), [
255
- _lambda([_var()], [_filter(data.filter)]),
256
- ]));
257
- }
258
38
  // --------------------------------- LEAF EXTEND ---------------------------------
259
39
  if (data.leafExtendedColumns.length) {
260
40
  _process('leafExtend', _function(_name(DataCubeFunction.EXTEND), [
261
41
  _cols(data.leafExtendedColumns.map((col) => _colSpec(col.name, _deserializeToLambda(col.lambda)))),
262
42
  ]));
263
43
  }
44
+ // --------------------------------- FILTER ---------------------------------
45
+ if (data.filter) {
46
+ _process('filter', _function(_name(DataCubeFunction.FILTER), [
47
+ _lambda([_var()], [_filter(data.filter, filterOperations)]),
48
+ ]));
49
+ }
264
50
  // --------------------------------- SELECT ---------------------------------
265
51
  if (data.selectColumns.length) {
266
52
  _process('select', _function(_name(DataCubeFunction.SELECT), [
@@ -294,7 +80,7 @@ export function buildExecutableQuery(snapshot, options) {
294
80
  // --------------------------------- SORT ---------------------------------
295
81
  if (data.sortColumns.length) {
296
82
  _process('sort', _function(_name(DataCubeFunction.SORT), [
297
- _collection(data.sortColumns.map((col) => _function(_name(col.operation === DataCubeQuerySortOperation.ASCENDING
83
+ _collection(data.sortColumns.map((col) => _function(_name(col.operation === DataCubeQuerySortOperator.ASCENDING
298
84
  ? DataCubeFunction.ASC
299
85
  : DataCubeFunction.DESC), [_col(col.name)]))),
300
86
  ]));
@@ -315,7 +101,7 @@ export function buildExecutableQuery(snapshot, options) {
315
101
  // --------------------------------- FROM ---------------------------------
316
102
  sequence.push(_function(_name(DataCubeFunction.FROM), [_elementPtr(data.runtime)]));
317
103
  // --------------------------------- FINALIZE ---------------------------------
318
- options?.postProcessor?.(snapshot, sequence, funcMap, configuration);
104
+ options?.postProcessor?.(snapshot, sequence, funcMap, configuration, filterOperations);
319
105
  if (!sequence.length) {
320
106
  return sourceQuery;
321
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeQueryBuilder.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/core/DataCubeQueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeQueryBuilder.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/core/DataCubeQueryBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;yFAKyF;AAEzF,OAAO,EACL,cAAc,EAEd,gCAAgC,EAChC,0BAA0B,IAAI,KAAK,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA8B,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAE1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,IAAI,EACJ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,SAAS,EACT,eAAe,EACf,cAAc,EACd,OAAO,EACP,eAAe,EACf,IAAI,GACL,MAAM,gCAAgC,CAAC;AAExC,MAAM,UAAU,oBAAoB,CAClC,QAA+B,EAC/B,gBAAgD,EAChD,OAcC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,WAAW,GAAG,gCAAgC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,qBAAqB,CAAC,aAAa,CAAC,QAAQ,CAChE,IAAI,CAAC,aAAa,CACnB,CAAC;IACF,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,CACf,UAA0C,EAC1C,IAAwB,EACxB,EAAE;QACF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC7B,CAAC,CAAC;IAEF,kFAAkF;IAElF,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACpC,QAAQ,CACN,YAAY,EACZ,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACxC,KAAK,CACH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACnC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CACrD,CACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,6EAA6E;IAE7E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,QAAQ,CACN,QAAQ,EACR,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACxC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;SAC5D,CAAC,CACH,CAAC;IACJ,CAAC;IAED,6EAA6E;IAE7E,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC9B,QAAQ,CACN,QAAQ,EACR,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3D,CAAC,CACH,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,QAAQ,CACN,SAAS,EACT,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YAC1C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC3C,CAAC,CACH,CAAC;QAEF,wEAAwE;QACxE,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;YACtE,GAAG,OAAO,CAAC,OAAO;YAClB,GAAG,OAAO,CAAC,UAAU;SACtB,CAAC,CAAC;QACH,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,yCAAyC;IAEzC,mFAAmF;IAEnF,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACrC,QAAQ,CACN,aAAa,EACb,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACxC,KAAK,CACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CACrD,CACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC5B,QAAQ,CACN,MAAM,EACN,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACtC,WAAW,CACT,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3B,SAAS,CACP,KAAK,CACH,GAAG,CAAC,SAAS,KAAK,yBAAyB,CAAC,SAAS;gBACnD,CAAC,CAAC,gBAAgB,CAAC,GAAG;gBACtB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAC1B,EACD,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACjB,CACF,CACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,4EAA4E;IAE5E,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,QAAQ,CACN,OAAO,EACP,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YACvC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;SACpD,CAAC,CACH,CAAC;IACJ,CAAC;IAED,4EAA4E;IAE5E,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YACvC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YACjE,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;SAChE,CAAC,CACH,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E,QAAQ,CAAC,IAAI,CACX,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACrE,CAAC;IAEF,+EAA+E;IAE/E,OAAO,EAAE,aAAa,EAAE,CACtB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,gBAAgB,CACjB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAClD,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,44 @@
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
+ * [CORE]
18
+ *
19
+ * These are utilities used to build the executable query from the query snapshot.
20
+ * The executable query is then used to fetch data.
21
+ ***************************************************************************************/
22
+ import { V1_AppliedFunction, V1_AppliedProperty, V1_CBoolean, V1_CDateTime, V1_CDecimal, V1_CFloat, V1_CInteger, V1_CStrictDate, V1_CStrictTime, V1_CString, V1_ClassInstance, V1_ColSpec, V1_Collection, V1_Lambda, V1_PackageableElementPtr, V1_Variable, extractElementNameFromPath as _functionName, type V1_ValueSpecification } from '@finos/legend-graph';
23
+ import { type DataCubeQuerySnapshotFilterCondition, type DataCubeQuerySnapshotFilter, type DataCubeQuerySnapshotColumn, type DataCubeQuerySnapshotAggregateColumn } from './DataCubeQuerySnapshot.js';
24
+ import { type PlainObject } from '@finos/legend-shared';
25
+ import { type DataCubeOperationValue } from './DataCubeQueryEngine.js';
26
+ import type { DataCubeQueryFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
27
+ export declare function _deserializeToLambda(json: PlainObject<V1_Lambda>): V1_Lambda;
28
+ export declare function _var(name?: string | undefined): V1_Variable;
29
+ export declare function _property(name: string, variable?: V1_Variable | undefined): V1_AppliedProperty;
30
+ export declare function _lambda(parameters: V1_Variable[], body: V1_ValueSpecification[]): V1_Lambda;
31
+ export { _functionName };
32
+ export declare function _function(functionName: string, parameters: V1_ValueSpecification[]): V1_AppliedFunction;
33
+ export declare function _collection(values: V1_ValueSpecification[]): V1_Collection;
34
+ export declare function _primitiveValue(type: string, value: unknown): V1_CInteger | V1_CDecimal | V1_CString | V1_CBoolean | V1_CFloat | V1_CDateTime | V1_CStrictDate | V1_CStrictTime;
35
+ export declare function _elementPtr(fullPath: string): V1_PackageableElementPtr;
36
+ export declare function _colSpec(name: string, function1?: V1_Lambda | undefined, function2?: V1_Lambda | undefined): V1_ColSpec;
37
+ export declare function _value(value: DataCubeOperationValue, variable?: V1_Variable | undefined): V1_AppliedProperty | V1_Collection | V1_CInteger | V1_CDecimal | V1_CString | V1_CBoolean | V1_CFloat | V1_CDateTime | V1_CStrictDate | V1_CStrictTime;
38
+ export declare function _not(fn: V1_AppliedFunction): V1_AppliedFunction;
39
+ export declare function _col(name: string, function1?: V1_Lambda | undefined, function2?: V1_Lambda | undefined): V1_ClassInstance;
40
+ export declare function _cols(colSpecs: V1_ColSpec[]): V1_ClassInstance;
41
+ export declare function _groupByAggCols(columns: DataCubeQuerySnapshotAggregateColumn[]): V1_ColSpec[];
42
+ export declare function _filter(filter: DataCubeQuerySnapshotFilter | DataCubeQuerySnapshotFilterCondition, filterOperations: DataCubeQueryFilterOperation[]): V1_ValueSpecification;
43
+ export declare function _groupByExtend(columns: DataCubeQuerySnapshotColumn[], columnsUsedInGroupBy: DataCubeQuerySnapshotColumn[]): V1_AppliedFunction | undefined;
44
+ //# sourceMappingURL=DataCubeQueryBuilderUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeQueryBuilderUtils.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/core/DataCubeQueryBuilderUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;yFAKyF;AAEzF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,gBAAgB,EAEhB,UAAU,EAEV,aAAa,EACb,SAAS,EAET,wBAAwB,EAExB,WAAW,EAEX,0BAA0B,IAAI,aAAa,EAC3C,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,oCAAoC,EACzC,KAAK,2BAA2B,EAEhC,KAAK,2BAA2B,EAChC,KAAK,oCAAoC,EAC1C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAML,KAAK,sBAAsB,EAE5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAI7F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,aAEhE;AAED,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,eAI7C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,sBAKzE;AAED,wBAAgB,OAAO,CACrB,UAAU,EAAE,WAAW,EAAE,EACzB,IAAI,EAAE,qBAAqB,EAAE,aAM9B;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,wBAAgB,SAAS,CACvB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,qBAAqB,EAAE,sBAMpC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,qBAAqB,EAAE,iBAK1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,qHA8B3D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,4BAI3C;AASD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,EACjC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,cAOlC;AAED,wBAAgB,MAAM,CACpB,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,0JA2BnC;AA4CD,wBAAgB,IAAI,CAAC,EAAE,EAAE,kBAAkB,sBAE1C;AAID,wBAAgB,IAAI,CAClB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,EACjC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,oBAMlC;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,oBAI3C;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,oCAAoC,EAAE,gBAmBhD;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,2BAA2B,GAAG,oCAAoC,EAC1E,gBAAgB,EAAE,4BAA4B,EAAE,yBA+BjD;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,2BAA2B,EAAE,EACtC,oBAAoB,EAAE,2BAA2B,EAAE,kCAiBpD"}
@@ -0,0 +1,220 @@
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
+ * [CORE]
18
+ *
19
+ * These are utilities used to build the executable query from the query snapshot.
20
+ * The executable query is then used to fetch data.
21
+ ***************************************************************************************/
22
+ import { PRIMITIVE_TYPE, V1_AppliedFunction, V1_AppliedProperty, V1_CBoolean, V1_CDateTime, V1_CDecimal, V1_CFloat, V1_CInteger, V1_CStrictDate, V1_CStrictTime, V1_CString, V1_ClassInstance, V1_ClassInstanceType, V1_ColSpec, V1_ColSpecArray, V1_Collection, V1_Lambda, V1_Multiplicity, V1_PackageableElementPtr, V1_Variable, V1_deserializeValueSpecification, extractElementNameFromPath as _functionName, } from '@finos/legend-graph';
23
+ import { _findCol, } from './DataCubeQuerySnapshot.js';
24
+ import { guaranteeNonNullable, guaranteeIsString, guaranteeIsBoolean, guaranteeIsNumber, UnsupportedOperationError, guaranteeType, } from '@finos/legend-shared';
25
+ import { DataCubeFunction, DEFAULT_LAMBDA_VARIABLE_NAME, INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME, DataCubeQueryFilterGroupOperator, DataCubeAggregateOperator, DataCubeOperationAdvancedValueType, } from './DataCubeQueryEngine.js';
26
+ // --------------------------------- UTILITIES ---------------------------------
27
+ export function _deserializeToLambda(json) {
28
+ return guaranteeType(V1_deserializeValueSpecification(json, []), V1_Lambda);
29
+ }
30
+ export function _var(name) {
31
+ const variable = new V1_Variable();
32
+ variable.name = name ?? DEFAULT_LAMBDA_VARIABLE_NAME;
33
+ return variable;
34
+ }
35
+ export function _property(name, variable) {
36
+ const property = new V1_AppliedProperty();
37
+ property.property = name;
38
+ property.parameters.push(variable ?? _var());
39
+ return property;
40
+ }
41
+ export function _lambda(parameters, body) {
42
+ const lambda = new V1_Lambda();
43
+ lambda.parameters = parameters;
44
+ lambda.body = body;
45
+ return lambda;
46
+ }
47
+ export { _functionName };
48
+ export function _function(functionName, parameters) {
49
+ const func = new V1_AppliedFunction();
50
+ func.function = functionName;
51
+ func.parameters = parameters;
52
+ return func;
53
+ }
54
+ export function _collection(values) {
55
+ const collection = new V1_Collection();
56
+ collection.multiplicity = new V1_Multiplicity(values.length, values.length);
57
+ collection.values = values;
58
+ return collection;
59
+ }
60
+ export function _primitiveValue(type, value) {
61
+ const _val = (primitiveValue, val) => {
62
+ primitiveValue.value = val;
63
+ return primitiveValue;
64
+ };
65
+ switch (type) {
66
+ case PRIMITIVE_TYPE.STRING:
67
+ return _val(new V1_CString(), guaranteeIsString(value));
68
+ case PRIMITIVE_TYPE.BOOLEAN:
69
+ return _val(new V1_CBoolean(), guaranteeIsBoolean(value));
70
+ case PRIMITIVE_TYPE.NUMBER:
71
+ case PRIMITIVE_TYPE.DECIMAL:
72
+ return _val(new V1_CDecimal(), guaranteeIsNumber(value));
73
+ case PRIMITIVE_TYPE.INTEGER:
74
+ return _val(new V1_CInteger(), guaranteeIsNumber(value));
75
+ case PRIMITIVE_TYPE.FLOAT:
76
+ return _val(new V1_CFloat(), guaranteeIsNumber(value));
77
+ case PRIMITIVE_TYPE.DATE:
78
+ case PRIMITIVE_TYPE.STRICTDATE:
79
+ return _val(new V1_CStrictDate(), guaranteeIsString(value));
80
+ case PRIMITIVE_TYPE.DATETIME:
81
+ return _val(new V1_CDateTime(), guaranteeIsString(value));
82
+ case PRIMITIVE_TYPE.STRICTTIME:
83
+ return _val(new V1_CStrictTime(), guaranteeIsString(value));
84
+ default:
85
+ throw new UnsupportedOperationError(`Unsupported value type '${type}'`);
86
+ }
87
+ }
88
+ export function _elementPtr(fullPath) {
89
+ const ptr = new V1_PackageableElementPtr();
90
+ ptr.fullPath = fullPath;
91
+ return ptr;
92
+ }
93
+ function _classInstance(type, value) {
94
+ const instance = new V1_ClassInstance();
95
+ instance.type = type;
96
+ instance.value = value;
97
+ return instance;
98
+ }
99
+ export function _colSpec(name, function1, function2) {
100
+ const colSpec = new V1_ColSpec();
101
+ colSpec.name = name;
102
+ colSpec.function1 = function1;
103
+ colSpec.function2 = function2;
104
+ return colSpec;
105
+ }
106
+ export function _value(value, variable) {
107
+ switch (value.type) {
108
+ case PRIMITIVE_TYPE.STRING:
109
+ case PRIMITIVE_TYPE.BOOLEAN:
110
+ case PRIMITIVE_TYPE.NUMBER:
111
+ case PRIMITIVE_TYPE.DECIMAL:
112
+ case PRIMITIVE_TYPE.INTEGER:
113
+ case PRIMITIVE_TYPE.FLOAT:
114
+ case PRIMITIVE_TYPE.DATE:
115
+ case PRIMITIVE_TYPE.DATETIME:
116
+ case PRIMITIVE_TYPE.STRICTDATE:
117
+ case PRIMITIVE_TYPE.STRICTTIME: {
118
+ if (Array.isArray(value.value)) {
119
+ return _collection(value.value.map((val) => _primitiveValue(value.type, val)));
120
+ }
121
+ return _primitiveValue(value.type, value.value);
122
+ }
123
+ case DataCubeOperationAdvancedValueType.COLUMN:
124
+ return _property(guaranteeIsString(value.value), variable);
125
+ default:
126
+ throw new UnsupportedOperationError(`Unsupported value type '${value.type}'`);
127
+ }
128
+ }
129
+ function _aggFunctionName(operation) {
130
+ switch (operation) {
131
+ case DataCubeAggregateOperator.SUM:
132
+ return DataCubeFunction.SUM;
133
+ case DataCubeAggregateOperator.AVERAGE:
134
+ return DataCubeFunction.AVERAGE;
135
+ case DataCubeAggregateOperator.COUNT:
136
+ return DataCubeFunction.COUNT;
137
+ case DataCubeAggregateOperator.MIN:
138
+ return DataCubeFunction.MIN;
139
+ case DataCubeAggregateOperator.MAX:
140
+ return DataCubeFunction.MAX;
141
+ case DataCubeAggregateOperator.FIRST:
142
+ return DataCubeFunction.FIRST;
143
+ case DataCubeAggregateOperator.LAST:
144
+ return DataCubeFunction.LAST;
145
+ case DataCubeAggregateOperator.VAR_POP:
146
+ return DataCubeFunction.VAR_POP;
147
+ case DataCubeAggregateOperator.VAR_SAMP:
148
+ return DataCubeFunction.VAR_SAMP;
149
+ case DataCubeAggregateOperator.STDDEV_POP:
150
+ return DataCubeFunction.STDDEV_POP;
151
+ case DataCubeAggregateOperator.STDDEV_SAMP:
152
+ return DataCubeFunction.STDDEV_SAMP;
153
+ default:
154
+ throw new UnsupportedOperationError(`Unsupported aggregate operation '${operation}'`);
155
+ }
156
+ }
157
+ function _agg(agg, variable) {
158
+ const parameters = agg.parameters.map((param) => _value(param));
159
+ return _function(_aggFunctionName(agg.operation), [
160
+ variable ?? _var(),
161
+ ...parameters,
162
+ ]);
163
+ }
164
+ export function _not(fn) {
165
+ return _function(DataCubeFunction.NOT, [fn]);
166
+ }
167
+ // --------------------------------- BUILDING BLOCKS ---------------------------------
168
+ export function _col(name, function1, function2) {
169
+ return _classInstance(V1_ClassInstanceType.COL_SPEC, _colSpec(name, function1, function2));
170
+ }
171
+ export function _cols(colSpecs) {
172
+ const colSpecArray = new V1_ColSpecArray();
173
+ colSpecArray.colSpecs = colSpecs;
174
+ return _classInstance(V1_ClassInstanceType.COL_SPEC_ARRAY, colSpecArray);
175
+ }
176
+ export function _groupByAggCols(columns) {
177
+ const variable = _var();
178
+ return columns.length
179
+ ? columns.map((agg) => _colSpec(agg.name, _lambda([variable], [_property(agg.name, variable)]), _lambda([variable], [_agg(agg)])))
180
+ : // if no aggregates are specified, add a dummy count() aggregate to satisfy compiler
181
+ [
182
+ _colSpec(INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME, _lambda([variable], [variable]), _lambda([variable], [_function(DataCubeFunction.COUNT, [variable])])),
183
+ ];
184
+ }
185
+ export function _filter(filter, filterOperations) {
186
+ if ('groupOperator' in filter) {
187
+ const filterGroup = filter;
188
+ const groupOperation = filterGroup.groupOperator === DataCubeQueryFilterGroupOperator.AND
189
+ ? DataCubeFunction.AND
190
+ : DataCubeFunction.OR;
191
+ let conditions = [];
192
+ filterGroup.conditions.forEach((condition) => {
193
+ conditions.push(_filter(condition, filterOperations));
194
+ // NOTE: a group operation (and/or) function can only have 2 parameters, so we
195
+ // have to breakdown the group operation into nested group functions
196
+ if (conditions.length === 2) {
197
+ conditions = [_function(groupOperation, conditions)];
198
+ }
199
+ });
200
+ return guaranteeNonNullable(conditions[0]);
201
+ }
202
+ else {
203
+ const filterCondition = filter;
204
+ const operation = filterOperations.find((op) => op.operator === filterCondition.operation);
205
+ const condition = operation?.buildConditionExpression(filterCondition);
206
+ if (!condition) {
207
+ throw new UnsupportedOperationError(`Unsupported filter operation '${filterCondition.operation}'`);
208
+ }
209
+ return condition;
210
+ }
211
+ }
212
+ export function _groupByExtend(columns, columnsUsedInGroupBy) {
213
+ const missingCols = columns.filter((col) => !_findCol(columnsUsedInGroupBy, col.name));
214
+ return missingCols.length
215
+ ? _function(_functionName(DataCubeFunction.EXTEND), [
216
+ _cols(missingCols.map((col) => _colSpec(col.name, _lambda([_var()], [_primitiveValue(PRIMITIVE_TYPE.STRING, '')])))),
217
+ ])
218
+ : undefined;
219
+ }
220
+ //# sourceMappingURL=DataCubeQueryBuilderUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeQueryBuilderUtils.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/core/DataCubeQueryBuilderUtils.ts"],"names":[],"mappings":"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"}