@sisense/sdk-ui 2.11.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/dist/ai.cjs +19 -19
  2. package/dist/ai.js +854 -842
  3. package/dist/analytics-composer/node.cjs +1 -3
  4. package/dist/analytics-composer/node.js +2304 -653
  5. package/dist/analytics-composer.cjs +18 -18
  6. package/dist/analytics-composer.js +18 -9
  7. package/dist/{derive-chart-family-BhAFg8OE.js → derive-chart-family-BcASqlOf.js} +13145 -12937
  8. package/dist/derive-chart-family-Ca1NT5US.cjs +166 -0
  9. package/dist/{dimensions-DCxjxuyH.cjs → dimensions-DCT9XInO.cjs} +1 -1
  10. package/dist/{dimensions-Bk74slQe.js → dimensions-DOxD1XtL.js} +1 -1
  11. package/dist/execute-query-CvH_36GC.cjs +1 -0
  12. package/dist/{execute-query-CxMSGp-J.js → execute-query-JhI9RXe_.js} +1613 -1539
  13. package/dist/index.cjs +29 -25
  14. package/dist/index.js +24789 -24450
  15. package/dist/index.umd.js +437 -443
  16. package/dist/packages/sdk-ui/src/ai/api/chat-rest-api.d.ts +1 -1
  17. package/dist/packages/sdk-ui/src/ai/api/hooks.d.ts +1 -1
  18. package/dist/packages/sdk-ui/src/ai/chart/nlq-chart-widget.d.ts +1 -1
  19. package/dist/packages/sdk-ui/src/ai/chat-config.d.ts +1 -1
  20. package/dist/packages/sdk-ui/src/ai/chat-frame.d.ts +1 -1
  21. package/dist/packages/sdk-ui/src/ai/custom-ai-context-provider.d.ts +1 -1
  22. package/dist/packages/sdk-ui/src/ai/index.d.ts +1 -1
  23. package/dist/packages/sdk-ui/src/ai/messages/text-message.d.ts +1 -1
  24. package/dist/packages/sdk-ui/src/ai/use-chat-session.d.ts +1 -1
  25. package/dist/packages/sdk-ui/src/ai/use-final-nlq-response.d.ts +1 -1
  26. package/dist/packages/sdk-ui/src/ai/use-get-nlq-result.d.ts +23 -2
  27. package/dist/packages/sdk-ui/src/ai/use-get-query-recommendations.d.ts +1 -1
  28. package/dist/packages/sdk-ui/src/ai/use-last-nlq-response-from-history.d.ts +1 -1
  29. package/dist/packages/sdk-ui/src/ai/use-last-nlq-response.d.ts +1 -1
  30. package/dist/packages/sdk-ui/src/analytics-composer/code/default-options/data-options.d.ts +4 -0
  31. package/dist/packages/sdk-ui/src/analytics-composer/code/default-options/style-options.d.ts +89 -0
  32. package/dist/packages/sdk-ui/src/analytics-composer/code/stringify-props.d.ts +5 -1
  33. package/dist/packages/sdk-ui/src/analytics-composer/common/utils.d.ts +2 -2
  34. package/dist/packages/sdk-ui/src/analytics-composer/execute-query/execute-query-composer.d.ts +1 -1
  35. package/dist/packages/sdk-ui/src/analytics-composer/execute-query/to-execute-query-code.d.ts +1 -1
  36. package/dist/packages/sdk-ui/src/analytics-composer/index-node.d.ts +1 -1
  37. package/dist/packages/sdk-ui/src/analytics-composer/index.d.ts +1 -1
  38. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/common.d.ts +49 -0
  39. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/index.d.ts +2 -0
  40. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/custom-formula/process-custom-formula.d.ts +14 -0
  41. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/custom-formula/validate-custom-formula.d.ts +54 -0
  42. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/execute-function.d.ts +5 -0
  43. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/factory-function-processors.d.ts +39 -0
  44. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/factory-function-schemas.d.ts +20 -0
  45. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/filter-processors.d.ts +37 -0
  46. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/process-arg.d.ts +8 -0
  47. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/process-function/process-node.d.ts +9 -0
  48. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/translate-dimensions.d.ts +10 -0
  49. package/dist/packages/sdk-ui/src/analytics-composer/{new-nlq-translator → nlq-v3-translator}/translate-filters.d.ts +19 -7
  50. package/dist/packages/sdk-ui/src/analytics-composer/{new-nlq-translator → nlq-v3-translator}/translate-measures.d.ts +13 -7
  51. package/dist/packages/sdk-ui/src/analytics-composer/{new-nlq-translator → nlq-v3-translator}/translate-query.d.ts +7 -9
  52. package/dist/packages/sdk-ui/src/analytics-composer/nlq-v3-translator/types.d.ts +46 -0
  53. package/dist/packages/sdk-ui/src/analytics-composer/query/query-translator.d.ts +2 -2
  54. package/dist/packages/sdk-ui/src/analytics-composer/types.d.ts +71 -10
  55. package/dist/packages/sdk-ui/src/analytics-composer/widget/chart-options/get-widget-options.d.ts +1 -1
  56. package/dist/packages/sdk-ui/src/analytics-composer/widget/to-widget-code.d.ts +3 -3
  57. package/dist/packages/sdk-ui/src/analytics-composer/widget/to-widget-props.d.ts +1 -1
  58. package/dist/packages/sdk-ui/src/api/rest-api.d.ts +9 -4
  59. package/dist/packages/sdk-ui/src/api/types/dashboard-dto.d.ts +2 -1
  60. package/dist/packages/sdk-ui/src/app/client-application.d.ts +7 -6
  61. package/dist/packages/sdk-ui/src/app/settings/settings.d.ts +49 -0
  62. package/dist/packages/sdk-ui/src/boxplot-utils.d.ts +2 -2
  63. package/dist/packages/sdk-ui/src/chart/helpers/get-load-data-function.d.ts +2 -2
  64. package/dist/packages/sdk-ui/src/chart/helpers/use-chart-renderer-props.d.ts +1 -1
  65. package/dist/packages/sdk-ui/src/chart/helpers/use-synced-data.d.ts +2 -2
  66. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/renderer/areamap.d.ts +1 -1
  67. package/dist/packages/sdk-ui/src/chart/restructured-charts/helpers/data-loading.d.ts +2 -2
  68. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/constants.d.ts +2 -0
  69. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/data-options/data-options.d.ts +1 -1
  70. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/data.d.ts +1 -1
  71. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/design-options.d.ts +1 -1
  72. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/series-options/calendar-data-generator.d.ts +2 -2
  73. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/highchart-options-builder/options/tooltip-options.d.ts +1 -1
  74. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/calendar-heatmap-charts-grid.d.ts +3 -3
  75. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/calendar-heatmap.d.ts +1 -1
  76. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/calendar-pagination/calendar-pagination.d.ts +5 -9
  77. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/calendar-pagination/helpers.d.ts +2 -2
  78. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/helpers/data-helpers.d.ts +0 -2
  79. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/helpers/sizing-helpers.d.ts +1 -1
  80. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/helpers/view-helpers.d.ts +21 -4
  81. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/hooks/index.d.ts +1 -2
  82. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/hooks/use-calendar-heatmap-chart-options.d.ts +8 -8
  83. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/hooks/use-calendar-heatmap-pagination.d.ts +23 -0
  84. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/data-options.d.ts +1 -1
  85. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/axis.d.ts +2 -2
  86. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/tooltip.d.ts +1 -1
  87. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/y-axis.d.ts +1 -1
  88. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/funnel-chart/data/index.d.ts +1 -1
  89. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/funnel-chart/design-options/index.d.ts +1 -1
  90. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/funnel-chart/types.d.ts +2 -2
  91. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/helpers/data-options.d.ts +1 -1
  92. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/helpers/data.d.ts +2 -2
  93. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/pie-chart/design-options/index.d.ts +3 -1
  94. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/pie-chart/types.d.ts +2 -2
  95. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/sunburst-chart/data/index.d.ts +1 -1
  96. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/sunburst-chart/data-options/index.d.ts +1 -1
  97. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/sunburst-chart/design-options/index.d.ts +1 -1
  98. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/sunburst-chart/types.d.ts +2 -2
  99. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/treemap-chart/data/index.d.ts +1 -1
  100. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/treemap-chart/data-options/index.d.ts +1 -1
  101. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/treemap-chart/design-options/index.d.ts +1 -1
  102. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/categoricals/treemap-chart/types.d.ts +2 -2
  103. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/build-highchart-options.d.ts +4 -4
  104. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/highcharts-based-chart-renderer.d.ts +4 -4
  105. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/types.d.ts +2 -2
  106. package/dist/packages/sdk-ui/src/chart/restructured-charts/types.d.ts +10 -6
  107. package/dist/packages/sdk-ui/src/chart/restructured-charts/utils.d.ts +1 -1
  108. package/dist/packages/sdk-ui/src/chart/types.d.ts +1 -1
  109. package/dist/packages/sdk-ui/src/chart-data/advanced-analytics-data.d.ts +1 -1
  110. package/dist/packages/sdk-ui/src/chart-data/boxplot-data.d.ts +1 -1
  111. package/dist/packages/sdk-ui/src/chart-data/cartesian-data.d.ts +2 -2
  112. package/dist/packages/sdk-ui/src/chart-data/indicator-data.d.ts +1 -1
  113. package/dist/packages/sdk-ui/src/chart-data/range-data.d.ts +1 -1
  114. package/dist/packages/sdk-ui/src/chart-data/scatter-data.d.ts +1 -1
  115. package/dist/packages/sdk-ui/src/chart-data/table-data.d.ts +1 -1
  116. package/dist/packages/sdk-ui/src/chart-data/types.d.ts +3 -3
  117. package/dist/packages/sdk-ui/src/chart-data-options/translate-boxplot-data-options.d.ts +1 -1
  118. package/dist/packages/sdk-ui/src/chart-data-options/translate-data-options.d.ts +1 -1
  119. package/dist/packages/sdk-ui/src/chart-data-options/types.d.ts +2 -2
  120. package/dist/packages/sdk-ui/src/chart-data-options/utils.d.ts +1 -1
  121. package/dist/packages/sdk-ui/src/chart-data-options/validate-data-options/validate-data-options.d.ts +2 -2
  122. package/dist/packages/sdk-ui/src/chart-data-processor/row-comparator.d.ts +1 -1
  123. package/dist/packages/sdk-ui/src/chart-options-processor/advanced-chart-options.d.ts +1 -1
  124. package/dist/packages/sdk-ui/src/chart-options-processor/apply-event-handlers.d.ts +2 -2
  125. package/dist/packages/sdk-ui/src/chart-options-processor/boxplot-chart-options.d.ts +2 -2
  126. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/cartesian-chart-options.d.ts +4 -4
  127. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/axis-builders.d.ts +8 -8
  128. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/axis-settings.d.ts +1 -1
  129. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/axis-transformers.d.ts +5 -6
  130. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/chart-spacing-calculator.d.ts +2 -2
  131. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/series-processor.d.ts +16 -16
  132. package/dist/packages/sdk-ui/src/chart-options-processor/category-chart-options/category-chart-options.d.ts +4 -4
  133. package/dist/packages/sdk-ui/src/chart-options-processor/category-chart-options/funnel-chart-options.d.ts +3 -3
  134. package/dist/packages/sdk-ui/src/chart-options-processor/category-chart-options/pie-chart-options.d.ts +3 -3
  135. package/dist/packages/sdk-ui/src/chart-options-processor/category-chart-options/sunburst-chart-options.d.ts +4 -4
  136. package/dist/packages/sdk-ui/src/chart-options-processor/category-chart-options/treemap-chart-options.d.ts +4 -4
  137. package/dist/packages/sdk-ui/src/chart-options-processor/chart-options-service.d.ts +9 -9
  138. package/dist/packages/sdk-ui/src/chart-options-processor/data-points.d.ts +2 -2
  139. package/dist/packages/sdk-ui/src/chart-options-processor/defaults/cartesian.d.ts +3 -3
  140. package/dist/packages/sdk-ui/src/chart-options-processor/range-chart-options.d.ts +3 -3
  141. package/dist/packages/sdk-ui/src/chart-options-processor/scatter-chart-options.d.ts +3 -3
  142. package/dist/packages/sdk-ui/src/chart-options-processor/series-labels.d.ts +20 -17
  143. package/dist/packages/sdk-ui/src/chart-options-processor/stack-labels.d.ts +21 -0
  144. package/dist/packages/sdk-ui/src/chart-options-processor/style-to-design-options-translator/translate-style-to-design-options.d.ts +2 -2
  145. package/dist/packages/sdk-ui/src/chart-options-processor/style-to-design-options-translator/translate-to-highcharts-options.d.ts +3 -3
  146. package/dist/packages/sdk-ui/src/chart-options-processor/subtype-to-design-options.d.ts +2 -2
  147. package/dist/packages/sdk-ui/src/chart-options-processor/tooltip.d.ts +1 -1
  148. package/dist/packages/sdk-ui/src/chart-options-processor/translations/axis-section.d.ts +18 -7
  149. package/dist/packages/sdk-ui/src/chart-options-processor/translations/base-design-options.d.ts +1 -1
  150. package/dist/packages/sdk-ui/src/chart-options-processor/translations/boxplot/boxplot-axis.d.ts +1 -1
  151. package/dist/packages/sdk-ui/src/chart-options-processor/translations/boxplot/boxplot-plot-options.d.ts +1 -1
  152. package/dist/packages/sdk-ui/src/chart-options-processor/translations/boxplot/boxplot-series.d.ts +1 -1
  153. package/dist/packages/sdk-ui/src/chart-options-processor/translations/design-options.d.ts +13 -8
  154. package/dist/packages/sdk-ui/src/chart-options-processor/translations/funnel-plot-options.d.ts +3 -3
  155. package/dist/packages/sdk-ui/src/chart-options-processor/translations/funnel-series.d.ts +3 -3
  156. package/dist/packages/sdk-ui/src/chart-options-processor/translations/legend-section.d.ts +3 -2
  157. package/dist/packages/sdk-ui/src/chart-options-processor/translations/pie-plot-options.d.ts +4 -4
  158. package/dist/packages/sdk-ui/src/chart-options-processor/translations/pie-series.d.ts +3 -3
  159. package/dist/packages/sdk-ui/src/chart-options-processor/translations/range/tooltip-range.d.ts +1 -1
  160. package/dist/packages/sdk-ui/src/chart-options-processor/translations/scatter-plot-options.d.ts +1 -1
  161. package/dist/packages/sdk-ui/src/chart-options-processor/translations/scatter-series.d.ts +3 -3
  162. package/dist/packages/sdk-ui/src/chart-options-processor/translations/scatter-tooltip.d.ts +1 -1
  163. package/dist/packages/sdk-ui/src/chart-options-processor/translations/sunburst/sunburst-levels.d.ts +2 -2
  164. package/dist/packages/sdk-ui/src/chart-options-processor/translations/sunburst/sunburst-options.d.ts +3 -3
  165. package/dist/packages/sdk-ui/src/chart-options-processor/translations/sunburst/sunburst-series.d.ts +1 -1
  166. package/dist/packages/sdk-ui/src/chart-options-processor/translations/tooltip-utils.d.ts +2 -2
  167. package/dist/packages/sdk-ui/src/chart-options-processor/translations/tooltip.d.ts +1 -1
  168. package/dist/packages/sdk-ui/src/chart-options-processor/translations/translations-to-highcharts.d.ts +7 -7
  169. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-labels.d.ts +2 -2
  170. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-options.d.ts +3 -3
  171. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-series.d.ts +2 -2
  172. package/dist/packages/sdk-ui/src/chart-options-processor/translations/treemap/treemap-tooltip.d.ts +1 -1
  173. package/dist/packages/sdk-ui/src/chart-options-processor/translations/types.d.ts +1 -1
  174. package/dist/packages/sdk-ui/src/chart-options-processor/translations/value-label-section.d.ts +12 -5
  175. package/dist/packages/sdk-ui/src/charts/indicator/chart/indicator.d.ts +4 -4
  176. package/dist/packages/sdk-ui/src/charts/indicator/indicator-legacy-chart-data-options.d.ts +1 -1
  177. package/dist/packages/sdk-ui/src/charts/indicator/indicator-legacy-chart-options/default-options.d.ts +1 -1
  178. package/dist/packages/sdk-ui/src/charts/indicator/indicator-legacy-chart-options/indicator-legacy-chart-options.d.ts +1 -1
  179. package/dist/packages/sdk-ui/src/charts/indicator/indicator-legacy-chart-options/override-with-value-color.d.ts +1 -1
  180. package/dist/packages/sdk-ui/src/charts/indicator/indicator-render-options.d.ts +1 -1
  181. package/dist/packages/sdk-ui/src/charts/map-charts/scattermap/hooks/use-tooltip-handler.d.ts +2 -2
  182. package/dist/packages/sdk-ui/src/charts/map-charts/scattermap/scattermap.d.ts +4 -4
  183. package/dist/packages/sdk-ui/src/charts/map-charts/scattermap/utils/location.d.ts +2 -2
  184. package/dist/packages/sdk-ui/src/charts/map-charts/scattermap/utils/map.d.ts +1 -1
  185. package/dist/packages/sdk-ui/src/charts/map-charts/scattermap/utils/tooltip.d.ts +1 -1
  186. package/dist/packages/sdk-ui/src/charts/table/types.d.ts +1 -1
  187. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/group-header.d.ts +1 -1
  188. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/group.d.ts +1 -1
  189. package/dist/packages/sdk-ui/src/common/components/menu/context-menu/menu.d.ts +1 -1
  190. package/dist/packages/sdk-ui/src/common/components/menu/types.d.ts +1 -1
  191. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/hooks/use-load-data-from-internal-hook.d.ts +1 -1
  192. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/with-lazy-loading.d.ts +1 -1
  193. package/dist/packages/sdk-ui/src/common/hooks/fusion-endpoints/use-get-data-source-fields.d.ts +1 -1
  194. package/dist/packages/sdk-ui/src/common/hooks/use-tracking.d.ts +1 -1
  195. package/dist/packages/sdk-ui/src/common/icons/arrow-collapse-icon.d.ts +5 -0
  196. package/dist/packages/sdk-ui/src/common/icons/double-arrow-end-icon.d.ts +1 -1
  197. package/dist/packages/sdk-ui/src/common-filters/common-filters-connector.d.ts +6 -4
  198. package/dist/packages/sdk-ui/src/common-filters/selection-utils.d.ts +2 -1
  199. package/dist/packages/sdk-ui/src/common-filters/use-common-filters.d.ts +3 -3
  200. package/dist/packages/sdk-ui/src/common-filters/utils.d.ts +1 -1
  201. package/dist/packages/sdk-ui/src/custom-widgets-provider/custom-widgets-provider-adapter.d.ts +1 -1
  202. package/dist/packages/sdk-ui/src/custom-widgets-provider/use-execute-custom-widget-query.d.ts +2 -2
  203. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/components/draggable-line.d.ts +5 -1
  204. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/components/draggable-widget-wrapper.d.ts +1 -1
  205. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/components/resizable-columns.d.ts +5 -1
  206. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/helpers.d.ts +2 -2
  207. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/utils.d.ts +1 -1
  208. package/dist/packages/sdk-ui/src/dashboard/components/horizontal-collapse.d.ts +2 -1
  209. package/dist/packages/sdk-ui/src/dashboard/components/toolbar/edit-toggle.d.ts +25 -0
  210. package/dist/packages/sdk-ui/src/dashboard/components/toolbar/filter-toggle.d.ts +16 -0
  211. package/dist/packages/sdk-ui/src/dashboard/constants.d.ts +2 -2
  212. package/dist/packages/sdk-ui/src/dashboard/dashboard-helpers.d.ts +1 -1
  213. package/dist/packages/sdk-ui/src/dashboard/dashboard.d.ts +1 -1
  214. package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-config-transformers.d.ts +3 -3
  215. package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-formatters.d.ts +1 -1
  216. package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-handlers.d.ts +2 -2
  217. package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-menu.d.ts +1 -1
  218. package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-types.d.ts +4 -4
  219. package/dist/packages/sdk-ui/src/dashboard/hooks/use-dashboard-header-toolbar.d.ts +2 -1
  220. package/dist/packages/sdk-ui/src/dashboard/hooks/use-jtd.d.ts +3 -2
  221. package/dist/packages/sdk-ui/src/dashboard/hooks/use-tabber.d.ts +25 -10
  222. package/dist/packages/sdk-ui/src/dashboard/index.d.ts +2 -2
  223. package/dist/packages/sdk-ui/src/dashboard/types.d.ts +19 -11
  224. package/dist/packages/sdk-ui/src/dashboard/use-composed-dashboard.d.ts +55 -12
  225. package/dist/packages/sdk-ui/src/decorators/component-decorators/with-tracking/error-tracker.d.ts +2 -2
  226. package/dist/packages/sdk-ui/src/filters/components/common/basic-input.d.ts +1 -1
  227. package/dist/packages/sdk-ui/src/filters/components/common/date-range-field-button.d.ts +1 -1
  228. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-display.d.ts +1 -1
  229. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-menu.d.ts +1 -1
  230. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-operations.d.ts +1 -1
  231. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-tile.d.ts +1 -1
  232. package/dist/packages/sdk-ui/src/filters/components/date-filter/date-range-filter-tile/date-range-filter-tile.d.ts +1 -1
  233. package/dist/packages/sdk-ui/src/filters/components/date-filter/relative-date-filter-tile/relative-date-filter-display.d.ts +1 -1
  234. package/dist/packages/sdk-ui/src/filters/components/date-filter/relative-date-filter-tile/relative-date-filter.d.ts +1 -1
  235. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/base.d.ts +1 -1
  236. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/calendar-select/utils.d.ts +1 -1
  237. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/multi-select-item.d.ts +1 -1
  238. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-multi-select.d.ts +1 -1
  239. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-single-select.d.ts +1 -1
  240. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/single-select-item.d.ts +1 -1
  241. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/utils.d.ts +1 -1
  242. package/dist/packages/sdk-ui/src/filters/components/filter-tile-container.d.ts +1 -1
  243. package/dist/packages/sdk-ui/src/filters/components/filters-panel/filter-relations-tile/filter-relations-tile.d.ts +1 -1
  244. package/dist/packages/sdk-ui/src/filters/components/filters-panel/filter-relations-tile/filter-relations-tooltip.d.ts +1 -1
  245. package/dist/packages/sdk-ui/src/filters/components/filters-panel/filter-relations-tile/tooltip-utils.d.ts +2 -2
  246. package/dist/packages/sdk-ui/src/filters/components/filters-panel/hooks/use-existing-filter-editing.d.ts +1 -1
  247. package/dist/packages/sdk-ui/src/filters/components/filters-panel/hooks/use-new-filter-adding.d.ts +1 -1
  248. package/dist/packages/sdk-ui/src/filters/components/icons/arrow-icon.d.ts +1 -1
  249. package/dist/packages/sdk-ui/src/filters/components/icons/double-arrow-icon.d.ts +1 -1
  250. package/dist/packages/sdk-ui/src/filters/components/member-filter-tile/member-filter-tile.d.ts +1 -1
  251. package/dist/packages/sdk-ui/src/filters/components/unsupported-filter-tile.d.ts +1 -1
  252. package/dist/packages/sdk-ui/src/filters/hooks/use-get-filter-members.d.ts +15 -2
  253. package/dist/packages/sdk-ui/src/formulas/fetch-formula.d.ts +1 -1
  254. package/dist/packages/sdk-ui/src/formulas/use-get-shared-formula.d.ts +2 -2
  255. package/dist/packages/sdk-ui/src/index.d.ts +2 -0
  256. package/dist/packages/sdk-ui/src/indicator-canvas.d.ts +2 -2
  257. package/dist/packages/sdk-ui/src/models/dashboard/dashboard-model-translator.d.ts +3 -3
  258. package/dist/packages/sdk-ui/src/models/dashboard/dashboard-model.d.ts +24 -6
  259. package/dist/packages/sdk-ui/src/models/dashboard/get-dashboard-model.d.ts +9 -1
  260. package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-utils.d.ts +7 -6
  261. package/dist/packages/sdk-ui/src/models/dashboard/types.d.ts +6 -10
  262. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dasboard-model-utils.d.ts +2 -2
  263. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dashboard-model-reducer.d.ts +1 -1
  264. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dashboard-persistence.d.ts +1 -1
  265. package/dist/packages/sdk-ui/src/models/dashboard/use-get-dashboard-model.d.ts +1 -1
  266. package/dist/packages/sdk-ui/src/models/dashboard/use-get-dashboard-models.d.ts +1 -1
  267. package/dist/packages/sdk-ui/src/models/hierarchy/get-hierarchy-models.d.ts +1 -1
  268. package/dist/packages/sdk-ui/src/models/hierarchy/use-get-hierarchy-models.d.ts +1 -1
  269. package/dist/packages/sdk-ui/src/models/widget/get-widget-model.d.ts +2 -2
  270. package/dist/packages/sdk-ui/src/models/widget/widget-model-translator/index.d.ts +1 -0
  271. package/dist/packages/sdk-ui/src/models/widget/widget-model-translator/tabber.d.ts +21 -0
  272. package/dist/packages/sdk-ui/src/models/widget/{widget-model-translator.d.ts → widget-model-translator/widget-model-translator.d.ts} +15 -15
  273. package/dist/packages/sdk-ui/src/models/widget/widget-model.d.ts +7 -1
  274. package/dist/packages/sdk-ui/src/no-results-overlay/images/index.d.ts +1 -1
  275. package/dist/packages/sdk-ui/src/pivot-table/formatters/data-cell-formatters/data-cell-color-formatter.d.ts +1 -1
  276. package/dist/packages/sdk-ui/src/pivot-table/formatters/formatter-utils.d.ts +1 -1
  277. package/dist/packages/sdk-ui/src/pivot-table/formatters/header-cell-formatters/header-cell-value-formatter.d.ts +1 -1
  278. package/dist/packages/sdk-ui/src/pivot-table/formatters/utils.d.ts +1 -1
  279. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-apply-pivot-table-cell-events/use-apply-pivot-table-cell-events.d.ts +1 -1
  280. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-get-pivot-table-query.d.ts +2 -2
  281. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-render-pivot.d.ts +7 -3
  282. package/dist/packages/sdk-ui/src/pivot-table/sorting-utils.d.ts +1 -1
  283. package/dist/packages/sdk-ui/src/props.d.ts +16 -28
  284. package/dist/packages/sdk-ui/src/query/execute-query.d.ts +2 -2
  285. package/dist/packages/sdk-ui/src/query/query-result-date-formatting.d.ts +1 -1
  286. package/dist/packages/sdk-ui/src/query-execution/query-params-comparator.d.ts +1 -1
  287. package/dist/packages/sdk-ui/src/query-execution/use-execute-query-by-widget-id.d.ts +2 -2
  288. package/dist/packages/sdk-ui/src/sisense-chart/sisense-chart.d.ts +1 -1
  289. package/dist/packages/sdk-ui/src/sisense-context/custom-sisense-context-provider.d.ts +2 -2
  290. package/dist/packages/sdk-ui/src/sisense-context/sisense-context-provider.d.ts +1 -1
  291. package/dist/packages/sdk-ui/src/sisense-context/sisense-context.d.ts +1 -1
  292. package/dist/packages/sdk-ui/src/sisense-context/sisense-query-client-provider.d.ts +1 -1
  293. package/dist/packages/sdk-ui/src/table/translations/design-options.d.ts +1 -1
  294. package/dist/packages/sdk-ui/src/themes/legacy-design-settings.d.ts +1 -1
  295. package/dist/packages/sdk-ui/src/themes/theme-loader.d.ts +1 -1
  296. package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +2 -0
  297. package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +4 -0
  298. package/dist/packages/sdk-ui/src/types.d.ts +185 -81
  299. package/dist/packages/sdk-ui/src/utils/gradient.d.ts +396 -0
  300. package/dist/packages/sdk-ui/src/utils/omit-undefined.d.ts +21 -0
  301. package/dist/packages/sdk-ui/src/widget-by-id/translate-dashboard-filters.d.ts +2 -2
  302. package/dist/packages/sdk-ui/src/widget-by-id/translate-panel-color-format.d.ts +1 -1
  303. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-data-options.d.ts +2 -2
  304. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-drilldown-options.d.ts +1 -1
  305. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-style-options/index.d.ts +1 -0
  306. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-style-options/tabber.d.ts +23 -0
  307. package/dist/packages/sdk-ui/src/widget-by-id/{translate-widget-style-options.d.ts → translate-widget-style-options/translate-widget-style-options.d.ts} +4 -4
  308. package/dist/packages/sdk-ui/src/widget-by-id/types.d.ts +44 -5
  309. package/dist/packages/sdk-ui/src/widget-by-id/utils.d.ts +33 -5
  310. package/dist/packages/sdk-ui/src/widgets/common/drilldown-breadcrumbs/use-buttons.d.ts +1 -1
  311. package/dist/packages/sdk-ui/src/widgets/common/drilldown-utils.d.ts +1 -1
  312. package/dist/packages/sdk-ui/src/widgets/common/use-drilldown-core.d.ts +1 -1
  313. package/dist/packages/sdk-ui/src/widgets/hooks/use-drilldown.d.ts +3 -3
  314. package/dist/packages/sdk-ui/src/widgets/hooks/use-with-drilldown.d.ts +1 -1
  315. package/dist/packages/sdk-ui/src/widgets/tabber/tabber-buttons-widget.d.ts +8 -0
  316. package/dist/packages/sdk-ui/src/widgets/tabber/types.d.ts +110 -0
  317. package/dist/{types-DhvOgfXa.cjs → types-Cl0_Tfey.cjs} +1 -1
  318. package/dist/{types-Dxieyr4A.js → types-CnFd03Ga.js} +1 -1
  319. package/dist/use-common-filters-WTVrWfsY.cjs +845 -0
  320. package/dist/{use-common-filters-DJyYvdev.js → use-common-filters-qFWk1Ia5.js} +70052 -69867
  321. package/dist/widget-composer-C7ZAcFHK.cjs +424 -0
  322. package/dist/widget-composer-ovIwmgin.js +1426 -0
  323. package/package.json +9 -9
  324. package/dist/derive-chart-family-BauaWEEc.cjs +0 -170
  325. package/dist/execute-query-uQ2s1ZNz.cjs +0 -1
  326. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/common.d.ts +0 -40
  327. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/index.d.ts +0 -2
  328. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/translate-dimensions.d.ts +0 -3
  329. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/renderer/hooks/use-calendar-heatmap-navigation.d.ts +0 -33
  330. package/dist/packages/sdk-ui/src/index-typedoc.d.ts +0 -31
  331. package/dist/packages/sdk-ui/src/widgets/tabber-widget.d.ts +0 -41
  332. package/dist/use-common-filters-Qj9249s0.cjs +0 -845
  333. package/dist/widget-composer-azihIMsw.js +0 -949
  334. package/dist/widget-composer-omIEhWNL.cjs +0 -428
  335. /package/dist/packages/sdk-ui/src/analytics-composer/{new-nlq-translator → nlq-v3-translator}/translate-query-to-jaql.d.ts +0 -0
