@finos/legend-data-cube 0.0.43 → 0.0.45

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 (348) hide show
  1. package/docs/column-configuration.kind.md +2 -0
  2. package/lib/__lib__/DataCubeSetting.d.ts +1 -0
  3. package/lib/__lib__/DataCubeSetting.d.ts.map +1 -1
  4. package/lib/__lib__/DataCubeSetting.js +1 -0
  5. package/lib/__lib__/DataCubeSetting.js.map +1 -1
  6. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  7. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +12 -6
  8. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  9. package/lib/components/view/editor/DataCubeEditorColumnSelector.d.ts +7 -1
  10. package/lib/components/view/editor/DataCubeEditorColumnSelector.d.ts.map +1 -1
  11. package/lib/components/view/editor/DataCubeEditorColumnSelector.js +23 -1
  12. package/lib/components/view/editor/DataCubeEditorColumnSelector.js.map +1 -1
  13. package/lib/components/view/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  14. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js +2 -1
  15. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  16. package/lib/components/view/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -1
  17. package/lib/components/view/editor/DataCubeEditorHorizontalPivotsPanel.js +2 -4
  18. package/lib/components/view/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -1
  19. package/lib/components/view/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
  20. package/lib/components/view/editor/DataCubeEditorSortsPanel.js +4 -25
  21. package/lib/components/view/editor/DataCubeEditorSortsPanel.js.map +1 -1
  22. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
  23. package/lib/components/view/filter/DataCubeFilterEditor.js +2 -1
  24. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
  25. package/lib/index.css +2 -2
  26. package/lib/index.css.map +1 -1
  27. package/lib/package.json +5 -5
  28. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +4 -3
  29. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  30. package/lib/stores/core/DataCubeConfigurationBuilder.js +59 -3
  31. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  32. package/lib/stores/core/DataCubeEngine.d.ts +2 -0
  33. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  34. package/lib/stores/core/DataCubeEngine.js +1 -2
  35. package/lib/stores/core/DataCubeEngine.js.map +1 -1
  36. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  37. package/lib/stores/core/DataCubeQueryBuilder.js +12 -22
  38. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  39. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +6 -5
  40. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  41. package/lib/stores/core/DataCubeQueryBuilderUtils.js +59 -30
  42. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  43. package/lib/stores/core/DataCubeQueryEngine.d.ts +14 -7
  44. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  45. package/lib/stores/core/DataCubeQueryEngine.js +76 -45
  46. package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
  47. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +11 -0
  48. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  49. package/lib/stores/core/DataCubeQuerySnapshot.js.map +1 -1
  50. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +2 -3
  51. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  52. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +226 -128
  53. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  54. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +36 -7
  55. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  56. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +359 -126
  57. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  58. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +10 -2
  59. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
  60. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.js +15 -6
  61. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.js.map +1 -1
  62. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +6 -2
  63. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -1
  64. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js +13 -3
  65. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -1
  66. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +6 -2
  67. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -1
  68. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js +13 -3
  69. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -1
  70. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +6 -2
  71. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -1
  72. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js +13 -3
  73. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -1
  74. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +6 -2
  75. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -1
  76. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js +23 -10
  77. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -1
  78. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +6 -2
  79. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -1
  80. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js +13 -3
  81. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -1
  82. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +6 -2
  83. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -1
  84. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js +13 -3
  85. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -1
  86. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +6 -2
  87. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -1
  88. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js +13 -3
  89. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -1
  90. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +6 -2
  91. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -1
  92. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js +13 -3
  93. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -1
  94. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +6 -2
  95. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -1
  96. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js +13 -3
  97. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -1
  98. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +6 -2
  99. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -1
  100. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js +14 -3
  101. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -1
  102. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +6 -2
  103. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -1
  104. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js +13 -3
  105. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -1
  106. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +6 -2
  107. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -1
  108. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js +13 -3
  109. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -1
  110. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +6 -2
  111. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -1
  112. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js +13 -3
  113. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -1
  114. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +0 -2
  115. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  116. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js +1 -30
  117. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js.map +1 -1
  118. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  119. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +8 -7
  120. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  121. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  122. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +10 -10
  123. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  124. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  125. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +8 -7
  126. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  127. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  128. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +10 -10
  129. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  130. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  131. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +5 -6
  132. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  133. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  134. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +10 -10
  135. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  136. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  137. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +6 -7
  138. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  139. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  140. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +6 -7
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +5 -6
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +6 -7
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +5 -6
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +6 -7
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +2 -6
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +2 -2
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +5 -6
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +6 -7
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +5 -6
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +6 -7
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +8 -11
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +8 -11
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +6 -10
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +10 -14
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +6 -11
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +6 -11
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +8 -11
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +8 -7
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +10 -10
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  199. package/lib/stores/core/model/DataCubeColumn.d.ts +1 -1
  200. package/lib/stores/core/model/DataCubeColumn.d.ts.map +1 -1
  201. package/lib/stores/core/model/DataCubeColumn.js.map +1 -1
  202. package/lib/stores/core/model/DataCubeConfiguration.d.ts +4 -3
  203. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -1
  204. package/lib/stores/core/model/DataCubeConfiguration.js +4 -0
  205. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -1
  206. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +1 -1
  207. package/lib/stores/services/DataCubeQuerySnapshotService.js +2 -2
  208. package/lib/stores/services/DataCubeQuerySnapshotService.js.map +1 -1
  209. package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -1
  210. package/lib/stores/services/DataCubeSettingService.js +8 -0
  211. package/lib/stores/services/DataCubeSettingService.js.map +1 -1
  212. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  213. package/lib/stores/view/DataCubeViewState.js +1 -1
  214. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  215. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  216. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +3 -2
  217. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  218. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts +7 -0
  219. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts.map +1 -1
  220. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js +20 -3
  221. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js.map +1 -1
  222. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  223. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +2 -2
  224. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  225. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +4 -4
  226. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  227. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +14 -8
  228. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  229. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -5
  230. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  231. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +2 -6
  232. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  233. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +1 -7
  234. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  235. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +4 -19
  236. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  237. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  238. package/lib/stores/view/editor/DataCubeEditorState.js +2 -2
  239. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  240. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  241. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +4 -4
  242. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  243. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  244. package/lib/stores/view/extend/DataCubeColumnEditorState.js +2 -1
  245. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  246. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  247. package/lib/stores/view/extend/DataCubeExtendManagerState.js +12 -12
  248. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  249. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  250. package/lib/stores/view/filter/DataCubeFilterEditorState.js +2 -1
  251. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  252. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  253. package/lib/stores/view/grid/DataCubeGridClientEngine.js +11 -14
  254. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  255. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  256. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +48 -12
  257. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  258. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +1 -1
  259. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  260. package/lib/stores/view/grid/DataCubeGridControllerState.js +20 -20
  261. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  262. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  263. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +8 -12
  264. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  265. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +1 -1
  266. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  267. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +1 -1
  268. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  269. package/package.json +8 -8
  270. package/src/__lib__/DataCubeSetting.ts +1 -0
  271. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +40 -17
  272. package/src/components/view/editor/DataCubeEditorColumnSelector.tsx +75 -1
  273. package/src/components/view/editor/DataCubeEditorColumnsPanel.tsx +3 -6
  274. package/src/components/view/editor/DataCubeEditorHorizontalPivotsPanel.tsx +5 -12
  275. package/src/components/view/editor/DataCubeEditorSortsPanel.tsx +12 -80
  276. package/src/components/view/filter/DataCubeFilterEditor.tsx +2 -3
  277. package/src/stores/core/DataCubeConfigurationBuilder.ts +80 -5
  278. package/src/stores/core/DataCubeEngine.tsx +10 -2
  279. package/src/stores/core/DataCubeQueryBuilder.ts +36 -37
  280. package/src/stores/core/DataCubeQueryBuilderUtils.ts +74 -41
  281. package/src/stores/core/DataCubeQueryEngine.ts +120 -60
  282. package/src/stores/core/DataCubeQuerySnapshot.ts +13 -0
  283. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +379 -157
  284. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +597 -157
  285. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +39 -16
  286. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +26 -4
  287. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +26 -4
  288. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +26 -4
  289. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +41 -26
  290. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +26 -4
  291. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +26 -4
  292. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +26 -4
  293. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +29 -6
  294. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +30 -4
  295. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +26 -4
  296. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +26 -4
  297. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +26 -4
  298. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +26 -4
  299. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +1 -52
  300. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +12 -9
  301. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +10 -13
  302. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +9 -10
  303. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +10 -13
  304. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +5 -8
  305. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +10 -13
  306. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +6 -8
  307. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +5 -7
  308. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +6 -9
  309. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +6 -8
  310. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +6 -9
  311. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +6 -8
  312. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +6 -8
  313. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +6 -2
  314. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +6 -9
  315. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +6 -8
  316. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +6 -9
  317. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +6 -8
  318. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +12 -15
  319. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +12 -15
  320. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +10 -14
  321. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +11 -20
  322. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +7 -19
  323. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +9 -17
  324. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +10 -17
  325. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +9 -10
  326. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +10 -13
  327. package/src/stores/core/model/DataCubeColumn.ts +1 -1
  328. package/src/stores/core/model/DataCubeConfiguration.ts +7 -1
  329. package/src/stores/services/DataCubeQuerySnapshotService.ts +2 -1
  330. package/src/stores/services/DataCubeSettingService.tsx +8 -0
  331. package/src/stores/view/DataCubeViewState.ts +2 -3
  332. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +3 -2
  333. package/src/stores/view/editor/DataCubeEditorColumnSelectorState.ts +31 -6
  334. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +2 -7
  335. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +33 -10
  336. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +4 -20
  337. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +6 -29
  338. package/src/stores/view/editor/DataCubeEditorState.tsx +2 -3
  339. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +6 -7
  340. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +2 -3
  341. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +14 -13
  342. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +2 -4
  343. package/src/stores/view/grid/DataCubeGridClientEngine.ts +21 -20
  344. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +64 -15
  345. package/src/stores/view/grid/DataCubeGridControllerState.ts +35 -34
  346. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +17 -23
  347. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +1 -1
  348. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +1 -1
