@gooddata/sdk-code-convertors 11.28.0-alpha.1

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 (237) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +42 -0
  3. package/esm/configs/areaChart.d.ts +113 -0
  4. package/esm/configs/areaChart.d.ts.map +1 -0
  5. package/esm/configs/areaChart.js +232 -0
  6. package/esm/configs/areaChart.js.map +1 -0
  7. package/esm/configs/barChart.d.ts +101 -0
  8. package/esm/configs/barChart.d.ts.map +1 -0
  9. package/esm/configs/barChart.js +210 -0
  10. package/esm/configs/barChart.js.map +1 -0
  11. package/esm/configs/bubbleChart.d.ts +93 -0
  12. package/esm/configs/bubbleChart.d.ts.map +1 -0
  13. package/esm/configs/bubbleChart.js +186 -0
  14. package/esm/configs/bubbleChart.js.map +1 -0
  15. package/esm/configs/bulletChart.d.ts +87 -0
  16. package/esm/configs/bulletChart.d.ts.map +1 -0
  17. package/esm/configs/bulletChart.js +174 -0
  18. package/esm/configs/bulletChart.js.map +1 -0
  19. package/esm/configs/columnChart.d.ts +101 -0
  20. package/esm/configs/columnChart.d.ts.map +1 -0
  21. package/esm/configs/columnChart.js +210 -0
  22. package/esm/configs/columnChart.js.map +1 -0
  23. package/esm/configs/comboChart.d.ts +155 -0
  24. package/esm/configs/comboChart.d.ts.map +1 -0
  25. package/esm/configs/comboChart.js +355 -0
  26. package/esm/configs/comboChart.js.map +1 -0
  27. package/esm/configs/dependencyWheelChart.d.ts +37 -0
  28. package/esm/configs/dependencyWheelChart.d.ts.map +1 -0
  29. package/esm/configs/dependencyWheelChart.js +81 -0
  30. package/esm/configs/dependencyWheelChart.js.map +1 -0
  31. package/esm/configs/donutChart.d.ts +47 -0
  32. package/esm/configs/donutChart.d.ts.map +1 -0
  33. package/esm/configs/donutChart.js +96 -0
  34. package/esm/configs/donutChart.js.map +1 -0
  35. package/esm/configs/funnelChart.d.ts +47 -0
  36. package/esm/configs/funnelChart.d.ts.map +1 -0
  37. package/esm/configs/funnelChart.js +96 -0
  38. package/esm/configs/funnelChart.js.map +1 -0
  39. package/esm/configs/geoAreaChart.d.ts +62 -0
  40. package/esm/configs/geoAreaChart.d.ts.map +1 -0
  41. package/esm/configs/geoAreaChart.js +123 -0
  42. package/esm/configs/geoAreaChart.js.map +1 -0
  43. package/esm/configs/geoChart.d.ts +49 -0
  44. package/esm/configs/geoChart.d.ts.map +1 -0
  45. package/esm/configs/geoChart.js +157 -0
  46. package/esm/configs/geoChart.js.map +1 -0
  47. package/esm/configs/headlineChart.d.ts +89 -0
  48. package/esm/configs/headlineChart.d.ts.map +1 -0
  49. package/esm/configs/headlineChart.js +124 -0
  50. package/esm/configs/headlineChart.js.map +1 -0
  51. package/esm/configs/heatmapChart.d.ts +75 -0
  52. package/esm/configs/heatmapChart.d.ts.map +1 -0
  53. package/esm/configs/heatmapChart.js +158 -0
  54. package/esm/configs/heatmapChart.js.map +1 -0
  55. package/esm/configs/lineChart.d.ts +135 -0
  56. package/esm/configs/lineChart.d.ts.map +1 -0
  57. package/esm/configs/lineChart.js +294 -0
  58. package/esm/configs/lineChart.js.map +1 -0
  59. package/esm/configs/pieChart.d.ts +47 -0
  60. package/esm/configs/pieChart.d.ts.map +1 -0
  61. package/esm/configs/pieChart.js +96 -0
  62. package/esm/configs/pieChart.js.map +1 -0
  63. package/esm/configs/pyramidChart.d.ts +47 -0
  64. package/esm/configs/pyramidChart.d.ts.map +1 -0
  65. package/esm/configs/pyramidChart.js +96 -0
  66. package/esm/configs/pyramidChart.js.map +1 -0
  67. package/esm/configs/repeaterChart.d.ts +36 -0
  68. package/esm/configs/repeaterChart.d.ts.map +1 -0
  69. package/esm/configs/repeaterChart.js +104 -0
  70. package/esm/configs/repeaterChart.js.map +1 -0
  71. package/esm/configs/sankeyChart.d.ts +39 -0
  72. package/esm/configs/sankeyChart.d.ts.map +1 -0
  73. package/esm/configs/sankeyChart.js +84 -0
  74. package/esm/configs/sankeyChart.js.map +1 -0
  75. package/esm/configs/scatterChart.d.ts +95 -0
  76. package/esm/configs/scatterChart.d.ts.map +1 -0
  77. package/esm/configs/scatterChart.js +198 -0
  78. package/esm/configs/scatterChart.js.map +1 -0
  79. package/esm/configs/table.d.ts +61 -0
  80. package/esm/configs/table.d.ts.map +1 -0
  81. package/esm/configs/table.js +169 -0
  82. package/esm/configs/table.js.map +1 -0
  83. package/esm/configs/treemapChart.d.ts +47 -0
  84. package/esm/configs/treemapChart.d.ts.map +1 -0
  85. package/esm/configs/treemapChart.js +96 -0
  86. package/esm/configs/treemapChart.js.map +1 -0
  87. package/esm/configs/types.d.ts +93 -0
  88. package/esm/configs/types.d.ts.map +1 -0
  89. package/esm/configs/types.js +3 -0
  90. package/esm/configs/types.js.map +1 -0
  91. package/esm/configs/utils.d.ts +12 -0
  92. package/esm/configs/utils.d.ts.map +1 -0
  93. package/esm/configs/utils.js +76 -0
  94. package/esm/configs/utils.js.map +1 -0
  95. package/esm/configs/waterfallChart.d.ts +109 -0
  96. package/esm/configs/waterfallChart.d.ts.map +1 -0
  97. package/esm/configs/waterfallChart.js +214 -0
  98. package/esm/configs/waterfallChart.js.map +1 -0
  99. package/esm/conts.d.ts +9 -0
  100. package/esm/conts.d.ts.map +1 -0
  101. package/esm/conts.js +41 -0
  102. package/esm/conts.js.map +1 -0
  103. package/esm/execution/buildAfmExecution.d.ts +5 -0
  104. package/esm/execution/buildAfmExecution.d.ts.map +1 -0
  105. package/esm/execution/buildAfmExecution.js +374 -0
  106. package/esm/execution/buildAfmExecution.js.map +1 -0
  107. package/esm/from/declarativeAttributeHierarchyToYaml.d.ts +12 -0
  108. package/esm/from/declarativeAttributeHierarchyToYaml.d.ts.map +1 -0
  109. package/esm/from/declarativeAttributeHierarchyToYaml.js +26 -0
  110. package/esm/from/declarativeAttributeHierarchyToYaml.js.map +1 -0
  111. package/esm/from/declarativeDashboardToYaml.d.ts +59 -0
  112. package/esm/from/declarativeDashboardToYaml.d.ts.map +1 -0
  113. package/esm/from/declarativeDashboardToYaml.js +771 -0
  114. package/esm/from/declarativeDashboardToYaml.js.map +1 -0
  115. package/esm/from/declarativeDatasetToYaml.d.ts +9 -0
  116. package/esm/from/declarativeDatasetToYaml.d.ts.map +1 -0
  117. package/esm/from/declarativeDatasetToYaml.js +239 -0
  118. package/esm/from/declarativeDatasetToYaml.js.map +1 -0
  119. package/esm/from/declarativeDateInstanceToYaml.d.ts +8 -0
  120. package/esm/from/declarativeDateInstanceToYaml.d.ts.map +1 -0
  121. package/esm/from/declarativeDateInstanceToYaml.js +30 -0
  122. package/esm/from/declarativeDateInstanceToYaml.js.map +1 -0
  123. package/esm/from/declarativeMetricToYaml.d.ts +8 -0
  124. package/esm/from/declarativeMetricToYaml.d.ts.map +1 -0
  125. package/esm/from/declarativeMetricToYaml.js +34 -0
  126. package/esm/from/declarativeMetricToYaml.js.map +1 -0
  127. package/esm/from/declarativePluginToYaml.d.ts +10 -0
  128. package/esm/from/declarativePluginToYaml.d.ts.map +1 -0
  129. package/esm/from/declarativePluginToYaml.js +26 -0
  130. package/esm/from/declarativePluginToYaml.js.map +1 -0
  131. package/esm/from/declarativeVisualisationToYaml.d.ts +64 -0
  132. package/esm/from/declarativeVisualisationToYaml.d.ts.map +1 -0
  133. package/esm/from/declarativeVisualisationToYaml.js +1513 -0
  134. package/esm/from/declarativeVisualisationToYaml.js.map +1 -0
  135. package/esm/index.d.ts +18 -0
  136. package/esm/index.d.ts.map +1 -0
  137. package/esm/index.js +22 -0
  138. package/esm/index.js.map +1 -0
  139. package/esm/schemas/types.d.ts +32 -0
  140. package/esm/schemas/types.d.ts.map +1 -0
  141. package/esm/schemas/types.js +3 -0
  142. package/esm/schemas/types.js.map +1 -0
  143. package/esm/schemas/v1/metadata.d.ts +7277 -0
  144. package/esm/schemas/v1/metadata.d.ts.map +1 -0
  145. package/esm/schemas/v1/metadata.js +3 -0
  146. package/esm/schemas/v1/metadata.js.map +1 -0
  147. package/esm/sdk-code-convertors.d.ts +7861 -0
  148. package/esm/to/yamlAttributeHierarchyToDeclarative.d.ts +5 -0
  149. package/esm/to/yamlAttributeHierarchyToDeclarative.d.ts.map +1 -0
  150. package/esm/to/yamlAttributeHierarchyToDeclarative.js +16 -0
  151. package/esm/to/yamlAttributeHierarchyToDeclarative.js.map +1 -0
  152. package/esm/to/yamlDashboardToDeclarative.d.ts +29 -0
  153. package/esm/to/yamlDashboardToDeclarative.d.ts.map +1 -0
  154. package/esm/to/yamlDashboardToDeclarative.js +732 -0
  155. package/esm/to/yamlDashboardToDeclarative.js.map +1 -0
  156. package/esm/to/yamlDatasetToDeclarative.d.ts +41 -0
  157. package/esm/to/yamlDatasetToDeclarative.d.ts.map +1 -0
  158. package/esm/to/yamlDatasetToDeclarative.js +346 -0
  159. package/esm/to/yamlDatasetToDeclarative.js.map +1 -0
  160. package/esm/to/yamlDateDatasetToDeclarative.d.ts +5 -0
  161. package/esm/to/yamlDateDatasetToDeclarative.d.ts.map +1 -0
  162. package/esm/to/yamlDateDatasetToDeclarative.js +21 -0
  163. package/esm/to/yamlDateDatasetToDeclarative.js.map +1 -0
  164. package/esm/to/yamlMetricToDeclarative.d.ts +5 -0
  165. package/esm/to/yamlMetricToDeclarative.d.ts.map +1 -0
  166. package/esm/to/yamlMetricToDeclarative.js +24 -0
  167. package/esm/to/yamlMetricToDeclarative.js.map +1 -0
  168. package/esm/to/yamlPluginToDeclarative.d.ts +5 -0
  169. package/esm/to/yamlPluginToDeclarative.d.ts.map +1 -0
  170. package/esm/to/yamlPluginToDeclarative.js +17 -0
  171. package/esm/to/yamlPluginToDeclarative.js.map +1 -0
  172. package/esm/to/yamlVisualisationToDeclarative.d.ts +31 -0
  173. package/esm/to/yamlVisualisationToDeclarative.d.ts.map +1 -0
  174. package/esm/to/yamlVisualisationToDeclarative.js +1048 -0
  175. package/esm/to/yamlVisualisationToDeclarative.js.map +1 -0
  176. package/esm/tsdoc-metadata.json +11 -0
  177. package/esm/types.d.ts +66 -0
  178. package/esm/types.d.ts.map +1 -0
  179. package/esm/types.js +22 -0
  180. package/esm/types.js.map +1 -0
  181. package/esm/utils/configUtils.d.ts +20 -0
  182. package/esm/utils/configUtils.d.ts.map +1 -0
  183. package/esm/utils/configUtils.js +312 -0
  184. package/esm/utils/configUtils.js.map +1 -0
  185. package/esm/utils/convertBucketToTitle.d.ts +116 -0
  186. package/esm/utils/convertBucketToTitle.d.ts.map +1 -0
  187. package/esm/utils/convertBucketToTitle.js +370 -0
  188. package/esm/utils/convertBucketToTitle.js.map +1 -0
  189. package/esm/utils/customUrl.d.ts +4 -0
  190. package/esm/utils/customUrl.d.ts.map +1 -0
  191. package/esm/utils/customUrl.js +31 -0
  192. package/esm/utils/customUrl.js.map +1 -0
  193. package/esm/utils/dateUtils.d.ts +5 -0
  194. package/esm/utils/dateUtils.d.ts.map +1 -0
  195. package/esm/utils/dateUtils.js +43 -0
  196. package/esm/utils/dateUtils.js.map +1 -0
  197. package/esm/utils/errors.d.ts +35 -0
  198. package/esm/utils/errors.d.ts.map +1 -0
  199. package/esm/utils/errors.js +65 -0
  200. package/esm/utils/errors.js.map +1 -0
  201. package/esm/utils/filterUtils.d.ts +3 -0
  202. package/esm/utils/filterUtils.d.ts.map +1 -0
  203. package/esm/utils/filterUtils.js +26 -0
  204. package/esm/utils/filterUtils.js.map +1 -0
  205. package/esm/utils/granularityUtils.d.ts +17 -0
  206. package/esm/utils/granularityUtils.d.ts.map +1 -0
  207. package/esm/utils/granularityUtils.js +1434 -0
  208. package/esm/utils/granularityUtils.js.map +1 -0
  209. package/esm/utils/locationUtils.d.ts +11 -0
  210. package/esm/utils/locationUtils.d.ts.map +1 -0
  211. package/esm/utils/locationUtils.js +75 -0
  212. package/esm/utils/locationUtils.js.map +1 -0
  213. package/esm/utils/nameUtils.d.ts +7 -0
  214. package/esm/utils/nameUtils.d.ts.map +1 -0
  215. package/esm/utils/nameUtils.js +37 -0
  216. package/esm/utils/nameUtils.js.map +1 -0
  217. package/esm/utils/permissionUtils.d.ts +29 -0
  218. package/esm/utils/permissionUtils.d.ts.map +1 -0
  219. package/esm/utils/permissionUtils.js +82 -0
  220. package/esm/utils/permissionUtils.js.map +1 -0
  221. package/esm/utils/sharedUtils.d.ts +21 -0
  222. package/esm/utils/sharedUtils.d.ts.map +1 -0
  223. package/esm/utils/sharedUtils.js +63 -0
  224. package/esm/utils/sharedUtils.js.map +1 -0
  225. package/esm/utils/texts.d.ts +8 -0
  226. package/esm/utils/texts.d.ts.map +1 -0
  227. package/esm/utils/texts.js +47 -0
  228. package/esm/utils/texts.js.map +1 -0
  229. package/esm/utils/typeGuards.d.ts +51 -0
  230. package/esm/utils/typeGuards.d.ts.map +1 -0
  231. package/esm/utils/typeGuards.js +286 -0
  232. package/esm/utils/typeGuards.js.map +1 -0
  233. package/esm/utils/yamlUtils.d.ts +28 -0
  234. package/esm/utils/yamlUtils.d.ts.map +1 -0
  235. package/esm/utils/yamlUtils.js +163 -0
  236. package/esm/utils/yamlUtils.js.map +1 -0
  237. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waterfallChart.d.ts","sourceRoot":"","sources":["../../src/configs/waterfallChart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAI3B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,KAAK,iBAAiB,GAAG;IACrB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,UAAU,EAAE;QACR,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;KAC/B,CAAC;IACF,SAAS,EAAE;QACP,IAAI,EAAE,aAAa,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC1D,CAAC;IACF,WAAW,EAAE;QACT,QAAQ,EAAE,YAAY,GAAG,UAAU,CAAC;KACvC,CAAC;IACF,KAAK,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;KAC1D,CAAC;IACF,KAAK,EAAE;QACH,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;QAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,EAAE;YACF,OAAO,EAAE,OAAO,CAAC;YACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;SAClD,CAAC;QACF,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QAC5C,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACH,IAAI,EAAE;YACF,OAAO,EAAE,OAAO,CAAC;YACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;SAClD,CAAC;QACF,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QAC5C,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACF,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB,EAAE,OAAO,CAAC;CACpC,CAAC;AAmDF,iBAAS,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,kEAyG1D;AAED,iBAAS,IAAI,CACT,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,EACrD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwD9C;AAED,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
