@finos/legend-data-cube 0.0.41 → 0.0.43

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 (236) hide show
  1. package/lib/components/DataCube.d.ts.map +1 -1
  2. package/lib/components/DataCube.js +1 -1
  3. package/lib/components/DataCube.js.map +1 -1
  4. package/lib/components/DataCubePlaceholder.d.ts +0 -1
  5. package/lib/components/DataCubePlaceholder.d.ts.map +1 -1
  6. package/lib/components/DataCubePlaceholder.js.map +1 -1
  7. package/lib/components/core/DataCubeCodeCheckErrorAlert.d.ts.map +1 -1
  8. package/lib/components/core/DataCubeCodeCheckErrorAlert.js +5 -1
  9. package/lib/components/core/DataCubeCodeCheckErrorAlert.js.map +1 -1
  10. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
  11. package/lib/components/view/extend/DataCubeColumnEditor.js +5 -2
  12. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  13. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
  14. package/lib/components/view/filter/DataCubeFilterEditor.js +3 -3
  15. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
  16. package/lib/index.css +2 -2
  17. package/lib/index.css.map +1 -1
  18. package/lib/index.d.ts +1 -0
  19. package/lib/index.d.ts.map +1 -1
  20. package/lib/index.js +1 -0
  21. package/lib/index.js.map +1 -1
  22. package/lib/package.json +4 -4
  23. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  24. package/lib/stores/core/DataCubeQueryBuilder.js +12 -6
  25. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  26. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +5 -5
  27. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  28. package/lib/stores/core/DataCubeQueryBuilderUtils.js +20 -20
  29. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  30. package/lib/stores/core/DataCubeQueryEngine.d.ts +4 -2
  31. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  32. package/lib/stores/core/DataCubeQueryEngine.js +13 -0
  33. package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
  34. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +1 -1
  35. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  36. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +2 -1
  37. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  38. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +86 -53
  39. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  40. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +37 -8
  41. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  42. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +227 -203
  43. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  44. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +3 -3
  45. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  46. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +4 -8
  47. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -1
  48. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +7 -3
  49. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  50. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js +16 -1
  51. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js.map +1 -1
  52. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +1 -1
  53. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  54. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +10 -14
  55. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  56. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +1 -1
  57. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  58. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +10 -14
  59. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  60. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +1 -1
  61. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  62. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +10 -14
  63. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  64. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +1 -1
  65. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  66. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +10 -14
  67. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  68. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +1 -2
  69. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  70. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +15 -90
  71. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  72. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +1 -1
  73. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  74. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +10 -14
  75. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  76. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +1 -1
  77. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  78. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +6 -14
  79. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  80. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +1 -1
  81. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  82. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +6 -14
  83. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  84. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +1 -1
  85. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  86. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +14 -18
  87. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  88. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +1 -1
  89. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  90. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +6 -14
  91. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  92. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +1 -1
  93. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  94. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +14 -18
  95. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  96. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +1 -1
  97. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  98. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +6 -14
  99. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  100. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +6 -4
  101. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  102. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +15 -15
  103. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  104. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +6 -4
  105. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  106. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +10 -15
  107. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  108. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +1 -1
  109. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  110. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +14 -18
  111. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  112. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +1 -1
  113. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  114. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +6 -14
  115. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  116. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +1 -1
  117. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  118. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +14 -18
  119. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  120. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +1 -1
  121. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  122. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +6 -14
  123. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  124. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +1 -1
  125. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  126. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +14 -14
  127. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  128. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +1 -1
  129. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  130. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +14 -14
  131. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  132. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +1 -1
  133. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  134. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +19 -19
  135. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  136. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +1 -1
  137. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  138. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +14 -14
  139. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  140. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +1 -1
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +10 -14
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +1 -1
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +10 -14
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +1 -1
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +14 -14
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +1 -1
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +10 -14
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +1 -1
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +10 -14
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  160. package/lib/stores/core/model/DataCubeConfiguration.d.ts +2 -0
  161. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -1
  162. package/lib/stores/core/model/DataCubeConfiguration.js +3 -1
  163. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -1
  164. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  165. package/lib/stores/view/DataCubeViewState.js +1 -1
  166. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  167. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +2 -2
  168. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  169. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  170. package/lib/stores/view/extend/DataCubeColumnEditorState.js +3 -6
  171. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  172. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  173. package/lib/stores/view/filter/DataCubeFilterEditorState.js +3 -3
  174. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  175. package/lib/stores/view/grid/DataCubeGridClientEngine.js +1 -1
  176. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  177. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  178. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
  179. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  180. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  181. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +13 -5
  182. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  183. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  184. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +8 -5
  185. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  186. package/package.json +9 -9
  187. package/src/components/DataCube.tsx +1 -0
  188. package/src/components/DataCubePlaceholder.tsx +0 -1
  189. package/src/components/core/DataCubeCodeCheckErrorAlert.tsx +7 -3
  190. package/src/components/view/extend/DataCubeColumnEditor.tsx +7 -4
  191. package/src/components/view/filter/DataCubeFilterEditor.tsx +10 -19
  192. package/src/index.tsx +1 -0
  193. package/src/stores/core/DataCubeQueryBuilder.ts +20 -6
  194. package/src/stores/core/DataCubeQueryBuilderUtils.ts +38 -33
  195. package/src/stores/core/DataCubeQueryEngine.ts +17 -1
  196. package/src/stores/core/DataCubeQuerySnapshot.ts +1 -1
  197. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +148 -75
  198. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +332 -260
  199. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +7 -11
  200. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +28 -6
  201. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +13 -21
  202. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +17 -21
  203. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +17 -21
  204. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +17 -21
  205. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +13 -98
  206. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +17 -21
  207. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +13 -19
  208. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +9 -19
  209. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +17 -21
  210. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +13 -19
  211. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +17 -21
  212. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +13 -19
  213. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +24 -20
  214. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +14 -20
  215. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +17 -21
  216. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +13 -19
  217. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +17 -21
  218. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +13 -19
  219. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +20 -19
  220. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +20 -19
  221. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +20 -19
  222. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +24 -19
  223. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +25 -18
  224. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +21 -18
  225. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +24 -19
  226. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +17 -21
  227. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +17 -21
  228. package/src/stores/core/model/DataCubeConfiguration.ts +9 -1
  229. package/src/stores/view/DataCubeViewState.ts +1 -0
  230. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +2 -2
  231. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +2 -5
  232. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +3 -7
  233. package/src/stores/view/grid/DataCubeGridClientEngine.ts +1 -1
  234. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +6 -6
  235. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +14 -5
  236. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +9 -5