@@ -1,186 +1,186 @@
1
- var Ie = Object.defineProperty, Te = Object.defineProperties;
2
- var Me = Object.getOwnPropertyDescriptors;
3
- var X = Object.getOwnPropertySymbols;
4
- var ke = Object.prototype.hasOwnProperty, Ne = Object.prototype.propertyIsEnumerable;
5
- var Z = (e, t, r) => t in e ? Ie(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, y = (e, t) => {
6
- for (var r in t || (t = {}))
7
- ke.call(t, r) && Z(e, r, t[r]);
8
- if (X)
9
- for (var r of X(t))
10
- Ne.call(t, r) && Z(e, r, t[r]);
1
+ var _e = Object.defineProperty, Le = Object.defineProperties;
2
+ var Ve = Object.getOwnPropertyDescriptors;
3
+ var ue = Object.getOwnPropertySymbols;
4
+ var Ue = Object.prototype.hasOwnProperty, Je = Object.prototype.propertyIsEnumerable;
5
+ var le = (e, r, t) => r in e ? _e(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t, h = (e, r) => {
6
+ for (var t in r || (r = {}))
7
+ Ue.call(r, t) && le(e, t, r[t]);
8
+ if (ue)
9
+ for (var t of ue(r))
10
+ Je.call(r, t) && le(e, t, r[t]);
11
11
  return e;
12
- }, T = (e, t) => Te(e, Me(t));
13
- import { f as Pe, J as Oe } from "../types-Dxieyr4A.js";
14
- import { b as Mr, E as kr, a as Nr, i as Pr, e as Or, d as Sr } from "../types-Dxieyr4A.js";
15
- import { bW as Se, bH as Le, bX as _e, bY as xe, bZ as Be, at as ne, b_ as Ve, as as Ue, b$ as Ke, b5 as Qe, au as qe, b8 as He, b6 as Ye, aH as We, b4 as Xe, b7 as Ze, e as je, d as Ge, l as Je, c0 as ve, c1 as et, c2 as tt, c3 as rt, c4 as st, c5 as nt, c6 as it, c7 as at, c8 as ot, c9 as lt, ao as ct, ca as ut, cb as ft, S as mt, i as dt, cc as ie, c as ae, cd as pt, ce as gt, cf as yt, aD as bt, ah as j, ar as ht, cg as wt, v as At, u as Et } from "../execute-query-CxMSGp-J.js";
16
- import { i as Dt, b as zt, D as Ft, d as Ct } from "../dimensions-Bk74slQe.js";
17
- class Rt {
12
+ }, q = (e, r) => Le(e, Ve(r));
13
+ import { f as We, J as Ke } from "../types-CnFd03Ga.js";
14
+ import { b as ti, E as ii, a as si, i as ni, e as ai, d as oi } from "../types-CnFd03Ga.js";
15
+ import { bW as je, bB as Qe, bX as Ye, bY as He, bZ as Xe, av as ge, b_ as Ze, au as Ge, b$ as ve, b6 as er, aw as rr, c0 as tr, b9 as ir, b7 as sr, aI as nr, b5 as ar, b8 as or, e as ur, d as lr, l as cr, c1 as fr, c2 as dr, c3 as yr, c4 as pr, c5 as mr, c6 as gr, c7 as br, c8 as hr, c9 as Fr, ca as qr, cb as wr, at as Er, cc as Ar, cd as Cr, S as xr, i as $r, s as Dr, c as j, M as z, ce as Mr, cf as Rr, cg as Sr, ch as Nr, aE as zr, am as ce, al as Or, ci as Tr, x as Br, w as Pr } from "../execute-query-JhI9RXe_.js";
16
+ import { i as kr, b as Ir, D as _r, d as Lr } from "../dimensions-DOxD1XtL.js";
17
+ class Vr {
18
18
  constructor() {
19
19
  this.keyToValue = /* @__PURE__ */ new Map(), this.valueToKey = /* @__PURE__ */ new Map();
20
20
  }
21
- set(t, r) {
22
- this.keyToValue.set(t, r), this.valueToKey.set(r, t);
21
+ set(r, t) {
22
+ this.keyToValue.set(r, t), this.valueToKey.set(t, r);
23
23
  }
24
- getByKey(t) {
25
- return this.keyToValue.get(t);
24
+ getByKey(r) {
25
+ return this.keyToValue.get(r);
26
26
  }
27
- getByValue(t) {
28
- return this.valueToKey.get(t);
27
+ getByValue(r) {
28
+ return this.valueToKey.get(r);
29
29
  }
30
30
  clear() {
31
31
  this.keyToValue.clear(), this.valueToKey.clear();
32
32
  }
33
33
  }
34
- class oe {
35
- constructor(t) {
36
- this.generateIdentifier = t, this.kv = new Rt();
34
+ class be {
35
+ constructor(r) {
36
+ this.generateIdentifier = r, this.kv = new Vr();
37
37
  }
38
- register(t, r) {
39
- this.kv.getByValue(t) || (r || (r = this.generateIdentifier(t)), this.kv.set(r, t));
38
+ register(r, t) {
39
+ this.kv.getByValue(r) || (t || (t = this.generateIdentifier(r)), this.kv.set(t, r));
40
40
  }
41
41
  clear() {
42
42
  this.kv.clear();
43
43
  }
44
- getIdentifier(t) {
45
- return this.kv.getByValue(t);
44
+ getIdentifier(r) {
45
+ return this.kv.getByValue(r);
46
46
  }
47
- getValue(t) {
48
- return this.kv.getByKey(t);
47
+ getValue(r) {
48
+ return this.kv.getByKey(r);
49
49
  }
50
50
  }
51
- class $t extends oe {
51
+ class Ur extends be {
52
52
  constructor() {
53
- super((t) => t.name), this.classToAllowedProps = /* @__PURE__ */ new Map();
53
+ super((r) => r.name), this.classToAllowedProps = /* @__PURE__ */ new Map();
54
54
  }
55
- register(t, r) {
56
- typeof r == "object" ? (r.allowProps && this.classToAllowedProps.set(t, r.allowProps), super.register(t, r.identifier)) : super.register(t, r);
55
+ register(r, t) {
56
+ typeof t == "object" ? (t.allowProps && this.classToAllowedProps.set(r, t.allowProps), super.register(r, t.identifier)) : super.register(r, t);
57
57
  }
58
- getAllowedProps(t) {
59
- return this.classToAllowedProps.get(t);
58
+ getAllowedProps(r) {
59
+ return this.classToAllowedProps.get(r);
60
60
  }
61
61
  }
62
- function It(e) {
62
+ function Jr(e) {
63
63
  if ("values" in Object)
64
64
  return Object.values(e);
65
- const t = [];
66
- for (const r in e)
67
- e.hasOwnProperty(r) && t.push(e[r]);
68
- return t;
65
+ const r = [];
66
+ for (const t in e)
67
+ e.hasOwnProperty(t) && r.push(e[t]);
68
+ return r;
69
69
  }
70
- function Tt(e, t) {
71
- const r = It(e);
72
- if ("find" in r)
73
- return r.find(t);
74
- const s = r;
75
- for (let n = 0; n < s.length; n++) {
76
- const i = s[n];
77
- if (t(i))
78
- return i;
70
+ function Wr(e, r) {
71
+ const t = Jr(e);
72
+ if ("find" in t)
73
+ return t.find(r);
74
+ const i = t;
75
+ for (let s = 0; s < i.length; s++) {
76
+ const a = i[s];
77
+ if (r(a))
78
+ return a;
79
79
  }
80
80
  }
81
- function E(e, t) {
82
- Object.entries(e).forEach(([r, s]) => t(s, r));
81
+ function O(e, r) {
82
+ Object.entries(e).forEach(([t, i]) => r(i, t));
83
83
  }
84
- function M(e, t) {
85
- return e.indexOf(t) !== -1;
84
+ function V(e, r) {
85
+ return e.indexOf(r) !== -1;
86
86
  }
87
- function G(e, t) {
88
- for (let r = 0; r < e.length; r++) {
89
- const s = e[r];
90
- if (t(s))
91
- return s;
87
+ function fe(e, r) {
88
+ for (let t = 0; t < e.length; t++) {
89
+ const i = e[t];
90
+ if (r(i))
91
+ return i;
92
92
  }
93
93
  }
94
- class Mt {
94
+ class Kr {
95
95
  constructor() {
96
96
  this.transfomers = {};
97
97
  }
98
- register(t) {
99
- this.transfomers[t.name] = t;
98
+ register(r) {
99
+ this.transfomers[r.name] = r;
100
100
  }
101
- findApplicable(t) {
102
- return Tt(this.transfomers, (r) => r.isApplicable(t));
101
+ findApplicable(r) {
102
+ return Wr(this.transfomers, (t) => t.isApplicable(r));
103
103
  }
104
- findByName(t) {
105
- return this.transfomers[t];
104
+ findByName(r) {
105
+ return this.transfomers[r];
106
106
  }
107
107
  }
108
- const kt = (e) => Object.prototype.toString.call(e).slice(8, -1), le = (e) => typeof e == "undefined", Nt = (e) => e === null, C = (e) => typeof e != "object" || e === null || e === Object.prototype ? !1 : Object.getPrototypeOf(e) === null ? !0 : Object.getPrototypeOf(e) === Object.prototype, O = (e) => C(e) && Object.keys(e).length === 0, g = (e) => Array.isArray(e), Pt = (e) => typeof e == "string", Ot = (e) => typeof e == "number" && !isNaN(e), St = (e) => typeof e == "boolean", Lt = (e) => e instanceof RegExp, R = (e) => e instanceof Map, $ = (e) => e instanceof Set, ce = (e) => kt(e) === "Symbol", _t = (e) => e instanceof Date && !isNaN(e.valueOf()), xt = (e) => e instanceof Error, J = (e) => typeof e == "number" && isNaN(e), Bt = (e) => St(e) || Nt(e) || le(e) || Ot(e) || Pt(e) || ce(e), Vt = (e) => typeof e == "bigint", Ut = (e) => e === 1 / 0 || e === -1 / 0, Kt = (e) => ArrayBuffer.isView(e) && !(e instanceof DataView), Qt = (e) => e instanceof URL, ue = (e) => e.replace(/\./g, "\\."), P = (e) => e.map(String).map(ue).join("."), F = (e) => {
109
- const t = [];
110
- let r = "";
111
- for (let n = 0; n < e.length; n++) {
112
- let i = e.charAt(n);
113
- if (i === "\\" && e.charAt(n + 1) === ".") {
114
- r += ".", n++;
108
+ const jr = (e) => Object.prototype.toString.call(e).slice(8, -1), he = (e) => typeof e == "undefined", Qr = (e) => e === null, k = (e) => typeof e != "object" || e === null || e === Object.prototype ? !1 : Object.getPrototypeOf(e) === null ? !0 : Object.getPrototypeOf(e) === Object.prototype, X = (e) => k(e) && Object.keys(e).length === 0, $ = (e) => Array.isArray(e), Yr = (e) => typeof e == "string", Hr = (e) => typeof e == "number" && !isNaN(e), Xr = (e) => typeof e == "boolean", Zr = (e) => e instanceof RegExp, I = (e) => e instanceof Map, _ = (e) => e instanceof Set, Fe = (e) => jr(e) === "Symbol", Gr = (e) => e instanceof Date && !isNaN(e.valueOf()), vr = (e) => e instanceof Error, de = (e) => typeof e == "number" && isNaN(e), et = (e) => Xr(e) || Qr(e) || he(e) || Hr(e) || Yr(e) || Fe(e), rt = (e) => typeof e == "bigint", tt = (e) => e === 1 / 0 || e === -1 / 0, it = (e) => ArrayBuffer.isView(e) && !(e instanceof DataView), st = (e) => e instanceof URL, qe = (e) => e.replace(/\./g, "\\."), Q = (e) => e.map(String).map(qe).join("."), P = (e) => {
109
+ const r = [];
110
+ let t = "";
111
+ for (let s = 0; s < e.length; s++) {
112
+ let a = e.charAt(s);
113
+ if (a === "\\" && e.charAt(s + 1) === ".") {
114
+ t += ".", s++;
115
115
  continue;
116
116
  }
117
- if (i === ".") {
118
- t.push(r), r = "";
117
+ if (a === ".") {
118
+ r.push(t), t = "";
119
119
  continue;
120
120
  }
121
- r += i;
121
+ t += a;
122
122
  }
123
- const s = r;
124
- return t.push(s), t;
123
+ const i = t;
124
+ return r.push(i), r;
125
125
  };
126
- function d(e, t, r, s) {
126
+ function E(e, r, t, i) {
127
127
  return {
128
128
  isApplicable: e,
129
- annotation: t,
130
- transform: r,
131
- untransform: s
129
+ annotation: r,
130
+ transform: t,
131
+ untransform: i
132
132
  };
133
133
  }
134
- const fe = [
135
- d(le, "undefined", () => null, () => {
134
+ const we = [
135
+ E(he, "undefined", () => null, () => {
136
136
  }),
137
- d(Vt, "bigint", (e) => e.toString(), (e) => typeof BigInt != "undefined" ? BigInt(e) : (console.error("Please add a BigInt polyfill."), e)),
138
- d(_t, "Date", (e) => e.toISOString(), (e) => new Date(e)),
139
- d(xt, "Error", (e, t) => {
140
- const r = {
137
+ E(rt, "bigint", (e) => e.toString(), (e) => typeof BigInt != "undefined" ? BigInt(e) : (console.error("Please add a BigInt polyfill."), e)),
138
+ E(Gr, "Date", (e) => e.toISOString(), (e) => new Date(e)),
139
+ E(vr, "Error", (e, r) => {
140
+ const t = {
141
141
  name: e.name,
142
142
  message: e.message
143
143
  };
144
- return t.allowedErrorProps.forEach((s) => {
145
- r[s] = e[s];
146
- }), r;
147
- }, (e, t) => {
148
- const r = new Error(e.message);
149
- return r.name = e.name, r.stack = e.stack, t.allowedErrorProps.forEach((s) => {
150
- r[s] = e[s];
151
- }), r;
144
+ return r.allowedErrorProps.forEach((i) => {
145
+ t[i] = e[i];
146
+ }), t;
147
+ }, (e, r) => {
148
+ const t = new Error(e.message);
149
+ return t.name = e.name, t.stack = e.stack, r.allowedErrorProps.forEach((i) => {
150
+ t[i] = e[i];
151
+ }), t;
152
152
  }),
153
- d(Lt, "regexp", (e) => "" + e, (e) => {
154
- const t = e.slice(1, e.lastIndexOf("/")), r = e.slice(e.lastIndexOf("/") + 1);
155
- return new RegExp(t, r);
153
+ E(Zr, "regexp", (e) => "" + e, (e) => {
154
+ const r = e.slice(1, e.lastIndexOf("/")), t = e.slice(e.lastIndexOf("/") + 1);
155
+ return new RegExp(r, t);
156
156
  }),
157
- d(
158
- $,
157
+ E(
158
+ _,
159
159
  "set",
160
160
  // (sets only exist in es6+)
161
161
  // eslint-disable-next-line es5/no-es6-methods
162
162
  (e) => [...e.values()],
163
163
  (e) => new Set(e)
164
164
  ),
165
- d(R, "map", (e) => [...e.entries()], (e) => new Map(e)),
166
- d((e) => J(e) || Ut(e), "number", (e) => J(e) ? "NaN" : e > 0 ? "Infinity" : "-Infinity", Number),
167
- d((e) => e === 0 && 1 / e === -1 / 0, "number", () => "-0", Number),
168
- d(Qt, "URL", (e) => e.toString(), (e) => new URL(e))
165
+ E(I, "map", (e) => [...e.entries()], (e) => new Map(e)),
166
+ E((e) => de(e) || tt(e), "number", (e) => de(e) ? "NaN" : e > 0 ? "Infinity" : "-Infinity", Number),
167
+ E((e) => e === 0 && 1 / e === -1 / 0, "number", () => "-0", Number),
168
+ E(st, "URL", (e) => e.toString(), (e) => new URL(e))
169
169
  ];
170
- function k(e, t, r, s) {
170
+ function U(e, r, t, i) {
171
171
  return {
172
172
  isApplicable: e,
173
- annotation: t,
174
- transform: r,
175
- untransform: s
173
+ annotation: r,
174
+ transform: t,
175
+ untransform: i
176
176
  };
177
177
  }
178
- const me = k((e, t) => ce(e) ? !!t.symbolRegistry.getIdentifier(e) : !1, (e, t) => ["symbol", t.symbolRegistry.getIdentifier(e)], (e) => e.description, (e, t, r) => {
179
- const s = r.symbolRegistry.getValue(t[1]);
180
- if (!s)
178
+ const Ee = U((e, r) => Fe(e) ? !!r.symbolRegistry.getIdentifier(e) : !1, (e, r) => ["symbol", r.symbolRegistry.getIdentifier(e)], (e) => e.description, (e, r, t) => {
179
+ const i = t.symbolRegistry.getValue(r[1]);
180
+ if (!i)
181
181
  throw new Error("Trying to deserialize unknown symbol");
182
- return s;
183
- }), qt = [
182
+ return i;
183
+ }), nt = [
184
184
  Int8Array,
185
185
  Uint8Array,
186
186
  Int16Array,
@@ -190,326 +190,326 @@ const me = k((e, t) => ce(e) ? !!t.symbolRegistry.getIdentifier(e) : !1, (e, t)
190
190
  Float32Array,
191
191
  Float64Array,
192
192
  Uint8ClampedArray
193
- ].reduce((e, t) => (e[t.name] = t, e), {}), de = k(Kt, (e) => ["typed-array", e.constructor.name], (e) => [...e], (e, t) => {
194
- const r = qt[t[1]];
195
- if (!r)
193
+ ].reduce((e, r) => (e[r.name] = r, e), {}), Ae = U(it, (e) => ["typed-array", e.constructor.name], (e) => [...e], (e, r) => {
194
+ const t = nt[r[1]];
195
+ if (!t)
196
196
  throw new Error("Trying to deserialize unknown typed array");
197
- return new r(e);
197
+ return new t(e);
198
198
  });
199
- function pe(e, t) {
200
- return e != null && e.constructor ? !!t.classRegistry.getIdentifier(e.constructor) : !1;
199
+ function Ce(e, r) {
200
+ return e != null && e.constructor ? !!r.classRegistry.getIdentifier(e.constructor) : !1;
201
201
  }
202
- const ge = k(pe, (e, t) => ["class", t.classRegistry.getIdentifier(e.constructor)], (e, t) => {
203
- const r = t.classRegistry.getAllowedProps(e.constructor);
204
- if (!r)
205
- return y({}, e);
206
- const s = {};
207
- return r.forEach((n) => {
208
- s[n] = e[n];
209
- }), s;
210
- }, (e, t, r) => {
211
- const s = r.classRegistry.getValue(t[1]);
212
- if (!s)
213
- throw new Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);
214
- return Object.assign(Object.create(s.prototype), e);
215
- }), ye = k((e, t) => !!t.customTransformerRegistry.findApplicable(e), (e, t) => ["custom", t.customTransformerRegistry.findApplicable(e).name], (e, t) => t.customTransformerRegistry.findApplicable(e).serialize(e), (e, t, r) => {
216
- const s = r.customTransformerRegistry.findByName(t[1]);
217
- if (!s)
202
+ const xe = U(Ce, (e, r) => ["class", r.classRegistry.getIdentifier(e.constructor)], (e, r) => {
203
+ const t = r.classRegistry.getAllowedProps(e.constructor);
204
+ if (!t)
205
+ return h({}, e);
206
+ const i = {};
207
+ return t.forEach((s) => {
208
+ i[s] = e[s];
209
+ }), i;
210
+ }, (e, r, t) => {
211
+ const i = t.classRegistry.getValue(r[1]);
212
+ if (!i)
213
+ throw new Error(`Trying to deserialize unknown class '${r[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);
214
+ return Object.assign(Object.create(i.prototype), e);
215
+ }), $e = U((e, r) => !!r.customTransformerRegistry.findApplicable(e), (e, r) => ["custom", r.customTransformerRegistry.findApplicable(e).name], (e, r) => r.customTransformerRegistry.findApplicable(e).serialize(e), (e, r, t) => {
216
+ const i = t.customTransformerRegistry.findByName(r[1]);
217
+ if (!i)
218
218
  throw new Error("Trying to deserialize unknown custom value");
219
- return s.deserialize(e);
220
- }), Ht = [ge, me, ye, de], v = (e, t) => {
221
- const r = G(Ht, (n) => n.isApplicable(e, t));
222
- if (r)
219
+ return i.deserialize(e);
220
+ }), at = [xe, Ee, $e, Ae], ye = (e, r) => {
221
+ const t = fe(at, (s) => s.isApplicable(e, r));
222
+ if (t)
223
223
  return {
224
- value: r.transform(e, t),
225
- type: r.annotation(e, t)
224
+ value: t.transform(e, r),
225
+ type: t.annotation(e, r)
226
226
  };
227
- const s = G(fe, (n) => n.isApplicable(e, t));
228
- if (s)
227
+ const i = fe(we, (s) => s.isApplicable(e, r));
228
+ if (i)
229
229
  return {
230
- value: s.transform(e, t),
231
- type: s.annotation
230
+ value: i.transform(e, r),
231
+ type: i.annotation
232
232
  };
233
- }, be = {};
234
- fe.forEach((e) => {
235
- be[e.annotation] = e;
233
+ }, De = {};
234
+ we.forEach((e) => {
235
+ De[e.annotation] = e;
236
236
  });
237
- const Yt = (e, t, r) => {
238
- if (g(t))
239
- switch (t[0]) {
237
+ const ot = (e, r, t) => {
238
+ if ($(r))
239
+ switch (r[0]) {
240
240
  case "symbol":
241
- return me.untransform(e, t, r);
241
+ return Ee.untransform(e, r, t);
242
242
  case "class":
243
- return ge.untransform(e, t, r);
243
+ return xe.untransform(e, r, t);
244
244
  case "custom":
245
- return ye.untransform(e, t, r);
245
+ return $e.untransform(e, r, t);
246
246
  case "typed-array":
247
- return de.untransform(e, t, r);
247
+ return Ae.untransform(e, r, t);
248
248
  default:
249
- throw new Error("Unknown transformation: " + t);
249
+ throw new Error("Unknown transformation: " + r);
250
250
  }
251
251
  else {
252
- const s = be[t];
253
- if (!s)
254
- throw new Error("Unknown transformation: " + t);
255
- return s.untransform(e, r);
252
+ const i = De[r];
253
+ if (!i)
254
+ throw new Error("Unknown transformation: " + r);
255
+ return i.untransform(e, t);
256
256
  }
257
- }, w = (e, t) => {
258
- if (t > e.size)
257
+ }, N = (e, r) => {
258
+ if (r > e.size)
259
259
  throw new Error("index out of bounds");
260
- const r = e.keys();
261
- for (; t > 0; )
262
- r.next(), t--;
263
- return r.next().value;
260
+ const t = e.keys();
261
+ for (; r > 0; )
262
+ t.next(), r--;
263
+ return t.next().value;
264
264
  };
265
- function he(e) {
266
- if (M(e, "__proto__"))
265
+ function Me(e) {
266
+ if (V(e, "__proto__"))
267
267
  throw new Error("__proto__ is not allowed as a property");
268
- if (M(e, "prototype"))
268
+ if (V(e, "prototype"))
269
269
  throw new Error("prototype is not allowed as a property");
270
- if (M(e, "constructor"))
270
+ if (V(e, "constructor"))
271
271
  throw new Error("constructor is not allowed as a property");
272
272
  }
273
- const Wt = (e, t) => {
274
- he(t);
275
- for (let r = 0; r < t.length; r++) {
276
- const s = t[r];
277
- if ($(e))
278
- e = w(e, +s);
279
- else if (R(e)) {
280
- const n = +s, i = +t[++r] == 0 ? "key" : "value", a = w(e, n);
281
- switch (i) {
273
+ const ut = (e, r) => {
274
+ Me(r);
275
+ for (let t = 0; t < r.length; t++) {
276
+ const i = r[t];
277
+ if (_(e))
278
+ e = N(e, +i);
279
+ else if (I(e)) {
280
+ const s = +i, a = +r[++t] == 0 ? "key" : "value", n = N(e, s);
281
+ switch (a) {
282
282
  case "key":
283
- e = a;
283
+ e = n;
284
284
  break;
285
285
  case "value":
286
- e = e.get(a);
286
+ e = e.get(n);
287
287
  break;
288
288
  }
289
289
  } else
290
- e = e[s];
290
+ e = e[i];
291
291
  }
292
292
  return e;
293
- }, S = (e, t, r) => {
294
- if (he(t), t.length === 0)
295
- return r(e);
296
- let s = e;
297
- for (let i = 0; i < t.length - 1; i++) {
298
- const a = t[i];
299
- if (g(s)) {
300
- const o = +a;
301
- s = s[o];
302
- } else if (C(s))
303
- s = s[a];
304
- else if ($(s)) {
305
- const o = +a;
306
- s = w(s, o);
307
- } else if (R(s)) {
308
- if (i === t.length - 2)
293
+ }, Z = (e, r, t) => {
294
+ if (Me(r), r.length === 0)
295
+ return t(e);
296
+ let i = e;
297
+ for (let a = 0; a < r.length - 1; a++) {
298
+ const n = r[a];
299
+ if ($(i)) {
300
+ const o = +n;
301
+ i = i[o];
302
+ } else if (k(i))
303
+ i = i[n];
304
+ else if (_(i)) {
305
+ const o = +n;
306
+ i = N(i, o);
307
+ } else if (I(i)) {
308
+ if (a === r.length - 2)
309
309
  break;
310
- const c = +a, I = +t[++i] == 0 ? "key" : "value", h = w(s, c);
311
- switch (I) {
310
+ const u = +n, c = +r[++a] == 0 ? "key" : "value", d = N(i, u);
311
+ switch (c) {
312
312
  case "key":
313
- s = h;
313
+ i = d;
314
314
  break;
315
315
  case "value":
316
- s = s.get(h);
316
+ i = i.get(d);
317
317
  break;
318
318
  }
319
319
  }
320
320
  }
321
- const n = t[t.length - 1];
322
- if (g(s) ? s[+n] = r(s[+n]) : C(s) && (s[n] = r(s[n])), $(s)) {
323
- const i = w(s, +n), a = r(i);
324
- i !== a && (s.delete(i), s.add(a));
321
+ const s = r[r.length - 1];
322
+ if ($(i) ? i[+s] = t(i[+s]) : k(i) && (i[s] = t(i[s])), _(i)) {
323
+ const a = N(i, +s), n = t(a);
324
+ a !== n && (i.delete(a), i.add(n));
325
325
  }
326
- if (R(s)) {
327
- const i = +t[t.length - 2], a = w(s, i);
328
- switch (+n == 0 ? "key" : "value") {
326
+ if (I(i)) {
327
+ const a = +r[r.length - 2], n = N(i, a);
328
+ switch (+s == 0 ? "key" : "value") {
329
329
  case "key": {
330
- const c = r(a);
331
- s.set(c, s.get(a)), c !== a && s.delete(a);
330
+ const u = t(n);
331
+ i.set(u, i.get(n)), u !== n && i.delete(n);
332
332
  break;
333
333
  }
334
334
  case "value": {
335
- s.set(a, r(s.get(a)));
335
+ i.set(n, t(i.get(n)));
336
336
  break;
337
337
  }
338
338
  }
339
339
  }
340
340
  return e;
341
341
  };
342
- function L(e, t, r = []) {
342
+ function G(e, r, t = []) {
343
343
  if (!e)
344
344
  return;
345
- if (!g(e)) {
346
- E(e, (i, a) => L(i, t, [...r, ...F(a)]));
345
+ if (!$(e)) {
346
+ O(e, (a, n) => G(a, r, [...t, ...P(n)]));
347
347
  return;
348
348
  }
349
- const [s, n] = e;
350
- n && E(n, (i, a) => {
351
- L(i, t, [...r, ...F(a)]);
352
- }), t(s, r);
349
+ const [i, s] = e;
350
+ s && O(s, (a, n) => {
351
+ G(a, r, [...t, ...P(n)]);
352
+ }), r(i, t);
353
353
  }
354
- function Xt(e, t, r) {
355
- return L(t, (s, n) => {
356
- e = S(e, n, (i) => Yt(i, s, r));
354
+ function lt(e, r, t) {
355
+ return G(r, (i, s) => {
356
+ e = Z(e, s, (a) => ot(a, i, t));
357
357
  }), e;
358
358
  }
359
- function Zt(e, t) {
360
- function r(s, n) {
361
- const i = Wt(e, F(n));
362
- s.map(F).forEach((a) => {
363
- e = S(e, a, () => i);
359
+ function ct(e, r) {
360
+ function t(i, s) {
361
+ const a = ut(e, P(s));
362
+ i.map(P).forEach((n) => {
363
+ e = Z(e, n, () => a);
364
364
  });
365
365
  }
366
- if (g(t)) {
367
- const [s, n] = t;
368
- s.forEach((i) => {
369
- e = S(e, F(i), () => e);
370
- }), n && E(n, r);
366
+ if ($(r)) {
367
+ const [i, s] = r;
368
+ i.forEach((a) => {
369
+ e = Z(e, P(a), () => e);
370
+ }), s && O(s, t);
371
371
  } else
372
- E(t, r);
372
+ O(r, t);
373
373
  return e;
374
374
  }
375
- const jt = (e, t) => C(e) || g(e) || R(e) || $(e) || pe(e, t);
376
- function Gt(e, t, r) {
377
- const s = r.get(e);
378
- s ? s.push(t) : r.set(e, [t]);
375
+ const ft = (e, r) => k(e) || $(e) || I(e) || _(e) || Ce(e, r);
376
+ function dt(e, r, t) {
377
+ const i = t.get(e);
378
+ i ? i.push(r) : t.set(e, [r]);
379
379
  }
380
- function Jt(e, t) {
381
- const r = {};
382
- let s;
383
- return e.forEach((n) => {
384
- if (n.length <= 1)
380
+ function yt(e, r) {
381
+ const t = {};
382
+ let i;
383
+ return e.forEach((s) => {
384
+ if (s.length <= 1)
385
385
  return;
386
- t || (n = n.map((o) => o.map(String)).sort((o, c) => o.length - c.length));
387
- const [i, ...a] = n;
388
- i.length === 0 ? s = a.map(P) : r[P(i)] = a.map(P);
389
- }), s ? O(r) ? [s] : [s, r] : O(r) ? void 0 : r;
386
+ r || (s = s.map((o) => o.map(String)).sort((o, u) => o.length - u.length));
387
+ const [a, ...n] = s;
388
+ a.length === 0 ? i = n.map(Q) : t[Q(a)] = n.map(Q);
389
+ }), i ? X(t) ? [i] : [i, t] : X(t) ? void 0 : t;
390
390
  }
391
- const we = (e, t, r, s, n = [], i = [], a = /* @__PURE__ */ new Map()) => {
392
- var W;
393
- const o = Bt(e);
391
+ const Re = (e, r, t, i, s = [], a = [], n = /* @__PURE__ */ new Map()) => {
392
+ var b;
393
+ const o = et(e);
394
394
  if (!o) {
395
- Gt(e, n, t);
396
- const p = a.get(e);
397
- if (p)
398
- return s ? {
395
+ dt(e, s, r);
396
+ const f = n.get(e);
397
+ if (f)
398
+ return i ? {
399
399
  transformedValue: null
400
- } : p;
400
+ } : f;
401
401
  }
402
- if (!jt(e, r)) {
403
- const p = v(e, r), m = p ? {
404
- transformedValue: p.value,
405
- annotations: [p.type]
402
+ if (!ft(e, t)) {
403
+ const f = ye(e, t), y = f ? {
404
+ transformedValue: f.value,
405
+ annotations: [f.type]
406
406
  } : {
407
407
  transformedValue: e
408
408
  };
409
- return o || a.set(e, m), m;
409
+ return o || n.set(e, y), y;
410
410
  }
411
- if (M(i, e))
411
+ if (V(a, e))
412
412
  return {
413
413
  transformedValue: null
414
414
  };
415
- const c = v(e, r), I = (W = c == null ? void 0 : c.value) != null ? W : e, h = g(I) ? [] : {}, D = {};
416
- E(I, (p, m) => {
417
- if (m === "__proto__" || m === "constructor" || m === "prototype")
418
- throw new Error(`Detected property ${m}. This is a prototype pollution risk, please remove it from your object.`);
419
- const z = we(p, t, r, s, [...n, m], [...i, e], a);
420
- h[m] = z.transformedValue, g(z.annotations) ? D[m] = z.annotations : C(z.annotations) && E(z.annotations, (Re, $e) => {
421
- D[ue(m) + "." + $e] = Re;
415
+ const u = ye(e, t), c = (b = u == null ? void 0 : u.value) != null ? b : e, d = $(c) ? [] : {}, g = {};
416
+ O(c, (f, y) => {
417
+ if (y === "__proto__" || y === "constructor" || y === "prototype")
418
+ throw new Error(`Detected property ${y}. This is a prototype pollution risk, please remove it from your object.`);
419
+ const x = Re(f, r, t, i, [...s, y], [...a, e], n);
420
+ d[y] = x.transformedValue, $(x.annotations) ? g[y] = x.annotations : k(x.annotations) && O(x.annotations, (B, S) => {
421
+ g[qe(y) + "." + S] = B;
422
422
  });
423
423
  });
424
- const Y = O(D) ? {
425
- transformedValue: h,
426
- annotations: c ? [c.type] : void 0
424
+ const p = X(g) ? {
425
+ transformedValue: d,
426
+ annotations: u ? [u.type] : void 0
427
427
  } : {
428
- transformedValue: h,
429
- annotations: c ? [c.type, D] : D
428
+ transformedValue: d,
429
+ annotations: u ? [u.type, g] : g
430
430
  };
431
- return o || a.set(e, Y), Y;
431
+ return o || n.set(e, p), p;
432
432
  };
433
- function Ae(e) {
433
+ function Se(e) {
434
434
  return Object.prototype.toString.call(e).slice(8, -1);
435
435
  }
436
- function ee(e) {
437
- return Ae(e) === "Array";
436
+ function pe(e) {
437
+ return Se(e) === "Array";
438
438
  }
439
- function vt(e) {
440
- if (Ae(e) !== "Object")
439
+ function pt(e) {
440
+ if (Se(e) !== "Object")
441
441
  return !1;
442
- const t = Object.getPrototypeOf(e);
443
- return !!t && t.constructor === Object && t === Object.prototype;
442
+ const r = Object.getPrototypeOf(e);
443
+ return !!r && r.constructor === Object && r === Object.prototype;
444
444
  }
445
- function er(e, t, r, s, n) {
446
- const i = {}.propertyIsEnumerable.call(s, t) ? "enumerable" : "nonenumerable";
447
- i === "enumerable" && (e[t] = r), n && i === "nonenumerable" && Object.defineProperty(e, t, {
448
- value: r,
445
+ function mt(e, r, t, i, s) {
446
+ const a = {}.propertyIsEnumerable.call(i, r) ? "enumerable" : "nonenumerable";
447
+ a === "enumerable" && (e[r] = t), s && a === "nonenumerable" && Object.defineProperty(e, r, {
448
+ value: t,
449
449
  enumerable: !1,
450
450
  writable: !0,
451
451
  configurable: !0
452
452
  });
453
453
  }
454
- function _(e, t = {}) {
455
- if (ee(e))
456
- return e.map((n) => _(n, t));
457
- if (!vt(e))
454
+ function v(e, r = {}) {
455
+ if (pe(e))
456
+ return e.map((s) => v(s, r));
457
+ if (!pt(e))
458
458
  return e;
459
- const r = Object.getOwnPropertyNames(e), s = Object.getOwnPropertySymbols(e);
460
- return [...r, ...s].reduce((n, i) => {
461
- if (ee(t.props) && !t.props.includes(i))
462
- return n;
463
- const a = e[i], o = _(a, t);
464
- return er(n, i, o, e, t.nonenumerable), n;
459
+ const t = Object.getOwnPropertyNames(e), i = Object.getOwnPropertySymbols(e);
460
+ return [...t, ...i].reduce((s, a) => {
461
+ if (pe(r.props) && !r.props.includes(a))
462
+ return s;
463
+ const n = e[a], o = v(n, r);
464
+ return mt(s, a, o, e, r.nonenumerable), s;
465
465
  }, {});
466
466
  }
467
467
  class l {
468
468
  /**
469
469
  * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.
470
470
  */
471
- constructor({ dedupe: t = !1 } = {}) {
472
- this.classRegistry = new $t(), this.symbolRegistry = new oe((r) => {
473
- var s;
474
- return (s = r.description) != null ? s : "";
475
- }), this.customTransformerRegistry = new Mt(), this.allowedErrorProps = [], this.dedupe = t;
471
+ constructor({ dedupe: r = !1 } = {}) {
472
+ this.classRegistry = new Ur(), this.symbolRegistry = new be((t) => {
473
+ var i;
474
+ return (i = t.description) != null ? i : "";
475
+ }), this.customTransformerRegistry = new Kr(), this.allowedErrorProps = [], this.dedupe = r;
476
476
  }
477
- serialize(t) {
478
- const r = /* @__PURE__ */ new Map(), s = we(t, r, this, this.dedupe), n = {
479
- json: s.transformedValue
477
+ serialize(r) {
478
+ const t = /* @__PURE__ */ new Map(), i = Re(r, t, this, this.dedupe), s = {
479
+ json: i.transformedValue
480
480
  };
481
- s.annotations && (n.meta = T(y({}, n.meta), {
482
- values: s.annotations
481
+ i.annotations && (s.meta = q(h({}, s.meta), {
482
+ values: i.annotations
483
483
  }));
484
- const i = Jt(r, this.dedupe);
485
- return i && (n.meta = T(y({}, n.meta), {
486
- referentialEqualities: i
487
- })), n;
484
+ const a = yt(t, this.dedupe);
485
+ return a && (s.meta = q(h({}, s.meta), {
486
+ referentialEqualities: a
487
+ })), s;
488
488
  }
489
- deserialize(t) {
490
- const { json: r, meta: s } = t;
491
- let n = _(r);
492
- return s != null && s.values && (n = Xt(n, s.values, this)), s != null && s.referentialEqualities && (n = Zt(n, s.referentialEqualities)), n;
489
+ deserialize(r) {
490
+ const { json: t, meta: i } = r;
491
+ let s = v(t);
492
+ return i != null && i.values && (s = lt(s, i.values, this)), i != null && i.referentialEqualities && (s = ct(s, i.referentialEqualities)), s;
493
493
  }
494
- stringify(t) {
495
- return JSON.stringify(this.serialize(t));
494
+ stringify(r) {
495
+ return JSON.stringify(this.serialize(r));
496
496
  }
497
- parse(t) {
498
- return this.deserialize(JSON.parse(t));
497
+ parse(r) {
498
+ return this.deserialize(JSON.parse(r));
499
499
  }
500
- registerClass(t, r) {
501
- this.classRegistry.register(t, r);
500
+ registerClass(r, t) {
501
+ this.classRegistry.register(r, t);
502
502
  }
503
- registerSymbol(t, r) {
504
- this.symbolRegistry.register(t, r);
503
+ registerSymbol(r, t) {
504
+ this.symbolRegistry.register(r, t);
505
505
  }
506
- registerCustom(t, r) {
507
- this.customTransformerRegistry.register(y({
508
- name: r
509
- }, t));
506
+ registerCustom(r, t) {
507
+ this.customTransformerRegistry.register(h({
508
+ name: t
509
+ }, r));
510
510
  }
511
- allowErrorProps(...t) {
512
- this.allowedErrorProps.push(...t);
511
+ allowErrorProps(...r) {
512
+ this.allowedErrorProps.push(...r);
513
513
  }
514
514
  }
515
515
  l.defaultInstance = new l();
@@ -521,513 +521,2164 @@ l.registerClass = l.defaultInstance.registerClass.bind(l.defaultInstance);
521
521
  l.registerSymbol = l.defaultInstance.registerSymbol.bind(l.defaultInstance);
522
522
  l.registerCustom = l.defaultInstance.registerCustom.bind(l.defaultInstance);
523
523
  l.allowErrorProps = l.defaultInstance.allowErrorProps.bind(l.defaultInstance);
524
- const b = (e) => e === void 0 ? mt.None : e, tr = (e) => new Oe(e.metadataItem, e.type), x = (e) => new je(e.name, e.expression, e.type, e.description, b(e.sort), e.dataSource, e.composeCode), B = (e) => new Ge(e.name, e.expression, e.granularity, e.format, e.description, b(e.sort), e.dataSource, e.composeCode), f = (e) => {
524
+ const R = (e) => e === void 0 ? xr.None : e, gt = (e) => new Ke(e.metadataItem, e.type), ee = (e) => new ur(e.name, e.expression, e.type, e.description, R(e.sort), e.dataSource, e.composeCode), re = (e) => new lr(e.name, e.expression, e.granularity, e.format, e.description, R(e.sort), e.dataSource, e.composeCode), F = (e) => {
525
525
  switch (e.__serializable) {
526
526
  case "DimensionalAttribute":
527
- return x(e);
527
+ return ee(e);
528
528
  case "DimensionalLevelAttribute":
529
- return B(e);
529
+ return re(e);
530
530
  default:
531
531
  return e;
532
532
  }
533
- }, Ee = (e) => new Ft(e.name, e.expression, e.attributes.map(f), e.dimensions.map(rr), e.type, e.description, b(e.sort), e.dataSource, e.composeCode, e.defaultAttribute ? f(e.defaultAttribute) : void 0), De = (e) => new Ct(e.name, e.expression, e.description, b(e.sort), e.dataSource, e.composeCode), rr = (e) => {
533
+ }, Ne = (e) => new _r(e.name, e.expression, e.attributes.map(F), e.dimensions.map(bt), e.type, e.description, R(e.sort), e.dataSource, e.composeCode, e.defaultAttribute ? F(e.defaultAttribute) : void 0), ze = (e) => new Lr(e.name, e.expression, e.description, R(e.sort), e.dataSource, e.composeCode), bt = (e) => {
534
534
  switch (e.__serializable) {
535
535
  case "DimensionalDimension":
536
- return Ee(e);
536
+ return Ne(e);
537
537
  case "DimensionalDateDimension":
538
- return De(e);
538
+ return ze(e);
539
539
  default:
540
540
  return e;
541
541
  }
542
- }, V = (e) => new Je(e.name, f(e.attribute), e.aggregation, e.format, e.description, b(e.sort), e.dataSource, e.composeCode), U = (e) => {
543
- const t = Object.fromEntries(Object.entries(e.context).map(([r, s]) => {
544
- if (s && typeof s == "object" && "__serializable" in s)
545
- switch (s.__serializable) {
542
+ }, te = (e) => new cr(e.name, F(e.attribute), e.aggregation, e.format, e.description, R(e.sort), e.dataSource, e.composeCode), ie = (e) => {
543
+ const r = Object.fromEntries(Object.entries(e.context).map(([t, i]) => {
544
+ if (i && typeof i == "object" && "__serializable" in i)
545
+ switch (i.__serializable) {
546
546
  case "DimensionalAttribute":
547
547
  return [
548
- r,
549
- x(s)
548
+ t,
549
+ ee(i)
550
550
  ];
551
551
  case "DimensionalLevelAttribute":
552
552
  return [
553
- r,
554
- B(s)
553
+ t,
554
+ re(i)
555
555
  ];
556
556
  case "DimensionalBaseMeasure":
557
557
  return [
558
- r,
559
- V(s)
558
+ t,
559
+ te(i)
560
560
  ];
561
561
  case "DimensionalCalculatedMeasure":
562
562
  return [
563
- r,
564
- U(s)
563
+ t,
564
+ ie(i)
565
565
  ];
566
566
  default:
567
567
  return [
568
- r,
569
- s
568
+ t,
569
+ i
570
570
  ];
571
571
  }
572
572
  return [
573
- r,
574
- s
573
+ t,
574
+ i
575
575
  ];
576
576
  }));
577
- return new ve(e.name, e.expression, t, e.format, e.description, b(e.sort), e.dataSource, e.composeCode);
578
- }, ze = (e) => new et(e.name, f(e.attribute), e.format, e.description, b(e.sort), e.dataSource, e.composeCode), te = (e) => {
577
+ return new fr(e.name, e.expression, r, e.format, e.description, R(e.sort), e.dataSource, e.composeCode);
578
+ }, Oe = (e) => new dr(e.name, F(e.attribute), e.format, e.description, R(e.sort), e.dataSource, e.composeCode), Y = (e) => {
579
579
  switch (e.__serializable) {
580
580
  case "DimensionalBaseMeasure":
581
- return V(e);
581
+ return te(e);
582
582
  case "DimensionalCalculatedMeasure":
583
- return U(e);
583
+ return ie(e);
584
584
  case "DimensionalMeasureTemplate":
585
- return ze(e);
585
+ return Oe(e);
586
586
  default:
587
587
  return e;
588
588
  }
589
- }, u = (e) => {
589
+ }, m = (e) => {
590
590
  switch (e.__serializable) {
591
591
  case "MembersFilter":
592
- return new ft(f(e.attribute), e.members, e.config.backgroundFilter ? T(y({}, e.config), {
593
- backgroundFilter: u(e.config.backgroundFilter)
592
+ return new Cr(F(e.attribute), e.members, e.config.backgroundFilter ? q(h({}, e.config), {
593
+ backgroundFilter: m(e.config.backgroundFilter)
594
594
  }) : e.config, e.composeCode);
595
595
  case "LogicalAttributeFilter":
596
- return new ut(e.filters.map((r) => u(r)), e.operator, e.config, e.composeCode);
596
+ return new Ar(e.filters.map((t) => m(t)), e.operator, e.config, e.composeCode);
597
597
  case "CascadingFilter":
598
- return new ct(e._filters.map((r) => u(r)), e.config, e.composeCode);
598
+ return new Er(e._filters.map((t) => m(t)), e.config, e.composeCode);
599
599
  case "ExcludeFilter":
600
- return new lt(u(e.filter), e.input ? u(e.input) : void 0, e.config, e.composeCode);
600
+ return new wr(m(e.filter), e.input ? m(e.input) : void 0, e.config, e.composeCode);
601
601
  case "MeasureFilter":
602
- return new ot(f(e.attribute), te(e.measure), e.operatorA, e.valueA, e.operatorB, e.valueB, e.config, e.composeCode);
602
+ return new qr(F(e.attribute), Y(e.measure), e.operatorA, e.valueA, e.operatorB, e.valueB, e.config, e.composeCode);
603
603
  case "RankingFilter":
604
- return new at(f(e.attribute), te(e.measure), e.operator, e.count, e.config, e.composeCode);
604
+ return new Fr(F(e.attribute), Y(e.measure), e.operator, e.count, e.config, e.composeCode);
605
+ case "MeasureRankingFilter":
606
+ return new hr(Y(e.measure), e.operator, e.count, e.config, e.composeCode);
605
607
  case "NumericFilter":
606
- return new it(f(e.attribute), e.operatorA, e.valueA, e.operatorB, e.valueB, e.config, e.composeCode);
608
+ return new br(F(e.attribute), e.operatorA, e.valueA, e.operatorB, e.valueB, e.config, e.composeCode);
607
609
  case "TextFilter":
608
- return new nt(f(e.attribute), e.operatorA, e.valueA, e.config, e.composeCode);
610
+ return new gr(F(e.attribute), e.operatorA, e.valueA, e.config, e.composeCode);
609
611
  case "DateRangeFilter": {
610
- const { valueA: r, valueB: s } = e;
611
- return new st(f(e.attribute), r, s, e.config, e.composeCode);
612
+ const { valueA: t, valueB: i } = e;
613
+ return new mr(F(e.attribute), t, i, e.config, e.composeCode);
612
614
  }
613
615
  case "RelativeDateFilter":
614
- return new rt(f(e.attribute), e.offset, e.count, e.operator, e.anchor, e.config, e.composeCode);
616
+ return new pr(F(e.attribute), e.offset, e.count, e.operator, e.anchor, e.config, e.composeCode);
615
617
  case "CustomFilter":
616
- return new tt(f(e.attribute), e.jaqlExpression, e.config, e.composeCode);
618
+ return new yr(F(e.attribute), e.jaqlExpression, e.config, e.composeCode);
617
619
  default:
618
620
  return e;
619
621
  }
620
622
  };
621
623
  l.registerCustom({
622
- isApplicable: Pe,
624
+ isApplicable: We,
623
625
  serialize: (e) => e.serialize(),
624
- deserialize: (e) => tr(e)
626
+ deserialize: (e) => gt(e)
625
627
  }, "JaqlElement");
626
628
  l.registerCustom({
627
- isApplicable: Se,
629
+ isApplicable: je,
628
630
  serialize: (e) => e.serialize(),
629
- deserialize: (e) => x(e)
631
+ deserialize: (e) => ee(e)
630
632
  }, "DimensionalAttribute");
631
633
  l.registerCustom({
632
- isApplicable: Le,
634
+ isApplicable: Qe,
633
635
  serialize: (e) => e.serialize(),
634
- deserialize: (e) => B(e)
636
+ deserialize: (e) => re(e)
635
637
  }, "DimensionalLevelAttribute");
636
638
  l.registerCustom({
637
- isApplicable: Dt,
639
+ isApplicable: kr,
638
640
  serialize: (e) => e.serialize(),
639
- deserialize: (e) => Ee(e)
641
+ deserialize: (e) => Ne(e)
640
642
  }, "DimensionalDimension");
641
643
  l.registerCustom({
642
- isApplicable: zt,
644
+ isApplicable: Ir,
643
645
  serialize: (e) => e.serialize(),
644
- deserialize: (e) => De(e)
646
+ deserialize: (e) => ze(e)
645
647
  }, "DimensionalDateDimension");
646
648
  l.registerCustom({
647
- isApplicable: _e,
649
+ isApplicable: Ye,
648
650
  serialize: (e) => e.serialize(),
649
- deserialize: (e) => V(e)
651
+ deserialize: (e) => te(e)
650
652
  }, "DimensionalBaseMeasure");
651
653
  l.registerCustom({
652
- isApplicable: xe,
654
+ isApplicable: He,
653
655
  serialize: (e) => e.serialize(),
654
- deserialize: (e) => U(e)
656
+ deserialize: (e) => ie(e)
655
657
  }, "DimensionalCalculatedMeasure");
656
658
  l.registerCustom({
657
- isApplicable: Be,
659
+ isApplicable: Xe,
658
660
  serialize: (e) => e.serialize(),
659
- deserialize: (e) => ze(e)
661
+ deserialize: (e) => Oe(e)
660
662
  }, "DimensionalMeasureTemplate");
661
663
  l.registerCustom({
662
- isApplicable: ne,
664
+ isApplicable: ge,
663
665
  serialize: (e) => e.serialize(),
664
- deserialize: (e) => u(e)
666
+ deserialize: (e) => m(e)
665
667
  }, "MembersFilter");
666
668
  l.registerCustom({
667
- isApplicable: Ve,
669
+ isApplicable: Ze,
668
670
  serialize: (e) => e.serialize(),
669
- deserialize: (e) => u(e)
671
+ deserialize: (e) => m(e)
670
672
  }, "LogicalAttributeFilter");
671
673
  l.registerCustom({
672
- isApplicable: Ue,
674
+ isApplicable: Ge,
673
675
  serialize: (e) => e.serialize(),
674
- deserialize: (e) => u(e)
676
+ deserialize: (e) => m(e)
675
677
  }, "CascadingFilter");
676
678
  l.registerCustom({
677
- isApplicable: Ke,
679
+ isApplicable: ve,
678
680
  serialize: (e) => e.serialize(),
679
- deserialize: (e) => u(e)
681
+ deserialize: (e) => m(e)
680
682
  }, "ExcludeFilter");
681
683
  l.registerCustom({
682
- isApplicable: Qe,
684
+ isApplicable: er,
683
685
  serialize: (e) => e.serialize(),
684
- deserialize: (e) => u(e)
686
+ deserialize: (e) => m(e)
685
687
  }, "MeasureFilter");
686
688
  l.registerCustom({
687
- isApplicable: qe,
689
+ isApplicable: rr,
688
690
  serialize: (e) => e.serialize(),
689
- deserialize: (e) => u(e)
691
+ deserialize: (e) => m(e)
690
692
  }, "RankingFilter");
691
693
  l.registerCustom({
692
- isApplicable: He,
694
+ isApplicable: tr,
695
+ serialize: (e) => e.serialize(),
696
+ deserialize: (e) => m(e)
697
+ }, "MeasureRankingFilter");
698
+ l.registerCustom({
699
+ isApplicable: ir,
693
700
  serialize: (e) => e.serialize(),
694
- deserialize: (e) => u(e)
701
+ deserialize: (e) => m(e)
695
702
  }, "NumericFilter");
696
703
  l.registerCustom({
697
- isApplicable: Ye,
704
+ isApplicable: sr,
698
705
  serialize: (e) => e.serialize(),
699
- deserialize: (e) => u(e)
706
+ deserialize: (e) => m(e)
700
707
  }, "TextFilter");
701
708
  l.registerCustom({
702
- isApplicable: We,
709
+ isApplicable: nr,
703
710
  serialize: (e) => e.serialize(),
704
- deserialize: (e) => u(e)
711
+ deserialize: (e) => m(e)
705
712
  }, "DateRangeFilter");
706
713
  l.registerCustom({
707
- isApplicable: Xe,
714
+ isApplicable: ar,
708
715
  serialize: (e) => e.serialize(),
709
- deserialize: (e) => u(e)
716
+ deserialize: (e) => m(e)
710
717
  }, "RelativeDateFilter");
711
718
  l.registerCustom({
712
- isApplicable: Ze,
719
+ isApplicable: or,
713
720
  serialize: (e) => e.serialize(),
714
- deserialize: (e) => u(e)
721
+ deserialize: (e) => m(e)
715
722
  }, "CustomFilter");
716
- const Cr = l, A = "DM.";
717
- function sr(e) {
723
+ const Zt = l, T = "DM.";
724
+ function C(e) {
718
725
  return typeof e == "object" && e !== null && "function" in e && "args" in e;
719
726
  }
720
- function K(e) {
721
- return e.every(sr);
727
+ function se(e) {
728
+ return e.every(C);
722
729
  }
723
- function Q(e) {
730
+ function J(e) {
724
731
  return "attribute" in e && "config" in e;
725
732
  }
726
- function q(e) {
733
+ function L(e) {
727
734
  return "left" in e && "right" in e && "operator" in e;
728
735
  }
729
- function nr(e) {
730
- return !Q(e) && !q(e);
731
- }
732
- function H(e, t) {
733
- const r = {}, s = e !== "" ? e + "." : "";
734
- for (const n in t)
735
- if (typeof t[`${n}`] == "function")
736
- r[`${s}${n}`] = t[`${n}`];
737
- else if (typeof t[`${n}`] == "object") {
738
- const i = H("", t[`${n}`]);
739
- for (const a in i)
740
- r[`${s}${n}.${a}`] = i[`${a}`];
741
- }
742
- return r;
736
+ function Te(e) {
737
+ return !J(e) && !L(e);
743
738
  }
744
- const re = H("measureFactory", pt), se = H("filterFactory", gt);
745
- function ir(e, t) {
746
- const s = e.split(".")[0];
747
- if (s === "filterFactory" && se[`${e}`])
748
- return se[`${e}`](...t);
749
- if (s === "measureFactory" && re[`${e}`])
750
- return re[`${e}`](...t);
751
- throw new Error(`Function "${e}" not found in filterFactory or measureFactory.`);
739
+ function ht(e) {
740
+ return e.every((r) => typeof r == "string");
752
741
  }
753
- function ar(e) {
754
- const t = e.split(".");
755
- if (t.length < 3 || `${t[0]}.` !== A)
756
- throw new Error(`Invalid attribute name format: "${e}". Expected format: "${A}TableName.ColumnName[.Level]".`);
757
- const r = t[1], s = t[2];
758
- let n;
759
- return t.length === 4 && (n = t[3]), {
760
- tableName: r,
761
- columnName: s,
762
- level: n
742
+ function Ft(e) {
743
+ const r = e.split(".");
744
+ if (r.length < 3 || `${r[0]}.` !== T)
745
+ throw new Error(`Invalid attribute name format: "${e}". Expected format: "${T}TableName.ColumnName[.Level]"`);
746
+ const t = r[1], i = r[2];
747
+ let s;
748
+ return r.length === 4 && (s = r[3]), {
749
+ tableName: t,
750
+ columnName: i,
751
+ level: s
763
752
  };
764
753
  }
765
- function or(e, t) {
766
- const { tableName: r, columnName: s, level: n } = ar(e), i = t.find((o) => o.name === r);
767
- if (!i)
768
- throw new Error(`Table "${r}" not found in the data model.`);
769
- const a = i.columns.find((o) => o.name === s);
754
+ function qt(e, r) {
755
+ const { tableName: t, columnName: i, level: s } = Ft(e), a = r.find((o) => o.name === t);
770
756
  if (!a)
771
- throw new Error(`Column "${s}" not found in table "${r}".`);
772
- if (n) {
773
- if (a.dataType !== ie.DATETIME)
774
- throw new Error(`Invalid date level "${n}" in attribute "${e}". Column "${r}.${s}" is not a datetime column.`);
775
- const o = ae.all;
776
- if (!o.includes(n))
777
- throw new Error(`Invalid date level "${n}" in attribute "${e}". Valid levels are: ${o.join(", ")}.`);
757
+ throw new Error(`Table "${t}" not found in the data model`);
758
+ const n = a.columns.find((o) => o.name === i);
759
+ if (!n)
760
+ throw new Error(`Column "${i}" not found in table "${t}"`);
761
+ if (s) {
762
+ if (!Dr(n.dataType))
763
+ throw new Error(`Invalid date level "${s}" in attribute "${e}". Column "${t}.${i}" is not a datetime column`);
764
+ const o = j.all;
765
+ if (!o.includes(s))
766
+ throw new Error(`Invalid date level "${s}" in attribute "${e}". Valid levels are: ${o.join(", ")}`);
767
+ const u = j.dateOnly;
768
+ if (n.dataType === "date" && !u.includes(s))
769
+ throw new Error(`Invalid level "${s}" in attribute "${e}". Column "${t}.${i}" is only a date column, not a datetime column`);
770
+ const c = j.timeOnly;
771
+ if (n.dataType === "time" && !c.includes(s))
772
+ throw new Error(`Invalid level "${s}" in attribute "${e}". Column "${t}.${i}" is only a time column, not a date column`);
778
773
  }
779
774
  return {
780
- field: a,
781
- level: n
775
+ field: n,
776
+ level: s
782
777
  };
783
778
  }
784
- function lr(e, t) {
785
- if (e.startsWith(A)) return {
786
- isLikelyAttribute: !0,
787
- suggestion: e
788
- };
789
- const r = e.split(".");
790
- if (r.length === 2) {
791
- const [s, n] = r, i = t.some((a) => a.name === s && a.columns.some((o) => o.name === n));
792
- return i ? {
793
- isLikelyAttribute: i,
794
- suggestion: `${A}${e}`
795
- } : {
796
- isLikelyAttribute: !1
779
+ function Be(e) {
780
+ return e.type === z.TextAttribute;
781
+ }
782
+ function Pe(e) {
783
+ return e.type === z.NumericAttribute;
784
+ }
785
+ function wt(e) {
786
+ return e.type === z.DateLevel;
787
+ }
788
+ function Et(e) {
789
+ return Be(e) || Pe(e);
790
+ }
791
+ function W(e) {
792
+ return e.type === z.TextAttribute ? "text" : e.type === z.NumericAttribute ? "numeric" : e.type === z.DateLevel ? "date/datetime" : "unknown";
793
+ }
794
+ function ne(e, r, t) {
795
+ const { field: i, level: s } = qt(e, t);
796
+ return $r({
797
+ expression: i.expression,
798
+ dataType: i.dataType,
799
+ granularity: s,
800
+ format: void 0,
801
+ sort: void 0,
802
+ dataSource: r
803
+ });
804
+ }
805
+ const At = (e) => {
806
+ const { data: r } = e, { dataSource: t, tables: i } = e.context;
807
+ if (!r)
808
+ return {
809
+ success: !0,
810
+ data: []
797
811
  };
798
- }
799
- if (r.length === 3) {
800
- const [s, n, i] = r, a = t.find((c) => c.name === s);
801
- if (!a)
802
- return {
803
- isLikelyAttribute: !1
804
- };
805
- const o = a.columns.find((c) => c.name === n);
806
- return o ? o.dataType === ie.DATETIME && ae.all.includes(i) ? {
807
- isLikelyAttribute: !0,
808
- suggestion: `${A}${e}`
809
- } : {
810
- isLikelyAttribute: !1
811
- } : {
812
- isLikelyAttribute: !1
812
+ if (!ht(r))
813
+ return {
814
+ success: !1,
815
+ errors: [
816
+ {
817
+ category: "dimensions",
818
+ index: -1,
819
+ input: r,
820
+ message: "Invalid dimensions JSON. Expected an array of strings."
821
+ }
822
+ ]
813
823
  };
814
- }
815
- return {
816
- isLikelyAttribute: !1
824
+ const s = [], a = [];
825
+ return r.forEach((n, o) => {
826
+ const u = {
827
+ category: "dimensions",
828
+ index: o,
829
+ input: n
830
+ };
831
+ try {
832
+ const c = ne(n, t, i);
833
+ s.push(c);
834
+ } catch (c) {
835
+ const d = c instanceof Error ? c.message : "Unknown error";
836
+ a.push(q(h({}, u), {
837
+ message: d
838
+ }));
839
+ }
840
+ }), a.length > 0 ? {
841
+ success: !1,
842
+ errors: a
843
+ } : {
844
+ success: !0,
845
+ data: s
817
846
  };
847
+ };
848
+ function ae(e, r) {
849
+ const t = Reflect.get(e, r);
850
+ if (typeof t != "function")
851
+ throw new Error(`Function "${r}" not found or is not a function`);
852
+ return t;
818
853
  }
819
- function Fe(e, t, r) {
820
- const { field: s, level: n } = or(e, r);
821
- return dt({
822
- expression: s.expression,
823
- dataType: s.dataType,
824
- granularity: n,
825
- format: void 0,
826
- sort: void 0,
827
- dataSource: t
854
+ function Ct(e, r) {
855
+ const t = e.replace("measureFactory.", ""), s = ae(Mr, t)(...r);
856
+ if (!Te(s))
857
+ throw new Error(`Function "${e}" did not return a valid Measure`);
858
+ return s;
859
+ }
860
+ function xt(e, r) {
861
+ const t = e.replace("filterFactory.logic.", ""), s = ae(Rr, t)(...r);
862
+ if (!L(s))
863
+ throw new Error(`Function "${e}" did not return a valid FilterRelations`);
864
+ return s;
865
+ }
866
+ function $t(e, r) {
867
+ if (e.startsWith("filterFactory.logic."))
868
+ return xt(e, r);
869
+ const t = e.replace("filterFactory.", ""), s = ae(Sr, t)(...r);
870
+ if (!J(s) && !L(s))
871
+ throw new Error(`Function "${e}" did not return a valid Filter or FilterRelations`);
872
+ return s;
873
+ }
874
+ function Dt(e, r) {
875
+ const i = e.split(".")[0];
876
+ if (i === "measureFactory")
877
+ return Ct(e, r);
878
+ if (i === "filterFactory")
879
+ return $t(e, r);
880
+ throw new Error(`Unsupported factory: "${i}". Supported factories: measureFactory, filterFactory`);
881
+ }
882
+ const Mt = /\[([a-zA-Z_][a-zA-Z0-9_.-]*)\]/g;
883
+ function Rt(e, r, t = {}) {
884
+ const { warnUnusedContext: i = !0, errorOnUnusedContext: s = !0, allowEmptyFormula: a = !1, errorPrefix: n = "customFormula validation" } = t, o = {
885
+ isValid: !0,
886
+ errors: [],
887
+ warnings: [],
888
+ references: [],
889
+ unusedContextKeys: []
890
+ };
891
+ if (!e || e.trim().length === 0)
892
+ return a || (o.errors.push(`${n}args[1]: Formula cannot be empty`), o.isValid = !1), o;
893
+ const u = Object.keys(r);
894
+ if (u.length === 0)
895
+ return o.errors.push(`${n}args[2]: Context cannot be empty - custom formulas require context definitions`), o.isValid = !1, o;
896
+ const c = Mt, d = /* @__PURE__ */ new Set();
897
+ let g;
898
+ for (; (g = c.exec(e)) !== null; ) {
899
+ const b = g[1];
900
+ d.add(b);
901
+ }
902
+ o.references = Array.from(d), o.references.length === 0 && o.warnings.push(`${n}args[1]: No bracket references found in formula - ensure this is intentional`);
903
+ const p = [];
904
+ for (const b of o.references)
905
+ u.includes(b) || p.push(b);
906
+ if (p.length > 0 && (o.isValid = !1, p.length === 1 ? o.errors.push(`${n}args[1]: Reference [${p[0]}] not found in context. Available keys: ${u.join(", ")}`) : o.errors.push(`${n}args[1]: References [${p.join("], [")}] not found in context. Available keys: ${u.join(", ")}`)), (i || s) && u.length > 0) {
907
+ const b = u.filter((f) => !o.references.includes(f));
908
+ if (o.unusedContextKeys = b, b.length > 0) {
909
+ const f = `${n}args[2]: Context keys [${b.join(", ")}] are defined but not used in formula`;
910
+ s ? (o.errors.push(f), o.isValid = !1) : i && o.warnings.push(f);
911
+ }
912
+ }
913
+ return o;
914
+ }
915
+ function St(e, r, t = {}) {
916
+ const i = Rt(e, r, t);
917
+ if (!i.isValid)
918
+ throw new Error(i.errors.join("; "));
919
+ i.warnings.length > 0 && console.warn("Formula validation warnings:", i.warnings.join("; "));
920
+ }
921
+ function Nt(e, r) {
922
+ if (e.length < 3)
923
+ throw new Error(`${r.pathPrefix}Expected at least 3 arguments for customFormula`);
924
+ const t = e[1], i = e[2];
925
+ St(t, i, {
926
+ errorPrefix: `${r.pathPrefix}`,
927
+ errorOnUnusedContext: !0,
928
+ allowEmptyFormula: !1
828
929
  });
930
+ const s = {};
931
+ for (const [a, n] of Object.entries(i)) {
932
+ const o = `args[2].${a}`;
933
+ if (C(n))
934
+ s[`${a}`] = w({
935
+ data: n,
936
+ context: {
937
+ dataSource: r.dataSource,
938
+ tables: r.tables,
939
+ pathPrefix: o
940
+ }
941
+ });
942
+ else if (typeof n == "string" && n.startsWith(T))
943
+ try {
944
+ s[`${a}`] = ne(n, r.dataSource, r.tables);
945
+ } catch (u) {
946
+ const c = u instanceof Error ? u.message : "Unknown error";
947
+ throw new Error(`${o}: ${c}`);
948
+ }
949
+ else if (n && typeof n == "object" && "kind" in n)
950
+ s[`${a}`] = n;
951
+ else
952
+ throw new Error(`${o}: Invalid context value for key '${a}'. Expected a function call or attribute reference (${T}...), but got: ${typeof n}`);
953
+ }
954
+ e[2] = s;
955
+ }
956
+ function K(e, r) {
957
+ const t = e[0];
958
+ if (!t || typeof t != "object" || !("type" in t))
959
+ throw new Error(`${r.pathPrefix}args[0]: Expected attribute as first argument`);
960
+ return t;
961
+ }
962
+ function me(e, r) {
963
+ const t = K(e, r);
964
+ if (!Et(t))
965
+ throw new Error(`${r.pathPrefix}args[0]: Attribute must be string or numeric type, got ${W(t)} attribute`);
829
966
  }
830
- function cr(e, t, r) {
831
- if (typeof e == "object" && e !== null && !Array.isArray(e) && "function" in e && "args" in e)
832
- return N(e, t, r);
833
- if (typeof e == "string") {
834
- if (e.startsWith(A))
835
- return Fe(e, t, r);
836
- const { isLikelyAttribute: s, suggestion: n } = lr(e, r);
837
- if (s)
838
- throw new Error(`Invalid attribute format: "${e}". Did you mean "${n}"?`);
967
+ function D(e, r) {
968
+ const t = K(e, r);
969
+ if (!Pe(t))
970
+ throw new Error(`${r.pathPrefix}args[0]: Attribute must be numeric type, got ${W(t)} attribute`);
971
+ }
972
+ function M(e, r) {
973
+ const t = K(e, r);
974
+ if (!Be(t))
975
+ throw new Error(`${r.pathPrefix}args[0]: Attribute must be string type, got ${W(t)} attribute`);
976
+ }
977
+ function A(e, r) {
978
+ const t = K(e, r);
979
+ if (!wt(t))
980
+ throw new Error(`${r.pathPrefix}args[0]: Attribute must be date/datetime type, got ${W(t)} attribute`);
981
+ }
982
+ const zt = {
983
+ "measureFactory.customFormula": Nt,
984
+ // String | Number filters
985
+ "filterFactory.equals": me,
986
+ "filterFactory.doesntEqual": me,
987
+ // Numeric filters
988
+ "filterFactory.greaterThan": D,
989
+ "filterFactory.greaterThanOrEqual": D,
990
+ "filterFactory.lessThan": D,
991
+ "filterFactory.lessThanOrEqual": D,
992
+ "filterFactory.between": D,
993
+ "filterFactory.betweenNotEqual": D,
994
+ "filterFactory.numeric": D,
995
+ // String filters
996
+ "filterFactory.contains": M,
997
+ "filterFactory.doesntContain": M,
998
+ "filterFactory.startsWith": M,
999
+ "filterFactory.doesntStartWith": M,
1000
+ "filterFactory.endsWith": M,
1001
+ "filterFactory.doesntEndWith": M,
1002
+ "filterFactory.like": M,
1003
+ // Date filters
1004
+ "filterFactory.dateFrom": A,
1005
+ "filterFactory.dateTo": A,
1006
+ "filterFactory.dateRange": A,
1007
+ "filterFactory.dateRelative": A,
1008
+ "filterFactory.dateRelativeFrom": A,
1009
+ "filterFactory.dateRelativeTo": A,
1010
+ "filterFactory.thisYear": A,
1011
+ "filterFactory.thisMonth": A,
1012
+ "filterFactory.thisQuarter": A,
1013
+ "filterFactory.today": A
1014
+ };
1015
+ function Ot(e) {
1016
+ return zt[`${e}`];
1017
+ }
1018
+ const Tt = {
1019
+ // ==================== MEASURE FACTORY FUNCTIONS ====================
1020
+ // Basic aggregations
1021
+ "measureFactory.sum": [
1022
+ {
1023
+ type: "Attribute",
1024
+ required: !0
1025
+ },
1026
+ {
1027
+ type: "string",
1028
+ required: !1
1029
+ },
1030
+ {
1031
+ type: "string",
1032
+ required: !1
1033
+ }
1034
+ ],
1035
+ "measureFactory.average": [
1036
+ {
1037
+ type: "Attribute",
1038
+ required: !0
1039
+ },
1040
+ {
1041
+ type: "string",
1042
+ required: !1
1043
+ },
1044
+ {
1045
+ type: "string",
1046
+ required: !1
1047
+ }
1048
+ ],
1049
+ "measureFactory.avg": [
1050
+ {
1051
+ type: "Attribute",
1052
+ required: !0
1053
+ },
1054
+ {
1055
+ type: "string",
1056
+ required: !1
1057
+ },
1058
+ {
1059
+ type: "string",
1060
+ required: !1
1061
+ }
1062
+ ],
1063
+ "measureFactory.min": [
1064
+ {
1065
+ type: "Attribute",
1066
+ required: !0
1067
+ },
1068
+ {
1069
+ type: "string",
1070
+ required: !1
1071
+ },
1072
+ {
1073
+ type: "string",
1074
+ required: !1
1075
+ }
1076
+ ],
1077
+ "measureFactory.max": [
1078
+ {
1079
+ type: "Attribute",
1080
+ required: !0
1081
+ },
1082
+ {
1083
+ type: "string",
1084
+ required: !1
1085
+ },
1086
+ {
1087
+ type: "string",
1088
+ required: !1
1089
+ }
1090
+ ],
1091
+ "measureFactory.median": [
1092
+ {
1093
+ type: "Attribute",
1094
+ required: !0
1095
+ },
1096
+ {
1097
+ type: "string",
1098
+ required: !1
1099
+ },
1100
+ {
1101
+ type: "string",
1102
+ required: !1
1103
+ }
1104
+ ],
1105
+ "measureFactory.count": [
1106
+ {
1107
+ type: "Attribute",
1108
+ required: !0
1109
+ },
1110
+ {
1111
+ type: "string",
1112
+ required: !1
1113
+ },
1114
+ {
1115
+ type: "string",
1116
+ required: !1
1117
+ }
1118
+ ],
1119
+ "measureFactory.countDistinct": [
1120
+ {
1121
+ type: "Attribute",
1122
+ required: !0
1123
+ },
1124
+ {
1125
+ type: "string",
1126
+ required: !1
1127
+ },
1128
+ {
1129
+ type: "string",
1130
+ required: !1
1131
+ }
1132
+ ],
1133
+ "measureFactory.aggregate": [
1134
+ {
1135
+ type: "Attribute",
1136
+ required: !0
1137
+ },
1138
+ {
1139
+ type: "string",
1140
+ required: !0
1141
+ },
1142
+ {
1143
+ type: "string",
1144
+ required: !1
1145
+ },
1146
+ {
1147
+ type: "string",
1148
+ required: !1
1149
+ }
1150
+ ],
1151
+ // Constants and formulas
1152
+ "measureFactory.constant": [
1153
+ {
1154
+ type: "number",
1155
+ required: !0
1156
+ }
1157
+ ],
1158
+ "measureFactory.customFormula": [
1159
+ {
1160
+ type: "string",
1161
+ required: !0
1162
+ },
1163
+ {
1164
+ type: "string",
1165
+ required: !0
1166
+ },
1167
+ {
1168
+ type: "CustomFormulaContext",
1169
+ required: !0
1170
+ }
1171
+ ],
1172
+ // Arithmetic operations
1173
+ "measureFactory.add": [
1174
+ {
1175
+ type: "Measure | number",
1176
+ required: !0
1177
+ },
1178
+ {
1179
+ type: "Measure | number",
1180
+ required: !0
1181
+ },
1182
+ {
1183
+ type: "string",
1184
+ required: !1
1185
+ },
1186
+ {
1187
+ type: "boolean",
1188
+ required: !1
1189
+ }
1190
+ ],
1191
+ "measureFactory.subtract": [
1192
+ {
1193
+ type: "Measure | number",
1194
+ required: !0
1195
+ },
1196
+ {
1197
+ type: "Measure | number",
1198
+ required: !0
1199
+ },
1200
+ {
1201
+ type: "string",
1202
+ required: !1
1203
+ },
1204
+ {
1205
+ type: "boolean",
1206
+ required: !1
1207
+ }
1208
+ ],
1209
+ "measureFactory.multiply": [
1210
+ {
1211
+ type: "Measure | number",
1212
+ required: !0
1213
+ },
1214
+ {
1215
+ type: "Measure | number",
1216
+ required: !0
1217
+ },
1218
+ {
1219
+ type: "string",
1220
+ required: !1
1221
+ },
1222
+ {
1223
+ type: "boolean",
1224
+ required: !1
1225
+ }
1226
+ ],
1227
+ "measureFactory.divide": [
1228
+ {
1229
+ type: "Measure | number",
1230
+ required: !0
1231
+ },
1232
+ {
1233
+ type: "Measure | number",
1234
+ required: !0
1235
+ },
1236
+ {
1237
+ type: "string",
1238
+ required: !1
1239
+ },
1240
+ {
1241
+ type: "boolean",
1242
+ required: !1
1243
+ }
1244
+ ],
1245
+ // Advanced analytics
1246
+ "measureFactory.measuredValue": [
1247
+ {
1248
+ type: "Measure",
1249
+ required: !0
1250
+ },
1251
+ {
1252
+ type: "Filter[]",
1253
+ required: !0
1254
+ },
1255
+ {
1256
+ type: "string",
1257
+ required: !1
1258
+ },
1259
+ {
1260
+ type: "string",
1261
+ required: !1
1262
+ }
1263
+ ],
1264
+ "measureFactory.rank": [
1265
+ {
1266
+ type: "Measure",
1267
+ required: !0
1268
+ },
1269
+ {
1270
+ type: "string",
1271
+ required: !1
1272
+ },
1273
+ {
1274
+ type: "string",
1275
+ required: !1
1276
+ },
1277
+ {
1278
+ type: "string",
1279
+ required: !1
1280
+ },
1281
+ {
1282
+ type: "Attribute[]",
1283
+ required: !1
1284
+ }
1285
+ ],
1286
+ "measureFactory.trend": [
1287
+ {
1288
+ type: "Measure",
1289
+ required: !0
1290
+ },
1291
+ {
1292
+ type: "string",
1293
+ required: !1
1294
+ },
1295
+ {
1296
+ type: "any",
1297
+ required: !1
1298
+ }
1299
+ ],
1300
+ "measureFactory.forecast": [
1301
+ {
1302
+ type: "Measure",
1303
+ required: !0
1304
+ },
1305
+ {
1306
+ type: "string",
1307
+ required: !1
1308
+ },
1309
+ {
1310
+ type: "any",
1311
+ required: !1
1312
+ }
1313
+ ],
1314
+ // Time-based aggregations
1315
+ "measureFactory.yearToDateSum": [
1316
+ {
1317
+ type: "Measure",
1318
+ required: !0
1319
+ },
1320
+ {
1321
+ type: "string",
1322
+ required: !1
1323
+ }
1324
+ ],
1325
+ "measureFactory.quarterToDateSum": [
1326
+ {
1327
+ type: "Measure",
1328
+ required: !0
1329
+ },
1330
+ {
1331
+ type: "string",
1332
+ required: !1
1333
+ }
1334
+ ],
1335
+ "measureFactory.monthToDateSum": [
1336
+ {
1337
+ type: "Measure",
1338
+ required: !0
1339
+ },
1340
+ {
1341
+ type: "string",
1342
+ required: !1
1343
+ }
1344
+ ],
1345
+ "measureFactory.weekToDateSum": [
1346
+ {
1347
+ type: "Measure",
1348
+ required: !0
1349
+ },
1350
+ {
1351
+ type: "string",
1352
+ required: !1
1353
+ }
1354
+ ],
1355
+ "measureFactory.runningSum": [
1356
+ {
1357
+ type: "Measure",
1358
+ required: !0
1359
+ },
1360
+ {
1361
+ type: "boolean",
1362
+ required: !1
1363
+ },
1364
+ {
1365
+ type: "string",
1366
+ required: !1
1367
+ }
1368
+ ],
1369
+ // Growth and difference calculations
1370
+ "measureFactory.growth": [
1371
+ {
1372
+ type: "Measure",
1373
+ required: !0
1374
+ },
1375
+ {
1376
+ type: "string",
1377
+ required: !1
1378
+ }
1379
+ ],
1380
+ "measureFactory.growthRate": [
1381
+ {
1382
+ type: "Measure",
1383
+ required: !0
1384
+ },
1385
+ {
1386
+ type: "string",
1387
+ required: !1
1388
+ }
1389
+ ],
1390
+ "measureFactory.growthPastWeek": [
1391
+ {
1392
+ type: "Measure",
1393
+ required: !0
1394
+ },
1395
+ {
1396
+ type: "string",
1397
+ required: !1
1398
+ }
1399
+ ],
1400
+ "measureFactory.growthPastMonth": [
1401
+ {
1402
+ type: "Measure",
1403
+ required: !0
1404
+ },
1405
+ {
1406
+ type: "string",
1407
+ required: !1
1408
+ }
1409
+ ],
1410
+ "measureFactory.growthPastQuarter": [
1411
+ {
1412
+ type: "Measure",
1413
+ required: !0
1414
+ },
1415
+ {
1416
+ type: "string",
1417
+ required: !1
1418
+ }
1419
+ ],
1420
+ "measureFactory.growthPastYear": [
1421
+ {
1422
+ type: "Measure",
1423
+ required: !0
1424
+ },
1425
+ {
1426
+ type: "string",
1427
+ required: !1
1428
+ }
1429
+ ],
1430
+ "measureFactory.difference": [
1431
+ {
1432
+ type: "Measure",
1433
+ required: !0
1434
+ },
1435
+ {
1436
+ type: "string",
1437
+ required: !1
1438
+ }
1439
+ ],
1440
+ "measureFactory.diffPastWeek": [
1441
+ {
1442
+ type: "Measure",
1443
+ required: !0
1444
+ },
1445
+ {
1446
+ type: "string",
1447
+ required: !1
1448
+ }
1449
+ ],
1450
+ "measureFactory.diffPastMonth": [
1451
+ {
1452
+ type: "Measure",
1453
+ required: !0
1454
+ },
1455
+ {
1456
+ type: "string",
1457
+ required: !1
1458
+ }
1459
+ ],
1460
+ "measureFactory.diffPastQuarter": [
1461
+ {
1462
+ type: "Measure",
1463
+ required: !0
1464
+ },
1465
+ {
1466
+ type: "string",
1467
+ required: !1
1468
+ }
1469
+ ],
1470
+ "measureFactory.diffPastYear": [
1471
+ {
1472
+ type: "Measure",
1473
+ required: !0
1474
+ },
1475
+ {
1476
+ type: "string",
1477
+ required: !1
1478
+ }
1479
+ ],
1480
+ // Past period measures
1481
+ "measureFactory.pastDay": [
1482
+ {
1483
+ type: "Measure",
1484
+ required: !0
1485
+ },
1486
+ {
1487
+ type: "string",
1488
+ required: !1
1489
+ }
1490
+ ],
1491
+ "measureFactory.pastWeek": [
1492
+ {
1493
+ type: "Measure",
1494
+ required: !0
1495
+ },
1496
+ {
1497
+ type: "string",
1498
+ required: !1
1499
+ }
1500
+ ],
1501
+ "measureFactory.pastMonth": [
1502
+ {
1503
+ type: "Measure",
1504
+ required: !0
1505
+ },
1506
+ {
1507
+ type: "string",
1508
+ required: !1
1509
+ }
1510
+ ],
1511
+ "measureFactory.pastQuarter": [
1512
+ {
1513
+ type: "Measure",
1514
+ required: !0
1515
+ },
1516
+ {
1517
+ type: "string",
1518
+ required: !1
1519
+ }
1520
+ ],
1521
+ "measureFactory.pastYear": [
1522
+ {
1523
+ type: "Measure",
1524
+ required: !0
1525
+ },
1526
+ {
1527
+ type: "string",
1528
+ required: !1
1529
+ }
1530
+ ],
1531
+ // Statistics
1532
+ "measureFactory.contribution": [
1533
+ {
1534
+ type: "Measure",
1535
+ required: !0
1536
+ },
1537
+ {
1538
+ type: "string",
1539
+ required: !1
1540
+ }
1541
+ ],
1542
+ // ==================== FILTER FACTORY FUNCTIONS ====================
1543
+ // Logical filters
1544
+ "filterFactory.union": [
1545
+ {
1546
+ type: "Filter[]",
1547
+ required: !0
1548
+ },
1549
+ {
1550
+ type: "BaseFilterConfig",
1551
+ required: !1
1552
+ }
1553
+ ],
1554
+ "filterFactory.intersection": [
1555
+ {
1556
+ type: "Filter[]",
1557
+ required: !0
1558
+ },
1559
+ {
1560
+ type: "BaseFilterConfig",
1561
+ required: !1
1562
+ }
1563
+ ],
1564
+ "filterFactory.exclude": [
1565
+ {
1566
+ type: "Filter",
1567
+ required: !0
1568
+ },
1569
+ {
1570
+ type: "Filter",
1571
+ required: !1
1572
+ },
1573
+ {
1574
+ type: "BaseFilterConfig",
1575
+ required: !1
1576
+ }
1577
+ ],
1578
+ // Text filters
1579
+ "filterFactory.contains": [
1580
+ {
1581
+ type: "Attribute",
1582
+ required: !0
1583
+ },
1584
+ {
1585
+ type: "string",
1586
+ required: !0
1587
+ },
1588
+ {
1589
+ type: "BaseFilterConfig",
1590
+ required: !1
1591
+ }
1592
+ ],
1593
+ "filterFactory.doesntContain": [
1594
+ {
1595
+ type: "Attribute",
1596
+ required: !0
1597
+ },
1598
+ {
1599
+ type: "string",
1600
+ required: !0
1601
+ },
1602
+ {
1603
+ type: "BaseFilterConfig",
1604
+ required: !1
1605
+ }
1606
+ ],
1607
+ "filterFactory.startsWith": [
1608
+ {
1609
+ type: "Attribute",
1610
+ required: !0
1611
+ },
1612
+ {
1613
+ type: "string",
1614
+ required: !0
1615
+ },
1616
+ {
1617
+ type: "BaseFilterConfig",
1618
+ required: !1
1619
+ }
1620
+ ],
1621
+ "filterFactory.doesntStartWith": [
1622
+ {
1623
+ type: "Attribute",
1624
+ required: !0
1625
+ },
1626
+ {
1627
+ type: "string",
1628
+ required: !0
1629
+ },
1630
+ {
1631
+ type: "BaseFilterConfig",
1632
+ required: !1
1633
+ }
1634
+ ],
1635
+ "filterFactory.endsWith": [
1636
+ {
1637
+ type: "Attribute",
1638
+ required: !0
1639
+ },
1640
+ {
1641
+ type: "string",
1642
+ required: !0
1643
+ },
1644
+ {
1645
+ type: "BaseFilterConfig",
1646
+ required: !1
1647
+ }
1648
+ ],
1649
+ "filterFactory.doesntEndWith": [
1650
+ {
1651
+ type: "Attribute",
1652
+ required: !0
1653
+ },
1654
+ {
1655
+ type: "string",
1656
+ required: !0
1657
+ },
1658
+ {
1659
+ type: "BaseFilterConfig",
1660
+ required: !1
1661
+ }
1662
+ ],
1663
+ "filterFactory.like": [
1664
+ {
1665
+ type: "Attribute",
1666
+ required: !0
1667
+ },
1668
+ {
1669
+ type: "string",
1670
+ required: !0
1671
+ },
1672
+ {
1673
+ type: "BaseFilterConfig",
1674
+ required: !1
1675
+ }
1676
+ ],
1677
+ "filterFactory.equals": [
1678
+ {
1679
+ type: "Attribute",
1680
+ required: !0
1681
+ },
1682
+ {
1683
+ type: "string | number",
1684
+ required: !0
1685
+ },
1686
+ {
1687
+ type: "BaseFilterConfig",
1688
+ required: !1
1689
+ }
1690
+ ],
1691
+ "filterFactory.doesntEqual": [
1692
+ {
1693
+ type: "Attribute",
1694
+ required: !0
1695
+ },
1696
+ {
1697
+ type: "string | number",
1698
+ required: !0
1699
+ },
1700
+ {
1701
+ type: "BaseFilterConfig",
1702
+ required: !1
1703
+ }
1704
+ ],
1705
+ // Numeric filters
1706
+ "filterFactory.greaterThan": [
1707
+ {
1708
+ type: "Attribute",
1709
+ required: !0
1710
+ },
1711
+ {
1712
+ type: "number",
1713
+ required: !0
1714
+ },
1715
+ {
1716
+ type: "BaseFilterConfig",
1717
+ required: !1
1718
+ }
1719
+ ],
1720
+ "filterFactory.greaterThanOrEqual": [
1721
+ {
1722
+ type: "Attribute",
1723
+ required: !0
1724
+ },
1725
+ {
1726
+ type: "number",
1727
+ required: !0
1728
+ },
1729
+ {
1730
+ type: "BaseFilterConfig",
1731
+ required: !1
1732
+ }
1733
+ ],
1734
+ "filterFactory.lessThan": [
1735
+ {
1736
+ type: "Attribute",
1737
+ required: !0
1738
+ },
1739
+ {
1740
+ type: "number",
1741
+ required: !0
1742
+ },
1743
+ {
1744
+ type: "BaseFilterConfig",
1745
+ required: !1
1746
+ }
1747
+ ],
1748
+ "filterFactory.lessThanOrEqual": [
1749
+ {
1750
+ type: "Attribute",
1751
+ required: !0
1752
+ },
1753
+ {
1754
+ type: "number",
1755
+ required: !0
1756
+ },
1757
+ {
1758
+ type: "BaseFilterConfig",
1759
+ required: !1
1760
+ }
1761
+ ],
1762
+ "filterFactory.between": [
1763
+ {
1764
+ type: "Attribute",
1765
+ required: !0
1766
+ },
1767
+ {
1768
+ type: "number",
1769
+ required: !0
1770
+ },
1771
+ {
1772
+ type: "number",
1773
+ required: !0
1774
+ },
1775
+ {
1776
+ type: "BaseFilterConfig",
1777
+ required: !1
1778
+ }
1779
+ ],
1780
+ "filterFactory.betweenNotEqual": [
1781
+ {
1782
+ type: "Attribute",
1783
+ required: !0
1784
+ },
1785
+ {
1786
+ type: "number",
1787
+ required: !0
1788
+ },
1789
+ {
1790
+ type: "number",
1791
+ required: !0
1792
+ },
1793
+ {
1794
+ type: "BaseFilterConfig",
1795
+ required: !1
1796
+ }
1797
+ ],
1798
+ "filterFactory.numeric": [
1799
+ {
1800
+ type: "Attribute",
1801
+ required: !0
1802
+ },
1803
+ {
1804
+ type: "string",
1805
+ required: !1
1806
+ },
1807
+ {
1808
+ type: "number",
1809
+ required: !1
1810
+ },
1811
+ {
1812
+ type: "string",
1813
+ required: !1
1814
+ },
1815
+ {
1816
+ type: "number",
1817
+ required: !1
1818
+ },
1819
+ {
1820
+ type: "BaseFilterConfig",
1821
+ required: !1
1822
+ }
1823
+ ],
1824
+ // Member filters
1825
+ "filterFactory.members": [
1826
+ {
1827
+ type: "Attribute",
1828
+ required: !0
1829
+ },
1830
+ {
1831
+ type: "string[]",
1832
+ required: !0
1833
+ },
1834
+ {
1835
+ type: "MembersFilterConfig",
1836
+ required: !1
1837
+ }
1838
+ ],
1839
+ // Date filters
1840
+ "filterFactory.dateFrom": [
1841
+ {
1842
+ type: "LevelAttribute",
1843
+ required: !0
1844
+ },
1845
+ {
1846
+ type: "Date | string",
1847
+ required: !0
1848
+ },
1849
+ {
1850
+ type: "BaseFilterConfig",
1851
+ required: !1
1852
+ }
1853
+ ],
1854
+ "filterFactory.dateTo": [
1855
+ {
1856
+ type: "LevelAttribute",
1857
+ required: !0
1858
+ },
1859
+ {
1860
+ type: "Date | string",
1861
+ required: !0
1862
+ },
1863
+ {
1864
+ type: "BaseFilterConfig",
1865
+ required: !1
1866
+ }
1867
+ ],
1868
+ "filterFactory.dateRange": [
1869
+ {
1870
+ type: "LevelAttribute",
1871
+ required: !0
1872
+ },
1873
+ {
1874
+ type: "Date | string",
1875
+ required: !0
1876
+ },
1877
+ {
1878
+ type: "Date | string",
1879
+ required: !0
1880
+ },
1881
+ {
1882
+ type: "BaseFilterConfig",
1883
+ required: !1
1884
+ }
1885
+ ],
1886
+ "filterFactory.dateRelative": [
1887
+ {
1888
+ type: "LevelAttribute",
1889
+ required: !0
1890
+ },
1891
+ {
1892
+ type: "number",
1893
+ required: !0
1894
+ },
1895
+ {
1896
+ type: "string",
1897
+ required: !0
1898
+ },
1899
+ {
1900
+ type: "BaseFilterConfig",
1901
+ required: !1
1902
+ }
1903
+ ],
1904
+ "filterFactory.dateRelativeFrom": [
1905
+ {
1906
+ type: "LevelAttribute",
1907
+ required: !0
1908
+ },
1909
+ {
1910
+ type: "number",
1911
+ required: !0
1912
+ },
1913
+ {
1914
+ type: "string",
1915
+ required: !0
1916
+ },
1917
+ {
1918
+ type: "BaseFilterConfig",
1919
+ required: !1
1920
+ }
1921
+ ],
1922
+ "filterFactory.dateRelativeTo": [
1923
+ {
1924
+ type: "LevelAttribute",
1925
+ required: !0
1926
+ },
1927
+ {
1928
+ type: "number",
1929
+ required: !0
1930
+ },
1931
+ {
1932
+ type: "string",
1933
+ required: !0
1934
+ },
1935
+ {
1936
+ type: "BaseFilterConfig",
1937
+ required: !1
1938
+ }
1939
+ ],
1940
+ "filterFactory.thisYear": [
1941
+ {
1942
+ type: "DateDimension",
1943
+ required: !0
1944
+ },
1945
+ {
1946
+ type: "BaseFilterConfig",
1947
+ required: !1
1948
+ }
1949
+ ],
1950
+ "filterFactory.thisMonth": [
1951
+ {
1952
+ type: "DateDimension",
1953
+ required: !0
1954
+ },
1955
+ {
1956
+ type: "BaseFilterConfig",
1957
+ required: !1
1958
+ }
1959
+ ],
1960
+ "filterFactory.thisQuarter": [
1961
+ {
1962
+ type: "DateDimension",
1963
+ required: !0
1964
+ },
1965
+ {
1966
+ type: "BaseFilterConfig",
1967
+ required: !1
1968
+ }
1969
+ ],
1970
+ "filterFactory.today": [
1971
+ {
1972
+ type: "DateDimension",
1973
+ required: !0
1974
+ },
1975
+ {
1976
+ type: "BaseFilterConfig",
1977
+ required: !1
1978
+ }
1979
+ ],
1980
+ // Measure filters
1981
+ "filterFactory.measureEquals": [
1982
+ {
1983
+ type: "BaseMeasure",
1984
+ required: !0
1985
+ },
1986
+ {
1987
+ type: "number",
1988
+ required: !0
1989
+ },
1990
+ {
1991
+ type: "BaseFilterConfig",
1992
+ required: !1
1993
+ }
1994
+ ],
1995
+ "filterFactory.measureGreaterThan": [
1996
+ {
1997
+ type: "BaseMeasure",
1998
+ required: !0
1999
+ },
2000
+ {
2001
+ type: "number",
2002
+ required: !0
2003
+ },
2004
+ {
2005
+ type: "BaseFilterConfig",
2006
+ required: !1
2007
+ }
2008
+ ],
2009
+ "filterFactory.measureGreaterThanOrEqual": [
2010
+ {
2011
+ type: "BaseMeasure",
2012
+ required: !0
2013
+ },
2014
+ {
2015
+ type: "number",
2016
+ required: !0
2017
+ },
2018
+ {
2019
+ type: "BaseFilterConfig",
2020
+ required: !1
2021
+ }
2022
+ ],
2023
+ "filterFactory.measureLessThan": [
2024
+ {
2025
+ type: "BaseMeasure",
2026
+ required: !0
2027
+ },
2028
+ {
2029
+ type: "number",
2030
+ required: !0
2031
+ },
2032
+ {
2033
+ type: "BaseFilterConfig",
2034
+ required: !1
2035
+ }
2036
+ ],
2037
+ "filterFactory.measureLessThanOrEqual": [
2038
+ {
2039
+ type: "BaseMeasure",
2040
+ required: !0
2041
+ },
2042
+ {
2043
+ type: "number",
2044
+ required: !0
2045
+ },
2046
+ {
2047
+ type: "BaseFilterConfig",
2048
+ required: !1
2049
+ }
2050
+ ],
2051
+ "filterFactory.measureBetween": [
2052
+ {
2053
+ type: "BaseMeasure",
2054
+ required: !0
2055
+ },
2056
+ {
2057
+ type: "number",
2058
+ required: !0
2059
+ },
2060
+ {
2061
+ type: "number",
2062
+ required: !0
2063
+ },
2064
+ {
2065
+ type: "BaseFilterConfig",
2066
+ required: !1
2067
+ }
2068
+ ],
2069
+ "filterFactory.measureBetweenNotEqual": [
2070
+ {
2071
+ type: "BaseMeasure",
2072
+ required: !0
2073
+ },
2074
+ {
2075
+ type: "number",
2076
+ required: !0
2077
+ },
2078
+ {
2079
+ type: "number",
2080
+ required: !0
2081
+ },
2082
+ {
2083
+ type: "BaseFilterConfig",
2084
+ required: !1
2085
+ }
2086
+ ],
2087
+ // Ranking filters
2088
+ "filterFactory.topRanking": [
2089
+ {
2090
+ type: "Attribute",
2091
+ required: !0
2092
+ },
2093
+ {
2094
+ type: "Measure",
2095
+ required: !0
2096
+ },
2097
+ {
2098
+ type: "number",
2099
+ required: !0
2100
+ },
2101
+ {
2102
+ type: "BaseFilterConfig",
2103
+ required: !1
2104
+ }
2105
+ ],
2106
+ "filterFactory.bottomRanking": [
2107
+ {
2108
+ type: "Attribute",
2109
+ required: !0
2110
+ },
2111
+ {
2112
+ type: "Measure",
2113
+ required: !0
2114
+ },
2115
+ {
2116
+ type: "number",
2117
+ required: !0
2118
+ },
2119
+ {
2120
+ type: "BaseFilterConfig",
2121
+ required: !1
2122
+ }
2123
+ ],
2124
+ "filterFactory.measureTopRanking": [
2125
+ {
2126
+ type: "BaseMeasure",
2127
+ required: !0
2128
+ },
2129
+ {
2130
+ type: "number",
2131
+ required: !0
2132
+ },
2133
+ {
2134
+ type: "BaseFilterConfig",
2135
+ required: !1
2136
+ }
2137
+ ],
2138
+ "filterFactory.measureBottomRanking": [
2139
+ {
2140
+ type: "BaseMeasure",
2141
+ required: !0
2142
+ },
2143
+ {
2144
+ type: "number",
2145
+ required: !0
2146
+ },
2147
+ {
2148
+ type: "BaseFilterConfig",
2149
+ required: !1
2150
+ }
2151
+ ],
2152
+ // Advanced filters
2153
+ "filterFactory.cascading": [
2154
+ {
2155
+ type: "Filter[]",
2156
+ required: !0
2157
+ },
2158
+ {
2159
+ type: "BaseFilterConfig",
2160
+ required: !1
2161
+ }
2162
+ ],
2163
+ // Logic functions
2164
+ "filterFactory.logic.and": [
2165
+ {
2166
+ type: "FilterRelationsNode",
2167
+ required: !0
2168
+ },
2169
+ {
2170
+ type: "FilterRelationsNode",
2171
+ required: !0
2172
+ }
2173
+ ],
2174
+ "filterFactory.logic.or": [
2175
+ {
2176
+ type: "FilterRelationsNode",
2177
+ required: !0
2178
+ },
2179
+ {
2180
+ type: "FilterRelationsNode",
2181
+ required: !0
2182
+ }
2183
+ ]
2184
+ };
2185
+ function oe(e) {
2186
+ return Tt[`${e}`];
2187
+ }
2188
+ function Bt(e) {
2189
+ const r = oe(e);
2190
+ return r ? r.filter((t) => t.required).length : 0;
2191
+ }
2192
+ function Pt(e) {
2193
+ const r = oe(e);
2194
+ return r ? r.length : 0;
2195
+ }
2196
+ function kt(e) {
2197
+ if (typeof e != "string")
2198
+ return !1;
2199
+ const r = Date.parse(e);
2200
+ if (!(!isNaN(r) && e.length >= 10))
2201
+ return !1;
2202
+ const i = new Date(e);
2203
+ return !isNaN(i.getTime()) && i.toISOString().startsWith(e.substring(0, 10));
2204
+ }
2205
+ function H(e, r, t, i) {
2206
+ if (e.startsWith(T))
2207
+ try {
2208
+ return ne(e, r, t);
2209
+ } catch (s) {
2210
+ const a = s instanceof Error ? s.message : "Unknown error";
2211
+ throw new Error(`${i}: ${a}`);
2212
+ }
2213
+ throw new Error(`${i}: Invalid attribute "${e}". Expected format: "${T}TableName.ColumnName[.Level]"`);
2214
+ }
2215
+ function It(e) {
2216
+ const r = e.data, { argSchema: t, dataSource: i, tables: s, pathPrefix: a } = e.context, n = a;
2217
+ if (r === void 0) {
2218
+ if (t.required)
2219
+ throw new Error(`${n}: Required argument is missing (expected ${t.type})`);
2220
+ return;
2221
+ }
2222
+ switch (t.type) {
2223
+ case "string":
2224
+ if (typeof r != "string")
2225
+ throw new Error(`${n}: Expected string, got ${typeof r}`);
2226
+ return r;
2227
+ case "number":
2228
+ if (typeof r != "number")
2229
+ throw new Error(`${n}: Expected number, got ${typeof r}`);
2230
+ return r;
2231
+ case "boolean":
2232
+ if (typeof r != "boolean")
2233
+ throw new Error(`${n}: Expected boolean, got ${typeof r}`);
2234
+ return r;
2235
+ case "string[]":
2236
+ if (!Array.isArray(r))
2237
+ throw new Error(`${n}: Expected array of strings, got ${typeof r}. Example: ["value1", "value2"]`);
2238
+ if (!r.every((o) => typeof o == "string"))
2239
+ throw new Error(`${n}: Expected array of strings, but contains non-string values`);
2240
+ return r;
2241
+ case "number[]":
2242
+ if (!Array.isArray(r))
2243
+ throw new Error(`${n}: Expected array of numbers, got ${typeof r}. Example: [10, 20]`);
2244
+ if (!r.every((o) => typeof o == "number"))
2245
+ throw new Error(`${n}: Expected array of numbers, but contains non-number values`);
2246
+ return r;
2247
+ case "Attribute":
2248
+ if (typeof r != "string")
2249
+ throw new Error(`${n}: Expected attribute string, got ${typeof r}. Example: "DM.Commerce.Revenue"`);
2250
+ return H(r, i, s, n);
2251
+ case "Attribute[]":
2252
+ if (!Array.isArray(r))
2253
+ throw new Error(`${n}: Expected array of attributes, got ${typeof r}. Example: ["DM.Commerce.AgeRange"]`);
2254
+ return r.map((o, u) => {
2255
+ if (typeof o != "string")
2256
+ throw new Error(`${n}[${u}]: Expected attribute string, got ${typeof o}`);
2257
+ return H(o, i, s, `${n}[${u}]`);
2258
+ });
2259
+ case "Measure":
2260
+ case "BaseMeasure":
2261
+ if (!C(r))
2262
+ throw new Error(`${n}: Expected measure function call, got ${typeof r}. Example: {"function": "measureFactory.sum", "args": ["DM.Commerce.Revenue"]}`);
2263
+ return w({
2264
+ data: r,
2265
+ context: {
2266
+ dataSource: i,
2267
+ tables: s,
2268
+ pathPrefix: n
2269
+ }
2270
+ });
2271
+ case "Measure[]":
2272
+ if (!Array.isArray(r))
2273
+ throw new Error(`${n}: Expected array of measure function calls, got ${typeof r}`);
2274
+ return r.map((o, u) => {
2275
+ if (!C(o))
2276
+ throw new Error(`${n}[${u}]: Expected measure function call, got ${typeof o}`);
2277
+ return w({
2278
+ data: o,
2279
+ context: {
2280
+ dataSource: i,
2281
+ tables: s,
2282
+ pathPrefix: `${n}[${u}]: `
2283
+ }
2284
+ });
2285
+ });
2286
+ case "Filter":
2287
+ if (!C(r))
2288
+ throw new Error(`${n}: Expected filter function call, got ${typeof r}. Example: {"function": "filterFactory.contains", "args": ["DM.Brand.Brand", "Apple"]}`);
2289
+ return w({
2290
+ data: r,
2291
+ context: {
2292
+ dataSource: i,
2293
+ tables: s,
2294
+ pathPrefix: n
2295
+ }
2296
+ });
2297
+ case "Filter[]":
2298
+ if (!Array.isArray(r))
2299
+ throw new Error(`${n}: Expected array of filter function calls, got ${typeof r}`);
2300
+ return r.map((o, u) => {
2301
+ if (!C(o))
2302
+ throw new Error(`${n}[${u}]: Expected filter function call, got ${typeof o}`);
2303
+ return w({
2304
+ data: o,
2305
+ context: {
2306
+ dataSource: i,
2307
+ tables: s,
2308
+ pathPrefix: `${n}[${u}]: `
2309
+ }
2310
+ });
2311
+ });
2312
+ case "FilterRelationsNode":
2313
+ if (Array.isArray(r))
2314
+ return r.map((o, u) => {
2315
+ if (!C(o))
2316
+ throw new Error(`${n}[${u}]: Expected filter function call, got ${typeof o}`);
2317
+ return w({
2318
+ data: o,
2319
+ context: {
2320
+ dataSource: i,
2321
+ tables: s,
2322
+ pathPrefix: `${n}[${u}]: `
2323
+ }
2324
+ });
2325
+ });
2326
+ if (C(r))
2327
+ return w({
2328
+ data: r,
2329
+ context: {
2330
+ dataSource: i,
2331
+ tables: s,
2332
+ pathPrefix: n
2333
+ }
2334
+ });
2335
+ throw new Error(`${n}: Expected filter function call or array of filters, got ${typeof r}`);
2336
+ case "DateDimension":
2337
+ case "LevelAttribute":
2338
+ if (typeof r != "string")
2339
+ throw new Error(`${n}: Expected date attribute string, got ${typeof r}. Example: "DM.Commerce.Date.Years"`);
2340
+ return H(r, i, s, n);
2341
+ case "Measure | number":
2342
+ if (typeof r == "number")
2343
+ return r;
2344
+ if (C(r))
2345
+ return w({
2346
+ data: r,
2347
+ context: {
2348
+ dataSource: i,
2349
+ tables: s,
2350
+ pathPrefix: n
2351
+ }
2352
+ });
2353
+ throw new Error(`${n}: Expected measure function call or number, got ${typeof r}`);
2354
+ case "Date | string":
2355
+ if (typeof r == "string") {
2356
+ if (kt(r))
2357
+ return r;
2358
+ throw new Error(`${n}: Expected valid ISO date string or Date object, got invalid date string "${r}"`);
2359
+ } else {
2360
+ if (r instanceof Date)
2361
+ return r;
2362
+ throw new Error(`${n}: Expected date string or Date object, got ${typeof r}`);
2363
+ }
2364
+ case "string | number":
2365
+ if (typeof r == "string" || typeof r == "number")
2366
+ return r;
2367
+ throw new Error(`${n}: Expected string or number, got ${typeof r}`);
2368
+ case "BaseFilterConfig":
2369
+ case "MembersFilterConfig":
2370
+ case "CustomFormulaContext":
2371
+ case "any":
2372
+ if (r == null && t.required)
2373
+ throw new Error(`${n}: Required argument is null/undefined`);
2374
+ return r;
2375
+ default:
2376
+ return r;
839
2377
  }
840
- return e;
841
2378
  }
842
- function N(e, t, r) {
843
- const { function: s, args: n } = e, i = n.map((a) => cr(a, t, r));
844
- return ir(s, i);
2379
+ function w(e) {
2380
+ const { data: r } = e, { dataSource: t, tables: i, pathPrefix: s } = e.context, { function: a, args: n } = r, o = s ? `${s}.` : "", u = oe(a);
2381
+ if (!u)
2382
+ throw new Error(`${o}function: Unknown function "${a}"`);
2383
+ const c = Bt(a), d = Pt(a);
2384
+ if (n.length < c)
2385
+ throw new Error(`${o}function: Expected at least ${c} arguments, got ${n.length}`);
2386
+ if (n.length > d)
2387
+ throw new Error(`${o}function: Expected at most ${d} arguments, got ${n.length}`);
2388
+ const g = [], p = [];
2389
+ for (let f = 0; f < Math.max(n.length, u.length); f++) {
2390
+ const y = u[`${f}`], x = n[`${f}`], B = o ? `${o}args[${f}]` : `args[${f}]`;
2391
+ if (x === void 0) {
2392
+ y != null && y.required && p.push(`${B}: Missing required argument (expected ${y.type})`);
2393
+ continue;
2394
+ }
2395
+ if (!y) {
2396
+ p.push(`${B}: Unexpected argument`);
2397
+ continue;
2398
+ }
2399
+ try {
2400
+ const S = It({
2401
+ data: x,
2402
+ context: {
2403
+ dataSource: t,
2404
+ tables: i,
2405
+ pathPrefix: B,
2406
+ argSchema: y
2407
+ }
2408
+ });
2409
+ g.push(S);
2410
+ } catch (S) {
2411
+ const Ie = S instanceof Error ? S.message : "Unknown error";
2412
+ p.push(Ie);
2413
+ }
2414
+ }
2415
+ if (p.length > 0) {
2416
+ const f = p.join("; ");
2417
+ throw new Error(f);
2418
+ }
2419
+ const b = Ot(a);
2420
+ if (b)
2421
+ try {
2422
+ b(g, {
2423
+ dataSource: t,
2424
+ tables: i,
2425
+ pathPrefix: o
2426
+ });
2427
+ } catch (f) {
2428
+ const y = f instanceof Error ? f.message : "Unknown validation error";
2429
+ throw new Error(y);
2430
+ }
2431
+ return Dt(a, g);
845
2432
  }
846
- function Ce(e) {
847
- const { attribute: t, config: r } = e;
848
- if (ne(e) && yt(t)) {
849
- const { granularity: s } = t;
850
- return bt(t, e.members.map((n) => s === "Years" && !isNaN(Number(n)) ? `${n}-01-01T00:00:00` : n), r);
2433
+ function ke(e) {
2434
+ const { attribute: r, config: t } = e;
2435
+ if (ge(e) && Nr(r)) {
2436
+ const { granularity: i } = r;
2437
+ return zr(r, e.members.map((s) => i === "Years" && !isNaN(Number(s)) ? `${s}-01-01T00:00:00` : s), t);
851
2438
  }
852
2439
  return e;
853
2440
  }
854
- function ur(e) {
855
- let t = [];
856
- for (const r of e)
857
- q(r) ? t = j(r, t) : t = j([
858
- Ce(r)
859
- ], t);
860
- return t != null ? t : [];
2441
+ function _t(e) {
2442
+ let r = [];
2443
+ for (const t of e)
2444
+ L(t) ? r = ce(t, r) : r = ce([
2445
+ ke(t)
2446
+ ], r);
2447
+ return r != null ? r : [];
861
2448
  }
862
- const fr = (e, t, r) => {
863
- const s = [], n = [];
864
- return e.forEach((i, a) => {
2449
+ const Lt = (e) => {
2450
+ const { data: r } = e, { dataSource: t, tables: i } = e.context, s = [], a = [];
2451
+ return r.forEach((n, o) => {
2452
+ const u = {
2453
+ category: "filters",
2454
+ index: o,
2455
+ input: n
2456
+ };
865
2457
  try {
866
- const o = N(i, t, r);
867
- !q(o) && !Q(o) ? n.push(`Filter ${a + 1} (${i.function}): Invalid filter JSON`) : s.push(o);
868
- } catch (o) {
869
- const c = o instanceof Error ? o.message : "Unknown error";
870
- n.push(`Filter ${a + 1} (${i.function}): ${c}`);
2458
+ const c = w({
2459
+ data: n,
2460
+ context: {
2461
+ dataSource: t,
2462
+ tables: i,
2463
+ pathPrefix: ""
2464
+ }
2465
+ });
2466
+ !L(c) && !J(c) ? a.push(q(h({}, u), {
2467
+ message: "Invalid filter JSON"
2468
+ })) : s.push(c);
2469
+ } catch (c) {
2470
+ const d = c instanceof Error ? c.message : "Unknown error";
2471
+ a.push(q(h({}, u), {
2472
+ message: d
2473
+ }));
871
2474
  }
872
- }), n.length > 0 ? {
2475
+ }), a.length > 0 ? {
873
2476
  success: !1,
874
- errors: n
2477
+ errors: a
875
2478
  } : {
876
2479
  success: !0,
877
- data: ur(s)
2480
+ data: _t(s)
878
2481
  };
879
- }, mr = (e, t, r) => e ? K(e) ? fr(e, t, r) : {
880
- success: !1,
881
- errors: [
882
- 'Invalid filters JSON. Expected an array of function calls with "function" and "args" properties.'
883
- ]
884
- } : {
885
- success: !0,
886
- data: []
887
- }, dr = (e, t, r) => {
888
- const s = [], n = [];
889
- return e.forEach((i, a) => {
890
- try {
891
- const o = N(i, t, r);
892
- Q(o) ? s.push(Ce(o)) : n.push(`Highlight ${a + 1} (${i.function}): Invalid filter JSON`);
893
- } catch (o) {
894
- const c = o instanceof Error ? o.message : "Unknown error";
895
- n.push(`Highlight ${a + 1} (${i.function}): ${c}`);
2482
+ }, Vt = (e) => {
2483
+ const { data: r } = e, { dataSource: t, tables: i } = e.context;
2484
+ return r ? se(r) ? Lt({
2485
+ data: r,
2486
+ context: {
2487
+ dataSource: t,
2488
+ tables: i
896
2489
  }
897
- }), n.length > 0 ? {
2490
+ }) : {
898
2491
  success: !1,
899
- errors: n
2492
+ errors: [
2493
+ {
2494
+ category: "filters",
2495
+ index: -1,
2496
+ input: r,
2497
+ message: 'Invalid filters JSON. Expected an array of function calls with "function" and "args" properties.'
2498
+ }
2499
+ ]
900
2500
  } : {
901
2501
  success: !0,
902
- data: s
2502
+ data: []
903
2503
  };
904
- }, pr = (e, t, r) => e ? K(e) ? dr(e, t, r) : {
905
- success: !1,
906
- errors: [
907
- 'Invalid highlights JSON. Expected an array of function calls with "function" and "args" properties.'
908
- ]
909
- } : {
910
- success: !0,
911
- data: []
912
- };
913
- function gr(e) {
914
- return e.every((t) => typeof t == "string");
915
- }
916
- const yr = (e, t, r) => {
917
- if (!e)
918
- return {
919
- success: !0,
920
- data: []
921
- };
922
- if (!gr(e))
923
- return {
924
- success: !1,
925
- errors: [
926
- "Invalid dimensions JSON. Expected an array of strings."
927
- ]
2504
+ }, Ut = (e) => {
2505
+ const { data: r } = e, { dataSource: t, tables: i } = e.context, s = [], a = [];
2506
+ return r.forEach((n, o) => {
2507
+ const u = {
2508
+ category: "highlights",
2509
+ index: o,
2510
+ input: n
928
2511
  };
929
- const s = [], n = [];
930
- return e.forEach((i, a) => {
931
2512
  try {
932
- const o = Fe(i, t, r);
933
- s.push(o);
934
- } catch (o) {
935
- const c = o instanceof Error ? o.message : "Unknown error";
936
- n.push(`Dimension ${a + 1} ("${i}"): ${c}`);
2513
+ const c = w({
2514
+ data: n,
2515
+ context: {
2516
+ dataSource: t,
2517
+ tables: i,
2518
+ pathPrefix: ""
2519
+ }
2520
+ });
2521
+ J(c) ? s.push(ke(c)) : a.push(q(h({}, u), {
2522
+ message: "Invalid filter JSON"
2523
+ }));
2524
+ } catch (c) {
2525
+ const d = c instanceof Error ? c.message : "Unknown error";
2526
+ a.push(q(h({}, u), {
2527
+ message: d
2528
+ }));
937
2529
  }
938
- }), n.length > 0 ? {
2530
+ }), a.length > 0 ? {
939
2531
  success: !1,
940
- errors: n
2532
+ errors: a
941
2533
  } : {
942
2534
  success: !0,
943
2535
  data: s
944
2536
  };
945
- }, br = (e, t, r) => {
946
- const s = [], n = [];
947
- return e.forEach((i, a) => {
2537
+ }, Jt = (e) => {
2538
+ const { data: r } = e, { dataSource: t, tables: i } = e.context;
2539
+ return r ? se(r) ? Ut({
2540
+ data: r,
2541
+ context: {
2542
+ dataSource: t,
2543
+ tables: i
2544
+ }
2545
+ }) : {
2546
+ success: !1,
2547
+ errors: [
2548
+ {
2549
+ category: "highlights",
2550
+ index: -1,
2551
+ input: r,
2552
+ message: 'Invalid highlights JSON. Expected an array of function calls with "function" and "args" properties.'
2553
+ }
2554
+ ]
2555
+ } : {
2556
+ success: !0,
2557
+ data: []
2558
+ };
2559
+ }, Wt = (e) => {
2560
+ const { data: r } = e, { dataSource: t, tables: i } = e.context, s = [], a = [];
2561
+ return r.forEach((n, o) => {
2562
+ const u = {
2563
+ category: "measures",
2564
+ index: o,
2565
+ input: n
2566
+ };
948
2567
  try {
949
- const o = N(i, t, r);
950
- nr(o) ? s.push(o) : n.push(`Measure ${a + 1} (${i.function}): Invalid measure JSON`);
951
- } catch (o) {
952
- const c = o instanceof Error ? o.message : "Unknown error";
953
- n.push(`Measure ${a + 1} (${i.function}): ${c}`);
2568
+ const c = w({
2569
+ data: n,
2570
+ context: {
2571
+ dataSource: t,
2572
+ tables: i,
2573
+ pathPrefix: ""
2574
+ }
2575
+ });
2576
+ Te(c) ? s.push(c) : a.push(q(h({}, u), {
2577
+ message: "Invalid measure JSON"
2578
+ }));
2579
+ } catch (c) {
2580
+ const d = c instanceof Error ? c.message : "Unknown error";
2581
+ a.push(q(h({}, u), {
2582
+ message: d
2583
+ }));
954
2584
  }
955
- }), n.length > 0 ? {
2585
+ }), a.length > 0 ? {
956
2586
  success: !1,
957
- errors: n
2587
+ errors: a
958
2588
  } : {
959
2589
  success: !0,
960
2590
  data: s
961
2591
  };
962
- }, hr = (e, t, r) => e ? K(e) ? br(e, t, r) : {
963
- success: !1,
964
- errors: [
965
- 'Invalid measures JSON. Expected an array of function calls with "function" and "args" properties.'
966
- ]
967
- } : {
968
- success: !0,
969
- data: []
970
- };
971
- function wr(e) {
972
- const t = {}, r = [];
973
- for (const s in e) {
974
- const n = e[`${s}`], i = n();
975
- if (i.success)
976
- t[`${s}`] = i.data;
977
- else {
978
- const a = i.errors.map((o) => `[${s}] ${o}`);
979
- r.push(...a);
2592
+ }, Kt = (e) => {
2593
+ const { data: r } = e, { dataSource: t, tables: i } = e.context;
2594
+ return r ? se(r) ? Wt({
2595
+ data: r,
2596
+ context: {
2597
+ dataSource: t,
2598
+ tables: i
980
2599
  }
981
- }
982
- return r.length > 0 ? {
2600
+ }) : {
983
2601
  success: !1,
984
- errors: r
2602
+ errors: [
2603
+ {
2604
+ category: "measures",
2605
+ index: -1,
2606
+ input: r,
2607
+ message: 'Invalid measures JSON. Expected an array of function calls with "function" and "args" properties.'
2608
+ }
2609
+ ]
985
2610
  } : {
986
2611
  success: !0,
987
- data: t
2612
+ data: []
988
2613
  };
989
- }
990
- const Rr = (e, t, r) => {
991
- const s = {
992
- dimensions: () => yr(e.dimensions || [], t, r),
993
- measures: () => hr(e.measures || [], t, r),
994
- filters: () => mr(e.filters || [], t, r)
2614
+ }, Gt = (e) => {
2615
+ const { data: r } = e, { dataSource: t, tables: i } = e.context, s = [], a = (g) => {
2616
+ const p = g();
2617
+ return p.success ? p.data : (s.push(...p.errors), null);
2618
+ }, n = a(() => At({
2619
+ data: r.dimensions || [],
2620
+ context: {
2621
+ dataSource: t,
2622
+ tables: i
2623
+ }
2624
+ })), o = a(() => Kt({
2625
+ data: r.measures || [],
2626
+ context: {
2627
+ dataSource: t,
2628
+ tables: i
2629
+ }
2630
+ })), u = a(() => Vt({
2631
+ data: r.filters || [],
2632
+ context: {
2633
+ dataSource: t,
2634
+ tables: i
2635
+ }
2636
+ }));
2637
+ let c = null;
2638
+ return r.highlights && (c = a(() => Jt({
2639
+ data: r.highlights || [],
2640
+ context: {
2641
+ dataSource: t,
2642
+ tables: i
2643
+ }
2644
+ }))), s.length > 0 ? {
2645
+ success: !1,
2646
+ errors: s
2647
+ } : {
2648
+ success: !0,
2649
+ data: h({
2650
+ dataSource: Or(t),
2651
+ dimensions: n || [],
2652
+ measures: o || [],
2653
+ filters: u || []
2654
+ }, c && {
2655
+ highlights: c
2656
+ })
995
2657
  };
996
- e.highlights && (s.highlights = () => pr(e.highlights || [], t, r));
997
- const n = wr(s);
998
- if (!n.success) {
999
- const a = `Translation failed with ${n.errors.length} error(s):
1000
- ${n.errors.join(`
1001
- `)}`;
1002
- throw new Error(a);
1003
- }
1004
- return y({
1005
- dataSource: ht(t)
1006
- }, n.data);
1007
2658
  };
1008
- function Ar(e) {
1009
- const { filters: t, relations: r } = Et(e.filters || []);
2659
+ function jt(e) {
2660
+ const { filters: r, relations: t } = Pr(e.filters || []);
1010
2661
  return {
1011
2662
  dataSource: e.dataSource,
1012
2663
  dimensions: e.dimensions,
1013
2664
  measures: e.measures,
1014
- filters: t,
1015
- filterRelations: r,
2665
+ filters: r,
2666
+ filterRelations: t,
1016
2667
  highlights: e.highlights
1017
2668
  };
1018
2669
  }
1019
- function $r(e, t, r = !1) {
1020
- const s = Ar(e), n = wt(s, t);
1021
- return At(n, r);
2670
+ function vt(e, r, t = !1) {
2671
+ const i = jt(e), s = Tr(i, r);
2672
+ return Br(s, t);
1022
2673
  }
1023
2674
  export {
1024
- Cr as CustomSuperJSON,
1025
- Mr as EMPTY_EXPANDED_QUERY_MODEL,
1026
- kr as EMPTY_SIMPLE_QUERY_MODEL,
1027
- Nr as isByIdDashboardCodeParams,
1028
- Pr as isByIdWidgetCodeParams,
1029
- Or as isClientSideDashboardCodeParams,
1030
- Sr as isClientSideWidgetCodeParams,
1031
- Rr as translateQueryJSON,
1032
- $r as translateQueryToJaql
2675
+ Zt as CustomSuperJSON,
2676
+ ti as EMPTY_EXPANDED_QUERY_MODEL,
2677
+ ii as EMPTY_SIMPLE_QUERY_MODEL,
2678
+ si as isByIdDashboardCodeParams,
2679
+ ni as isByIdWidgetCodeParams,
2680
+ ai as isClientSideDashboardCodeParams,
2681
+ oi as isClientSideWidgetCodeParams,
2682
+ Gt as translateQueryJSON,
2683
+ vt as translateQueryToJaql
1033
2684
  };