@@ -13,29 +13,45 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { PRIMITIVE_TYPE, V1_AppliedFunction, V1_AppliedProperty, V1_CBoolean, V1_CDateTime, V1_CDecimal, V1_CFloat, V1_CInteger, V1_CStrictDate, V1_CStrictTime, V1_CString, V1_ClassInstance, V1_ColSpec, V1_ColSpecArray, V1_GenericTypeInstance, V1_PrimitiveValueSpecification, extractElementNameFromPath as _name, matchFunctionName, V1_RelationType, V1_PackageableType, } from '@finos/legend-graph';
17
- import {} from './model/DataCubeColumn.js';
18
- import { assertTrue, assertType, at, guaranteeNonNullable, guaranteeType, IllegalStateError, uniq, UnsupportedOperationError, } from '@finos/legend-shared';
19
- import { DataCubeFunction, DataCubeOperationAdvancedValueType, DataCubeQueryFilterGroupOperator, getDataType, TREE_COLUMN_VALUE_SEPARATOR, } from './DataCubeQueryEngine.js';
20
- import { _serializeValueSpecification } from './DataCubeQueryBuilderUtils.js';
16
+ import { PRIMITIVE_TYPE, V1_AppliedFunction, V1_AppliedProperty, V1_CBoolean, V1_CDateTime, V1_CDecimal, V1_CFloat, V1_CInteger, V1_CStrictDate, V1_CStrictTime, V1_CString, V1_ClassInstance, V1_ColSpec, V1_ColSpecArray, V1_GenericTypeInstance, V1_Variable, V1_PrimitiveValueSpecification, extractElementNameFromPath as _name, matchFunctionName, V1_RelationType, V1_PackageableType, V1_Collection, } from '@finos/legend-graph';
17
+ import { _findCol } from './model/DataCubeColumn.js';
18
+ import { assertErrorThrown, assertTrue, assertType, at, deepEqual, guaranteeNonNullable, guaranteeType, uniq, UnsupportedOperationError, } from '@finos/legend-shared';
19
+ import { DataCubeFunction, DataCubeOperationAdvancedValueType, DataCubeQueryFilterGroupOperator, DataCubeQuerySortDirection, DEFAULT_LAMBDA_VARIABLE_NAME, getDataType, getPivotResultColumnBaseColumnName, isPivotResultColumnName, TREE_COLUMN_VALUE_SEPARATOR, } from './DataCubeQueryEngine.js';
20
+ import { _cols, _colSpec, _function, _lambda, _serializeValueSpecification, _synthesizeMinimalSourceQuery, } from './DataCubeQueryBuilderUtils.js';
21
+ import { INTERNAL__DataCubeSource } from './model/DataCubeSource.js';
21
22
  // --------------------------------- UTILITIES ---------------------------------
