@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
@@ -17,369 +17,51 @@
17
17
  /***************************************************************************************
18
18
  * [CORE]
19
19
  *
20
- * These are utilities used to build the executable query from the query snapshot.
21
- * The executable query is then used to fetch data.
20
+ * This and its corresponding utilitites are used to build the executable query from
21
+ * the query snapshot. The executable query is then used to fetch data.
22
22
  ***************************************************************************************/
23
23
 
24
24
  import {
25
25
  PRIMITIVE_TYPE,
26
- V1_AppliedFunction,
27
- V1_AppliedProperty,
28
- V1_CBoolean,
29
- V1_CDateTime,
30
- V1_CDecimal,
31
- V1_CFloat,
32
- V1_CInteger,
33
- V1_CStrictDate,
34
- V1_CStrictTime,
35
- V1_CString,
36
- V1_ClassInstance,
37
- V1_ClassInstanceType,
38
- V1_ColSpec,
39
- V1_ColSpecArray,
40
- V1_Collection,
41
- V1_Lambda,
42
- V1_Multiplicity,
43
- V1_PackageableElementPtr,
44
- type V1_PrimitiveValueSpecification,
45
- V1_Variable,
26
+ type V1_AppliedFunction,
46
27
  V1_deserializeValueSpecification,
47
28
  extractElementNameFromPath as _name,
48
- type V1_ValueSpecification,
49
29
  } from '@finos/legend-graph';
50
- import {
51
- type DataCubeQuerySnapshotFilterCondition,
52
- type DataCubeQuerySnapshotFilter,
53
- type DataCubeQuerySnapshot,
54
- _findCol,
55
- type DataCubeQuerySnapshotColumn,
56
- type DataCubeQuerySnapshotAggregateColumn,
57
- } from './DataCubeQuerySnapshot.js';
58
- import {
59
- guaranteeNonNullable,
60
- guaranteeIsString,
61
- guaranteeIsBoolean,
62
- guaranteeIsNumber,
63
- UnsupportedOperationError,
64
- guaranteeType,
65
- type PlainObject,
66
- } from '@finos/legend-shared';
30
+ import { type DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
31
+ import { guaranteeNonNullable } from '@finos/legend-shared';
67
32
  import {
68
33
  DataCubeFunction,
69
- DEFAULT_LAMBDA_VARIABLE_NAME,
70
- INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME,
71
- DataCubeQuerySortOperation,
72
- DataCubeQueryFilterOperation,
73
- DataCubeQueryFilterGroupOperation,
74
- DataCubeAggregateOperation,
34
+ DataCubeQuerySortOperator,
75
35
  type DataCubeQueryFunctionMap,
76
- type DataCubeOperationValue,
77
36
  } from './DataCubeQueryEngine.js';
78
37
  import { DataCubeConfiguration } from './DataCubeConfiguration.js';
79
-
80
- // --------------------------------- UTILITIES ---------------------------------
81
-
82
- function _deserializeToLambda(json: PlainObject<V1_Lambda>) {
83
- return guaranteeType(V1_deserializeValueSpecification(json, []), V1_Lambda);
84
- }
85
-
86
- export function _var(name?: string | undefined) {
87
- const variable = new V1_Variable();
88
- variable.name = name ?? DEFAULT_LAMBDA_VARIABLE_NAME;
89
- return variable;
90
- }
91
-
92
- export function _property(name: string, variable?: V1_Variable | undefined) {
93
- const property = new V1_AppliedProperty();
94
- property.property = name;
95
- property.parameters.push(variable ?? _var());
96
- return property;
97
- }
98
-
99
- export function _lambda(
100
- parameters: V1_Variable[],
101
- body: V1_ValueSpecification[],
102
- ) {
103
- const lambda = new V1_Lambda();
104
- lambda.parameters = parameters;
105
- lambda.body = body;
106
- return lambda;
107
- }
108
-
109
- export function _function(
110
- functionName: string,
111
- parameters: V1_ValueSpecification[],
112
- ) {
113
- const func = new V1_AppliedFunction();
114
- func.function = functionName;
115
- func.parameters = parameters;
116
- return func;
117
- }
118
-
119
- function _collection(values: V1_ValueSpecification[]) {
120
- const collection = new V1_Collection();
121
- collection.multiplicity = new V1_Multiplicity(values.length, values.length);
122
- collection.values = values;
123
- return collection;
124
- }
125
-
126
- function _primitiveValue(type: string, value: unknown) {
127
- const _val = <T extends V1_PrimitiveValueSpecification & { value: unknown }>(
128
- primitiveValue: T,
129
- val: unknown,
130
- ): T => {
131
- primitiveValue.value = val;
132
- return primitiveValue;
133
- };
134
- switch (type) {
135
- case PRIMITIVE_TYPE.STRING:
136
- return _val(new V1_CString(), guaranteeIsString(value));
137
- case PRIMITIVE_TYPE.BOOLEAN:
138
- return _val(new V1_CBoolean(), guaranteeIsBoolean(value));
139
- case PRIMITIVE_TYPE.NUMBER:
140
- case PRIMITIVE_TYPE.DECIMAL:
141
- return _val(new V1_CDecimal(), guaranteeIsNumber(value));
142
- case PRIMITIVE_TYPE.INTEGER:
143
- return _val(new V1_CInteger(), guaranteeIsNumber(value));
144
- case PRIMITIVE_TYPE.FLOAT:
145
- return _val(new V1_CFloat(), guaranteeIsNumber(value));
146
- case PRIMITIVE_TYPE.DATE:
147
- case PRIMITIVE_TYPE.DATETIME:
148
- return _val(new V1_CDateTime(), guaranteeIsString(value));
149
- case PRIMITIVE_TYPE.STRICTDATE:
150
- return _val(new V1_CStrictDate(), guaranteeIsString(value));
151
- case PRIMITIVE_TYPE.STRICTTIME:
152
- return _val(new V1_CStrictTime(), guaranteeIsString(value));
153
- default:
154
- throw new UnsupportedOperationError(`Unsupported value type '${type}'`);
155
- }
156
- }
157
-
158
- function _elementPtr(fullPath: string) {
159
- const ptr = new V1_PackageableElementPtr();
160
- ptr.fullPath = fullPath;
161
- return ptr;
162
- }
163
-
164
- function _classInstance(type: string, value: unknown) {
165
- const instance = new V1_ClassInstance();
166
- instance.type = type;
167
- instance.value = value;
168
- return instance;
169
- }
170
-
171
- export function _colSpec(
172
- name: string,
173
- function1?: V1_Lambda | undefined,
174
- function2?: V1_Lambda | undefined,
175
- ) {
176
- const colSpec = new V1_ColSpec();
177
- colSpec.name = name;
178
- colSpec.function1 = function1;
179
- colSpec.function2 = function2;
180
- return colSpec;
181
- }
182
-
183
- function _parameterValue(value: DataCubeOperationValue) {
184
- switch (value.type) {
185
- case PRIMITIVE_TYPE.STRING:
186
- case PRIMITIVE_TYPE.BOOLEAN:
187
- case PRIMITIVE_TYPE.NUMBER:
188
- case PRIMITIVE_TYPE.DECIMAL:
189
- case PRIMITIVE_TYPE.INTEGER:
190
- case PRIMITIVE_TYPE.FLOAT:
191
- case PRIMITIVE_TYPE.DATE:
192
- case PRIMITIVE_TYPE.DATETIME:
193
- case PRIMITIVE_TYPE.STRICTDATE:
194
- case PRIMITIVE_TYPE.STRICTTIME: {
195
- if (Array.isArray(value.value)) {
196
- return _collection(
197
- value.value.map((val) => _primitiveValue(value.type, val)),
198
- );
199
- }
200
- return _primitiveValue(value.type, value.value);
201
- }
202
- default:
203
- throw new UnsupportedOperationError(
204
- `Unsupported value type '${value.type}'`,
205
- );
206
- }
207
- }
208
-
209
- function _aggFunctionName(operation: DataCubeAggregateOperation) {
210
- switch (operation) {
211
- case DataCubeAggregateOperation.SUM:
212
- return DataCubeFunction.SUM;
213
- case DataCubeAggregateOperation.AVERAGE:
214
- return DataCubeFunction.AVERAGE;
215
- case DataCubeAggregateOperation.COUNT:
216
- return DataCubeFunction.COUNT;
217
- case DataCubeAggregateOperation.MIN:
218
- return DataCubeFunction.MIN;
219
- case DataCubeAggregateOperation.MAX:
220
- return DataCubeFunction.MAX;
221
- case DataCubeAggregateOperation.FIRST:
222
- return DataCubeFunction.FIRST;
223
- case DataCubeAggregateOperation.LAST:
224
- return DataCubeFunction.LAST;
225
- case DataCubeAggregateOperation.VAR_POP:
226
- return DataCubeFunction.VAR_POP;
227
- case DataCubeAggregateOperation.VAR_SAMP:
228
- return DataCubeFunction.VAR_SAMP;
229
- case DataCubeAggregateOperation.STDDEV_POP:
230
- return DataCubeFunction.STDDEV_POP;
231
- case DataCubeAggregateOperation.STDDEV_SAMP:
232
- return DataCubeFunction.STDDEV_SAMP;
233
- default:
234
- throw new UnsupportedOperationError(
235
- `Unsupported aggregate operation '${operation}'`,
236
- );
237
- }
238
- }
239
-
240
- function _agg(
241
- agg: DataCubeQuerySnapshotAggregateColumn,
242
- variable?: V1_Variable | undefined,
243
- ) {
244
- const parameters = agg.parameters.map((param) => _parameterValue(param));
245
- return _function(_aggFunctionName(agg.operation), [
246
- variable ?? _var(),
247
- ...parameters,
248
- ]);
249
- }
250
-
251
- // --------------------------------- BUILDING BLOCKS ---------------------------------
252
-
253
- export function _col(
254
- name: string,
255
- function1?: V1_Lambda | undefined,
256
- function2?: V1_Lambda | undefined,
257
- ) {
258
- return _classInstance(
259
- V1_ClassInstanceType.COL_SPEC,
260
- _colSpec(name, function1, function2),
261
- );
262
- }
263
-
264
- export function _cols(colSpecs: V1_ColSpec[]) {
265
- const colSpecArray = new V1_ColSpecArray();
266
- colSpecArray.colSpecs = colSpecs;
267
- return _classInstance(V1_ClassInstanceType.COL_SPEC_ARRAY, colSpecArray);
268
- }
269
-
270
- export function _groupByAggCols(
271
- columns: DataCubeQuerySnapshotAggregateColumn[],
272
- ) {
273
- const variable = _var();
274
- return columns.length
275
- ? columns.map((agg) =>
276
- _colSpec(
277
- agg.name,
278
- _lambda([variable], [_property(agg.name, variable)]),
279
- _lambda([variable], [_agg(agg)]),
280
- ),
281
- )
282
- : // if no aggregates are specified, add a dummy count() aggregate to satisfy compiler
283
- [
284
- _colSpec(
285
- INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME,
286
- _lambda([variable], [variable]),
287
- _lambda([variable], [_function(DataCubeFunction.COUNT, [variable])]),
288
- ),
289
- ];
290
- }
291
-
292
- export function _filter(
293
- filter: DataCubeQuerySnapshotFilter | DataCubeQuerySnapshotFilterCondition,
294
- ) {
295
- if ('groupOperation' in filter) {
296
- const group = filter;
297
- const groupOperation =
298
- group.groupOperation === DataCubeQueryFilterGroupOperation.AND
299
- ? DataCubeFunction.AND
300
- : DataCubeFunction.OR;
301
- let conditions: V1_ValueSpecification[] = [];
302
- group.conditions.forEach((condition) => {
303
- conditions.push(_filter(condition));
304
- // NOTE: a group operation (and/or) function can only have 2 parameters, so we
305
- // have to breakdown the group operation into nested group functions
306
- if (conditions.length === 2) {
307
- conditions = [_function(groupOperation, conditions)];
308
- }
309
- });
310
- return guaranteeNonNullable(conditions[0]);
311
- } else {
312
- const condition = filter;
313
- const property = _property(condition.name);
314
- const _cond = (fn: string, ...p: V1_ValueSpecification[]) =>
315
- _function(_name(fn), [property, ...p]);
316
- const _val = () => _parameterValue(guaranteeNonNullable(condition.value));
317
- const _not = (fn: V1_AppliedFunction) =>
318
- _function(_name(DataCubeFunction.NOT), [fn]);
319
- switch (condition.operation) {
320
- case DataCubeQueryFilterOperation.EQUAL:
321
- return _cond(DataCubeFunction.EQUAL, _val());
322
- case DataCubeQueryFilterOperation.GREATER_THAN:
323
- return _cond(DataCubeFunction.GREATER_THAN, _val());
324
- case DataCubeQueryFilterOperation.GREATER_THAN_OR_EQUAL:
325
- return _cond(DataCubeFunction.GREATER_THAN_EQUAL, _val());
326
- case DataCubeQueryFilterOperation.LESS_THAN:
327
- return _cond(DataCubeFunction.LESS_THAN, _val());
328
- case DataCubeQueryFilterOperation.LESS_THAN_OR_EQUAL:
329
- return _cond(DataCubeFunction.LESS_THAN_EQUAL, _val());
330
- case DataCubeQueryFilterOperation.CONTAINS:
331
- return _cond(DataCubeFunction.CONTAINS, _val());
332
- case DataCubeQueryFilterOperation.ENDS_WITH:
333
- return _cond(DataCubeFunction.ENDS_WITH, _val());
334
- case DataCubeQueryFilterOperation.STARTS_WITH:
335
- return _cond(DataCubeFunction.STARTS_WITH, _val());
336
- case DataCubeQueryFilterOperation.BLANK:
337
- return _cond(DataCubeFunction.IS_EMPTY);
338
- case DataCubeQueryFilterOperation.NOT_EQUAL:
339
- return _not(_cond(DataCubeFunction.EQUAL, _val()));
340
- case DataCubeQueryFilterOperation.NOT_BLANK:
341
- return _not(_cond(DataCubeFunction.IS_EMPTY));
342
- case DataCubeQueryFilterOperation.NOT_CONTAINS:
343
- return _not(_cond(DataCubeFunction.CONTAINS, _val()));
344
- default:
345
- throw new UnsupportedOperationError(
346
- `Unsupported filter operation '${condition.operation}'`,
347
- );
348
- }
349
- }
350
- }
351
-
352
- export function _groupByExtend(
353
- columns: DataCubeQuerySnapshotColumn[],
354
- columnsUsedInGroupBy: DataCubeQuerySnapshotColumn[],
355
- ) {
356
- const missingCols = columns.filter(
357
- (col) => !_findCol(columnsUsedInGroupBy, col.name),
358
- );
359
- return missingCols.length
360
- ? _function(_name(DataCubeFunction.EXTEND), [
361
- _cols(
362
- missingCols.map((col) =>
363
- _colSpec(
364
- col.name,
365
- _lambda([_var()], [_primitiveValue(PRIMITIVE_TYPE.STRING, '')]),
366
- ),
367
- ),
368
- ),
369
- ])
370
- : undefined;
371
- }
372
-
373
- // --------------------------------- MAIN ---------------------------------
38
+ import type { DataCubeQueryFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
39
+ import {
40
+ _col,
41
+ _collection,
42
+ _cols,
43
+ _colSpec,
44
+ _deserializeToLambda,
45
+ _elementPtr,
46
+ _filter,
47
+ _function,
48
+ _groupByAggCols,
49
+ _groupByExtend,
50
+ _lambda,
51
+ _primitiveValue,
52
+ _var,
53
+ } from './DataCubeQueryBuilderUtils.js';
374
54
 
375
55
  export function buildExecutableQuery(
376
56
  snapshot: DataCubeQuerySnapshot,
57
+ filterOperations: DataCubeQueryFilterOperation[],
377
58
  options?: {
378
59
  postProcessor?: (
379
60
  snapshot: DataCubeQuerySnapshot,
380
61
  sequence: V1_AppliedFunction[],
381
62
  funcMap: DataCubeQueryFunctionMap,
382
63
  configuration: DataCubeConfiguration,
64
+ filterOperations: DataCubeQueryFilterOperation[],
383
65
  ) => void;
384
66
  pagination?:
385
67
  | {
@@ -404,17 +86,6 @@ export function buildExecutableQuery(
404
86
  funcMap[funcMapKey] = func;
405
87
  };
406
88
 
407
- // --------------------------------- FILTER ---------------------------------
408
-
409
- if (data.filter) {
410
- _process(
411
- 'filter',
412
- _function(_name(DataCubeFunction.FILTER), [
413
- _lambda([_var()], [_filter(data.filter)]),
414
- ]),
415
- );
416
- }
417
-
418
89
  // --------------------------------- LEAF EXTEND ---------------------------------
419
90
 
420
91
  if (data.leafExtendedColumns.length) {
@@ -430,6 +101,17 @@ export function buildExecutableQuery(
430
101
  );
431
102
  }
432
103
 
104
+ // --------------------------------- FILTER ---------------------------------
105
+
106
+ if (data.filter) {
107
+ _process(
108
+ 'filter',
109
+ _function(_name(DataCubeFunction.FILTER), [
110
+ _lambda([_var()], [_filter(data.filter, filterOperations)]),
111
+ ]),
112
+ );
113
+ }
114
+
433
115
  // --------------------------------- SELECT ---------------------------------
434
116
 
435
117
  if (data.selectColumns.length) {
@@ -491,7 +173,7 @@ export function buildExecutableQuery(
491
173
  data.sortColumns.map((col) =>
492
174
  _function(
493
175
  _name(
494
- col.operation === DataCubeQuerySortOperation.ASCENDING
176
+ col.operation === DataCubeQuerySortOperator.ASCENDING
495
177
  ? DataCubeFunction.ASC
496
178
  : DataCubeFunction.DESC,
497
179
  ),
@@ -533,7 +215,13 @@ export function buildExecutableQuery(
533
215
 
534
216
  // --------------------------------- FINALIZE ---------------------------------
535
217
 
536
- options?.postProcessor?.(snapshot, sequence, funcMap, configuration);
218
+ options?.postProcessor?.(
219
+ snapshot,
220
+ sequence,
221
+ funcMap,
222
+ configuration,
223
+ filterOperations,
224
+ );
537
225
 
538
226
  if (!sequence.length) {
539
227
  return sourceQuery;