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