23
+ export function _var(variable) {
24
+ assertTrue(variable.name === DEFAULT_LAMBDA_VARIABLE_NAME, `Can't process variable '${variable.name}': expected variable name to be '${DEFAULT_LAMBDA_VARIABLE_NAME}'`);
25
+ }
26
+ export function _propertyCol(property, columnGetter) {
27
+ assertTrue(property.parameters.length === 1, `Can't process property '${property.property}': expected exactly 1 parameter`);
28
+ const variable = guaranteeType(at(property.parameters, 0), V1_Variable, `Can't process property '${property.property}': failed to extract variable`);
29
+ _var(variable);
30
+ return columnGetter(property.property);
31
+ }
22
32
  export function _param(func, paramIdx, clazz, message) {
23
- assertTrue(func.parameters.length >= paramIdx + 1, `Can't process ${_name(func.function)}() expression: Expected at least ${paramIdx + 1} parameter(s)`);
33
+ assertTrue(func.parameters.length >= paramIdx + 1, `Can't process ${_name(func.function)}() expression: expected at least ${paramIdx + 1} parameter(s)`);
24
34
  return guaranteeType(func.parameters[paramIdx], clazz, message ??
25
- `Can't process ${_name(func.function)}() expression: Found unexpected type for parameter at index ${paramIdx}`);
35
+ `Can't process ${_name(func.function)}() expression: found unexpected type for parameter at index ${paramIdx}`);
26
36
  }
27
37
  export function _colSpecParam(func, paramIdx) {
28
- return guaranteeType(_param(func, paramIdx, V1_ClassInstance).value, V1_ColSpec, `Can't process ${_name(func.function)}() expression: Expected parameter at index ${paramIdx} to be a column specification`);
38
+ return guaranteeType(_param(func, paramIdx, V1_ClassInstance).value, V1_ColSpec, `Can't process ${_name(func.function)}() expression: expected parameter at index ${paramIdx} to be a column specification`);
29
39
  }
30
40
  export function _colSpecArrayParam(func, paramIdx) {
31
- return guaranteeType(_param(func, paramIdx, V1_ClassInstance).value, V1_ColSpecArray, `Can't process ${_name(func.function)}() expression: Expected parameter at index ${paramIdx} to be a column specification list`);
41
+ return guaranteeType(_param(func, paramIdx, V1_ClassInstance).value, V1_ColSpecArray, `Can't process ${_name(func.function)}() expression: expected parameter at index ${paramIdx} to be a column specification list`);
32
42
  }