@@ -0,0 +1,214 @@
1
+ // (C) 2023-2026 GoodData Corporation
2
+ import { getValueOrDefault, loadConfig, saveConfigObject, } from "./utils.js";
3
+ import { loadChartFill, loadColorDefinitions, saveChartFill, saveColorDefinitions, } from "../utils/configUtils.js";
4
+ const DEFAULTS = {
5
+ colorMapping: [],
6
+ dataLabels: {
7
+ visible: "auto",
8
+ style: "auto",
9
+ },
10
+ chartFill: {
11
+ type: "solid",
12
+ },
13
+ orientation: {
14
+ position: "horizontal",
15
+ },
16
+ total: {
17
+ enabled: true,
18
+ name: "",
19
+ },
20
+ legend: {
21
+ enabled: false,
22
+ position: "auto",
23
+ },
24
+ xaxis: {
25
+ format: "auto",
26
+ max: "",
27
+ min: "",
28
+ name: {
29
+ visible: true,
30
+ position: "auto",
31
+ },
32
+ labelsEnabled: true,
33
+ rotation: "auto",
34
+ visible: false,
35
+ },
36
+ yaxis: {
37
+ name: {
38
+ visible: true,
39
+ position: "auto",
40
+ },
41
+ labelsEnabled: true,
42
+ rotation: "auto",
43
+ visible: false,
44
+ },
45
+ grid: {
46
+ enabled: true,
47
+ },
48
+ disableDrillDown: false,
49
+ disableAlerts: false,
50
+ disableScheduledExports: false,
51
+ };
52
+ function load(props) {
53
+ return loadConfig(props, (key, value) => {
54
+ switch (key) {
55
+ case "colorMapping":
56
+ return [["color", loadColorDefinitions(value)]];
57
+ case "dataLabels": {
58
+ const val = value;
59
+ return [
60
+ ["data_labels", getValueOrDefault(val.visible, DEFAULTS.dataLabels.visible, "bool_auto")],
61
+ ["data_labels_style", getValueOrDefault(val.style, DEFAULTS.dataLabels.style)],
62
+ ];
63
+ }
64
+ case "chartFill": {
65
+ return [
66
+ [
67
+ "chart_fill",
68
+ loadChartFill(value, DEFAULTS.chartFill),
69
+ ],
70
+ ];
71
+ }
72
+ case "orientation": {
73
+ const val = value;
74
+ return [["orientation", getValueOrDefault(val.position, DEFAULTS.orientation.position)]];
75
+ }
76
+ case "total": {
77
+ const val = value;
78
+ return [
79
+ ["total_enabled", getValueOrDefault(val.enabled, DEFAULTS.total.enabled, "bool")],
80
+ ["total_name", getValueOrDefault(val.name, DEFAULTS.total.name)],
81
+ ];
82
+ }
83
+ case "legend": {
84
+ const val = value;
85
+ return [
86
+ ["legend_enabled", getValueOrDefault(val.enabled, DEFAULTS.legend.enabled, "bool")],
87
+ ["legend_position", getValueOrDefault(val.position, DEFAULTS.legend.position)],
88
+ ];
89
+ }
90
+ case "xaxis": {
91
+ const val = value;
92
+ return [
93
+ ["xaxis_format", getValueOrDefault(val.format, DEFAULTS.xaxis.format)],
94
+ ["xaxis_max", getValueOrDefault(val.max, DEFAULTS.xaxis.max, "number")],
95
+ ["xaxis_min", getValueOrDefault(val.min, DEFAULTS.xaxis.min, "number")],
96
+ [
97
+ "xaxis_name_position",
98
+ getValueOrDefault(val.name?.position, DEFAULTS.xaxis.name.position),
99
+ ],
100
+ [
101
+ "xaxis_name_visible",
102
+ getValueOrDefault(val.name?.visible, DEFAULTS.xaxis.name.visible, "bool"),
103
+ ],
104
+ ["xaxis_rotation", getValueOrDefault(val.rotation, DEFAULTS.xaxis.rotation)],
105
+ ["xaxis_visible", getValueOrDefault(val.visible, DEFAULTS.xaxis.visible, "bool")],
106
+ [
107
+ "xaxis_labels",
108
+ getValueOrDefault(val.labelsEnabled, DEFAULTS.xaxis.labelsEnabled, "bool"),
109
+ ],
110
+ ];
111
+ }
112
+ case "yaxis": {
113
+ const val = value;
114
+ return [
115
+ [
116
+ "yaxis_name_position",
117
+ getValueOrDefault(val.name?.position, DEFAULTS.yaxis.name.position),
118
+ ],
119
+ [
120
+ "yaxis_name_visible",
121
+ getValueOrDefault(val.name?.visible, DEFAULTS.yaxis.name.visible, "bool"),
122
+ ],
123
+ [
124
+ "yaxis_labels",
125
+ getValueOrDefault(val.labelsEnabled, DEFAULTS.yaxis.labelsEnabled, "bool"),
126
+ ],
127
+ ["yaxis_rotation", getValueOrDefault(val.rotation, DEFAULTS.yaxis.rotation)],
128
+ ["yaxis_visible", getValueOrDefault(val.visible, DEFAULTS.yaxis.visible, "bool")],
129
+ ];
130
+ }
131
+ case "grid": {
132
+ const val = value;
133
+ return [["grid_enabled", getValueOrDefault(val.enabled, DEFAULTS.grid.enabled, "bool")]];
134
+ }
135
+ case "disableDrillDown":
136
+ return [
137
+ [
138
+ "disable_drill_down",
139
+ getValueOrDefault(value, DEFAULTS.disableDrillDown, "bool"),
140
+ ],
141
+ ];
142
+ case "disableAlerts":
143
+ return [
144
+ ["disable_alerts", getValueOrDefault(value, DEFAULTS.disableAlerts, "bool")],
145
+ ];
146
+ case "disableScheduledExports":
147
+ return [
148
+ [
149
+ "disable_scheduled_exports",
150
+ getValueOrDefault(value, DEFAULTS.disableScheduledExports, "bool"),
151
+ ],
152
+ ];
153
+ default:
154
+ return [];
155
+ }
156
+ });
157
+ }
158
+ function save(_fields, config) {
159
+ if (!config) {
160
+ return undefined;
161
+ }
162
+ return saveConfigObject({
163
+ colorMapping: saveConfigObject(saveColorDefinitions(config.color ?? {})),
164
+ dataLabels: saveConfigObject({
165
+ visible: getValueOrDefault(config.data_labels, DEFAULTS.dataLabels.visible, "bool_auto"),
166
+ style: getValueOrDefault(config.data_labels_style, DEFAULTS.dataLabels.style),
167
+ }),
168
+ chartFill: saveConfigObject(saveChartFill(config, DEFAULTS.chartFill)),
169
+ orientation: saveConfigObject({
170
+ position: getValueOrDefault(config.orientation, DEFAULTS.orientation.position),
171
+ }),
172
+ total: saveConfigObject({
173
+ enabled: getValueOrDefault(config.total_enabled, DEFAULTS.total.enabled, "bool"),
174
+ name: getValueOrDefault(config.total_name, DEFAULTS.total.name),
175
+ }),
176
+ legend: saveConfigObject({
177
+ enabled: getValueOrDefault(config.legend_enabled, DEFAULTS.legend.enabled, "bool"),
178
+ position: getValueOrDefault(config.legend_position, DEFAULTS.legend.position),
179
+ }),
180
+ xaxis: saveConfigObject({
181
+ format: getValueOrDefault(config.xaxis_format, DEFAULTS.xaxis.format),
182
+ max: getValueOrDefault(config.xaxis_max, DEFAULTS.xaxis.max),
183
+ min: getValueOrDefault(config.xaxis_min, DEFAULTS.xaxis.min),
184
+ name: saveConfigObject({
185
+ position: getValueOrDefault(config.xaxis_name_position, DEFAULTS.xaxis.name.position),
186
+ visible: getValueOrDefault(config.xaxis_name_visible, DEFAULTS.xaxis.name.visible, "bool"),
187
+ }),
188
+ rotation: getValueOrDefault(config.xaxis_rotation, DEFAULTS.xaxis.rotation),
189
+ visible: getValueOrDefault(config.xaxis_visible, DEFAULTS.xaxis.visible, "bool"),
190
+ labelsEnabled: getValueOrDefault(config.xaxis_labels, DEFAULTS.xaxis.labelsEnabled, "bool"),
191
+ }),
192
+ yaxis: saveConfigObject({
193
+ name: saveConfigObject({
194
+ position: getValueOrDefault(config.yaxis_name_position, DEFAULTS.yaxis.name.position),
195
+ visible: getValueOrDefault(config.yaxis_name_visible, DEFAULTS.yaxis.name.visible, "bool"),
196
+ }),
197
+ rotation: getValueOrDefault(config.yaxis_rotation, DEFAULTS.yaxis.rotation),
198
+ visible: getValueOrDefault(config.yaxis_visible, DEFAULTS.yaxis.visible, "bool"),
199
+ labelsEnabled: getValueOrDefault(config.yaxis_labels, DEFAULTS.yaxis.labelsEnabled, "bool"),
200
+ }),
201
+ grid: saveConfigObject({
202
+ enabled: getValueOrDefault(config.grid_enabled, DEFAULTS.grid.enabled, "bool"),
203
+ }),
204
+ disableDrillDown: getValueOrDefault(config.disable_drill_down, DEFAULTS.disableDrillDown, "bool"),
205
+ disableAlerts: getValueOrDefault(config.disable_alerts, DEFAULTS.disableAlerts, "bool"),
206
+ disableScheduledExports: getValueOrDefault(config.disable_scheduled_exports, DEFAULTS.disableScheduledExports, "bool"),
207
+ });
208
+ }
209
+ export const waterfallChart = {
210
+ load,
211
+ save,
212
+ DEFAULTS,
213
+ };
214
+ //# sourceMappingURL=waterfallChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waterfallChart.js","sourceRoot":"","sources":["../../src/configs/waterfallChart.ts"],"names":[],"mappings":"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"}
package/esm/conts.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ export declare const DatasetTypes: string[];
2
+ export declare const DateDatasetTypes: string[];
3
+ export declare const MetricTypes: string[];
4
+ export declare const DashboardTypes: string[];
5
+ export declare const PluginTypes: string[];
6
+ export declare const AttributeHierarchyTypes: string[];
7
+ export declare const VisualisationsTypes: string[];
8
+ export declare const AllTypes: string[];
9
+ //# sourceMappingURL=conts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conts.d.ts","sourceRoot":"","sources":["../src/conts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UAAc,CAAC;AAExC,eAAO,MAAM,gBAAgB,UAAW,CAAC;AAEzC,eAAO,MAAM,WAAW,UAAa,CAAC;AAEtC,eAAO,MAAM,cAAc,UAAgB,CAAC;AAE5C,eAAO,MAAM,WAAW,UAAa,CAAC;AAEtC,eAAO,MAAM,uBAAuB,UAA0B,CAAC;AAE/D,eAAO,MAAM,mBAAmB,UAuB/B,CAAC;AAEF,eAAO,MAAM,QAAQ,UAQpB,CAAC"}
package/esm/conts.js ADDED
@@ -0,0 +1,41 @@
1
+ // (C) 2024-2026 GoodData Corporation
2
+ export const DatasetTypes = ["dataset"];
3
+ export const DateDatasetTypes = ["date"];
4
+ export const MetricTypes = ["metric"];
5
+ export const DashboardTypes = ["dashboard"];
6
+ export const PluginTypes = ["plugin"];
7
+ export const AttributeHierarchyTypes = ["attribute_hierarchy"];
8
+ export const VisualisationsTypes = [
9
+ "table",
10
+ "bar_chart",
11
+ "column_chart",
12
+ "line_chart",
13
+ "area_chart",
14
+ "scatter_chart",
15
+ "bubble_chart",
16
+ "pie_chart",
17
+ "donut_chart",
18
+ "treemap_chart",
19
+ "pyramid_chart",
20
+ "funnel_chart",
21
+ "heatmap_chart",
22
+ "bullet_chart",
23
+ "waterfall_chart",
24
+ "dependency_wheel_chart",
25
+ "sankey_chart",
26
+ "headline_chart",
27
+ "combo_chart",
28
+ "geo_chart",
29
+ "geo_area_chart",
30
+ "repeater_chart",
31
+ ];
32
+ export const AllTypes = [
33
+ ...DatasetTypes,
34
+ ...DateDatasetTypes,
35
+ ...MetricTypes,
36
+ ...DashboardTypes,
37
+ ...PluginTypes,
38
+ ...VisualisationsTypes,
39
+ ...AttributeHierarchyTypes,
40
+ ];
41
+ //# sourceMappingURL=conts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conts.js","sourceRoot":"","sources":["../src/conts.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,OAAO;IACP,WAAW;IACX,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,cAAc;IACd,WAAW;IACX,aAAa;IACb,eAAe;IACf,eAAe;IACf,cAAc;IACd,eAAe;IACf,cAAc;IACd,iBAAiB;IACjB,wBAAwB;IACxB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,gBAAgB;IAChB,gBAAgB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,GAAG,YAAY;IACf,GAAG,gBAAgB;IACnB,GAAG,WAAW;IACd,GAAG,cAAc;IACjB,GAAG,WAAW;IACd,GAAG,mBAAmB;IACtB,GAAG,uBAAuB;CAC7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Query } from "../schemas/v1/metadata.js";
2
+ import { type ExportEntities, type ToExecutionResults } from "../types.js";
3
+ /** @public */
4
+ export declare function buildAfmExecution(entities: ExportEntities, query: Query): ToExecutionResults;
5
+ //# sourceMappingURL=buildAfmExecution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAfmExecution.d.ts","sourceRoot":"","sources":["../../src/execution/buildAfmExecution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAER,KAAK,EAIR,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA8B3E,cAAc;AACd,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAkB5F"}
@@ -0,0 +1,374 @@
1
+ // (C) 2024-2026 GoodData Corporation
2
+ import { convertBucketToTitle } from "../utils/convertBucketToTitle.js";
3
+ import { mapDateAttribute, mapDateDataset } from "../utils/dateUtils.js";
4
+ import { parseDateValues } from "../utils/filterUtils.js";
5
+ import { getFullField } from "../utils/sharedUtils.js";
6
+ import { isAbsoluteDateFilter, isArithmeticMetricField, isAttributeField, isAttributeSort, isCalculatedMetricField, isInlineMetricField, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, isSimpleMetricSort, } from "../utils/typeGuards.js";
7
+ import { createIdentifier, createLocalIdentifier } from "../utils/yamlUtils.js";
8
+ const ATTRIBUTES_DIMENSION = `dim_0`;
9
+ const MEASURES_DIMENSION = `dim_1`;
10
+ /** @public */
11
+ export function buildAfmExecution(entities, query) {
12
+ const execution = buildExecution(entities, query);
13
+ const { items: dimensions, sorting } = buildDimensions(query, execution);
14
+ const fields = buildFields(entities, query);
15
+ return {
16
+ execution: {
17
+ execution,
18
+ resultSpec: {
19
+ dimensions,
20
+ //NOTE: For now we are not supporting totals, because there are no part of the query
21
+ totals: [],
22
+ },
23
+ settings: {},
24
+ },
25
+ fields,
26
+ sorting,
27
+ };
28
+ }
29
+ function buildFields(entities, query) {
30
+ return Object.keys(query.fields || {}).reduce((acc, field) => {
31
+ const fieldDef = getFullField(query.fields[field]);
32
+ acc[field] = {
33
+ title: convertBucketToTitle(entities, query, fieldDef) || undefined,
34
+ };
35
+ return acc;
36
+ }, {});
37
+ }
38
+ function buildExecution(entities, query) {
39
+ const fields = query.fields || {};
40
+ return {
41
+ attributes: Object.keys(fields)
42
+ .map((field) => {
43
+ const fieldDef = getFullField(fields[field]);
44
+ if (isAttributeField(fieldDef)) {
45
+ return {
46
+ localIdentifier: field,
47
+ label: createIdentifier(fieldDef.using, { forceType: "label" }),
48
+ showAllValues: fieldDef.show_all_values,
49
+ };
50
+ }
51
+ return null;
52
+ })
53
+ .filter((a) => a !== null),
54
+ measures: Object.keys(fields)
55
+ .map((field) => {
56
+ const fieldDef = getFullField(fields[field]);
57
+ if (isInlineMetricField(fieldDef)) {
58
+ return {
59
+ localIdentifier: field,
60
+ definition: {
61
+ inline: {
62
+ maql: fieldDef.maql,
63
+ },
64
+ },
65
+ };
66
+ }
67
+ if (isCalculatedMetricField(fieldDef)) {
68
+ const item = createIdentifier(fieldDef.using, { forceMetric: true });
69
+ if (item) {
70
+ return {
71
+ localIdentifier: field,
72
+ definition: {
73
+ measure: {
74
+ item,
75
+ aggregation: fieldDef.aggregation,
76
+ computeRatio: fieldDef.compute_ratio,
77
+ filters: buildFilters(entities, fieldDef.filter_by),
78
+ },
79
+ },
80
+ };
81
+ }
82
+ return null;
83
+ }
84
+ if (isMetricField(fieldDef)) {
85
+ const item = createIdentifier(fieldDef.using, { forceMetric: true });
86
+ if (item) {
87
+ return {
88
+ localIdentifier: field,
89
+ definition: {
90
+ measure: {
91
+ item,
92
+ computeRatio: fieldDef.compute_ratio,
93
+ filters: buildFilters(entities, fieldDef.filter_by),
94
+ },
95
+ },
96
+ };
97
+ }
98
+ return null;
99
+ }
100
+ if (isArithmeticMetricField(fieldDef)) {
101
+ const measureIdentifiers = fieldDef.using;
102
+ if (measureIdentifiers.length >= 2) {
103
+ return {
104
+ localIdentifier: field,
105
+ definition: {
106
+ arithmeticMeasure: {
107
+ measureIdentifiers: measureIdentifiers.map((id) => createLocalIdentifier(id)),
108
+ operator: fieldDef.operator,
109
+ },
110
+ },
111
+ };
112
+ }
113
+ return null;
114
+ }
115
+ if (isPoPMetricField(fieldDef)) {
116
+ const popAttribute = mapDateAttribute(query, fieldDef);
117
+ if (popAttribute) {
118
+ return {
119
+ localIdentifier: field,
120
+ definition: {
121
+ overPeriodMeasure: {
122
+ measureIdentifier: createLocalIdentifier(fieldDef.using),
123
+ dateAttributes: [
124
+ {
125
+ attribute: popAttribute,
126
+ periodsAgo: 1,
127
+ },
128
+ ],
129
+ },
130
+ },
131
+ };
132
+ }
133
+ return null;
134
+ }
135
+ if (isPreviousPeriodField(fieldDef)) {
136
+ const dataset = mapDateDataset(query, fieldDef);
137
+ if (dataset) {
138
+ return {
139
+ localIdentifier: field,
140
+ definition: {
141
+ previousPeriodMeasure: {
142
+ measureIdentifier: createLocalIdentifier(fieldDef.using),
143
+ dateDatasets: [
144
+ {
145
+ dataset: dataset,
146
+ periodsAgo: fieldDef.period ?? 1,
147
+ },
148
+ ],
149
+ },
150
+ },
151
+ };
152
+ }
153
+ return null;
154
+ }
155
+ return null;
156
+ })
157
+ .filter((a) => a !== null),
158
+ filters: buildFilters(entities, query.filter_by),
159
+ auxMeasures: [],
160
+ };
161
+ }
162
+ function buildDimensions(query, execution) {
163
+ const { items, sorting } = buildSorting(query.sort_by);
164
+ return {
165
+ items: [
166
+ {
167
+ localIdentifier: ATTRIBUTES_DIMENSION,
168
+ itemIdentifiers: execution.attributes.map((a) => a.localIdentifier),
169
+ sorting: items,
170
+ },
171
+ {
172
+ localIdentifier: MEASURES_DIMENSION,
173
+ itemIdentifiers: ["measureGroup"],
174
+ },
175
+ ],
176
+ sorting,
177
+ };
178
+ }
179
+ function buildFilters(entities, filters_by) {
180
+ if (!filters_by) {
181
+ return [];
182
+ }
183
+ // TODO
184
+ const filters = [];
185
+ Object.keys(filters_by ?? {}).forEach((key) => {
186
+ const filter = filters_by[key];
187
+ if (isAbsoluteDateFilter(filter)) {
188
+ filters.push({
189
+ absoluteDateFilter: {
190
+ dataset: createIdentifier(filter.using, { forceType: "dataset" }),
191
+ from: filter.from,
192
+ to: filter.to,
193
+ },
194
+ });
195
+ }
196
+ if (isRelativeDateFilter(filter)) {
197
+ filters.push({
198
+ relativeDateFilter: {
199
+ dataset: createIdentifier(filter.using, { forceType: "dataset" }),
200
+ granularity: (filter.granularity ??
201
+ undefined),
202
+ from: filter.from,
203
+ to: filter.to,
204
+ },
205
+ });
206
+ }
207
+ if (isPositiveAttributeFilter(filter)) {
208
+ filters.push({
209
+ positiveAttributeFilter: {
210
+ label: createIdentifier(filter.using),
211
+ in: {
212
+ values: parseDateValues(entities, filter.using, filter.state?.include ?? []),
213
+ },
214
+ },
215
+ });
216
+ }
217
+ if (isNegativeAttributeFilter(filter)) {
218
+ filters.push({
219
+ negativeAttributeFilter: {
220
+ label: createIdentifier(filter.using),
221
+ notIn: {
222
+ values: parseDateValues(entities, filter.using, filter.state?.exclude ?? []),
223
+ },
224
+ },
225
+ });
226
+ }
227
+ if (isMetricValueFilterWithConditions(filter)) {
228
+ // TypeScript narrows to MultipleConditions via type guard
229
+ const conditions = filter.conditions ?? [];
230
+ // Any ALL condition makes this filter a no-op at execution time.
231
+ const hasAllCondition = conditions.some((c) => !c || typeof c !== "object" || !("condition" in c) || c.condition == null);
232
+ if (hasAllCondition) {
233
+ return;
234
+ }
235
+ // Build AFM conditions array
236
+ const afmConditions = [];
237
+ conditions.forEach((c) => {
238
+ if ("condition" in c && c.condition) {
239
+ if (c.condition === "BETWEEN" || c.condition === "NOT_BETWEEN") {
240
+ const rangeCondition = c;
241
+ afmConditions.push({
242
+ range: {
243
+ operator: rangeCondition.condition,
244
+ from: rangeCondition.from,
245
+ to: rangeCondition.to,
246
+ },
247
+ });
248
+ }
249
+ else {
250
+ const comparisonCondition = c;
251
+ afmConditions.push({
252
+ comparison: {
253
+ operator: comparisonCondition.condition,
254
+ value: comparisonCondition.value,
255
+ },
256
+ });
257
+ }
258
+ }
259
+ });
260
+ if (afmConditions.length > 0) {
261
+ const compoundMeasureValueFilter = {
262
+ compoundMeasureValueFilter: {
263
+ measure: createIdentifier(filter.using) || createLocalIdentifier(filter.using),
264
+ conditions: afmConditions,
265
+ treatNullValuesAs: filter.null_values_as_zero ? 0 : undefined,
266
+ },
267
+ };
268
+ if (filter.dimensionality &&
269
+ Array.isArray(filter.dimensionality) &&
270
+ filter.dimensionality.length > 0) {
271
+ compoundMeasureValueFilter.compoundMeasureValueFilter.dimensionality =
272
+ filter.dimensionality.map((item) => createIdentifier(item) || createLocalIdentifier(item));
273
+ }
274
+ filters.push(compoundMeasureValueFilter);
275
+ }
276
+ }
277
+ // MVF with operator "All" (no condition) - no-op at execution time.
278
+ if (isMetricAllValueFilter(filter)) {
279
+ return;
280
+ }
281
+ if (isMetricRangeValueFilter(filter)) {
282
+ const rangeMeasureValueFilter = {
283
+ rangeMeasureValueFilter: {
284
+ measure: createIdentifier(filter.using) || createLocalIdentifier(filter.using),
285
+ operator: filter.condition,
286
+ from: filter.from,
287
+ to: filter.to,
288
+ treatNullValuesAs: filter.null_values_as_zero ? 0 : undefined,
289
+ },
290
+ };
291
+ if (filter.dimensionality &&
292
+ Array.isArray(filter.dimensionality) &&
293
+ filter.dimensionality.length > 0) {
294
+ rangeMeasureValueFilter.rangeMeasureValueFilter.dimensionality = filter.dimensionality.map((item) => createIdentifier(item) || createLocalIdentifier(item));
295
+ }
296
+ filters.push(rangeMeasureValueFilter);
297
+ }
298
+ if (isMetricComparisonValueFilter(filter)) {
299
+ const comparisonMeasureValueFilter = {
300
+ comparisonMeasureValueFilter: {
301
+ measure: createIdentifier(filter.using) || createLocalIdentifier(filter.using),
302
+ operator: filter.condition,
303
+ value: filter.value,
304
+ treatNullValuesAs: filter.null_values_as_zero ? 0 : undefined,
305
+ },
306
+ };
307
+ if (filter.dimensionality &&
308
+ Array.isArray(filter.dimensionality) &&
309
+ filter.dimensionality.length > 0) {
310
+ comparisonMeasureValueFilter.comparisonMeasureValueFilter.dimensionality =
311
+ filter.dimensionality.map((item) => createIdentifier(item) || createLocalIdentifier(item));
312
+ }
313
+ filters.push(comparisonMeasureValueFilter);
314
+ }
315
+ if (isRankingFilter(filter)) {
316
+ filters.push({
317
+ rankingFilter: {
318
+ measures: [
319
+ createIdentifier(filter.using) || createLocalIdentifier(filter.using),
320
+ ...(filter.attribute
321
+ ? [createIdentifier(filter.attribute) || createLocalIdentifier(filter.attribute)]
322
+ : []),
323
+ ],
324
+ operator: filter.top === undefined ? "BOTTOM" : "TOP",
325
+ value: filter.top === undefined ? filter.bottom : filter.top,
326
+ },
327
+ });
328
+ }
329
+ });
330
+ return filters;
331
+ }
332
+ function buildSorting(sort_by) {
333
+ if (!sort_by) {
334
+ return {
335
+ items: [],
336
+ sorting: {},
337
+ };
338
+ }
339
+ const sorting = {};
340
+ const items = sort_by
341
+ .map((sort) => {
342
+ if (isAttributeSort(sort)) {
343
+ sorting[sort.by] = sort.direction;
344
+ return {
345
+ attribute: {
346
+ attributeIdentifier: sort.by,
347
+ direction: sort.direction,
348
+ sortType: sort.aggregation === "SUM" ? "AREA" : "DEFAULT",
349
+ },
350
+ };
351
+ }
352
+ if (isSimpleMetricSort(sort)) {
353
+ const metric = sort.metrics[0];
354
+ sorting[metric] = sort.direction;
355
+ return {
356
+ value: {
357
+ dataColumnLocators: {
358
+ [MEASURES_DIMENSION]: {
359
+ measureGroup: metric,
360
+ },
361
+ },
362
+ direction: sort.direction,
363
+ },
364
+ };
365
+ }
366
+ return null;
367
+ })
368
+ .filter(Boolean);
369
+ return {
370
+ items,
371
+ sorting,
372
+ };
373
+ }
374
+ //# sourceMappingURL=buildAfmExecution.js.map