@finos/legend-data-cube 0.0.9 → 0.0.11

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 (433) hide show
  1. package/lib/components/DataCube.d.ts +6 -1
  2. package/lib/components/DataCube.d.ts.map +1 -1
  3. package/lib/components/DataCube.js +35 -28
  4. package/lib/components/DataCube.js.map +1 -1
  5. package/lib/components/DataCubeProvider.d.ts +2 -10
  6. package/lib/components/DataCubeProvider.d.ts.map +1 -1
  7. package/lib/components/DataCubeProvider.js +3 -15
  8. package/lib/components/DataCubeProvider.js.map +1 -1
  9. package/lib/components/DataCubeView.d.ts +22 -0
  10. package/lib/components/DataCubeView.d.ts.map +1 -0
  11. package/lib/components/DataCubeView.js +34 -0
  12. package/lib/components/DataCubeView.js.map +1 -0
  13. package/lib/components/core/DataCubeAlert.d.ts.map +1 -1
  14. package/lib/components/core/DataCubeAlert.js +2 -4
  15. package/lib/components/core/DataCubeAlert.js.map +1 -1
  16. package/lib/components/core/DataCubeDocumentationPanel.d.ts.map +1 -1
  17. package/lib/components/core/DataCubeDocumentationPanel.js +1 -2
  18. package/lib/components/core/DataCubeDocumentationPanel.js.map +1 -1
  19. package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -1
  20. package/lib/components/core/DataCubeFormUtils.js +7 -7
  21. package/lib/components/core/DataCubeFormUtils.js.map +1 -1
  22. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts +3 -3
  23. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts.map +1 -1
  24. package/lib/components/core/DataCubePureCodeEditorUtils.js +2 -2
  25. package/lib/components/core/DataCubePureCodeEditorUtils.js.map +1 -1
  26. package/lib/components/core/DataCubeSettingsPanel.d.ts.map +1 -1
  27. package/lib/components/core/DataCubeSettingsPanel.js +16 -16
  28. package/lib/components/core/DataCubeSettingsPanel.js.map +1 -1
  29. package/lib/components/view/editor/DataCubeEditor.js +3 -3
  30. package/lib/components/view/editor/DataCubeEditor.js.map +1 -1
  31. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +1 -1
  32. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js +2 -2
  33. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  34. package/lib/components/view/extend/DataCubeColumnEditor.js +7 -7
  35. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  36. package/lib/components/view/grid/DataCubeGrid.d.ts.map +1 -1
  37. package/lib/components/view/grid/DataCubeGrid.js +12 -6
  38. package/lib/components/view/grid/DataCubeGrid.js.map +1 -1
  39. package/lib/index.css +1 -1
  40. package/lib/index.d.ts +6 -3
  41. package/lib/index.d.ts.map +1 -1
  42. package/lib/index.js +6 -3
  43. package/lib/index.js.map +1 -1
  44. package/lib/package.json +1 -1
  45. package/lib/stores/DataCubeAPI.d.ts +21 -0
  46. package/lib/stores/DataCubeAPI.d.ts.map +1 -0
  47. package/lib/stores/DataCubeAPI.js +17 -0
  48. package/lib/stores/DataCubeAPI.js.map +1 -0
  49. package/lib/stores/DataCubeOptions.d.ts +27 -0
  50. package/lib/stores/DataCubeOptions.d.ts.map +1 -0
  51. package/lib/stores/DataCubeOptions.js +17 -0
  52. package/lib/stores/DataCubeOptions.js.map +1 -0
  53. package/lib/stores/DataCubeSettings.d.ts +42 -0
  54. package/lib/stores/DataCubeSettings.d.ts.map +1 -0
  55. package/lib/stores/DataCubeSettings.js +76 -0
  56. package/lib/stores/DataCubeSettings.js.map +1 -0
  57. package/lib/stores/DataCubeState.d.ts +20 -6
  58. package/lib/stores/DataCubeState.d.ts.map +1 -1
  59. package/lib/stores/DataCubeState.js +61 -16
  60. package/lib/stores/DataCubeState.js.map +1 -1
  61. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +4 -9
  62. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  63. package/lib/stores/core/DataCubeConfigurationBuilder.js +1 -1
  64. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  65. package/lib/stores/core/DataCubeEngine.d.ts +109 -88
  66. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  67. package/lib/stores/core/DataCubeEngine.js +166 -123
  68. package/lib/stores/core/DataCubeEngine.js.map +1 -1
  69. package/lib/stores/core/DataCubeQueryBuilder.d.ts +5 -5
  70. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  71. package/lib/stores/core/DataCubeQueryBuilder.js +13 -18
  72. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  73. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +7 -6
  74. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  75. package/lib/stores/core/DataCubeQueryBuilderUtils.js +2 -1
  76. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  77. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +12 -36
  78. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  79. package/lib/stores/core/DataCubeQuerySnapshot.js +5 -26
  80. package/lib/stores/core/DataCubeQuerySnapshot.js.map +1 -1
  81. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +4 -3
  82. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  83. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +9 -8
  84. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  85. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +2 -2
  86. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  87. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +1 -1
  88. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  89. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +3 -3
  90. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
  91. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +3 -3
  92. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -1
  93. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -1
  94. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +3 -3
  95. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -1
  96. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -1
  97. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +3 -3
  98. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -1
  99. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -1
  100. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +3 -3
  101. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -1
  102. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -1
  103. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +3 -3
  104. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -1
  105. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -1
  106. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +3 -3
  107. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -1
  108. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -1
  109. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +3 -3
  110. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -1
  111. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -1
  112. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +3 -3
  113. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -1
  114. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -1
  115. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +3 -3
  116. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -1
  117. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -1
  118. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +3 -3
  119. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -1
  120. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -1
  121. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +3 -3
  122. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -1
  123. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -1
  124. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +3 -3
  125. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -1
  126. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -1
  127. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +3 -3
  128. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -1
  129. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -1
  130. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +5 -4
  131. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  132. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -1
  133. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +4 -3
  134. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  135. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js.map +1 -1
  136. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +4 -3
  137. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  138. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  139. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +4 -3
  140. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +4 -3
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +4 -3
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +4 -3
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +4 -3
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +4 -3
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +4 -3
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +4 -3
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +4 -3
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +4 -3
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +4 -3
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +4 -3
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +4 -3
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +4 -3
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +4 -3
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +4 -3
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +4 -3
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +4 -3
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +4 -3
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +4 -3
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  199. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +4 -3
  200. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  201. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +4 -3
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +4 -3
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  207. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  208. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +4 -3
  209. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  210. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  211. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +4 -3
  212. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  213. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  214. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +4 -3
  215. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  216. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  217. package/lib/stores/core/models/DataCubeColumn.d.ts +30 -0
  218. package/lib/stores/core/models/DataCubeColumn.d.ts.map +1 -0
  219. package/lib/stores/core/models/DataCubeColumn.js +23 -0
  220. package/lib/stores/core/models/DataCubeColumn.js.map +1 -0
  221. package/lib/stores/core/{DataCubeConfiguration.d.ts → models/DataCubeConfiguration.d.ts} +3 -2
  222. package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +1 -0
  223. package/lib/stores/core/{DataCubeConfiguration.js → models/DataCubeConfiguration.js} +3 -1
  224. package/lib/stores/core/models/DataCubeConfiguration.js.map +1 -0
  225. package/lib/stores/core/{DataCubeQuery.d.ts → models/DataCubeQuery.d.ts} +1 -18
  226. package/lib/stores/core/models/DataCubeQuery.d.ts.map +1 -0
  227. package/lib/stores/core/models/DataCubeQuery.js +30 -0
  228. package/lib/stores/core/models/DataCubeQuery.js.map +1 -0
  229. package/lib/stores/core/models/DataCubeSource.d.ts +24 -0
  230. package/lib/stores/core/models/DataCubeSource.d.ts.map +1 -0
  231. package/lib/stores/core/models/DataCubeSource.js +22 -0
  232. package/lib/stores/core/models/DataCubeSource.js.map +1 -0
  233. package/lib/stores/view/DataCubeInfoState.d.ts +0 -4
  234. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
  235. package/lib/stores/view/DataCubeInfoState.js +10 -13
  236. package/lib/stores/view/DataCubeInfoState.js.map +1 -1
  237. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts +1 -1
  238. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts.map +1 -1
  239. package/lib/stores/view/DataCubeQuerySnapshotManager.js +4 -4
  240. package/lib/stores/view/DataCubeQuerySnapshotManager.js.map +1 -1
  241. package/lib/stores/view/DataCubeViewState.d.ts +5 -4
  242. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  243. package/lib/stores/view/DataCubeViewState.js +25 -10
  244. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  245. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +1 -1
  246. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  247. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js +1 -1
  248. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +1 -1
  249. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  250. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +3 -2
  251. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  252. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -3
  253. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  254. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +0 -8
  255. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  256. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +6 -5
  257. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  258. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +2 -1
  259. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  260. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +2 -1
  261. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  262. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +6 -1
  263. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  264. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +1 -1
  265. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  266. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +1 -1
  267. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
  268. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +1 -1
  269. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  270. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +2 -1
  271. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  272. package/lib/stores/view/editor/DataCubeEditorState.d.ts +4 -3
  273. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  274. package/lib/stores/view/editor/DataCubeEditorState.js +9 -8
  275. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  276. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +1 -1
  277. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  278. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +2 -1
  279. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  280. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +3 -3
  281. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  282. package/lib/stores/view/extend/DataCubeColumnEditorState.js +17 -15
  283. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  284. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +6 -5
  285. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  286. package/lib/stores/view/extend/DataCubeExtendManagerState.js +10 -9
  287. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  288. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +1 -1
  289. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  290. package/lib/stores/view/filter/DataCubeFilterEditorState.js +2 -2
  291. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  292. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +1 -1
  293. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  294. package/lib/stores/view/grid/DataCubeGridClientEngine.js +24 -23
  295. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  296. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js +1 -1
  297. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js.map +1 -1
  298. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +1 -1
  299. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  300. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +2 -1
  301. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  302. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +13 -12
  303. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  304. package/lib/stores/view/grid/DataCubeGridControllerState.js +3 -2
  305. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  306. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +7 -7
  307. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  308. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +1 -1
  309. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  310. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
  311. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  312. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +3 -2
  313. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  314. package/lib/stores/view/grid/DataCubeGridState.d.ts +1 -1
  315. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  316. package/lib/stores/view/grid/DataCubeGridState.js +4 -4
  317. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  318. package/package.json +4 -4
  319. package/src/components/DataCube.tsx +48 -65
  320. package/src/components/DataCubeProvider.tsx +3 -31
  321. package/src/components/DataCubeView.tsx +74 -0
  322. package/src/components/core/DataCubeAlert.tsx +2 -4
  323. package/src/components/core/DataCubeDocumentationPanel.tsx +1 -2
  324. package/src/components/core/DataCubeFormUtils.tsx +7 -8
  325. package/src/components/core/DataCubePureCodeEditorUtils.tsx +7 -8
  326. package/src/components/core/DataCubeSettingsPanel.tsx +30 -22
  327. package/src/components/view/editor/DataCubeEditor.tsx +3 -3
  328. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +1 -1
  329. package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +2 -2
  330. package/src/components/view/extend/DataCubeColumnEditor.tsx +7 -7
  331. package/src/components/view/grid/DataCubeGrid.tsx +13 -7
  332. package/src/index.tsx +8 -4
  333. package/src/stores/DataCubeAPI.ts +22 -0
  334. package/src/stores/DataCubeOptions.ts +34 -0
  335. package/src/stores/DataCubeSettings.ts +107 -0
  336. package/src/stores/DataCubeState.tsx +92 -21
  337. package/src/stores/core/DataCubeConfigurationBuilder.ts +6 -6
  338. package/src/stores/core/DataCubeEngine.tsx +459 -0
  339. package/src/stores/core/DataCubeQueryBuilder.ts +17 -31
  340. package/src/stores/core/DataCubeQueryBuilderUtils.ts +6 -9
  341. package/src/stores/core/DataCubeQuerySnapshot.ts +23 -87
  342. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +11 -20
  343. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +3 -3
  344. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +3 -3
  345. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +3 -3
  346. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +3 -3
  347. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +3 -3
  348. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +3 -3
  349. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +3 -3
  350. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +3 -3
  351. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +3 -3
  352. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +3 -3
  353. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +3 -3
  354. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +3 -3
  355. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +3 -3
  356. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +3 -3
  357. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +3 -3
  358. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +4 -4
  359. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +4 -6
  360. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +4 -6
  361. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +4 -6
  362. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +4 -6
  363. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +4 -6
  364. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +4 -6
  365. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +4 -6
  366. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +4 -6
  367. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +4 -6
  368. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +4 -6
  369. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +4 -6
  370. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +4 -6
  371. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +4 -6
  372. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +4 -6
  373. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +4 -6
  374. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +4 -6
  375. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +4 -6
  376. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +4 -6
  377. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +4 -6
  378. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +4 -6
  379. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +4 -6
  380. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +4 -6
  381. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +4 -6
  382. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +4 -6
  383. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +4 -6
  384. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +4 -6
  385. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +4 -6
  386. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +4 -6
  387. package/src/stores/core/models/DataCubeColumn.ts +34 -0
  388. package/src/stores/core/{DataCubeConfiguration.ts → models/DataCubeConfiguration.ts} +4 -1
  389. package/src/stores/core/models/DataCubeQuery.ts +41 -0
  390. package/src/stores/core/models/DataCubeSource.ts +25 -0
  391. package/src/stores/view/DataCubeInfoState.ts +16 -18
  392. package/src/stores/view/DataCubeQuerySnapshotManager.ts +5 -5
  393. package/src/stores/view/DataCubeViewState.ts +40 -13
  394. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +1 -1
  395. package/src/stores/view/editor/DataCubeEditorColumnSelectorState.ts +1 -1
  396. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +3 -5
  397. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +1 -11
  398. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +7 -7
  399. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +8 -1
  400. package/src/stores/view/editor/DataCubeEditorPanelState.ts +1 -1
  401. package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +1 -1
  402. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +3 -5
  403. package/src/stores/view/editor/DataCubeEditorState.tsx +13 -10
  404. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +3 -5
  405. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +27 -19
  406. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +17 -13
  407. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +2 -2
  408. package/src/stores/view/grid/DataCubeGridClientEngine.ts +47 -42
  409. package/src/stores/view/grid/DataCubeGridClientExportEngine.ts +1 -1
  410. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +6 -6
  411. package/src/stores/view/grid/DataCubeGridControllerState.ts +11 -9
  412. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +8 -8
  413. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +1 -1
  414. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +3 -5
  415. package/src/stores/view/grid/DataCubeGridState.ts +4 -4
  416. package/tsconfig.json +9 -5
  417. package/lib/stores/core/DataCubeApplicationEngine.d.ts +0 -63
  418. package/lib/stores/core/DataCubeApplicationEngine.d.ts.map +0 -1
  419. package/lib/stores/core/DataCubeApplicationEngine.js +0 -94
  420. package/lib/stores/core/DataCubeApplicationEngine.js.map +0 -1
  421. package/lib/stores/core/DataCubeConfiguration.d.ts.map +0 -1
  422. package/lib/stores/core/DataCubeConfiguration.js.map +0 -1
  423. package/lib/stores/core/DataCubeEngineUtils.d.ts +0 -2
  424. package/lib/stores/core/DataCubeEngineUtils.d.ts.map +0 -1
  425. package/lib/stores/core/DataCubeEngineUtils.js +0 -2
  426. package/lib/stores/core/DataCubeEngineUtils.js.map +0 -1
  427. package/lib/stores/core/DataCubeQuery.d.ts.map +0 -1
  428. package/lib/stores/core/DataCubeQuery.js +0 -79
  429. package/lib/stores/core/DataCubeQuery.js.map +0 -1
  430. package/src/stores/core/DataCubeApplicationEngine.tsx +0 -200
  431. package/src/stores/core/DataCubeEngine.ts +0 -327
  432. package/src/stores/core/DataCubeEngineUtils.ts +0 -0
  433. package/src/stores/core/DataCubeQuery.ts +0 -130
@@ -0,0 +1,459 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ type V1_ValueSpecification,
19
+ type V1_Lambda,
20
+ type TDSExecutionResult,
21
+ type V1_AppliedFunction,
22
+ PRIMITIVE_TYPE,
23
+ } from '@finos/legend-graph';
24
+ import { getFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
25
+ import { getAggregateOperation } from './aggregation/DataCubeQueryAggregateOperation.js';
26
+ import { DataCubeQueryAggregateOperation__Sum } from './aggregation/DataCubeQueryAggregateOperation__Sum.js';
27
+ import { DataCubeQueryAggregateOperation__Average } from './aggregation/DataCubeQueryAggregateOperation__Average.js';
28
+ import { DataCubeQueryAggregateOperation__Count } from './aggregation/DataCubeQueryAggregateOperation__Count.js';
29
+ import { DataCubeQueryAggregateOperation__Min } from './aggregation/DataCubeQueryAggregateOperation__Min.js';
30
+ import { DataCubeQueryAggregateOperation__Max } from './aggregation/DataCubeQueryAggregateOperation__Max.js';
31
+ import { DataCubeQueryAggregateOperation__UniqueValue } from './aggregation/DataCubeQueryAggregateOperation__UniqueValue.js';
32
+ import { DataCubeQueryAggregateOperation__First } from './aggregation/DataCubeQueryAggregateOperation__First.js';
33
+ import { DataCubeQueryAggregateOperation__Last } from './aggregation/DataCubeQueryAggregateOperation__Last.js';
34
+ import { DataCubeQueryAggregateOperation__VariancePopulation } from './aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js';
35
+ import { DataCubeQueryAggregateOperation__VarianceSample } from './aggregation/DataCubeQueryAggregateOperation__VarianceSample.js';
36
+ import { DataCubeQueryAggregateOperation__StdDevPopulation } from './aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js';
37
+ import { DataCubeQueryAggregateOperation__StdDevSample } from './aggregation/DataCubeQueryAggregateOperation__StdDevSample.js';
38
+ import { DataCubeQueryAggregateOperation__JoinStrings } from './aggregation/DataCubeQueryAggregateOperation__JoinStrings.js';
39
+ import { DataCubeQueryFilterOperation__Equal } from './filter/DataCubeQueryFilterOperation__Equal.js';
40
+ import { DataCubeQueryFilterOperation__LessThanOrEqual } from './filter/DataCubeQueryFilterOperation__LessThanOrEqual.js';
41
+ import { DataCubeQueryFilterOperation__LessThan } from './filter/DataCubeQueryFilterOperation__LessThan.js';
42
+ import { DataCubeQueryFilterOperation__GreaterThanOrEqual } from './filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js';
43
+ import { DataCubeQueryFilterOperation__GreaterThan } from './filter/DataCubeQueryFilterOperation__GreaterThan.js';
44
+ import { DataCubeQueryFilterOperation__NotEqual } from './filter/DataCubeQueryFilterOperation__NotEqual.js';
45
+ import { DataCubeQueryFilterOperation__EqualColumn } from './filter/DataCubeQueryFilterOperation__EqualColumn.js';
46
+ import { DataCubeQueryFilterOperation__EqualCaseInsensitive } from './filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js';
47
+ import { DataCubeQueryFilterOperation__NotEqualCaseInsensitive } from './filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js';
48
+ import { DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn } from './filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js';
49
+ import { DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn } from './filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js';
50
+ import { DataCubeQueryFilterOperation__NotEqualColumn } from './filter/DataCubeQueryFilterOperation__NotEqualColumn.js';
51
+ import { DataCubeQueryFilterOperation__LessThanColumn } from './filter/DataCubeQueryFilterOperation__LessThanColumn.js';
52
+ import { DataCubeQueryFilterOperation__LessThanOrEqualColumn } from './filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js';
53
+ import { DataCubeQueryFilterOperation__GreaterThanColumn } from './filter/DataCubeQueryFilterOperation__GreaterThanColumn.js';
54
+ import { DataCubeQueryFilterOperation__GreaterThanOrEqualColumn } from './filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js';
55
+ import { DataCubeQueryFilterOperation__Contain } from './filter/DataCubeQueryFilterOperation__Contain.js';
56
+ import { DataCubeQueryFilterOperation__ContainCaseInsensitive } from './filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js';
57
+ import { DataCubeQueryFilterOperation__NotContain } from './filter/DataCubeQueryFilterOperation__NotContain.js';
58
+ import { DataCubeQueryFilterOperation__StartWith } from './filter/DataCubeQueryFilterOperation__StartWith.js';
59
+ import { DataCubeQueryFilterOperation__StartWithCaseInsensitive } from './filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js';
60
+ import { DataCubeQueryFilterOperation__NotStartWith } from './filter/DataCubeQueryFilterOperation__NotStartWith.js';
61
+ import { DataCubeQueryFilterOperation__EndWith } from './filter/DataCubeQueryFilterOperation__EndWith.js';
62
+ import { DataCubeQueryFilterOperation__EndWithCaseInsensitive } from './filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js';
63
+ import { DataCubeQueryFilterOperation__NotEndWith } from './filter/DataCubeQueryFilterOperation__NotEndWith.js';
64
+ import { DataCubeQueryFilterOperation__IsNull } from './filter/DataCubeQueryFilterOperation__IsNull.js';
65
+ import { DataCubeQueryFilterOperation__IsNotNull } from './filter/DataCubeQueryFilterOperation__IsNotNull.js';
66
+ import {
67
+ CODE_EDITOR_LANGUAGE,
68
+ configureCodeEditor,
69
+ setupPureLanguageService,
70
+ } from '@finos/legend-code-editor';
71
+ import { DataCubeFont } from './DataCubeQueryEngine.js';
72
+ import type { DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
73
+ import { buildExecutableQuery } from './DataCubeQueryBuilder.js';
74
+ import type { DataCubeColumn } from './models/DataCubeColumn.js';
75
+ import { LicenseManager } from '@ag-grid-enterprise/core';
76
+ import type { DataCubeQuery } from './models/DataCubeQuery.js';
77
+ import {
78
+ type DataCubeSource,
79
+ INTERNAL__DataCubeSource,
80
+ } from './models/DataCubeSource.js';
81
+ import { _primitiveValue } from './DataCubeQueryBuilderUtils.js';
82
+ import {
83
+ uuid,
84
+ type DocumentationEntry,
85
+ type LogEvent,
86
+ type PlainObject,
87
+ } from '@finos/legend-shared';
88
+ import {
89
+ Alert,
90
+ AlertType,
91
+ type ActionAlertAction,
92
+ } from '../../components/core/DataCubeAlert.js';
93
+ import {
94
+ DEFAULT_SMALL_ALERT_WINDOW_CONFIG,
95
+ LayoutConfiguration,
96
+ LayoutManagerState,
97
+ WindowState,
98
+ type WindowConfiguration,
99
+ } from './DataCubeLayoutManagerState.js';
100
+ import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
101
+ import { DataCubeCodeCheckErrorAlert } from '../../components/core/DataCubeCodeCheckErrorAlert.js';
102
+ import type { DataCubeAPI } from '../DataCubeAPI.js';
103
+
104
+ export type CompletionItem = {
105
+ completion: string;
106
+ display: string;
107
+ };
108
+
109
+ export type RelationType = {
110
+ columns: DataCubeColumn[];
111
+ };
112
+
113
+ export type DataCubeQueryBuilderError = {
114
+ type: string;
115
+ message: string;
116
+ sourceInformation?: {
117
+ startLine: number;
118
+ startColumn: number;
119
+ endLine: number;
120
+ endColumn: number;
121
+ };
122
+ };
123
+
124
+ type DataCubeExecutionResult = {
125
+ result: TDSExecutionResult;
126
+ executedQuery: string;
127
+ executedSQL: string;
128
+ };
129
+
130
+ export type DataCubeInitialInput = {
131
+ query: DataCubeQuery;
132
+ source: DataCubeSource;
133
+ };
134
+
135
+ export type DataCubeEngineConfiguration = {
136
+ gridClientLicense?: string | undefined;
137
+ };
138
+
139
+ export abstract class DataCubeEngine {
140
+ readonly layout = new LayoutManagerState();
141
+ readonly filterOperations = [
142
+ new DataCubeQueryFilterOperation__LessThan(),
143
+ new DataCubeQueryFilterOperation__LessThanOrEqual(),
144
+ new DataCubeQueryFilterOperation__Equal(),
145
+ new DataCubeQueryFilterOperation__NotEqual(),
146
+ new DataCubeQueryFilterOperation__GreaterThanOrEqual(),
147
+ new DataCubeQueryFilterOperation__GreaterThan(),
148
+
149
+ new DataCubeQueryFilterOperation__IsNull(),
150
+ new DataCubeQueryFilterOperation__IsNotNull(),
151
+
152
+ new DataCubeQueryFilterOperation__EqualCaseInsensitive(),
153
+ new DataCubeQueryFilterOperation__NotEqualCaseInsensitive(),
154
+ new DataCubeQueryFilterOperation__Contain(),
155
+ new DataCubeQueryFilterOperation__ContainCaseInsensitive(),
156
+ new DataCubeQueryFilterOperation__NotContain(),
157
+ new DataCubeQueryFilterOperation__StartWith(),
158
+ new DataCubeQueryFilterOperation__StartWithCaseInsensitive(),
159
+ new DataCubeQueryFilterOperation__NotStartWith(),
160
+ new DataCubeQueryFilterOperation__EndWith(),
161
+ new DataCubeQueryFilterOperation__EndWithCaseInsensitive(),
162
+ new DataCubeQueryFilterOperation__NotEndWith(),
163
+
164
+ new DataCubeQueryFilterOperation__LessThanColumn(),
165
+ new DataCubeQueryFilterOperation__LessThanOrEqualColumn(),
166
+ new DataCubeQueryFilterOperation__EqualColumn(),
167
+ new DataCubeQueryFilterOperation__NotEqualColumn(),
168
+ new DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn(),
169
+ new DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn(),
170
+ new DataCubeQueryFilterOperation__GreaterThanColumn(),
171
+ new DataCubeQueryFilterOperation__GreaterThanOrEqualColumn(),
172
+ ];
173
+ readonly aggregateOperations = [
174
+ new DataCubeQueryAggregateOperation__Sum(),
175
+ new DataCubeQueryAggregateOperation__Average(),
176
+ new DataCubeQueryAggregateOperation__Count(),
177
+ new DataCubeQueryAggregateOperation__Min(),
178
+ new DataCubeQueryAggregateOperation__Max(),
179
+ new DataCubeQueryAggregateOperation__UniqueValue(),
180
+ new DataCubeQueryAggregateOperation__First(),
181
+ new DataCubeQueryAggregateOperation__Last(),
182
+ new DataCubeQueryAggregateOperation__VariancePopulation(),
183
+ new DataCubeQueryAggregateOperation__VarianceSample(),
184
+ new DataCubeQueryAggregateOperation__StdDevPopulation(),
185
+ new DataCubeQueryAggregateOperation__StdDevSample(),
186
+ new DataCubeQueryAggregateOperation__JoinStrings(),
187
+ ];
188
+
189
+ protected async fetchConfiguration(): Promise<DataCubeEngineConfiguration> {
190
+ return {
191
+ gridClientLicense: undefined,
192
+ };
193
+ }
194
+
195
+ async initialize(): Promise<void> {
196
+ const config = await this.fetchConfiguration();
197
+ if (config.gridClientLicense) {
198
+ LicenseManager.setLicenseKey(config.gridClientLicense);
199
+ }
200
+ await configureCodeEditor(DataCubeFont.ROBOTO_MONO, (error) => {
201
+ throw error;
202
+ });
203
+ setupPureLanguageService({});
204
+ }
205
+
206
+ // ------------------------------- CORE OPERATIONS -------------------------------
207
+
208
+ getFilterOperation(value: string) {
209
+ return getFilterOperation(value, this.filterOperations);
210
+ }
211
+
212
+ getAggregateOperation(value: string) {
213
+ return getAggregateOperation(value, this.aggregateOperations);
214
+ }
215
+
216
+ async getInitialInput(): Promise<DataCubeInitialInput | undefined> {
217
+ return undefined;
218
+ }
219
+
220
+ abstract parseValueSpecification(
221
+ code: string,
222
+ returnSourceInformation?: boolean | undefined,
223
+ ): Promise<V1_ValueSpecification>;
224
+
225
+ abstract getValueSpecificationCode(
226
+ value: V1_ValueSpecification,
227
+ pretty?: boolean | undefined,
228
+ ): Promise<string>;
229
+
230
+ abstract getQueryTypeahead(
231
+ code: string,
232
+ baseQuery: V1_Lambda,
233
+ source: DataCubeSource,
234
+ ): Promise<CompletionItem[]>;
235
+
236
+ abstract getQueryRelationType(
237
+ query: V1_Lambda,
238
+ source: DataCubeSource,
239
+ ): Promise<RelationType>;
240
+
241
+ abstract getQueryCodeRelationReturnType(
242
+ code: string,
243
+ baseQuery: V1_ValueSpecification,
244
+ source: DataCubeSource,
245
+ ): Promise<RelationType>;
246
+
247
+ abstract executeQuery(
248
+ query: V1_Lambda,
249
+ source: DataCubeSource,
250
+ api: DataCubeAPI,
251
+ ): Promise<DataCubeExecutionResult>;
252
+
253
+ abstract buildExecutionContext(
254
+ source: DataCubeSource,
255
+ ): V1_AppliedFunction | undefined;
256
+
257
+ /**
258
+ * By default, for a function chain, Pure grammar composer will extract the first parameter of the first function
259
+ * and render it as the caller of that function rather than a parameter
260
+ * e.g. fx(fy(p1, p2), p3) will be rendered as p1->fy(p2)->fx(p3) instead of fy(p1, p2)-> fx(p3)
261
+ *
262
+ * We do a hack to get around this by setting a dummy value as the first parameter of the first function in the chain.
263
+ * Then remove this dummy value from the final code.
264
+ */
265
+ async getPartialQueryCode(
266
+ snapshot: DataCubeQuerySnapshot,
267
+ pretty?: boolean | undefined,
268
+ ) {
269
+ const source = new INTERNAL__DataCubeSource();
270
+ source.query = _primitiveValue(PRIMITIVE_TYPE.STRING, '');
271
+ return (
272
+ await this.getValueSpecificationCode(
273
+ buildExecutableQuery(
274
+ snapshot,
275
+ source,
276
+ () => undefined,
277
+ this.filterOperations,
278
+ this.aggregateOperations,
279
+ ),
280
+ pretty,
281
+ )
282
+ ).substring(`''->`.length);
283
+ }
284
+
285
+ // ---------------------------------- DOCUMENTATION ----------------------------------
286
+
287
+ getDocumentationURL(): string | undefined {
288
+ return undefined;
289
+ }
290
+
291
+ getDocumentationEntry(key: string): DocumentationEntry | undefined {
292
+ return undefined;
293
+ }
294
+
295
+ shouldDisplayDocumentationEntry(entry: DocumentationEntry) {
296
+ return false;
297
+ }
298
+
299
+ // ---------------------------------- LOGGING ----------------------------------
300
+
301
+ logDebug(message: string, ...data: unknown[]) {
302
+ // do nothing
303
+ }
304
+
305
+ debugProcess(processName: string, ...data: [string, unknown][]) {
306
+ // do nothing
307
+ }
308
+
309
+ logInfo(event: LogEvent, ...data: unknown[]) {
310
+ // do nothing
311
+ }
312
+
313
+ logWarning(event: LogEvent, ...data: unknown[]) {
314
+ // do nothing
315
+ }
316
+
317
+ logError(event: LogEvent, ...data: unknown[]) {
318
+ // do nothing
319
+ }
320
+
321
+ logUnhandledError(error: Error) {
322
+ // do nothing
323
+ }
324
+
325
+ logIllegalStateError(message: string, error?: Error) {
326
+ // do nothing
327
+ }
328
+
329
+ // ---------------------------------- ALERT ----------------------------------
330
+
331
+ alert(options: {
332
+ message: string;
333
+ type: AlertType;
334
+ text?: string | undefined;
335
+ actions?: ActionAlertAction[] | undefined;
336
+ windowTitle?: string | undefined;
337
+ windowConfig?: WindowConfiguration | undefined;
338
+ }) {
339
+ const { message, type, text, actions, windowTitle, windowConfig } = options;
340
+ const window = new WindowState(
341
+ new LayoutConfiguration(windowTitle ?? '', () => (
342
+ <Alert
343
+ type={type}
344
+ message={message}
345
+ text={text}
346
+ actions={actions}
347
+ onClose={() => this.layout.closeWindow(window)}
348
+ />
349
+ )),
350
+ );
351
+ window.configuration.window =
352
+ windowConfig ?? DEFAULT_SMALL_ALERT_WINDOW_CONFIG;
353
+ this.layout.newWindow(window);
354
+ }
355
+
356
+ alertError(
357
+ error: Error,
358
+ options: {
359
+ message: string;
360
+ text?: string | undefined;
361
+ actions?: ActionAlertAction[] | undefined;
362
+ windowTitle?: string | undefined;
363
+ windowConfig?: WindowConfiguration | undefined;
364
+ },
365
+ ) {
366
+ const { message, text, actions, windowTitle, windowConfig } = options;
367
+ const window = new WindowState(
368
+ new LayoutConfiguration(windowTitle ?? 'Error', () => (
369
+ <Alert
370
+ type={AlertType.ERROR}
371
+ message={message}
372
+ text={text}
373
+ actions={actions}
374
+ />
375
+ )),
376
+ );
377
+ window.configuration.window =
378
+ windowConfig ?? DEFAULT_SMALL_ALERT_WINDOW_CONFIG;
379
+ this.layout.newWindow(window);
380
+ }
381
+
382
+ alertUnhandledError(error: Error) {
383
+ this.logUnhandledError(error);
384
+ this.alertError(error, {
385
+ message: error.message,
386
+ });
387
+ }
388
+
389
+ alertCodeCheckError(
390
+ error: DataCubeQueryBuilderError,
391
+ code: string,
392
+ codePrefix: string,
393
+ options: {
394
+ message: string;
395
+ text?: string | undefined;
396
+ actions?: ActionAlertAction[] | undefined;
397
+ windowTitle?: string | undefined;
398
+ windowConfig?: WindowConfiguration | undefined;
399
+ },
400
+ ) {
401
+ const { message, text, windowTitle, windowConfig } = options;
402
+ // correct the source information since we added prefix to the code
403
+ // and reveal error in the editor
404
+ if (error.sourceInformation) {
405
+ error.sourceInformation.startColumn -=
406
+ error.sourceInformation.startLine === 1 ? codePrefix.length : 0;
407
+ error.sourceInformation.endColumn -=
408
+ error.sourceInformation.endLine === 1 ? codePrefix.length : 0;
409
+ const editorModel = monacoEditorAPI.createModel(
410
+ code,
411
+ CODE_EDITOR_LANGUAGE.PURE,
412
+ Uri.file(`/${uuid()}.pure`),
413
+ );
414
+
415
+ const fullRange = editorModel.getFullModelRange();
416
+ if (
417
+ error.sourceInformation.startLine < 1 ||
418
+ (error.sourceInformation.startLine === 1 &&
419
+ error.sourceInformation.startColumn < 1) ||
420
+ error.sourceInformation.endLine > fullRange.endLineNumber ||
421
+ (error.sourceInformation.endLine === fullRange.endLineNumber &&
422
+ error.sourceInformation.endColumn > fullRange.endColumn)
423
+ ) {
424
+ error.sourceInformation.startColumn = fullRange.startColumn;
425
+ error.sourceInformation.startLine = fullRange.startLineNumber;
426
+ error.sourceInformation.endColumn = fullRange.endColumn;
427
+ error.sourceInformation.endLine = fullRange.endLineNumber;
428
+ }
429
+ const window = new WindowState(
430
+ new LayoutConfiguration(windowTitle ?? 'Error', () => (
431
+ <DataCubeCodeCheckErrorAlert
432
+ editorModel={editorModel}
433
+ error={error}
434
+ message={message}
435
+ text={text}
436
+ />
437
+ )),
438
+ );
439
+ window.configuration.window = windowConfig ?? {
440
+ width: 500,
441
+ height: 400,
442
+ minWidth: 300,
443
+ minHeight: 300,
444
+ center: true,
445
+ };
446
+ this.layout.newWindow(window);
447
+ }
448
+ }
449
+
450
+ // ---------------------------------- MISC ----------------------------------
451
+
452
+ openLink(url: string) {
453
+ // do nothing
454
+ }
455
+
456
+ sendTelemetry(event: string, data: PlainObject) {
457
+ // do nothing
458
+ }
459
+ }
@@ -21,20 +21,15 @@
21
21
  * the query snapshot. The executable query is then used to fetch data.
22
22
  ***************************************************************************************/
23
23
 
24
- import {
25
- PRIMITIVE_TYPE,
26
- type V1_AppliedFunction,
27
- type V1_ValueSpecification,
28
- V1_deserializeValueSpecification,
29
- } from '@finos/legend-graph';
24
+ import { PRIMITIVE_TYPE, type V1_AppliedFunction } from '@finos/legend-graph';
30
25
  import { type DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
31
- import { guaranteeNonNullable, isNonNullable } from '@finos/legend-shared';
26
+ import { guaranteeNonNullable } from '@finos/legend-shared';
32
27
  import {
33
28
  DataCubeFunction,
34
29
  DataCubeQuerySortDirection,
35
30
  type DataCubeQueryFunctionMap,
36
31
  } from './DataCubeQueryEngine.js';
37
- import { DataCubeConfiguration } from './DataCubeConfiguration.js';
32
+ import { DataCubeConfiguration } from './models/DataCubeConfiguration.js';
38
33
  import type { DataCubeQueryFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
39
34
  import {
40
35
  _col,
@@ -42,7 +37,6 @@ import {
42
37
  _cols,
43
38
  _colSpec,
44
39
  _deserializeLambda,
45
- _elementPtr,
46
40
  _filter,
47
41
  _function,
48
42
  _groupByAggCols,
@@ -54,13 +48,17 @@ import {
54
48
  _functionCompositionProcessor,
55
49
  } from './DataCubeQueryBuilderUtils.js';
56
50
  import type { DataCubeQueryAggregateOperation } from './aggregation/DataCubeQueryAggregateOperation.js';
51
+ import type { DataCubeSource } from './models/DataCubeSource.js';
57
52
 
58
53
  export function buildExecutableQuery(
59
54
  snapshot: DataCubeQuerySnapshot,
55
+ source: DataCubeSource,
56
+ executionContextBuilder: (
57
+ source: DataCubeSource,
58
+ ) => V1_AppliedFunction | undefined,
60
59
  filterOperations: DataCubeQueryFilterOperation[],
61
60
  aggregateOperations: DataCubeQueryAggregateOperation[],
62
61
  options?: {
63
- sourceQuery?: V1_ValueSpecification | null | undefined;
64
62
  postProcessor?: (
65
63
  snapshot: DataCubeQuerySnapshot,
66
64
  sequence: V1_AppliedFunction[],
@@ -78,7 +76,6 @@ export function buildExecutableQuery(
78
76
  },
79
77
  ) {
80
78
  const data = snapshot.data;
81
- const sourceQuery = V1_deserializeValueSpecification(data.sourceQuery, []);
82
79
  const configuration = DataCubeConfiguration.serialization.fromJson(
83
80
  data.configuration,
84
81
  );
@@ -254,20 +251,13 @@ export function buildExecutableQuery(
254
251
  );
255
252
  }
256
253
 
257
- // --------------------------------- FROM ---------------------------------
258
-
259
- sequence.push(
260
- _function(
261
- DataCubeFunction.FROM,
262
- [
263
- data.mapping ? _elementPtr(data.mapping) : undefined,
264
- _elementPtr(data.runtime),
265
- ].filter(isNonNullable),
266
- ),
267
- );
268
-
269
254
  // --------------------------------- FINALIZE ---------------------------------
270
255
 
256
+ const executionContext = executionContextBuilder(source);
257
+ if (executionContext) {
258
+ sequence.push(executionContext);
259
+ }
260
+
271
261
  options?.postProcessor?.(
272
262
  snapshot,
273
263
  sequence,
@@ -277,16 +267,12 @@ export function buildExecutableQuery(
277
267
  aggregateOperations,
278
268
  );
279
269
 
280
- if (!sequence.length) {
281
- return sourceQuery;
270
+ if (sequence.length === 0) {
271
+ return source.query;
282
272
  }
283
-
284
- const omitSourceQuery = options?.sourceQuery === null;
285
- for (let i = omitSourceQuery ? 1 : 0; i < sequence.length; i++) {
273
+ for (let i = 0; i < sequence.length; i++) {
286
274
  guaranteeNonNullable(sequence[i]).parameters.unshift(
287
- i === 0
288
- ? (options?.sourceQuery ?? sourceQuery)
289
- : guaranteeNonNullable(sequence[i - 1]),
275
+ i === 0 ? source.query : guaranteeNonNullable(sequence[i - 1]),
290
276
  );
291
277
  }
292
278
  return guaranteeNonNullable(sequence[sequence.length - 1]);
@@ -53,9 +53,9 @@ import {
53
53
  import {
54
54
  type DataCubeQuerySnapshotFilterCondition,
55
55
  type DataCubeQuerySnapshotFilter,
56
- type DataCubeQuerySnapshotColumn,
57
56
  type DataCubeQuerySnapshot,
58
57
  } from './DataCubeQuerySnapshot.js';
58
+ import { type DataCubeColumn } from './models/DataCubeColumn.js';
59
59
  import {
60
60
  guaranteeNonNullable,
61
61
  guaranteeIsString,
@@ -81,7 +81,7 @@ import type { DataCubeQueryAggregateOperation } from './aggregation/DataCubeQuer
81
81
  import {
82
82
  DataCubeColumnConfiguration,
83
83
  type DataCubeConfiguration,
84
- } from './DataCubeConfiguration.js';
84
+ } from './models/DataCubeConfiguration.js';
85
85
 
86
86
  // --------------------------------- UTILITIES ---------------------------------
87
87
 
@@ -336,10 +336,7 @@ function fixEmptyAggCols(aggCols: V1_ColSpec[]) {
336
336
  ];
337
337
  }
338
338
 
339
- export function _aggCol_basic(
340
- column: DataCubeQuerySnapshotColumn,
341
- func: string,
342
- ) {
339
+ export function _aggCol_basic(column: DataCubeColumn, func: string) {
343
340
  const variable = _var();
344
341
  return _colSpec(
345
342
  column.name,
@@ -349,7 +346,7 @@ export function _aggCol_basic(
349
346
  }
350
347
 
351
348
  export function _pivotAggCols(
352
- pivotColumns: DataCubeQuerySnapshotColumn[],
349
+ pivotColumns: DataCubeColumn[],
353
350
  snapshot: DataCubeQuerySnapshot,
354
351
  configuration: DataCubeConfiguration,
355
352
  aggregateOperations: DataCubeQueryAggregateOperation[],
@@ -382,7 +379,7 @@ export function _pivotAggCols(
382
379
  );
383
380
  }
384
381
 
385
- export function _castCols(columns: DataCubeQuerySnapshotColumn[]) {
382
+ export function _castCols(columns: DataCubeColumn[]) {
386
383
  const genericType = new V1_GenericTypeInstance();
387
384
  genericType.fullPath = CORE_PURE_PATH.RELATION;
388
385
  genericType.typeArguments = [
@@ -394,7 +391,7 @@ export function _castCols(columns: DataCubeQuerySnapshotColumn[]) {
394
391
  }
395
392
 
396
393
  export function _groupByAggCols(
397
- groupByColumns: DataCubeQuerySnapshotColumn[],
394
+ groupByColumns: DataCubeColumn[],
398
395
  snapshot: DataCubeQuerySnapshot,
399
396
  configuration: DataCubeConfiguration,
400
397
  aggregateOperations: DataCubeQueryAggregateOperation[],