33
43
  export function _genericTypeParam(func, paramIdx) {
34
- return _param(func, paramIdx, V1_GenericTypeInstance, `Can't process ${_name(func.function)}: Expected parameter at index ${paramIdx} to be a generic type instance`);
44
+ return _param(func, paramIdx, V1_GenericTypeInstance, `Can't process ${_name(func.function)}: expected parameter at index ${paramIdx} to be a generic type instance`);
45
+ }
46
+ export function _unwrapLambda(lambda, message) {
47
+ assertTrue(lambda.body.length === 1, `${message ?? `Can't process lambda`}: expected lambda body to have exactly 1 expression`);
48
+ assertTrue(lambda.parameters.length === 1, `${message ?? `Can't process lambda`}: expected lambda to have exactly 1 parameter`);
49
+ _var(at(lambda.parameters, 0));
50
+ return at(lambda.body, 0);
35
51
  }
36
52
  export function _funcMatch(value, functionNames) {
37
- assertType(value, V1_AppliedFunction, `Can't process function: Found unexpected value specification type`);
38
- assertTrue(matchFunctionName(value.function, Array.isArray(functionNames) ? functionNames : [functionNames]), `Can't process function: Expected function to be one of [${uniq((Array.isArray(functionNames) ? functionNames : [functionNames]).map(_name)).join(', ')}]`);
53
+ assertType(value, V1_AppliedFunction, `Can't process function: found unexpected value specification type`);
54
+ assertTrue(matchFunctionName(value.function, Array.isArray(functionNames) ? functionNames : [functionNames]), `Can't process function: expected function to be one of [${uniq((Array.isArray(functionNames) ? functionNames : [functionNames]).map(_name)).join(', ')}]`);
39
55
  return value;
40
56
  }
41
57
  export function _relationType(genericType) {
@@ -69,7 +85,38 @@ export function _operationPrimitiveValue(value) {
69
85
  else if (value instanceof V1_CStrictTime) {
70
86
  return { value: value.value, type: PRIMITIVE_TYPE.STRICTTIME };
71
87
  }
72
- throw new UnsupportedOperationError(`Can't process primitive value`);
88
+ throw new UnsupportedOperationError(`Can't process unsupported operation primitive value`);
89
+ }
90
+ export function _operationValue(value, columnGetter, columnChecker) {
91
+ if (value instanceof V1_PrimitiveValueSpecification) {
92
+ return _operationPrimitiveValue(value);
93
+ }
94
+ else if (value instanceof V1_AppliedProperty) {
95
+ const column = _propertyCol(value, columnGetter);
96
+ columnChecker?.(column);
97
+ return {
98
+ value: column.name,
99
+ type: DataCubeOperationAdvancedValueType.COLUMN,
100
+ };
101
+ }
102
+ else if (value === undefined) {
103
+ return {
104
+ type: DataCubeOperationAdvancedValueType.VOID,
105
+ };
106
+ }
107
+ throw new UnsupportedOperationError(`Can't process unsupported operation value`);
108
+ }
109
+ export function _checkDuplicateColumns(columns, message) {
110
+ const cols = new Set();
111
+ columns.forEach((col) => {
112
+ if (cols.has(col.name)) {
113
+ throw new Error(message?.(col.name) ??
114
+ `Can't process expression: found duplicate columns '${col.name}'`);
115
+ }
116
+ else {
117
+ cols.add(col.name);
118
+ }
119
+ });
73
120
  }
74
121
  // --------------------------------- BUILDING BLOCKS ---------------------------------
75
122
  /**
@@ -84,10 +131,8 @@ export function _pruneExpandedPaths(prevGroupByCols, currentGroupByCols, expande
84
131
  }
85
132
  let lastCommonIndex = -1;
86
133
  for (let i = 0; i < length; i++) {
87
- if (guaranteeNonNullable(prevGroupByCols[i]).name !==
88
- guaranteeNonNullable(currentGroupByCols[i]).name ||
89
- guaranteeNonNullable(prevGroupByCols[i]).type !==
90
- guaranteeNonNullable(currentGroupByCols[i]).type) {
134
+ if (at(prevGroupByCols, i).name !== at(currentGroupByCols, i).name ||
135
+ at(prevGroupByCols, i).type !== at(currentGroupByCols, i).type) {
91
136
  break;
92
137
  }
93
138
  lastCommonIndex = i;
@@ -96,49 +141,44 @@ export function _pruneExpandedPaths(prevGroupByCols, currentGroupByCols, expande
96
141
  .filter((path) => path.split(TREE_COLUMN_VALUE_SEPARATOR).length <= lastCommonIndex + 1)
97
142
  .sort();
98
143
  }
99
- export function _extractExtendedColumns(func) {
100
- const extendFuncs = [];
101
- let currentFunc = func;
102
- while (currentFunc instanceof V1_AppliedFunction) {
103
- // since we are processing a chain of extend(), we can finish processing when
104
- // encountering a different function.
105
- if (!matchFunctionName(currentFunc.function, DataCubeFunction.EXTEND)) {
106
- break;
107
- }
108
- if (currentFunc.parameters.length === 2) {
109
- const valueSpecification = currentFunc.parameters[0];
110
- if (!(valueSpecification instanceof V1_AppliedFunction)) {
111
- throw new IllegalStateError(`Can't process extend() expression: Expected a chain of function calls (e.g. x()->y()->z())`);
112
- }
113
- else {
114
- currentFunc.parameters = currentFunc.parameters.slice(1);
115
- extendFuncs.unshift(currentFunc);
116
- currentFunc = valueSpecification;
117
- }
118
- }
119
- else {
120
- assertTrue(currentFunc.parameters.length === 1, `Can't process extend() expression: Expected 1 parameter, got ${currentFunc.parameters.length}`);
121
- extendFuncs.unshift(currentFunc);
122
- break;
123
- }
124
- }
125
- return extendFuncs.map((extendFunc) => {
126
- const colSpecs = _colSpecArrayParam(extendFunc, 0).colSpecs;
127
- assertTrue(colSpecs.length === 1, `Can't process extend() expression: Expected 1 column specification, got ${colSpecs.length}`);
128
- const colSpec = at(colSpecs, 0);
129
- return {
130
- name: colSpec.name,
131
- type: '', // NOTE: we don't have type information for extended columns at this point
132
- mapFn: _serializeValueSpecification(guaranteeNonNullable(colSpec.function1, `Can't process extend() expression: Expected a transformation function expression`)),
133
- reduceFn: colSpec.function2
134
- ? _serializeValueSpecification(colSpec.function2)
135
- : undefined,
136
- };
144
+ export async function _extractExtendedColumns(funcs, currentColumns, engine) {
145
+ const colSpecs = funcs.map((extendFunc) => {
146
+ // TODO: support extend() with window (OLAP), this assertion will no longer work
147
+ const _colSpecs = _colSpecArrayParam(extendFunc, 0).colSpecs;
148
+ assertTrue(_colSpecs.length === 1, `Can't process extend() expression: expected 1 column specification, got ${_colSpecs.length}`);
149
+ return at(_colSpecs, 0);
137
150
  });
151
+ // get the types
152
+ const sourceQuery = _synthesizeMinimalSourceQuery(currentColumns);
153
+ const sequence = colSpecs.map((colSpec) => _function(DataCubeFunction.EXTEND, [
154
+ _cols([
155
+ _colSpec(colSpec.name, guaranteeNonNullable(colSpec.function1, `Can't process extend() expression: expected a transformation function expression for column '${colSpec.name}'`), colSpec.function2),
156
+ ]),
157
+ ]));
158
+ for (let i = 0; i < sequence.length; i++) {
159
+ at(sequence, i).parameters.unshift(i === 0 ? sourceQuery : at(sequence, i - 1));
160
+ }
161
+ const query = at(sequence, sequence.length - 1);
162
+ let columns = [];
163
+ try {
164
+ columns = (await engine.getQueryRelationReturnType(_lambda([], [query]), new INTERNAL__DataCubeSource())).columns;
165
+ }
166
+ catch (error) {
167
+ assertErrorThrown(error);
168
+ throw new Error(`Can't process extend() expression: failed to retrieve type information for columns. Error: ${error.message}`);
169
+ }
170
+ return colSpecs.map((colSpec) => ({
171
+ name: colSpec.name,
172
+ type: guaranteeNonNullable(_findCol(columns, colSpec.name), `Can't process extend() expression: failed to retrieve type information for column '${colSpec.name}'`).type,
173
+ mapFn: _serializeValueSpecification(guaranteeNonNullable(colSpec.function1, `Can't process extend() expression: expected a transformation function expression for column '${colSpec.name}'`)),
174
+ reduceFn: colSpec.function2
175
+ ? _serializeValueSpecification(colSpec.function2)
176
+ : undefined,
177
+ }));
138
178
  }
139
179
  export function _filter(value, columnGetter, filterOperations) {
140
180
  if (!(value instanceof V1_AppliedFunction)) {
141
- throw new Error(`Can't process filter() expression: Expected a function expression`);
181
+ throw new Error(`Can't process filter() expression: expected a function expression`);
142
182
  }
143
183
  const group = {
144
184
  // default to AND group for case where there is only one condition
@@ -164,12 +204,12 @@ export function _filter(value, columnGetter, filterOperations) {
164
204
  }
165
205
  export function _unwrapNotFilterCondition(func) {
166
206
  assertTrue(matchFunctionName(func.function, DataCubeFunction.NOT), `Can't process filter condition expression: failed to unwrap not() function`);
167
- assertTrue(func.parameters.length === 1, `Can't process not() function: Expected 1 parameter`);
207
+ assertTrue(func.parameters.length === 1, `Can't process not() function: expected 1 parameter`);
168
208
  return _param(func, 0, V1_AppliedFunction);
169
209
  }
170
210
  function _filterCondition(value, columnGetter, filterOperations) {
171
211
  if (!(value instanceof V1_AppliedFunction)) {
172
- throw new UnsupportedOperationError(`Can't process filter condition expression: Expected a function expression`);
212
+ throw new UnsupportedOperationError(`Can't process filter condition expression: expected a function expression`);
173
213
  }
174
214
  // handle group condition
175
215
  if (matchFunctionName(value.function, [
@@ -212,27 +252,6 @@ function _filterCondition(value, columnGetter, filterOperations) {
212
252
  // if no match found, throw error, we encountered a filter condition form that we don't support
213
253
  throw new Error(`Can't process filter condition: no matching operator found`);
214
254
  }
215
- function _filterConditionValue(value, column, columnGetter) {
216
- if (value instanceof V1_PrimitiveValueSpecification) {
217
- return _operationPrimitiveValue(value);
218
- }
219
- else if (value instanceof V1_AppliedProperty) {
220
- const column2 = columnGetter(value.property);
221
- if (getDataType(column.type) !== getDataType(column2.type)) {
222
- return undefined;
223
- }
224
- return {
225
- value: column2.name,
226
- type: DataCubeOperationAdvancedValueType.COLUMN,
227
- };
228
- }
229
- else if (value === undefined) {
230
- return {
231
- type: DataCubeOperationAdvancedValueType.VOID,
232
- };
233
- }
234
- return undefined;
235
- }
236
255
  /**
237
256
  * Processes filter conditions of form: column | operator | value, e.g.
238
257
  * $x.Age > 5
@@ -241,26 +260,36 @@ function _filterConditionValue(value, column, columnGetter) {
241
260
  * $x.Age > $x.Age2
242
261
  * $x.Name == $x.Name2
243
262
  */
244
- export function _baseFilterCondition(expression, columnGetter, func) {
245
- if (matchFunctionName(expression.function, func)) {
246
- if (expression.parameters.length !== 2 &&
247
- expression.parameters.length !== 1) {
248
- return undefined;
249
- }
250
- const column = expression.parameters[0] instanceof V1_AppliedProperty
251
- ? columnGetter(expression.parameters[0].property)
252
- : undefined;
253
- if (!column) {
254
- return undefined;
255
- }
256
- const value = _filterConditionValue(expression.parameters[1], column, columnGetter);
257
- if (!value) {
258
- return undefined;
263
+ export function _filterCondition_base(expression, func, columnGetter) {
264
+ if (!expression) {
265
+ return undefined;
266
+ }
267
+ try {
268
+ if (matchFunctionName(expression.function, func)) {
269
+ if (expression.parameters.length !== 2 &&
270
+ expression.parameters.length !== 1) {
271
+ return undefined;
272
+ }
273
+ let column;
274
+ if (expression.parameters[0] instanceof V1_AppliedProperty) {
275
+ column = _propertyCol(expression.parameters[0], columnGetter);
276
+ }
277
+ if (!column) {
278
+ return undefined;
279
+ }
280
+ const value = _operationValue(expression.parameters[1], columnGetter, (_column) => {
281
+ if (getDataType(column.type) !== getDataType(_column.type)) {
282
+ throw new Error(`Can't process filter condition: found incompatible columns`);
283
+ }
284
+ });
285
+ return {
286
+ column,
287
+ value,
288
+ };
259
289
  }
260
- return {
261
- column,
262
- value,
263
- };
290
+ }
291
+ catch {
292
+ return undefined;
264
293
  }
265
294
  return undefined;
266
295
  }
@@ -269,42 +298,246 @@ export function _baseFilterCondition(expression, columnGetter, func) {
269
298
  * $x.Name->toLower() == 'abc'->toLower()
270
299
  * $x.Name->toLower() == $x.Name2->toLower()
271
300
  */
272
- export function _caseSensitiveBaseFilterCondition(expression, columnGetter, func) {
273
- if (matchFunctionName(expression.function, func)) {
274
- if (expression.parameters.length !== 2) {
275
- return undefined;
301
+ export function _filterCondition_caseSensitive(expression, func, columnGetter) {
302
+ if (!expression) {
303
+ return undefined;
304
+ }
305
+ try {
306
+ if (matchFunctionName(expression.function, func)) {
307
+ if (expression.parameters.length !== 2) {
308
+ return undefined;
309
+ }
310
+ const param1 = expression.parameters[0];
311
+ if (!(param1 instanceof V1_AppliedFunction) ||
312
+ !matchFunctionName(param1.function, DataCubeFunction.TO_LOWERCASE)) {
313
+ return undefined;
314
+ }
315
+ if (param1.parameters.length !== 1) {
316
+ return undefined;
317
+ }
318
+ let column;
319
+ if (param1.parameters[0] instanceof V1_AppliedProperty) {
320
+ column = _propertyCol(param1.parameters[0], columnGetter);
321
+ }
322
+ if (!column) {
323
+ return undefined;
324
+ }
325
+ const param2 = expression.parameters[1];
326
+ if (!(param2 instanceof V1_AppliedFunction) ||
327
+ !matchFunctionName(param2.function, DataCubeFunction.TO_LOWERCASE)) {
328
+ return undefined;
329
+ }
330
+ if (param2.parameters.length !== 1) {
331
+ return undefined;
332
+ }
333
+ const value = _operationValue(param2.parameters[0], columnGetter, (_column) => {
334
+ if (getDataType(column.type) !== getDataType(_column.type)) {
335
+ throw new Error(`Can't process filter condition: found incompatible columns`);
336
+ }
337
+ });
338
+ return {
339
+ column,
340
+ value,
341
+ };
342
+ }
343
+ }
344
+ catch {
345
+ return undefined;
346
+ }
347
+ return undefined;
348
+ }
349
+ export function _aggCol(colSpec, columnGetter, aggregateOperations) {
350
+ for (const operation of aggregateOperations) {
351
+ const col = operation.buildAggregateColumnSnapshot(colSpec, columnGetter);
352
+ if (col) {
353
+ return col;
354
+ }
355
+ }
356
+ throw new Error(`Can't process aggregate column '${colSpec.name}': no matching operator found`);
357
+ }
358
+ export function _agg_base(colSpec, func, columnGetter) {
359
+ try {
360
+ if (colSpec.function1 && colSpec.function2) {
361
+ const mapper = _unwrapLambda(colSpec.function1);
362
+ const reducer = _unwrapLambda(colSpec.function2);
363
+ if (mapper instanceof V1_AppliedProperty &&
364
+ reducer instanceof V1_AppliedFunction &&
365
+ reducer.parameters.length >= 1 &&
366
+ matchFunctionName(reducer.function, func)) {
367
+ const column = _propertyCol(mapper, columnGetter);
368
+ assertTrue(column.name === colSpec.name, `Can't process aggregate column: column name must match mapper column name`);
369
+ const variable = _param(reducer, 0, V1_Variable);
370
+ _var(variable);
371
+ return {
372
+ column,
373
+ paramterValues: reducer.parameters
374
+ .slice(1)
375
+ .map((value) => _operationValue(value, columnGetter)),
376
+ };
377
+ }
378
+ }
379
+ }
380
+ catch {
381
+ return undefined;
382
+ }
383
+ return undefined;
384
+ }
385
+ export function _pivotSort(func, pivotColumns, columnGetter) {
386
+ const sortColumns = _sort(func, columnGetter);
387
+ const groupColumns = new Set(pivotColumns.map((col) => col.name));
388
+ const columnsToSort = new Set(pivotColumns.map((col) => col.name));
389
+ sortColumns.forEach((col) => {
390
+ if (groupColumns.has(col.name)) {
391
+ columnsToSort.delete(col.name);
392
+ }
393
+ else {
394
+ throw new Error(`Can't process pivot() expression: sort column '${col.name}' must be a pivot column`);
395
+ }
396
+ });
397
+ if (columnsToSort.size !== 0) {
398
+ throw new Error(`Can't process pivot() expression: found unsorted pivot column(s) (${Array.from(columnsToSort.values())
399
+ .sort()
400
+ .map((col) => `'${col}'`)
401
+ .join(', ')})`);
402
+ }
403
+ _checkDuplicateColumns(sortColumns, (colName) => `Can't process pivot() expression: found duplicate sort columns '${colName}'`);
404
+ return sortColumns;
405
+ }
406
+ export function _validatePivot(pivot, pivotAggColumns, availableColumns) {
407
+ // check for duplicate columns
408
+ const pivotColumns = pivot.columns;
409
+ const castColumns = pivot.castColumns;
410
+ _checkDuplicateColumns(pivotColumns, (colName) => `Can't process pivot() expression: found duplicate pivot columns '${colName}'`);
411
+ _checkDuplicateColumns(pivotAggColumns, (colName) => `Can't process pivot() expression: found duplicate aggregate columns '${colName}'`);
412
+ _checkDuplicateColumns(castColumns, (colName) => `Can't process pivot() expression: found duplicate cast columns '${colName}'`);
413
+ // check pivot columns are not aggregated on
414
+ pivotAggColumns.forEach((col) => {
415
+ if (_findCol(pivotColumns, col.name)) {
416
+ throw new Error(`Can't process pivot() expression: pivot column '${col.name}' must not be aggregated on`);
276
417
  }
277
- const param1 = expression.parameters[0];
278
- if (!(param1 instanceof V1_AppliedFunction) ||
279
- !matchFunctionName(param1.function, DataCubeFunction.TO_LOWERCASE)) {
280
- return undefined;
418
+ });
419
+ // check cast columns
420
+ // NOTE: we cannot and should not do strict checks here as cast columns are dependent on the data
421
+ // check that the columns used by pivot() as group columns are present in cast columns
422
+ const pivotGroupColumns = availableColumns.filter((col) => !(_findCol(pivotColumns, col.name) ?? _findCol(pivotAggColumns, col.name)));
423
+ pivotGroupColumns.forEach((col) => {
424
+ if (!_findCol(castColumns, col.name)) {
425
+ throw new Error(`Can't process pivot() expression: expected pivot group column '${col.name}' in cast columns`);
281
426
  }
282
- if (param1.parameters.length !== 1) {
283
- return undefined;
427
+ });
428
+ // check that columns used in pivot() should not show up in cast columns
429
+ pivotColumns.forEach((col) => {
430
+ if (_findCol(castColumns, col.name)) {
431
+ throw new Error(`Can't process pivot() expression: expected pivot column '${col.name}' to not present in cast columns`);
284
432
  }
285
- const column = param1.parameters[0] instanceof V1_AppliedProperty
286
- ? columnGetter(param1.parameters[0].property)
287
- : undefined;
288
- if (!column) {
289
- return undefined;
433
+ });
434
+ pivotAggColumns.forEach((col) => {
435
+ if (_findCol(castColumns, col.name)) {
436
+ throw new Error(`Can't process pivot() expression: expected pivot aggregate column '${col.name}' to not present in cast columns`);
290
437
  }
291
- const param2 = expression.parameters[1];
292
- if (!(param2 instanceof V1_AppliedFunction) ||
293
- !matchFunctionName(param2.function, DataCubeFunction.TO_LOWERCASE)) {
294
- return undefined;
438
+ });
439
+ // check that cast column resulted from an aggregation (usually has name of form VAL1__|__COL1)
440
+ // has a matching aggregate column (i.e. COL1)
441
+ castColumns
442
+ .filter((col) => isPivotResultColumnName(col.name))
443
+ .forEach((col) => {
444
+ const aggColName = getPivotResultColumnBaseColumnName(col.name);
445
+ if (!_findCol(pivotAggColumns, aggColName)) {
446
+ throw new Error(`Can't process pivot() expression: fail to match cast column '${col.name}' to a specified aggregate column`);
295
447
  }
296
- if (param2.parameters.length !== 1) {
297
- return undefined;
448
+ });
449
+ }
450
+ export function _groupBySort(func, groupByColumns, columnGetter) {
451
+ const sortColumns = _sort(func, columnGetter);
452
+ const groupColumns = new Set(groupByColumns.map((col) => col.name));
453
+ const columnsToSort = new Set(groupByColumns.map((col) => col.name));
454
+ let sortDirection = undefined;
455
+ sortColumns.forEach((col) => {
456
+ if (groupColumns.has(col.name)) {
457
+ columnsToSort.delete(col.name);
298
458
  }
299
- const value = _filterConditionValue(param2.parameters[0], column, columnGetter);
300
- if (!value) {
301
- return undefined;
459
+ else {
460
+ throw new Error(`Can't process groupBy() expression: sort column '${col.name}' must be a group column`);
461
+ }
462
+ if (!sortDirection) {
463
+ sortDirection = col.direction;
464
+ }
465
+ else if (col.direction !== sortDirection) {
466
+ throw new Error(`Can't process groupBy() expression: all group columns must be sorted in the same direction`);
467
+ }
468
+ });
469
+ if (columnsToSort.size !== 0) {
470
+ throw new Error(`Can't process groupBy() expression: found unsorted group column(s) (${Array.from(columnsToSort.values())
471
+ .sort()
472
+ .map((col) => `'${col}'`)
473
+ .join(', ')})`);
474
+ }
475
+ _checkDuplicateColumns(sortColumns, (colName) => `Can't process groupBy() expression: found duplicate sort columns '${colName}'`);
476
+ return sortColumns;
477
+ }
478
+ export function _validateGroupBy(groupBy, groupByAggColumns, pivot, pivotAggColumns, availableColumns) {
479
+ // check for duplicate columns
480
+ const groupByColumns = groupBy.columns;
481
+ _checkDuplicateColumns(groupByColumns, (colName) => `Can't process groupBy() expression: found duplicate group columns '${colName}'`);
482
+ _checkDuplicateColumns(groupByAggColumns, (colName) => `Can't process groupBy() expression: found duplicate aggregate columns '${colName}'`);
483
+ // check group columns are not aggregated on
484
+ groupByAggColumns.forEach((col) => {
485
+ if (_findCol(groupByColumns, col.name)) {
486
+ throw new Error(`Can't process groupBy() expression: group column '${col.name}' must not be aggregated on`);
302
487
  }
488
+ });
489
+ // check all available columns are either grouped on or aggregatd on
490
+ availableColumns.forEach((col) => {
491
+ if (!(_findCol(groupByColumns, col.name) ??
492
+ _findCol(groupByAggColumns, col.name))) {
493
+ throw new Error(`Can't process groupBy() expression: column '${col.name}' is neither grouped nor aggregated on`);
494
+ }
495
+ });
496
+ // check against pivot if present
497
+ if (pivot) {
498
+ const aggCols = new Map();
499
+ // check if aggregation specification is consistent (i.e. same type, operator, parameterValues)
500
+ // between groupBy aggregate columns
501
+ groupByAggColumns
502
+ .filter((col) => isPivotResultColumnName(col.name))
503
+ .forEach((col) => {
504
+ const aggColName = getPivotResultColumnBaseColumnName(col.name);
505
+ const aggCol = {
506
+ ...col,
507
+ name: aggColName,
508
+ };
509
+ const existingAggCol = aggCols.get(aggColName);
510
+ if (!existingAggCol) {
511
+ aggCols.set(aggColName, aggCol);
512
+ }
513
+ else if (!deepEqual(existingAggCol, aggCol)) {
514
+ throw new Error(`Can't process groupBy() expression: found conflicting aggregation specification for column '${aggColName}'`);
515
+ }
516
+ });
517
+ // check if pivot() aggregate columns are consistent with groupBy() aggregate columns
518
+ pivotAggColumns.forEach((col) => {
519
+ const existingAggCol = aggCols.get(col.name);
520
+ if (!existingAggCol) {
521
+ throw new Error(`Can't process groupBy() expression: column '${col.name}' is aggregated in pivot() expression but not in groupBy() expression`);
522
+ }
523
+ if (!deepEqual(existingAggCol, col)) {
524
+ throw new Error(`Can't process groupBy() expression: found conflicting aggregation specification for column '${col.name}'`);
525
+ }
526
+ });
527
+ }
528
+ }
529
+ export function _sort(func, columnGetter) {
530
+ return _param(func, 0, V1_Collection, `Can't process sort() expression: expected parameter at index 0 to be a collection`).values.map((value) => {
531
+ const sortColFunc = _funcMatch(value, [
532
+ DataCubeFunction.ASCENDING,
533
+ DataCubeFunction.DESCENDING,
534
+ ]);
303
535
  return {
304
- column,
305
- value,
536
+ ...columnGetter(_colSpecParam(sortColFunc, 0).name),
537
+ direction: matchFunctionName(sortColFunc.function, DataCubeFunction.ASCENDING)
538
+ ? DataCubeQuerySortDirection.ASCENDING
539
+ : DataCubeQuerySortDirection.DESCENDING,
306
540
  };
307
- }
308
- return undefined;
541
+ });
309
542
  }
310
543
  //# sourceMappingURL=DataCubeQuerySnapshotBuilderUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,sBAAsB,EAEtB,8BAA8B,EAC9B,0BAA0B,IAAI,KAAK,EACnC,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,UAAU,EACV,UAAU,EACV,EAAE,EACF,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,yBAAyB,GAE1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAChB,kCAAkC,EAClC,gCAAgC,EAChC,WAAW,EACX,2BAA2B,GAE5B,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAG9E,gFAAgF;AAEhF,MAAM,UAAU,MAAM,CACpB,IAAwB,EACxB,QAAgB,EAChB,KAAe,EACf,OAA4B;IAE5B,UAAU,CACR,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC,EACtC,iBAAiB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oCAAoC,QAAQ,GAAG,CAAC,eAAe,CACrG,CAAC;IACF,OAAO,aAAa,CAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzB,KAAK,EACL,OAAO;QACL,iBAAiB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,+DAA+D,QAAQ,EAAE,CACjH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAwB,EAAE,QAAgB;IACtE,OAAO,aAAa,CAClB,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,KAAK,EAC9C,UAAU,EACV,iBAAiB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,8CAA8C,QAAQ,+BAA+B,CAC3H,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAwB,EAAE,QAAgB;IAC3E,OAAO,aAAa,CAClB,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,KAAK,EAC9C,eAAe,EACf,iBAAiB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,8CAA8C,QAAQ,oCAAoC,CAChI,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAwB,EAAE,QAAgB;IAC1E,OAAO,MAAM,CACX,IAAI,EACJ,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,QAAQ,gCAAgC,CAC/G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAwC,EACxC,aAAgC;IAEhC,UAAU,CACR,KAAK,EACL,kBAAkB,EAClB,mEAAmE,CACpE,CAAC;IACF,UAAU,CACR,iBAAiB,CACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAC/D,EACD,2DAA2D,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3J,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,WAA2B;IACvD,OAAO,aAAa,CAClB,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EACrC,eAAe,EACf,6DAA6D,CAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAA2B;IAC1D,OAAO,aAAa,CAClB,WAAW,CAAC,OAAO,EACnB,kBAAkB,EAClB,gEAAgE,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAqC;IAErC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;SAAM,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;SAAM,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;SAAM,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;SAAM,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;IACjE,CAAC;SAAM,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;IAC/D,CAAC;SAAM,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,IAAI,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;AACvE,CAAC;AAED,sFAAsF;AAEtF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAAiC,EACjC,kBAAoC,EACpC,aAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IACE,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3C,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAClD,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC3C,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAClD,CAAC;YACD,MAAM;QACR,CAAC;QACD,eAAe,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,aAAa;SACjB,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,IAAI,eAAe,GAAG,CAAC,CACxE;SACA,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAwB;IAC9D,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,OAAO,WAAW,YAAY,kBAAkB,EAAE,CAAC;QACjD,6EAA6E;QAC7E,qCAAqC;QACrC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,MAAM;QACR,CAAC;QAED,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,CAAC,kBAAkB,YAAY,kBAAkB,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,iBAAiB,CACzB,4FAA4F,CAC7F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzD,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACjC,WAAW,GAAG,kBAAkB,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CACR,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EACnC,gEAAgE,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAChG,CAAC;YACF,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5D,UAAU,CACR,QAAQ,CAAC,MAAM,KAAK,CAAC,EACrB,2EAA2E,QAAQ,CAAC,MAAM,EAAE,CAC7F,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,EAAE,EAAE,0EAA0E;YACpF,KAAK,EAAE,4BAA4B,CACjC,oBAAoB,CAClB,OAAO,CAAC,SAAS,EACjB,kFAAkF,CACnF,CACF;YACD,QAAQ,EAAE,OAAO,CAAC,SAAS;gBACzB,CAAC,CAAC,4BAA4B,CAAC,OAAO,CAAC,SAAS,CAAC;gBACjD,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAA4B,EAC5B,YAA8C,EAC9C,gBAAgD;IAEhD,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAgC;QACzC,kEAAkE;QAClE,aAAa,EAAE,gCAAgC,CAAC,GAAG;QACnD,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,IAAI,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,KAAK,CAAC,UAAU,CAAC,IAAI,CACnB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,aAAa,GAAG,gCAAgC,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,KAAK,CAAC,UAAU,CAAC,IAAI,CACnB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,2EAA2E;QAC3E,KAAK,CAAC,UAAU,CAAC,IAAI,CACnB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAwB;IAChE,UAAU,CACR,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACtD,4EAA4E,CAC7E,CAAC;IACF,UAAU,CACR,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAC5B,oDAAoD,CACrD,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA4B,EAC5B,YAA8C,EAC9C,gBAAgD;IAEhD,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,yBAAyB,CACjC,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,IACE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE;QAChC,gBAAgB,CAAC,GAAG;QACpB,gBAAgB,CAAC,EAAE;KACpB,CAAC,EACF,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,qGAAqG;IACrG,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,sBAAsB,CACtD,KAAK,EACL,YAAY,CACb,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,qGAAqG;QACrG,oGAAoG;QACpG,yBAAyB;QACzB,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACnD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,sBAAsB,CACtD,SAAS,EACT,YAAY,CACb,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrB,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,IACE,SAAS,YAAY,kBAAkB;YACvC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,gBAAgB,CAAC,GAAG;gBACpB,gBAAgB,CAAC,EAAE;aACpB,CAAC,EACF,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACrE,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAwC,EACxC,MAAsB,EACtB,YAA8C;IAE9C,IAAI,KAAK,YAAY,8BAA8B,EAAE,CAAC;QACpD,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,IAAI,EAAE,kCAAkC,CAAC,MAAM;SAChD,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,kCAAkC,CAAC,IAAI;SAC9C,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA8B,EAC9B,YAA8C,EAC9C,IAAY;IAEZ,IAAI,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACjD,IACE,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAClC,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GACV,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,kBAAkB;YACpD,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,qBAAqB,CACjC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EACxB,MAAM,EACN,YAAY,CACb,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,MAAM;YACN,KAAK;SACN,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,UAA8B,EAC9B,YAA8C,EAC9C,IAAY;IAEZ,IAAI,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,IACE,CAAC,CAAC,MAAM,YAAY,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAClE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GACV,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,kBAAkB;YAChD,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,IACE,CAAC,CAAC,MAAM,YAAY,kBAAkB,CAAC;YACvC,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAClE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,qBAAqB,CACjC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EACpB,MAAM,EACN,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,MAAM;YACN,KAAK;SACN,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"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"}