@@ -32,11 +32,8 @@ import {
32
32
  _var,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
35
- import {
36
- V1_AppliedProperty,
37
- type V1_AppliedFunction,
38
- } from '@finos/legend-graph';
39
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
+ import { _caseSensitiveBaseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
40
37
 
41
38
  export class DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn extends DataCubeQueryFilterOperation {
42
39
  override get label() {
@@ -61,8 +58,8 @@ export class DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn extends Da
61
58
 
62
59
  isCompatibleWithValue(value: DataCubeOperationValue) {
63
60
  return (
64
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
65
61
  value.value !== undefined &&
62
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
66
63
  isString(value.value)
67
64
  );
68
65
  }
@@ -74,20 +71,17 @@ export class DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn extends Da
74
71
  };
75
72
  }
76
73
 
77
- buildConditionSnapshot(expression: V1_AppliedFunction) {
78
- const value = expression.parameters[1];
79
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
80
- expression.parameters[0] as V1_AppliedProperty,
81
- this.operator,
74
+ buildConditionSnapshot(
75
+ expression: V1_AppliedFunction,
76
+ columnGetter: (name: string) => DataCubeColumn,
77
+ ) {
78
+ return this._finalizeConditionSnapshot(
79
+ _caseSensitiveBaseFilterCondition(
80
+ expression,
81
+ columnGetter,
82
+ DataCubeFunction.EQUAL,
83
+ ),
82
84
  );
83
-
84
- if (value instanceof V1_AppliedProperty) {
85
- filterConditionSnapshot.value = {
86
- value: value.property,
87
- type: DataCubeOperationAdvancedValueType.COLUMN,
88
- } satisfies DataCubeOperationValue;
89
- }
90
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
91
85
  }
92
86
 
93
87
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -32,11 +32,8 @@ import {
32
32
  _var,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
35
- import {
36
- V1_AppliedProperty,
37
- type V1_AppliedFunction,
38
- } from '@finos/legend-graph';
39
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
40
37
 
41
38
  export class DataCubeQueryFilterOperation__EqualColumn extends DataCubeQueryFilterOperation {
42
39
  override get label() {
@@ -66,8 +63,8 @@ export class DataCubeQueryFilterOperation__EqualColumn extends DataCubeQueryFilt
66
63
 
67
64
  isCompatibleWithValue(value: DataCubeOperationValue) {
68
65
  return (
69
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
70
66
  value.value !== undefined &&
67
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
71
68
  isString(value.value)
72
69
  );
73
70
  }
@@ -79,20 +76,13 @@ export class DataCubeQueryFilterOperation__EqualColumn extends DataCubeQueryFilt
79
76
  };
80
77
  }
81
78
 
82
- buildConditionSnapshot(expression: V1_AppliedFunction) {
83
- const value = expression.parameters[1];
84
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
85
- expression.parameters[0] as V1_AppliedProperty,
86
- this.operator,
79
+ buildConditionSnapshot(
80
+ expression: V1_AppliedFunction,
81
+ columnGetter: (name: string) => DataCubeColumn,
82
+ ) {
83
+ return this._finalizeConditionSnapshot(
84
+ _baseFilterCondition(expression, columnGetter, DataCubeFunction.EQUAL),
87
85
  );
88
-
89
- if (value instanceof V1_AppliedProperty) {
90
- filterConditionSnapshot.value = {
91
- value: value.property,
92
- type: DataCubeOperationAdvancedValueType.COLUMN,
93
- } satisfies DataCubeOperationValue;
94
- }
95
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
96
86
  }
97
87
 
98
88
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {
17
17
  DataCubeQueryFilterOperation,
18
- generateDefaultFilterConditionPrimitiveTypeValue,
18
+ _defaultPrimitiveTypeValue,
19
19
  } from './DataCubeQueryFilterOperation.js';
20
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
21
21
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -23,6 +23,7 @@ import {
23
23
  DataCubeColumnDataType,
24
24
  DataCubeFunction,
25
25
  DataCubeQueryFilterOperator,
26
+ isPrimitiveType,
26
27
  ofDataType,
27
28
  type DataCubeOperationValue,
28
29
  } from '../DataCubeQueryEngine.js';
@@ -33,15 +34,8 @@ import {
33
34
  _value,
34
35
  } from '../DataCubeQueryBuilderUtils.js';
35
36
  import { guaranteeNonNullable } from '@finos/legend-shared';
36
- import {
37
- V1_PrimitiveValueSpecification,
38
- type V1_AppliedFunction,
39
- type V1_AppliedProperty,
40
- } from '@finos/legend-graph';
41
- import {
42
- _buildConditionSnapshotProperty,
43
- _dataCubeOperationValue,
44
- } from '../DataCubeQuerySnapshotBuilderUtils.js';
37
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
38
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
45
39
 
46
40
  export class DataCubeQueryFilterOperation__GreaterThan extends DataCubeQueryFilterOperation {
47
41
  override get label() {
@@ -70,12 +64,13 @@ export class DataCubeQueryFilterOperation__GreaterThan extends DataCubeQueryFilt
70
64
 
71
65
  isCompatibleWithValue(value: DataCubeOperationValue) {
72
66
  return (
67
+ value.value !== undefined &&
68
+ isPrimitiveType(value.type) &&
73
69
  ofDataType(value.type, [
74
70
  DataCubeColumnDataType.NUMBER,
75
71
  DataCubeColumnDataType.DATE,
76
72
  DataCubeColumnDataType.TIME,
77
73
  ]) &&
78
- value.value !== undefined &&
79
74
  !Array.isArray(value.value)
80
75
  );
81
76
  }
@@ -83,20 +78,21 @@ export class DataCubeQueryFilterOperation__GreaterThan extends DataCubeQueryFilt
83
78
  generateDefaultValue(column: DataCubeColumn) {
84
79
  return {
85
80
  type: column.type,
86
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
81
+ value: _defaultPrimitiveTypeValue(column.type),
87
82
  };
88
83
  }
89
84
 
90
- buildConditionSnapshot(expression: V1_AppliedFunction) {
91
- const value = expression.parameters[1];
92
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
93
- expression.parameters[0] as V1_AppliedProperty,
94
- this.operator,
85
+ buildConditionSnapshot(
86
+ expression: V1_AppliedFunction,
87
+ columnGetter: (name: string) => DataCubeColumn,
88
+ ) {
89
+ return this._finalizeConditionSnapshot(
90
+ _baseFilterCondition(
91
+ expression,
92
+ columnGetter,
93
+ DataCubeFunction.GREATER_THAN,
94
+ ),
95
95
  );
96
- if (value instanceof V1_PrimitiveValueSpecification) {
97
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
98
- }
99
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
100
96
  }
101
97
 
102
98
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -32,11 +32,8 @@ import {
32
32
  _var,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
35
- import {
36
- V1_AppliedProperty,
37
- type V1_AppliedFunction,
38
- } from '@finos/legend-graph';
39
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
40
37
 
41
38
  export class DataCubeQueryFilterOperation__GreaterThanColumn extends DataCubeQueryFilterOperation {
42
39
  override get label() {
@@ -65,8 +62,8 @@ export class DataCubeQueryFilterOperation__GreaterThanColumn extends DataCubeQue
65
62
 
66
63
  isCompatibleWithValue(value: DataCubeOperationValue) {
67
64
  return (
68
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
69
65
  value.value !== undefined &&
66
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
70
67
  isString(value.value)
71
68
  );
72
69
  }
@@ -78,20 +75,17 @@ export class DataCubeQueryFilterOperation__GreaterThanColumn extends DataCubeQue
78
75
  };
79
76
  }
80
77
 
81
- buildConditionSnapshot(expression: V1_AppliedFunction) {
82
- const value = expression.parameters[1];
83
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
84
- expression.parameters[0] as V1_AppliedProperty,
85
- this.operator,
78
+ buildConditionSnapshot(
79
+ expression: V1_AppliedFunction,
80
+ columnGetter: (name: string) => DataCubeColumn,
81
+ ) {
82
+ return this._finalizeConditionSnapshot(
83
+ _baseFilterCondition(
84
+ expression,
85
+ columnGetter,
86
+ DataCubeFunction.GREATER_THAN,
87
+ ),
86
88
  );
87
-
88
- if (value instanceof V1_AppliedProperty) {
89
- filterConditionSnapshot.value = {
90
- value: value.property,
91
- type: DataCubeOperationAdvancedValueType.COLUMN,
92
- } satisfies DataCubeOperationValue;
93
- }
94
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
95
89
  }
96
90
 
97
91
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {
17
17
  DataCubeQueryFilterOperation,
18
- generateDefaultFilterConditionPrimitiveTypeValue,
18
+ _defaultPrimitiveTypeValue,
19
19
  } from './DataCubeQueryFilterOperation.js';
20
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
21
21
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -23,6 +23,7 @@ import {
23
23
  DataCubeColumnDataType,
24
24
  DataCubeFunction,
25
25
  DataCubeQueryFilterOperator,
26
+ isPrimitiveType,
26
27
  ofDataType,
27
28
  type DataCubeOperationValue,
28
29
  } from '../DataCubeQueryEngine.js';
@@ -33,15 +34,8 @@ import {
33
34
  _value,
34
35
  } from '../DataCubeQueryBuilderUtils.js';
35
36
  import { guaranteeNonNullable } from '@finos/legend-shared';
36
- import {
37
- V1_PrimitiveValueSpecification,
38
- type V1_AppliedFunction,
39
- type V1_AppliedProperty,
40
- } from '@finos/legend-graph';
41
- import {
42
- _buildConditionSnapshotProperty,
43
- _dataCubeOperationValue,
44
- } from '../DataCubeQuerySnapshotBuilderUtils.js';
37
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
38
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
45
39
 
46
40
  export class DataCubeQueryFilterOperation__GreaterThanOrEqual extends DataCubeQueryFilterOperation {
47
41
  override get label() {
@@ -70,12 +64,13 @@ export class DataCubeQueryFilterOperation__GreaterThanOrEqual extends DataCubeQu
70
64
 
71
65
  isCompatibleWithValue(value: DataCubeOperationValue) {
72
66
  return (
67
+ value.value !== undefined &&
68
+ isPrimitiveType(value.type) &&
73
69
  ofDataType(value.type, [
74
70
  DataCubeColumnDataType.NUMBER,
75
71
  DataCubeColumnDataType.DATE,
76
72
  DataCubeColumnDataType.TIME,
77
73
  ]) &&
78
- value.value !== undefined &&
79
74
  !Array.isArray(value.value)
80
75
  );
81
76
  }
@@ -83,20 +78,21 @@ export class DataCubeQueryFilterOperation__GreaterThanOrEqual extends DataCubeQu
83
78
  generateDefaultValue(column: DataCubeColumn) {
84
79
  return {
85
80
  type: column.type,
86
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
81
+ value: _defaultPrimitiveTypeValue(column.type),
87
82
  };
88
83
  }
89
84
 
90
- buildConditionSnapshot(expression: V1_AppliedFunction) {
91
- const value = expression.parameters[1];
92
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
93
- expression.parameters[0] as V1_AppliedProperty,
94
- this.operator,
85
+ buildConditionSnapshot(
86
+ expression: V1_AppliedFunction,
87
+ columnGetter: (name: string) => DataCubeColumn,
88
+ ) {
89
+ return this._finalizeConditionSnapshot(
90
+ _baseFilterCondition(
91
+ expression,
92
+ columnGetter,
93
+ DataCubeFunction.GREATER_THAN_OR_EQUAL,
94
+ ),
95
95
  );
96
- if (value instanceof V1_PrimitiveValueSpecification) {
97
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
98
- }
99
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
100
96
  }
101
97
 
102
98
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -32,11 +32,8 @@ import {
32
32
  _var,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
35
- import {
36
- V1_AppliedProperty,
37
- type V1_AppliedFunction,
38
- } from '@finos/legend-graph';
39
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
40
37
 
41
38
  export class DataCubeQueryFilterOperation__GreaterThanOrEqualColumn extends DataCubeQueryFilterOperation {
42
39
  override get label() {
@@ -65,8 +62,8 @@ export class DataCubeQueryFilterOperation__GreaterThanOrEqualColumn extends Data
65
62
 
66
63
  isCompatibleWithValue(value: DataCubeOperationValue) {
67
64
  return (
68
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
69
65
  value.value !== undefined &&
66
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
70
67
  isString(value.value)
71
68
  );
72
69
  }
@@ -78,20 +75,17 @@ export class DataCubeQueryFilterOperation__GreaterThanOrEqualColumn extends Data
78
75
  };
79
76
  }
80
77
 
81
- buildConditionSnapshot(expression: V1_AppliedFunction) {
82
- const value = expression.parameters[1];
83
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
84
- expression.parameters[0] as V1_AppliedProperty,
85
- this.operator,
78
+ buildConditionSnapshot(
79
+ expression: V1_AppliedFunction,
80
+ columnGetter: (name: string) => DataCubeColumn,
81
+ ) {
82
+ return this._finalizeConditionSnapshot(
83
+ _baseFilterCondition(
84
+ expression,
85
+ columnGetter,
86
+ DataCubeFunction.GREATER_THAN_OR_EQUAL,
87
+ ),
86
88
  );
87
-
88
- if (value instanceof V1_AppliedProperty) {
89
- filterConditionSnapshot.value = {
90
- value: value.property,
91
- type: DataCubeOperationAdvancedValueType.COLUMN,
92
- } satisfies DataCubeOperationValue;
93
- }
94
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
95
89
  }
96
90
 
97
91
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -19,6 +19,7 @@ import type { DataCubeColumn } from '../model/DataCubeColumn.js';
19
19
  import {
20
20
  DataCubeColumnDataType,
21
21
  DataCubeFunction,
22
+ DataCubeOperationAdvancedValueType,
22
23
  DataCubeQueryFilterOperator,
23
24
  ofDataType,
24
25
  type DataCubeOperationValue,
@@ -29,11 +30,12 @@ import {
29
30
  _not,
30
31
  _property,
31
32
  } from '../DataCubeQueryBuilderUtils.js';
32
- import type {
33
- V1_AppliedFunction,
34
- V1_AppliedProperty,
35
- } from '@finos/legend-graph';
36
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
33
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
34
+ import {
35
+ _unwrapNotFilterCondition,
36
+ _baseFilterCondition,
37
+ } from '../DataCubeQuerySnapshotBuilderUtils.js';
38
+ import { returnUndefOnError } from '@finos/legend-shared';
37
39
 
38
40
  export class DataCubeQueryFilterOperation__IsNotNull extends DataCubeQueryFilterOperation {
39
41
  override get label() {
@@ -63,28 +65,30 @@ export class DataCubeQueryFilterOperation__IsNotNull extends DataCubeQueryFilter
63
65
 
64
66
  isCompatibleWithValue(value: DataCubeOperationValue) {
65
67
  return (
66
- ofDataType(value.type, [
67
- DataCubeColumnDataType.TEXT,
68
- DataCubeColumnDataType.NUMBER,
69
- DataCubeColumnDataType.DATE,
70
- DataCubeColumnDataType.TIME,
71
- ]) &&
72
- value.value !== undefined &&
73
- !Array.isArray(value.value)
68
+ value.value === undefined &&
69
+ value.type === DataCubeOperationAdvancedValueType.VOID
74
70
  );
75
71
  }
76
72
 
77
73
  generateDefaultValue(column: DataCubeColumn) {
78
- return undefined;
74
+ return {
75
+ type: DataCubeOperationAdvancedValueType.VOID,
76
+ };
79
77
  }
80
78
 
81
- buildConditionSnapshot(expression: V1_AppliedFunction) {
82
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
83
- expression.parameters[0] as V1_AppliedProperty,
84
- this.operator,
79
+ buildConditionSnapshot(
80
+ expression: V1_AppliedFunction,
81
+ columnGetter: (name: string) => DataCubeColumn,
82
+ ) {
83
+ const unwrapped = returnUndefOnError(() =>
84
+ _unwrapNotFilterCondition(expression),
85
+ );
86
+ if (!unwrapped) {
87
+ return undefined;
88
+ }
89
+ return this._finalizeConditionSnapshot(
90
+ _baseFilterCondition(unwrapped, columnGetter, DataCubeFunction.IS_EMPTY),
85
91
  );
86
- filterConditionSnapshot.value = undefined;
87
- return filterConditionSnapshot;
88
92
  }
89
93
 
90
94
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -19,6 +19,7 @@ import type { DataCubeColumn } from '../model/DataCubeColumn.js';
19
19
  import {
20
20
  DataCubeColumnDataType,
21
21
  DataCubeFunction,
22
+ DataCubeOperationAdvancedValueType,
22
23
  DataCubeQueryFilterOperator,
23
24
  ofDataType,
24
25
  type DataCubeOperationValue,
@@ -28,11 +29,8 @@ import {
28
29
  _functionName,
29
30
  _property,
30
31
  } from '../DataCubeQueryBuilderUtils.js';
31
- import type {
32
- V1_AppliedFunction,
33
- V1_AppliedProperty,
34
- } from '@finos/legend-graph';
35
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
32
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
33
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
36
34
 
37
35
  export class DataCubeQueryFilterOperation__IsNull extends DataCubeQueryFilterOperation {
38
36
  override get label() {
@@ -62,28 +60,24 @@ export class DataCubeQueryFilterOperation__IsNull extends DataCubeQueryFilterOpe
62
60
 
63
61
  isCompatibleWithValue(value: DataCubeOperationValue) {
64
62
  return (
65
- ofDataType(value.type, [
66
- DataCubeColumnDataType.TEXT,
67
- DataCubeColumnDataType.NUMBER,
68
- DataCubeColumnDataType.DATE,
69
- DataCubeColumnDataType.TIME,
70
- ]) &&
71
- value.value !== undefined &&
72
- !Array.isArray(value.value)
63
+ value.value === undefined &&
64
+ value.type === DataCubeOperationAdvancedValueType.VOID
73
65
  );
74
66
  }
75
67
 
76
68
  generateDefaultValue(column: DataCubeColumn) {
77
- return undefined;
69
+ return {
70
+ type: DataCubeOperationAdvancedValueType.VOID,
71
+ };
78
72
  }
79
73
 
80
- buildConditionSnapshot(expression: V1_AppliedFunction) {
81
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
82
- expression.parameters[0] as V1_AppliedProperty,
83
- this.operator,
74
+ buildConditionSnapshot(
75
+ expression: V1_AppliedFunction,
76
+ columnGetter: (name: string) => DataCubeColumn,
77
+ ) {
78
+ return this._finalizeConditionSnapshot(
79
+ _baseFilterCondition(expression, columnGetter, DataCubeFunction.IS_EMPTY),
84
80
  );
85
- filterConditionSnapshot.value = undefined;
86
- return filterConditionSnapshot;
87
81
  }
88
82
 
89
83
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -16,7 +16,7 @@
16
16
 
17
17
  import {
18
18
  DataCubeQueryFilterOperation,
19
- generateDefaultFilterConditionPrimitiveTypeValue,
19
+ _defaultPrimitiveTypeValue,
20
20
  } from './DataCubeQueryFilterOperation.js';
21
21
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
22
22
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -24,6 +24,7 @@ import {
24
24
  DataCubeColumnDataType,
25
25
  DataCubeFunction,
26
26
  DataCubeQueryFilterOperator,
27
+ isPrimitiveType,
27
28
  ofDataType,
28
29
  type DataCubeOperationValue,
29
30
  } from '../DataCubeQueryEngine.js';
@@ -34,15 +35,8 @@ import {
34
35
  _value,
35
36
  } from '../DataCubeQueryBuilderUtils.js';
36
37
  import { guaranteeNonNullable } from '@finos/legend-shared';
37
- import {
38
- V1_PrimitiveValueSpecification,
39
- type V1_AppliedFunction,
40
- type V1_AppliedProperty,
41
- } from '@finos/legend-graph';
42
- import {
43
- _buildConditionSnapshotProperty,
44
- _dataCubeOperationValue,
45
- } from '../DataCubeQuerySnapshotBuilderUtils.js';
38
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
39
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
46
40
 
47
41
  export class DataCubeQueryFilterOperation__LessThan extends DataCubeQueryFilterOperation {
48
42
  override get label() {
@@ -71,12 +65,13 @@ export class DataCubeQueryFilterOperation__LessThan extends DataCubeQueryFilterO
71
65
 
72
66
  isCompatibleWithValue(value: DataCubeOperationValue) {
73
67
  return (
68
+ value.value !== undefined &&
69
+ isPrimitiveType(value.type) &&
74
70
  ofDataType(value.type, [
75
71
  DataCubeColumnDataType.NUMBER,
76
72
  DataCubeColumnDataType.DATE,
77
73
  DataCubeColumnDataType.TIME,
78
74
  ]) &&
79
- value.value !== undefined &&
80
75
  !Array.isArray(value.value)
81
76
  );
82
77
  }
@@ -84,20 +79,21 @@ export class DataCubeQueryFilterOperation__LessThan extends DataCubeQueryFilterO
84
79
  generateDefaultValue(column: DataCubeColumn) {
85
80
  return {
86
81
  type: column.type,
87
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
82
+ value: _defaultPrimitiveTypeValue(column.type),
88
83
  };
89
84
  }
90
85
 
91
- buildConditionSnapshot(expression: V1_AppliedFunction) {
92
- const value = expression.parameters[1];
93
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
94
- expression.parameters[0] as V1_AppliedProperty,
95
- this.operator,
86
+ buildConditionSnapshot(
87
+ expression: V1_AppliedFunction,
88
+ columnGetter: (name: string) => DataCubeColumn,
89
+ ) {
90
+ return this._finalizeConditionSnapshot(
91
+ _baseFilterCondition(
92
+ expression,
93
+ columnGetter,
94
+ DataCubeFunction.LESS_THAN,
95
+ ),
96
96
  );
97
- if (value instanceof V1_PrimitiveValueSpecification) {
98
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
99
- }
100
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
101
97
  }
102
98
 
103
99
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -32,11 +32,8 @@ import {
32
32
  _var,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
35
- import {
36
- V1_AppliedProperty,
37
- type V1_AppliedFunction,
38
- } from '@finos/legend-graph';
39
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
40
37
 
41
38
  export class DataCubeQueryFilterOperation__LessThanColumn extends DataCubeQueryFilterOperation {
42
39
  override get label() {
@@ -65,8 +62,8 @@ export class DataCubeQueryFilterOperation__LessThanColumn extends DataCubeQueryF
65
62
 
66
63
  isCompatibleWithValue(value: DataCubeOperationValue) {
67
64
  return (
68
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
69
65
  value.value !== undefined &&
66
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
70
67
  isString(value.value)
71
68
  );
72
69
  }
@@ -78,20 +75,17 @@ export class DataCubeQueryFilterOperation__LessThanColumn extends DataCubeQueryF
78
75
  };
79
76
  }
80
77
 
81
- buildConditionSnapshot(expression: V1_AppliedFunction) {
82
- const value = expression.parameters[1];
83
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
84
- expression.parameters[0] as V1_AppliedProperty,
85
- this.operator,
78
+ buildConditionSnapshot(
79
+ expression: V1_AppliedFunction,
80
+ columnGetter: (name: string) => DataCubeColumn,
81
+ ) {
82
+ return this._finalizeConditionSnapshot(
83
+ _baseFilterCondition(
84
+ expression,
85
+ columnGetter,
86
+ DataCubeFunction.LESS_THAN,
87
+ ),
86
88
  );
87
-
88
- if (value instanceof V1_AppliedProperty) {
89
- filterConditionSnapshot.value = {
90
- value: value.property,
91
- type: DataCubeOperationAdvancedValueType.COLUMN,
92
- } satisfies DataCubeOperationValue;
93
- }
94
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
95
89
  }
96
90
 
97
91
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {