@lightdash/common 0.2104.7 → 0.2104.8

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 (752) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -0
  2. package/dist/cjs/authorization/index.d.ts +1 -4
  3. package/dist/cjs/authorization/index.d.ts.map +1 -1
  4. package/dist/cjs/authorization/index.js +0 -4
  5. package/dist/cjs/authorization/index.js.map +1 -1
  6. package/dist/cjs/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts +8 -8
  7. package/dist/cjs/ee/AiAgent/index.d.ts +2 -2
  8. package/dist/cjs/ee/AiAgent/schemas/parser.d.ts +24 -24
  9. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +96 -96
  10. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +48 -48
  11. package/dist/cjs/ee/AiAgent/utils.d.ts +8 -8
  12. package/dist/cjs/index.d.ts +23 -449
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +21 -55
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/pivot/index.d.ts +1 -0
  17. package/dist/cjs/pivot/index.d.ts.map +1 -1
  18. package/dist/cjs/pivot/index.js +1 -0
  19. package/dist/cjs/pivot/index.js.map +1 -1
  20. package/dist/cjs/pivot/pivotConfig.d.ts +7 -0
  21. package/dist/cjs/pivot/pivotConfig.d.ts.map +1 -0
  22. package/dist/cjs/pivot/pivotConfig.js +32 -0
  23. package/dist/cjs/pivot/pivotConfig.js.map +1 -0
  24. package/dist/cjs/types/api.d.ts +447 -0
  25. package/dist/cjs/types/api.d.ts.map +1 -1
  26. package/dist/cjs/types/api.js +50 -1
  27. package/dist/cjs/types/api.js.map +1 -1
  28. package/dist/cjs/types/auth.d.ts +2 -1
  29. package/dist/cjs/types/auth.d.ts.map +1 -1
  30. package/dist/cjs/types/auth.js +4 -4
  31. package/dist/cjs/types/auth.js.map +1 -1
  32. package/dist/cjs/types/changeset.d.ts +10 -10
  33. package/dist/cjs/types/pivot.d.ts +0 -2
  34. package/dist/cjs/types/pivot.d.ts.map +1 -1
  35. package/dist/cjs/types/pivot.js +0 -29
  36. package/dist/cjs/types/pivot.js.map +1 -1
  37. package/dist/cjs/types/resourceViewItem.d.ts +1 -1
  38. package/dist/esm/.tsbuildinfo +1 -0
  39. package/dist/esm/authorization/index.d.ts +1 -4
  40. package/dist/esm/authorization/index.d.ts.map +1 -1
  41. package/dist/esm/authorization/index.js +0 -4
  42. package/dist/esm/authorization/index.js.map +1 -1
  43. package/dist/esm/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts +8 -8
  44. package/dist/esm/ee/AiAgent/index.d.ts +2 -2
  45. package/dist/esm/ee/AiAgent/schemas/parser.d.ts +24 -24
  46. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +96 -96
  47. package/dist/esm/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +48 -48
  48. package/dist/esm/ee/AiAgent/utils.d.ts +8 -8
  49. package/dist/esm/index.d.ts +23 -449
  50. package/dist/esm/index.d.ts.map +1 -1
  51. package/dist/esm/index.js +16 -50
  52. package/dist/esm/index.js.map +1 -1
  53. package/dist/esm/pivot/index.d.ts +1 -0
  54. package/dist/esm/pivot/index.d.ts.map +1 -1
  55. package/dist/esm/pivot/index.js +1 -0
  56. package/dist/esm/pivot/index.js.map +1 -1
  57. package/dist/esm/pivot/pivotConfig.d.ts +7 -0
  58. package/dist/esm/pivot/pivotConfig.d.ts.map +1 -0
  59. package/dist/esm/pivot/pivotConfig.js +28 -0
  60. package/dist/esm/pivot/pivotConfig.js.map +1 -0
  61. package/dist/esm/types/api.d.ts +447 -0
  62. package/dist/esm/types/api.d.ts.map +1 -1
  63. package/dist/esm/types/api.js +46 -0
  64. package/dist/esm/types/api.js.map +1 -1
  65. package/dist/esm/types/auth.d.ts +2 -1
  66. package/dist/esm/types/auth.d.ts.map +1 -1
  67. package/dist/esm/types/auth.js +2 -2
  68. package/dist/esm/types/auth.js.map +1 -1
  69. package/dist/esm/types/changeset.d.ts +10 -10
  70. package/dist/esm/types/pivot.d.ts +0 -2
  71. package/dist/esm/types/pivot.d.ts.map +1 -1
  72. package/dist/esm/types/pivot.js +1 -27
  73. package/dist/esm/types/pivot.js.map +1 -1
  74. package/dist/esm/types/resourceViewItem.d.ts +1 -1
  75. package/dist/types/.tsbuildinfo +1 -0
  76. package/dist/types/authorization/buildAccountHelpers.js +11 -0
  77. package/dist/types/authorization/buildAccountHelpers.js.map +1 -0
  78. package/dist/types/authorization/index.d.ts +1 -4
  79. package/dist/types/authorization/index.d.ts.map +1 -1
  80. package/dist/types/authorization/index.js +62 -0
  81. package/dist/types/authorization/index.js.map +1 -0
  82. package/dist/types/authorization/index.mock.js +42 -0
  83. package/dist/types/authorization/index.mock.js.map +1 -0
  84. package/dist/types/authorization/index.test.js +220 -0
  85. package/dist/types/authorization/index.test.js.map +1 -0
  86. package/dist/types/authorization/jwtAbility.js +77 -0
  87. package/dist/types/authorization/jwtAbility.js.map +1 -0
  88. package/dist/types/authorization/jwtAbility.test.js +416 -0
  89. package/dist/types/authorization/jwtAbility.test.js.map +1 -0
  90. package/dist/types/authorization/organizationMemberAbility.js +318 -0
  91. package/dist/types/authorization/organizationMemberAbility.js.map +1 -0
  92. package/dist/types/authorization/organizationMemberAbility.mock.js +34 -0
  93. package/dist/types/authorization/organizationMemberAbility.mock.js.map +1 -0
  94. package/dist/types/authorization/organizationMemberAbility.test.js +1265 -0
  95. package/dist/types/authorization/organizationMemberAbility.test.js.map +1 -0
  96. package/dist/types/authorization/parseAccount.js +28 -0
  97. package/dist/types/authorization/parseAccount.js.map +1 -0
  98. package/dist/types/authorization/parseScopes.js +31 -0
  99. package/dist/types/authorization/parseScopes.js.map +1 -0
  100. package/dist/types/authorization/parseScopes.test.js +102 -0
  101. package/dist/types/authorization/parseScopes.test.js.map +1 -0
  102. package/dist/types/authorization/projectMemberAbility.js +239 -0
  103. package/dist/types/authorization/projectMemberAbility.js.map +1 -0
  104. package/dist/types/authorization/projectMemberAbility.mock.js +27 -0
  105. package/dist/types/authorization/projectMemberAbility.mock.js.map +1 -0
  106. package/dist/types/authorization/projectMemberAbility.test.js +1031 -0
  107. package/dist/types/authorization/projectMemberAbility.test.js.map +1 -0
  108. package/dist/types/authorization/roleToScopeMapping.js +150 -0
  109. package/dist/types/authorization/roleToScopeMapping.js.map +1 -0
  110. package/dist/types/authorization/roleToScopeMapping.test.js +561 -0
  111. package/dist/types/authorization/roleToScopeMapping.test.js.map +1 -0
  112. package/dist/types/authorization/roleToScopeMapping.testUtils.js +319 -0
  113. package/dist/types/authorization/roleToScopeMapping.testUtils.js.map +1 -0
  114. package/dist/types/authorization/roleToScopeParity.test.js +194 -0
  115. package/dist/types/authorization/roleToScopeParity.test.js.map +1 -0
  116. package/dist/types/authorization/scopeAbilityBuilder.js +57 -0
  117. package/dist/types/authorization/scopeAbilityBuilder.js.map +1 -0
  118. package/dist/types/authorization/scopeAbilityBuilder.test.js +1348 -0
  119. package/dist/types/authorization/scopeAbilityBuilder.test.js.map +1 -0
  120. package/dist/types/authorization/scopes.js +613 -0
  121. package/dist/types/authorization/scopes.js.map +1 -0
  122. package/dist/types/authorization/serviceAccountAbility.js +303 -0
  123. package/dist/types/authorization/serviceAccountAbility.js.map +1 -0
  124. package/dist/types/authorization/types.js +2 -0
  125. package/dist/types/authorization/types.js.map +1 -0
  126. package/dist/types/compiler/exploreCompiler.js +462 -0
  127. package/dist/types/compiler/exploreCompiler.js.map +1 -0
  128. package/dist/types/compiler/exploreCompiler.mock.js +2016 -0
  129. package/dist/types/compiler/exploreCompiler.mock.js.map +1 -0
  130. package/dist/types/compiler/exploreCompiler.test.js +679 -0
  131. package/dist/types/compiler/exploreCompiler.test.js.map +1 -0
  132. package/dist/types/compiler/fieldSetExpander.js +119 -0
  133. package/dist/types/compiler/fieldSetExpander.js.map +1 -0
  134. package/dist/types/compiler/fieldSetExpander.test.js +184 -0
  135. package/dist/types/compiler/fieldSetExpander.test.js.map +1 -0
  136. package/dist/types/compiler/filtersCompiler.js +337 -0
  137. package/dist/types/compiler/filtersCompiler.js.map +1 -0
  138. package/dist/types/compiler/filtersCompiler.mock.js +496 -0
  139. package/dist/types/compiler/filtersCompiler.mock.js.map +1 -0
  140. package/dist/types/compiler/filtersCompiler.test.js +570 -0
  141. package/dist/types/compiler/filtersCompiler.test.js.map +1 -0
  142. package/dist/types/compiler/lightdashProjectConfig.js +37 -0
  143. package/dist/types/compiler/lightdashProjectConfig.js.map +1 -0
  144. package/dist/types/compiler/parameters.js +75 -0
  145. package/dist/types/compiler/parameters.js.map +1 -0
  146. package/dist/types/compiler/parameters.test.js +216 -0
  147. package/dist/types/compiler/parameters.test.js.map +1 -0
  148. package/dist/types/compiler/translator.js +707 -0
  149. package/dist/types/compiler/translator.js.map +1 -0
  150. package/dist/types/compiler/translator.mock.js +1901 -0
  151. package/dist/types/compiler/translator.mock.js.map +1 -0
  152. package/dist/types/compiler/translator.test.js +323 -0
  153. package/dist/types/compiler/translator.test.js.map +1 -0
  154. package/dist/types/constants/pivot.js +7 -0
  155. package/dist/types/constants/pivot.js.map +1 -0
  156. package/dist/types/constants/sessionStorageKeys.js +6 -0
  157. package/dist/types/constants/sessionStorageKeys.js.map +1 -0
  158. package/dist/types/constants/sqlRunner.js +3 -0
  159. package/dist/types/constants/sqlRunner.js.map +1 -0
  160. package/dist/types/dbt/DbtSchemaEditor/DbtSchemaEditor.js +285 -0
  161. package/dist/types/dbt/DbtSchemaEditor/DbtSchemaEditor.js.map +1 -0
  162. package/dist/types/dbt/DbtSchemaEditor/DbtSchemaEditor.mock.js +224 -0
  163. package/dist/types/dbt/DbtSchemaEditor/DbtSchemaEditor.mock.js.map +1 -0
  164. package/dist/types/dbt/DbtSchemaEditor/DbtSchemaEditor.test.js +129 -0
  165. package/dist/types/dbt/DbtSchemaEditor/DbtSchemaEditor.test.js.map +1 -0
  166. package/dist/types/dbt/schemas/lightdashMetadata.json +385 -0
  167. package/dist/types/dbt/schemas/lightdashV10.json +72 -0
  168. package/dist/types/dbt/schemas/lightdashV11.json +72 -0
  169. package/dist/types/dbt/schemas/lightdashV12.json +63 -0
  170. package/dist/types/dbt/schemas/lightdashV7.json +72 -0
  171. package/dist/types/dbt/schemas/lightdashV8.json +76 -0
  172. package/dist/types/dbt/schemas/lightdashV9.json +72 -0
  173. package/dist/types/dbt/schemas/manifestV10.json +5545 -0
  174. package/dist/types/dbt/schemas/manifestV11.json +6041 -0
  175. package/dist/types/dbt/schemas/manifestV12.json +22567 -0
  176. package/dist/types/dbt/schemas/manifestV7.json +6481 -0
  177. package/dist/types/dbt/schemas/manifestV8.json +4358 -0
  178. package/dist/types/dbt/schemas/manifestV9.json +4879 -0
  179. package/dist/types/dbt/validation.js +67 -0
  180. package/dist/types/dbt/validation.js.map +1 -0
  181. package/dist/types/ee/AiAgent/adminTypes.js +2 -0
  182. package/dist/types/ee/AiAgent/adminTypes.js.map +1 -0
  183. package/dist/types/ee/AiAgent/chartConfig/shared/formatFieldLabel.js +10 -0
  184. package/dist/types/ee/AiAgent/chartConfig/shared/formatFieldLabel.js.map +1 -0
  185. package/dist/types/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js +60 -0
  186. package/dist/types/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js.map +1 -0
  187. package/dist/types/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js +60 -0
  188. package/dist/types/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js.map +1 -0
  189. package/dist/types/ee/AiAgent/chartConfig/slack/getSlackAiEchartsConfig.js +33 -0
  190. package/dist/types/ee/AiAgent/chartConfig/slack/getSlackAiEchartsConfig.js.map +1 -0
  191. package/dist/types/ee/AiAgent/chartConfig/slack/index.js +2 -0
  192. package/dist/types/ee/AiAgent/chartConfig/slack/index.js.map +1 -0
  193. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/getRunQueryEchartsConfig.js +43 -0
  194. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/getRunQueryEchartsConfig.js.map +1 -0
  195. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js +98 -0
  196. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js.map +1 -0
  197. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js +38 -0
  198. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js.map +1 -0
  199. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js +65 -0
  200. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js.map +1 -0
  201. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js +105 -0
  202. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js.map +1 -0
  203. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js +34 -0
  204. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js.map +1 -0
  205. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js +66 -0
  206. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js.map +1 -0
  207. package/dist/types/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js +104 -0
  208. package/dist/types/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js.map +1 -0
  209. package/dist/types/ee/AiAgent/chartConfig/slack/types.js +2 -0
  210. package/dist/types/ee/AiAgent/chartConfig/slack/types.js.map +1 -0
  211. package/dist/types/ee/AiAgent/chartConfig/web/generateBarVizConfigTool/getVerticalBarChartConfig.js +65 -0
  212. package/dist/types/ee/AiAgent/chartConfig/web/generateBarVizConfigTool/getVerticalBarChartConfig.js.map +1 -0
  213. package/dist/types/ee/AiAgent/chartConfig/web/generateTableVizConfigTool/getTableChartConfig.js +5 -0
  214. package/dist/types/ee/AiAgent/chartConfig/web/generateTableVizConfigTool/getTableChartConfig.js.map +1 -0
  215. package/dist/types/ee/AiAgent/chartConfig/web/generateTimeSeriesVizConfigTool/getTimeSeriesChartConfig.js +63 -0
  216. package/dist/types/ee/AiAgent/chartConfig/web/generateTimeSeriesVizConfigTool/getTimeSeriesChartConfig.js.map +1 -0
  217. package/dist/types/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts +8 -8
  218. package/dist/types/ee/AiAgent/chartConfig/web/getWebAiChartConfig.js +51 -0
  219. package/dist/types/ee/AiAgent/chartConfig/web/getWebAiChartConfig.js.map +1 -0
  220. package/dist/types/ee/AiAgent/chartConfig/web/index.js +6 -0
  221. package/dist/types/ee/AiAgent/chartConfig/web/index.js.map +1 -0
  222. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/getRunQueryChartConfig.js +73 -0
  223. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/getRunQueryChartConfig.js.map +1 -0
  224. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/bar.js +91 -0
  225. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/bar.js.map +1 -0
  226. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/funnel.js +17 -0
  227. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/funnel.js.map +1 -0
  228. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/horizontalBar.js +52 -0
  229. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/horizontalBar.js.map +1 -0
  230. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/line.js +96 -0
  231. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/line.js.map +1 -0
  232. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/pie.js +15 -0
  233. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/pie.js.map +1 -0
  234. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/scatter.js +66 -0
  235. package/dist/types/ee/AiAgent/chartConfig/web/runQueryTool/viz/scatter.js.map +1 -0
  236. package/dist/types/ee/AiAgent/chartConfig/web/shared/canRenderAsChart.js +24 -0
  237. package/dist/types/ee/AiAgent/chartConfig/web/shared/canRenderAsChart.js.map +1 -0
  238. package/dist/types/ee/AiAgent/chartConfig/web/shared/formatPivotValueLabel.js +15 -0
  239. package/dist/types/ee/AiAgent/chartConfig/web/shared/formatPivotValueLabel.js.map +1 -0
  240. package/dist/types/ee/AiAgent/chartConfig/web/shared/getAvailableChartTypes.js +11 -0
  241. package/dist/types/ee/AiAgent/chartConfig/web/shared/getAvailableChartTypes.js.map +1 -0
  242. package/dist/types/ee/AiAgent/chartConfig/web/shared/getGroupByDimensions.js +15 -0
  243. package/dist/types/ee/AiAgent/chartConfig/web/shared/getGroupByDimensions.js.map +1 -0
  244. package/dist/types/ee/AiAgent/chartConfig/web/types.js +2 -0
  245. package/dist/types/ee/AiAgent/chartConfig/web/types.js.map +1 -0
  246. package/dist/types/ee/AiAgent/constants.js +2 -0
  247. package/dist/types/ee/AiAgent/constants.js.map +1 -0
  248. package/dist/types/ee/AiAgent/filterExploreByTags.js +94 -0
  249. package/dist/types/ee/AiAgent/filterExploreByTags.js.map +1 -0
  250. package/dist/types/ee/AiAgent/filterExploreByTags.test.js +634 -0
  251. package/dist/types/ee/AiAgent/filterExploreByTags.test.js.map +1 -0
  252. package/dist/types/ee/AiAgent/followUpTools.js +33 -0
  253. package/dist/types/ee/AiAgent/followUpTools.js.map +1 -0
  254. package/dist/types/ee/AiAgent/index.d.ts +2 -2
  255. package/dist/types/ee/AiAgent/index.js +43 -0
  256. package/dist/types/ee/AiAgent/index.js.map +1 -0
  257. package/dist/types/ee/AiAgent/requestTypes.js +2 -0
  258. package/dist/types/ee/AiAgent/requestTypes.js.map +1 -0
  259. package/dist/types/ee/AiAgent/schemas/customMetrics.js +50 -0
  260. package/dist/types/ee/AiAgent/schemas/customMetrics.js.map +1 -0
  261. package/dist/types/ee/AiAgent/schemas/fieldId.js +11 -0
  262. package/dist/types/ee/AiAgent/schemas/fieldId.js.map +1 -0
  263. package/dist/types/ee/AiAgent/schemas/filters/booleanFilters.js +29 -0
  264. package/dist/types/ee/AiAgent/schemas/filters/booleanFilters.js.map +1 -0
  265. package/dist/types/ee/AiAgent/schemas/filters/dateFilters.js +84 -0
  266. package/dist/types/ee/AiAgent/schemas/filters/dateFilters.js.map +1 -0
  267. package/dist/types/ee/AiAgent/schemas/filters/index.js +98 -0
  268. package/dist/types/ee/AiAgent/schemas/filters/index.js.map +1 -0
  269. package/dist/types/ee/AiAgent/schemas/filters/numberFilters.js +53 -0
  270. package/dist/types/ee/AiAgent/schemas/filters/numberFilters.js.map +1 -0
  271. package/dist/types/ee/AiAgent/schemas/filters/stringFilters.js +33 -0
  272. package/dist/types/ee/AiAgent/schemas/filters/stringFilters.js.map +1 -0
  273. package/dist/types/ee/AiAgent/schemas/index.js +9 -0
  274. package/dist/types/ee/AiAgent/schemas/index.js.map +1 -0
  275. package/dist/types/ee/AiAgent/schemas/outputMetadata.js +5 -0
  276. package/dist/types/ee/AiAgent/schemas/outputMetadata.js.map +1 -0
  277. package/dist/types/ee/AiAgent/schemas/parser.d.ts +24 -24
  278. package/dist/types/ee/AiAgent/schemas/parser.js +43 -0
  279. package/dist/types/ee/AiAgent/schemas/parser.js.map +1 -0
  280. package/dist/types/ee/AiAgent/schemas/sortField.js +14 -0
  281. package/dist/types/ee/AiAgent/schemas/sortField.js.map +1 -0
  282. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js +28 -0
  283. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js.map +1 -0
  284. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentChangeFromPrevious.js +14 -0
  285. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentChangeFromPrevious.js.map +1 -0
  286. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js +14 -0
  287. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js.map +1 -0
  288. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfPreviousValue.js +14 -0
  289. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfPreviousValue.js.map +1 -0
  290. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcRankInColumn.js +10 -0
  291. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcRankInColumn.js.map +1 -0
  292. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcRunningTotal.js +10 -0
  293. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcRunningTotal.js.map +1 -0
  294. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js +105 -0
  295. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js.map +1 -0
  296. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.js +168 -0
  297. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.js.map +1 -0
  298. package/dist/types/ee/AiAgent/schemas/toolSchemaBuilder.js +37 -0
  299. package/dist/types/ee/AiAgent/schemas/toolSchemaBuilder.js.map +1 -0
  300. package/dist/types/ee/AiAgent/schemas/tools/index.js +16 -0
  301. package/dist/types/ee/AiAgent/schemas/tools/index.js.map +1 -0
  302. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.js +103 -0
  303. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.js.map +1 -0
  304. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +96 -96
  305. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardV2Args.js +50 -0
  306. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardV2Args.js.map +1 -0
  307. package/dist/types/ee/AiAgent/schemas/tools/toolFindChartsArgs.js +34 -0
  308. package/dist/types/ee/AiAgent/schemas/tools/toolFindChartsArgs.js.map +1 -0
  309. package/dist/types/ee/AiAgent/schemas/tools/toolFindContentArgs.js +33 -0
  310. package/dist/types/ee/AiAgent/schemas/tools/toolFindContentArgs.js.map +1 -0
  311. package/dist/types/ee/AiAgent/schemas/tools/toolFindDashboardsArgs.js +36 -0
  312. package/dist/types/ee/AiAgent/schemas/tools/toolFindDashboardsArgs.js.map +1 -0
  313. package/dist/types/ee/AiAgent/schemas/tools/toolFindExploresArgs.js +45 -0
  314. package/dist/types/ee/AiAgent/schemas/tools/toolFindExploresArgs.js.map +1 -0
  315. package/dist/types/ee/AiAgent/schemas/tools/toolFindFieldsArgs.js +34 -0
  316. package/dist/types/ee/AiAgent/schemas/tools/toolFindFieldsArgs.js.map +1 -0
  317. package/dist/types/ee/AiAgent/schemas/tools/toolImproveContextArgs.js +60 -0
  318. package/dist/types/ee/AiAgent/schemas/tools/toolImproveContextArgs.js.map +1 -0
  319. package/dist/types/ee/AiAgent/schemas/tools/toolProposeChangeArgs.js +157 -0
  320. package/dist/types/ee/AiAgent/schemas/tools/toolProposeChangeArgs.js.map +1 -0
  321. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js +41 -0
  322. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js.map +1 -0
  323. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +48 -48
  324. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.js +151 -0
  325. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.js.map +1 -0
  326. package/dist/types/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.js +46 -0
  327. package/dist/types/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.js.map +1 -0
  328. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.js +53 -0
  329. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.js.map +1 -0
  330. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js +58 -0
  331. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js.map +1 -0
  332. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js +53 -0
  333. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js.map +1 -0
  334. package/dist/types/ee/AiAgent/schemas/visualizationMetadata.js +9 -0
  335. package/dist/types/ee/AiAgent/schemas/visualizationMetadata.js.map +1 -0
  336. package/dist/types/ee/AiAgent/schemas/visualizations/index.js +58 -0
  337. package/dist/types/ee/AiAgent/schemas/visualizations/index.js.map +1 -0
  338. package/dist/types/ee/AiAgent/schemas/visualizations/tableViz.js +38 -0
  339. package/dist/types/ee/AiAgent/schemas/visualizations/tableViz.js.map +1 -0
  340. package/dist/types/ee/AiAgent/schemas/visualizations/timeSeriesViz.js +63 -0
  341. package/dist/types/ee/AiAgent/schemas/visualizations/timeSeriesViz.js.map +1 -0
  342. package/dist/types/ee/AiAgent/schemas/visualizations/verticalBarViz.js +68 -0
  343. package/dist/types/ee/AiAgent/schemas/visualizations/verticalBarViz.js.map +1 -0
  344. package/dist/types/ee/AiAgent/types.js +12 -0
  345. package/dist/types/ee/AiAgent/types.js.map +1 -0
  346. package/dist/types/ee/AiAgent/utils.d.ts +8 -8
  347. package/dist/types/ee/AiAgent/utils.js +82 -0
  348. package/dist/types/ee/AiAgent/utils.js.map +1 -0
  349. package/dist/types/ee/AiAgent/validators.js +10 -0
  350. package/dist/types/ee/AiAgent/validators.js.map +1 -0
  351. package/dist/types/ee/commercialFeatureFlags.js +10 -0
  352. package/dist/types/ee/commercialFeatureFlags.js.map +1 -0
  353. package/dist/types/ee/embed/index.js +90 -0
  354. package/dist/types/ee/embed/index.js.map +1 -0
  355. package/dist/types/ee/index.js +19 -0
  356. package/dist/types/ee/index.js.map +1 -0
  357. package/dist/types/ee/scim/errors.js +22 -0
  358. package/dist/types/ee/scim/errors.js.map +1 -0
  359. package/dist/types/ee/scim/types.js +2 -0
  360. package/dist/types/ee/scim/types.js.map +1 -0
  361. package/dist/types/ee/serviceAccounts/types.js +8 -0
  362. package/dist/types/ee/serviceAccounts/types.js.map +1 -0
  363. package/dist/types/index.d.ts +23 -449
  364. package/dist/types/index.d.ts.map +1 -1
  365. package/dist/types/index.js +652 -0
  366. package/dist/types/index.js.map +1 -0
  367. package/dist/types/index.mock.js +44 -0
  368. package/dist/types/index.mock.js.map +1 -0
  369. package/dist/types/index.test.js +123 -0
  370. package/dist/types/index.test.js.map +1 -0
  371. package/dist/types/pivot/derivePivotConfigFromChart.js +206 -0
  372. package/dist/types/pivot/derivePivotConfigFromChart.js.map +1 -0
  373. package/dist/types/pivot/derivePivotConfigFromChart.mock.js +112 -0
  374. package/dist/types/pivot/derivePivotConfigFromChart.mock.js.map +1 -0
  375. package/dist/types/pivot/derivePivotConfigFromChart.test.js +418 -0
  376. package/dist/types/pivot/derivePivotConfigFromChart.test.js.map +1 -0
  377. package/dist/types/pivot/index.d.ts +1 -0
  378. package/dist/types/pivot/index.d.ts.map +1 -1
  379. package/dist/types/pivot/index.js +5 -0
  380. package/dist/types/pivot/index.js.map +1 -0
  381. package/dist/types/pivot/pivotConfig.d.ts +7 -0
  382. package/dist/types/pivot/pivotConfig.d.ts.map +1 -0
  383. package/dist/types/pivot/pivotConfig.js +28 -0
  384. package/dist/types/pivot/pivotConfig.js.map +1 -0
  385. package/dist/types/pivot/pivotQueryResults.js +1034 -0
  386. package/dist/types/pivot/pivotQueryResults.js.map +1 -0
  387. package/dist/types/pivot/pivotQueryResults.mock.js +2412 -0
  388. package/dist/types/pivot/pivotQueryResults.mock.js.map +1 -0
  389. package/dist/types/pivot/pivotQueryResults.test.js +1222 -0
  390. package/dist/types/pivot/pivotQueryResults.test.js.map +1 -0
  391. package/dist/types/pivot/utils.js +14 -0
  392. package/dist/types/pivot/utils.js.map +1 -0
  393. package/dist/types/schemas/json/chart-as-code-1.0.json +436 -0
  394. package/dist/types/schemas/json/dashboard-as-code-1.0.json +349 -0
  395. package/dist/types/schemas/json/lightdash-dbt-2.0.json +1417 -0
  396. package/dist/types/schemas/json/lightdash-project-config-1.0.json +138 -0
  397. package/dist/types/templating/template.js +30 -0
  398. package/dist/types/templating/template.js.map +1 -0
  399. package/dist/types/templating/template.mock.js +45 -0
  400. package/dist/types/templating/template.mock.js.map +1 -0
  401. package/dist/types/templating/template.test.js +21 -0
  402. package/dist/types/templating/template.test.js.map +1 -0
  403. package/dist/types/types/SshKeyPair.js +2 -0
  404. package/dist/types/types/SshKeyPair.js.map +1 -0
  405. package/dist/types/types/account.js +2 -0
  406. package/dist/types/types/account.js.map +1 -0
  407. package/dist/types/types/analytics.js +29 -0
  408. package/dist/types/types/analytics.js.map +1 -0
  409. package/dist/types/types/any.js +2 -0
  410. package/dist/types/types/any.js.map +1 -0
  411. package/dist/types/types/api/comments.js +2 -0
  412. package/dist/types/types/api/comments.js.map +1 -0
  413. package/dist/types/types/api/email.js +2 -0
  414. package/dist/types/types/api/email.js.map +1 -0
  415. package/dist/types/types/api/errors.js +2 -0
  416. package/dist/types/types/api/errors.js.map +1 -0
  417. package/dist/types/types/api/notifications.js +5 -0
  418. package/dist/types/types/api/notifications.js.map +1 -0
  419. package/dist/types/types/api/paginatedQuery.js +3 -0
  420. package/dist/types/types/api/paginatedQuery.js.map +1 -0
  421. package/dist/types/types/api/parameters.js +2 -0
  422. package/dist/types/types/api/parameters.js.map +1 -0
  423. package/dist/types/types/api/share.js +2 -0
  424. package/dist/types/types/api/share.js.map +1 -0
  425. package/dist/types/types/api/sort.js +2 -0
  426. package/dist/types/types/api/sort.js.map +1 -0
  427. package/dist/types/types/api/spotlight.js +2 -0
  428. package/dist/types/types/api/spotlight.js.map +1 -0
  429. package/dist/types/types/api/success.js +2 -0
  430. package/dist/types/types/api/success.js.map +1 -0
  431. package/dist/types/types/api/uuid.js +2 -0
  432. package/dist/types/types/api/uuid.js.map +1 -0
  433. package/dist/types/types/api.d.ts +447 -0
  434. package/dist/types/types/api.d.ts.map +1 -1
  435. package/dist/types/types/api.js +57 -0
  436. package/dist/types/types/api.js.map +1 -0
  437. package/dist/types/types/applyDimensionOverrides.test.js +338 -0
  438. package/dist/types/types/applyDimensionOverrides.test.js.map +1 -0
  439. package/dist/types/types/auth.d.ts +2 -1
  440. package/dist/types/types/auth.d.ts.map +1 -1
  441. package/dist/types/types/auth.js +42 -0
  442. package/dist/types/types/auth.js.map +1 -0
  443. package/dist/types/types/bigQuerySSO.js +2 -0
  444. package/dist/types/types/bigQuerySSO.js.map +1 -0
  445. package/dist/types/types/catalog.js +50 -0
  446. package/dist/types/types/catalog.js.map +1 -0
  447. package/dist/types/types/changeset.d.ts +10 -10
  448. package/dist/types/types/changeset.js +72 -0
  449. package/dist/types/types/changeset.js.map +1 -0
  450. package/dist/types/types/coder.js +2 -0
  451. package/dist/types/types/coder.js.map +1 -0
  452. package/dist/types/types/comments.js +2 -0
  453. package/dist/types/types/comments.js.map +1 -0
  454. package/dist/types/types/conditionalFormatting.js +25 -0
  455. package/dist/types/types/conditionalFormatting.js.map +1 -0
  456. package/dist/types/types/content.js +19 -0
  457. package/dist/types/types/content.js.map +1 -0
  458. package/dist/types/types/csv.js +2 -0
  459. package/dist/types/types/csv.js.map +1 -0
  460. package/dist/types/types/dashboard.js +46 -0
  461. package/dist/types/types/dashboard.js.map +1 -0
  462. package/dist/types/types/dbt.js +262 -0
  463. package/dist/types/types/dbt.js.map +1 -0
  464. package/dist/types/types/dbtFromSchema.js +2 -0
  465. package/dist/types/types/dbtFromSchema.js.map +1 -0
  466. package/dist/types/types/deepPartial.js +7 -0
  467. package/dist/types/types/deepPartial.js.map +1 -0
  468. package/dist/types/types/downloadFile.js +9 -0
  469. package/dist/types/types/downloadFile.js.map +1 -0
  470. package/dist/types/types/email.js +2 -0
  471. package/dist/types/types/email.js.map +1 -0
  472. package/dist/types/types/errors.js +496 -0
  473. package/dist/types/types/errors.js.map +1 -0
  474. package/dist/types/types/explore.js +24 -0
  475. package/dist/types/types/explore.js.map +1 -0
  476. package/dist/types/types/featureFlags.js +62 -0
  477. package/dist/types/types/featureFlags.js.map +1 -0
  478. package/dist/types/types/field.js +473 -0
  479. package/dist/types/types/field.js.map +1 -0
  480. package/dist/types/types/field.test.js +90 -0
  481. package/dist/types/types/field.test.js.map +1 -0
  482. package/dist/types/types/fieldMatch.js +2 -0
  483. package/dist/types/types/fieldMatch.js.map +1 -0
  484. package/dist/types/types/filter.js +287 -0
  485. package/dist/types/types/filter.js.map +1 -0
  486. package/dist/types/types/filter.test.js +372 -0
  487. package/dist/types/types/filter.test.js.map +1 -0
  488. package/dist/types/types/filterGrammar.js +358 -0
  489. package/dist/types/types/filterGrammar.js.map +1 -0
  490. package/dist/types/types/filterGrammar.test.js +549 -0
  491. package/dist/types/types/filterGrammar.test.js.map +1 -0
  492. package/dist/types/types/filterGrammarConversion.js +94 -0
  493. package/dist/types/types/filterGrammarConversion.js.map +1 -0
  494. package/dist/types/types/filterGrammarConversion.test.js +260 -0
  495. package/dist/types/types/filterGrammarConversion.test.js.map +1 -0
  496. package/dist/types/types/gdrive.js +2 -0
  497. package/dist/types/types/gdrive.js.map +1 -0
  498. package/dist/types/types/gitIntegration.js +2 -0
  499. package/dist/types/types/gitIntegration.js.map +1 -0
  500. package/dist/types/types/groups.js +4 -0
  501. package/dist/types/types/groups.js.map +1 -0
  502. package/dist/types/types/job.js +67 -0
  503. package/dist/types/types/job.js.map +1 -0
  504. package/dist/types/types/knex-paginate.js +2 -0
  505. package/dist/types/types/knex-paginate.js.map +1 -0
  506. package/dist/types/types/lightdashProjectConfig.js +4 -0
  507. package/dist/types/types/lightdashProjectConfig.js.map +1 -0
  508. package/dist/types/types/metricQuery.js +20 -0
  509. package/dist/types/types/metricQuery.js.map +1 -0
  510. package/dist/types/types/metricsExplorer.js +12 -0
  511. package/dist/types/types/metricsExplorer.js.map +1 -0
  512. package/dist/types/types/notifications.js +2 -0
  513. package/dist/types/types/notifications.js.map +1 -0
  514. package/dist/types/types/oauth.js +2 -0
  515. package/dist/types/types/oauth.js.map +1 -0
  516. package/dist/types/types/openIdIdentity.js +12 -0
  517. package/dist/types/types/openIdIdentity.js.map +1 -0
  518. package/dist/types/types/organization.js +20 -0
  519. package/dist/types/types/organization.js.map +1 -0
  520. package/dist/types/types/organizationMemberProfile.js +30 -0
  521. package/dist/types/types/organizationMemberProfile.js.map +1 -0
  522. package/dist/types/types/organizationWarehouseCredentials.js +2 -0
  523. package/dist/types/types/organizationWarehouseCredentials.js.map +1 -0
  524. package/dist/types/types/paginateResults.js +2 -0
  525. package/dist/types/types/paginateResults.js.map +1 -0
  526. package/dist/types/types/parameters.js +2 -0
  527. package/dist/types/types/parameters.js.map +1 -0
  528. package/dist/types/types/personalAccessToken.js +2 -0
  529. package/dist/types/types/personalAccessToken.js.map +1 -0
  530. package/dist/types/types/pinning.js +5 -0
  531. package/dist/types/types/pinning.js.map +1 -0
  532. package/dist/types/types/pivot.d.ts +0 -2
  533. package/dist/types/types/pivot.d.ts.map +1 -1
  534. package/dist/types/types/pivot.js +2 -0
  535. package/dist/types/types/pivot.js.map +1 -0
  536. package/dist/types/types/projectGroupAccess.js +2 -0
  537. package/dist/types/types/projectGroupAccess.js.map +1 -0
  538. package/dist/types/types/projectMemberProfile.js +2 -0
  539. package/dist/types/types/projectMemberProfile.js.map +1 -0
  540. package/dist/types/types/projectMemberRole.js +30 -0
  541. package/dist/types/types/projectMemberRole.js.map +1 -0
  542. package/dist/types/types/projects.js +149 -0
  543. package/dist/types/types/projects.js.map +1 -0
  544. package/dist/types/types/promotion.js +8 -0
  545. package/dist/types/types/promotion.js.map +1 -0
  546. package/dist/types/types/queryHistory.js +8 -0
  547. package/dist/types/types/queryHistory.js.map +1 -0
  548. package/dist/types/types/rename.js +6 -0
  549. package/dist/types/types/rename.js.map +1 -0
  550. package/dist/types/types/resourceViewItem.d.ts +1 -1
  551. package/dist/types/types/resourceViewItem.js +103 -0
  552. package/dist/types/types/resourceViewItem.js.map +1 -0
  553. package/dist/types/types/results.js +51 -0
  554. package/dist/types/types/results.js.map +1 -0
  555. package/dist/types/types/roles.js +2 -0
  556. package/dist/types/types/roles.js.map +1 -0
  557. package/dist/types/types/savedCharts.js +225 -0
  558. package/dist/types/types/savedCharts.js.map +1 -0
  559. package/dist/types/types/scheduler.js +87 -0
  560. package/dist/types/types/scheduler.js.map +1 -0
  561. package/dist/types/types/schedulerLog.js +2 -0
  562. package/dist/types/types/schedulerLog.js.map +1 -0
  563. package/dist/types/types/schedulerTaskList.js +31 -0
  564. package/dist/types/types/schedulerTaskList.js.map +1 -0
  565. package/dist/types/types/scopes.js +14 -0
  566. package/dist/types/types/scopes.js.map +1 -0
  567. package/dist/types/types/search.js +53 -0
  568. package/dist/types/types/search.js.map +1 -0
  569. package/dist/types/types/share.js +2 -0
  570. package/dist/types/types/share.js.map +1 -0
  571. package/dist/types/types/slack.js +2 -0
  572. package/dist/types/types/slack.js.map +1 -0
  573. package/dist/types/types/slackSettings.js +2 -0
  574. package/dist/types/types/slackSettings.js.map +1 -0
  575. package/dist/types/types/space.js +7 -0
  576. package/dist/types/types/space.js.map +1 -0
  577. package/dist/types/types/spotlightTableConfig.js +17 -0
  578. package/dist/types/types/spotlightTableConfig.js.map +1 -0
  579. package/dist/types/types/sqlRunner.js +41 -0
  580. package/dist/types/types/sqlRunner.js.map +1 -0
  581. package/dist/types/types/table.js +6 -0
  582. package/dist/types/types/table.js.map +1 -0
  583. package/dist/types/types/tags.js +2 -0
  584. package/dist/types/types/tags.js.map +1 -0
  585. package/dist/types/types/timeFrames.js +42 -0
  586. package/dist/types/types/timeFrames.js.map +1 -0
  587. package/dist/types/types/timezone.js +33 -0
  588. package/dist/types/types/timezone.js.map +1 -0
  589. package/dist/types/types/user.js +23 -0
  590. package/dist/types/types/user.js.map +1 -0
  591. package/dist/types/types/userAttributes.js +2 -0
  592. package/dist/types/types/userAttributes.js.map +1 -0
  593. package/dist/types/types/userWarehouseCredentials.js +2 -0
  594. package/dist/types/types/userWarehouseCredentials.js.map +1 -0
  595. package/dist/types/types/validation.js +29 -0
  596. package/dist/types/types/validation.js.map +1 -0
  597. package/dist/types/types/warehouse.js +6 -0
  598. package/dist/types/types/warehouse.js.map +1 -0
  599. package/dist/types/types/yamlSchema.js +2 -0
  600. package/dist/types/types/yamlSchema.js.map +1 -0
  601. package/dist/types/utils/accessors.js +27 -0
  602. package/dist/types/utils/accessors.js.map +1 -0
  603. package/dist/types/utils/accessors.test.js +45 -0
  604. package/dist/types/utils/accessors.test.js.map +1 -0
  605. package/dist/types/utils/additionalMetrics.js +54 -0
  606. package/dist/types/utils/additionalMetrics.js.map +1 -0
  607. package/dist/types/utils/api.js +5 -0
  608. package/dist/types/utils/api.js.map +1 -0
  609. package/dist/types/utils/assertUnreachable.js +10 -0
  610. package/dist/types/utils/assertUnreachable.js.map +1 -0
  611. package/dist/types/utils/booleanConverter.js +27 -0
  612. package/dist/types/utils/booleanConverter.js.map +1 -0
  613. package/dist/types/utils/booleanConverter.test.js +59 -0
  614. package/dist/types/utils/booleanConverter.test.js.map +1 -0
  615. package/dist/types/utils/catalogMetricsTree.js +2 -0
  616. package/dist/types/utils/catalogMetricsTree.js.map +1 -0
  617. package/dist/types/utils/changeset.js +132 -0
  618. package/dist/types/utils/changeset.js.map +1 -0
  619. package/dist/types/utils/changeset.mock.js +146 -0
  620. package/dist/types/utils/changeset.mock.js.map +1 -0
  621. package/dist/types/utils/changeset.test.js +248 -0
  622. package/dist/types/utils/changeset.test.js.map +1 -0
  623. package/dist/types/utils/charts.js +74 -0
  624. package/dist/types/utils/charts.js.map +1 -0
  625. package/dist/types/utils/colors.js +15 -0
  626. package/dist/types/utils/colors.js.map +1 -0
  627. package/dist/types/utils/colors.test.js +85 -0
  628. package/dist/types/utils/colors.test.js.map +1 -0
  629. package/dist/types/utils/conditionalFormatting.js +436 -0
  630. package/dist/types/utils/conditionalFormatting.js.map +1 -0
  631. package/dist/types/utils/conditionalFormatting.test.js +105 -0
  632. package/dist/types/utils/conditionalFormatting.test.js.map +1 -0
  633. package/dist/types/utils/convertCustomDimensionsToYaml.js +115 -0
  634. package/dist/types/utils/convertCustomDimensionsToYaml.js.map +1 -0
  635. package/dist/types/utils/convertCustomMetricsToYaml.js +15 -0
  636. package/dist/types/utils/convertCustomMetricsToYaml.js.map +1 -0
  637. package/dist/types/utils/customDimensions.js +27 -0
  638. package/dist/types/utils/customDimensions.js.map +1 -0
  639. package/dist/types/utils/dashboard.js +35 -0
  640. package/dist/types/utils/dashboard.js.map +1 -0
  641. package/dist/types/utils/dashboard.test.js +36 -0
  642. package/dist/types/utils/dashboard.test.js.map +1 -0
  643. package/dist/types/utils/dbt.js +4 -0
  644. package/dist/types/utils/dbt.js.map +1 -0
  645. package/dist/types/utils/dbt.test.js +39 -0
  646. package/dist/types/utils/dbt.test.js.map +1 -0
  647. package/dist/types/utils/dependencyGraph.js +51 -0
  648. package/dist/types/utils/dependencyGraph.js.map +1 -0
  649. package/dist/types/utils/dependencyGraph.test.js +113 -0
  650. package/dist/types/utils/dependencyGraph.test.js.map +1 -0
  651. package/dist/types/utils/email.js +76 -0
  652. package/dist/types/utils/email.js.map +1 -0
  653. package/dist/types/utils/email.test.js +49 -0
  654. package/dist/types/utils/email.test.js.map +1 -0
  655. package/dist/types/utils/fields.js +183 -0
  656. package/dist/types/utils/fields.js.map +1 -0
  657. package/dist/types/utils/fields.mock.js +150 -0
  658. package/dist/types/utils/fields.mock.js.map +1 -0
  659. package/dist/types/utils/fields.test.js +259 -0
  660. package/dist/types/utils/fields.test.js.map +1 -0
  661. package/dist/types/utils/filters.js +763 -0
  662. package/dist/types/utils/filters.js.map +1 -0
  663. package/dist/types/utils/filters.mock.js +450 -0
  664. package/dist/types/utils/filters.mock.js.map +1 -0
  665. package/dist/types/utils/filters.test.js +360 -0
  666. package/dist/types/utils/filters.test.js.map +1 -0
  667. package/dist/types/utils/formatting.js +552 -0
  668. package/dist/types/utils/formatting.js.map +1 -0
  669. package/dist/types/utils/formatting.mock.js +28 -0
  670. package/dist/types/utils/formatting.mock.js.map +1 -0
  671. package/dist/types/utils/formatting.test.js +1047 -0
  672. package/dist/types/utils/formatting.test.js.map +1 -0
  673. package/dist/types/utils/github.js +11 -0
  674. package/dist/types/utils/github.js.map +1 -0
  675. package/dist/types/utils/i18n/abstract.js +3 -0
  676. package/dist/types/utils/i18n/abstract.js.map +1 -0
  677. package/dist/types/utils/i18n/chartAsCode.js +132 -0
  678. package/dist/types/utils/i18n/chartAsCode.js.map +1 -0
  679. package/dist/types/utils/i18n/chartAsCode.test.js +350 -0
  680. package/dist/types/utils/i18n/chartAsCode.test.js.map +1 -0
  681. package/dist/types/utils/i18n/dashboardAsCode.js +58 -0
  682. package/dist/types/utils/i18n/dashboardAsCode.js.map +1 -0
  683. package/dist/types/utils/i18n/index.js +5 -0
  684. package/dist/types/utils/i18n/index.js.map +1 -0
  685. package/dist/types/utils/i18n/merge.js +20 -0
  686. package/dist/types/utils/i18n/merge.js.map +1 -0
  687. package/dist/types/utils/i18n/types.js +2 -0
  688. package/dist/types/utils/i18n/types.js.map +1 -0
  689. package/dist/types/utils/item.js +154 -0
  690. package/dist/types/utils/item.js.map +1 -0
  691. package/dist/types/utils/loadLightdashProjectConfig.js +49 -0
  692. package/dist/types/utils/loadLightdashProjectConfig.js.map +1 -0
  693. package/dist/types/utils/loadLightdashProjectConfig.mock.js +127 -0
  694. package/dist/types/utils/loadLightdashProjectConfig.mock.js.map +1 -0
  695. package/dist/types/utils/loadLightdashProjectConfig.test.js +137 -0
  696. package/dist/types/utils/loadLightdashProjectConfig.test.js.map +1 -0
  697. package/dist/types/utils/metricsExplorer.js +365 -0
  698. package/dist/types/utils/metricsExplorer.js.map +1 -0
  699. package/dist/types/utils/oauth.js +242 -0
  700. package/dist/types/utils/oauth.js.map +1 -0
  701. package/dist/types/utils/organization.js +23 -0
  702. package/dist/types/utils/organization.js.map +1 -0
  703. package/dist/types/utils/projectMemberRole.js +85 -0
  704. package/dist/types/utils/projectMemberRole.js.map +1 -0
  705. package/dist/types/utils/projectMemberRole.test.js +36 -0
  706. package/dist/types/utils/projectMemberRole.test.js.map +1 -0
  707. package/dist/types/utils/promises.js +5 -0
  708. package/dist/types/utils/promises.js.map +1 -0
  709. package/dist/types/utils/sanitizeHtml.js +111 -0
  710. package/dist/types/utils/sanitizeHtml.js.map +1 -0
  711. package/dist/types/utils/sanitizeHtml.test.js +101 -0
  712. package/dist/types/utils/sanitizeHtml.test.js.map +1 -0
  713. package/dist/types/utils/scheduler.js +85 -0
  714. package/dist/types/utils/scheduler.js.map +1 -0
  715. package/dist/types/utils/scheduler.test.js +41 -0
  716. package/dist/types/utils/scheduler.test.js.map +1 -0
  717. package/dist/types/utils/searchParams.js +8 -0
  718. package/dist/types/utils/searchParams.js.map +1 -0
  719. package/dist/types/utils/sleep.js +6 -0
  720. package/dist/types/utils/sleep.js.map +1 -0
  721. package/dist/types/utils/slug.test.js +129 -0
  722. package/dist/types/utils/slug.test.js.map +1 -0
  723. package/dist/types/utils/slugs.js +55 -0
  724. package/dist/types/utils/slugs.js.map +1 -0
  725. package/dist/types/utils/subtotals.js +4 -0
  726. package/dist/types/utils/subtotals.js.map +1 -0
  727. package/dist/types/utils/time.js +25 -0
  728. package/dist/types/utils/time.js.map +1 -0
  729. package/dist/types/utils/timeFrames.js +529 -0
  730. package/dist/types/utils/timeFrames.js.map +1 -0
  731. package/dist/types/utils/timeFrames.test.js +50 -0
  732. package/dist/types/utils/timeFrames.test.js.map +1 -0
  733. package/dist/types/utils/virtualView.js +98 -0
  734. package/dist/types/utils/virtualView.js.map +1 -0
  735. package/dist/types/utils/warehouse.js +57 -0
  736. package/dist/types/utils/warehouse.js.map +1 -0
  737. package/dist/types/visualizations/CartesianChartDataModel.js +515 -0
  738. package/dist/types/visualizations/CartesianChartDataModel.js.map +1 -0
  739. package/dist/types/visualizations/PieChartDataModel.js +258 -0
  740. package/dist/types/visualizations/PieChartDataModel.js.map +1 -0
  741. package/dist/types/visualizations/TableDataModel.js +96 -0
  742. package/dist/types/visualizations/TableDataModel.js.map +1 -0
  743. package/dist/types/visualizations/chartTransformations.js +107 -0
  744. package/dist/types/visualizations/chartTransformations.js.map +1 -0
  745. package/dist/types/visualizations/helpers/getCartesianAxisFormatterConfig.js +142 -0
  746. package/dist/types/visualizations/helpers/getCartesianAxisFormatterConfig.js.map +1 -0
  747. package/dist/types/visualizations/types/IResultsRunner.js +2 -0
  748. package/dist/types/visualizations/types/IResultsRunner.js.map +1 -0
  749. package/dist/types/visualizations/types/index.js +78 -0
  750. package/dist/types/visualizations/types/index.js.map +1 -0
  751. package/package.json +1 -1
  752. package/dist/tsconfig.types.tsbuildinfo +0 -1
@@ -0,0 +1,549 @@
1
+ import peg from 'pegjs';
2
+ import { FilterOperator } from './filter';
3
+ import filterGrammar, { parseFilters, parseModelRequiredFilters, } from './filterGrammar';
4
+ describe('Parse grammar', () => {
5
+ const parser = peg.generate(filterGrammar);
6
+ it('Simple peg grammar test', async () => {
7
+ const simpleParser = peg.generate("start = ('a' / 'b')+");
8
+ expect(simpleParser.parse('abba')).toEqual(['a', 'b', 'b', 'a']);
9
+ });
10
+ it('Empty Filter grammar', async () => {
11
+ expect(parser.parse('')).toEqual({
12
+ is: true,
13
+ type: 'equals',
14
+ values: [],
15
+ });
16
+ });
17
+ it('Equals grammar', async () => {
18
+ expect(parser.parse('pedram')).toEqual({
19
+ is: true,
20
+ type: 'equals',
21
+ values: ['pedram'],
22
+ });
23
+ expect(parser.parse('with space')).toEqual({
24
+ is: true,
25
+ type: 'equals',
26
+ values: ['with space'],
27
+ });
28
+ expect(parser.parse('with_multiple_underscores')).toEqual({
29
+ is: true,
30
+ type: 'equals',
31
+ values: ['with_multiple_underscores'],
32
+ });
33
+ });
34
+ it('should compile grammar with escaped underscore', async () => {
35
+ expect(parser.parse('katie\\_')).toEqual({
36
+ is: true,
37
+ type: 'equals',
38
+ values: ['katie_'],
39
+ });
40
+ });
41
+ it('Not equals grammar', async () => {
42
+ expect(parser.parse('!pedram')).toEqual({
43
+ is: false,
44
+ type: 'equals',
45
+ values: ['pedram'],
46
+ });
47
+ expect(parser.parse('!song_played')).toEqual({
48
+ is: false,
49
+ type: 'equals',
50
+ values: ['song_played'],
51
+ });
52
+ expect(parser.parse('!with_underscores')).toEqual({
53
+ is: false,
54
+ type: 'equals',
55
+ values: ['with_underscores'],
56
+ });
57
+ });
58
+ it('Starts with grammar', async () => {
59
+ expect(parser.parse('katie%')).toEqual({
60
+ is: true,
61
+ type: 'startsWith',
62
+ values: ['katie'],
63
+ });
64
+ expect(parser.parse('with_underscores%')).toEqual({
65
+ is: true,
66
+ type: 'startsWith',
67
+ values: ['with_underscores'],
68
+ });
69
+ });
70
+ it('Ends with grammar', async () => {
71
+ expect(parser.parse('%katie')).toEqual({
72
+ is: true,
73
+ type: 'endsWith',
74
+ values: ['katie'],
75
+ });
76
+ expect(parser.parse('%with_underscores')).toEqual({
77
+ is: true,
78
+ type: 'endsWith',
79
+ values: ['with_underscores'],
80
+ });
81
+ });
82
+ it('Contains grammar', async () => {
83
+ expect(parser.parse('%katie%')).toEqual({
84
+ is: true,
85
+ type: 'include',
86
+ values: ['katie'],
87
+ });
88
+ expect(parser.parse('%with_underscores%')).toEqual({
89
+ is: true,
90
+ type: 'include',
91
+ values: ['with_underscores'],
92
+ });
93
+ });
94
+ it('Not contains grammar', async () => {
95
+ expect(parser.parse('!%katie%')).toEqual({
96
+ is: false,
97
+ type: 'include',
98
+ values: ['katie'],
99
+ });
100
+ });
101
+ it('Numerical operators', async () => {
102
+ expect(parser.parse('< 15')).toEqual({ type: '<', values: [15] });
103
+ expect(parser.parse('> 15')).toEqual({ type: '>', values: [15] });
104
+ expect(parser.parse('<= 15')).toEqual({ type: '<=', values: [15] });
105
+ expect(parser.parse('>= 15')).toEqual({ type: '>=', values: [15] });
106
+ });
107
+ it('Negative numbers in operators', async () => {
108
+ expect(parser.parse('>= -1')).toEqual({ type: '>=', values: [-1] });
109
+ expect(parser.parse('< -5')).toEqual({ type: '<', values: [-5] });
110
+ expect(parser.parse('> -10.5')).toEqual({ type: '>', values: [-10.5] });
111
+ });
112
+ it('Float number', async () => {
113
+ expect(parser.parse('< 15.0')).toEqual({ type: '<', values: [15] });
114
+ expect(parser.parse('> 15.05')).toEqual({ type: '>', values: [15.05] });
115
+ expect(parser.parse('<= 15.5555')).toEqual({
116
+ type: '<=',
117
+ values: [15.5555],
118
+ });
119
+ });
120
+ it('Positive and negative floats', async () => {
121
+ // Positive floats
122
+ expect(parser.parse('> 3.14')).toEqual({ type: '>', values: [3.14] });
123
+ expect(parser.parse('< 0.5')).toEqual({ type: '<', values: [0.5] });
124
+ expect(parser.parse('>= 100.001')).toEqual({
125
+ type: '>=',
126
+ values: [100.001],
127
+ });
128
+ expect(parser.parse('<= 2.718')).toEqual({
129
+ type: '<=',
130
+ values: [2.718],
131
+ });
132
+ // Negative floats
133
+ expect(parser.parse('< -3.14')).toEqual({ type: '<', values: [-3.14] });
134
+ expect(parser.parse('> -0.5')).toEqual({ type: '>', values: [-0.5] });
135
+ expect(parser.parse('<= -100.001')).toEqual({
136
+ type: '<=',
137
+ values: [-100.001],
138
+ });
139
+ expect(parser.parse('>= -2.718')).toEqual({
140
+ type: '>=',
141
+ values: [-2.718],
142
+ });
143
+ // Edge cases with zero
144
+ expect(parser.parse('> 0.0')).toEqual({ type: '>', values: [0] });
145
+ expect(parser.parse('< -0.0')).toEqual({ type: '<', values: [-0] });
146
+ });
147
+ it('Should reject invalid negative float expressions', async () => {
148
+ // This test ensures that expressions like "-10.-5" are not valid
149
+ // The grammar should not parse these as valid numbers
150
+ expect(() => parser.parse('> -10.-5')).toThrow();
151
+ expect(() => parser.parse('< -3.-14')).toThrow();
152
+ });
153
+ it('Numerical operator < grammar with spaces', async () => {
154
+ const expected = { type: '<', values: [25] };
155
+ expect(parser.parse('<25')).toEqual(expected);
156
+ expect(parser.parse('< 25')).toEqual(expected);
157
+ expect(parser.parse(' <25')).toEqual(expected);
158
+ expect(parser.parse(' < 25')).toEqual(expected);
159
+ });
160
+ it('Numerical operator >= grammar with spaces', async () => {
161
+ const expected = { type: '>=', values: [32] };
162
+ expect(parser.parse('>=32')).toEqual(expected);
163
+ expect(parser.parse('>= 32')).toEqual(expected);
164
+ expect(parser.parse(' >=32')).toEqual(expected);
165
+ expect(parser.parse(' >= 32')).toEqual(expected);
166
+ });
167
+ it('Is null', async () => {
168
+ expect(parser.parse('NULL')).toEqual({
169
+ is: true,
170
+ type: 'null',
171
+ });
172
+ expect(parser.parse('null')).toEqual({
173
+ is: true,
174
+ type: 'null',
175
+ });
176
+ });
177
+ it('Is not null', async () => {
178
+ expect(parser.parse('!null')).toEqual({
179
+ is: false,
180
+ type: 'null',
181
+ });
182
+ });
183
+ });
184
+ const removeIds = (filters) => filters.map((filter) => ({ ...filter, id: undefined }));
185
+ describe('Parse metric filters', () => {
186
+ it('Should directly transform boolean filter', () => {
187
+ const filters = [{ is_active: true }];
188
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
189
+ {
190
+ id: undefined,
191
+ operator: FilterOperator.EQUALS,
192
+ target: {
193
+ fieldRef: 'is_active',
194
+ },
195
+ values: [true],
196
+ },
197
+ ]);
198
+ });
199
+ it('Should directly transform number filter', () => {
200
+ const filters = [{ position: 1 }];
201
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
202
+ {
203
+ id: undefined,
204
+ operator: FilterOperator.EQUALS,
205
+ target: {
206
+ fieldRef: 'position',
207
+ },
208
+ values: [1],
209
+ },
210
+ ]);
211
+ });
212
+ it('Should parse string filter using grammar', () => {
213
+ const filters = [{ name: '%katie%' }];
214
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
215
+ {
216
+ id: undefined,
217
+ operator: FilterOperator.INCLUDE,
218
+ target: {
219
+ fieldRef: 'name',
220
+ },
221
+ values: ['katie'],
222
+ },
223
+ ]);
224
+ });
225
+ it('Should parse multiple filters', () => {
226
+ expect(removeIds(parseFilters([{ name: '!%katie%' }, { money: 15.33 }]))).toStrictEqual([
227
+ {
228
+ id: undefined,
229
+ operator: FilterOperator.NOT_INCLUDE,
230
+ target: {
231
+ fieldRef: 'name',
232
+ },
233
+ values: ['katie'],
234
+ },
235
+ {
236
+ id: undefined,
237
+ operator: FilterOperator.EQUALS,
238
+ target: {
239
+ fieldRef: 'money',
240
+ },
241
+ values: [15.33],
242
+ },
243
+ ]);
244
+ expect(removeIds(parseFilters([{ order_id: '> 5' }, { order_id: '<= 10' }]))).toStrictEqual([
245
+ {
246
+ id: undefined,
247
+ operator: FilterOperator.GREATER_THAN,
248
+ target: {
249
+ fieldRef: 'order_id',
250
+ },
251
+ values: [5],
252
+ },
253
+ {
254
+ id: undefined,
255
+ operator: FilterOperator.LESS_THAN_OR_EQUAL,
256
+ target: {
257
+ fieldRef: 'order_id',
258
+ },
259
+ values: [10],
260
+ },
261
+ ]);
262
+ });
263
+ it('Should parse NULL using grammar', () => {
264
+ const filters = [{ name: null }];
265
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
266
+ {
267
+ id: undefined,
268
+ operator: FilterOperator.NULL,
269
+ target: {
270
+ fieldRef: 'name',
271
+ },
272
+ values: [1],
273
+ },
274
+ ]);
275
+ });
276
+ it('Should parse NOT_NULL using grammar', () => {
277
+ const filters = [{ name: '!null' }];
278
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
279
+ {
280
+ id: undefined,
281
+ operator: FilterOperator.NOT_NULL,
282
+ target: {
283
+ fieldRef: 'name',
284
+ },
285
+ values: [1],
286
+ },
287
+ ]);
288
+ });
289
+ it('Should parse multiple filter values using grammar', () => {
290
+ const filters = [{ name: ['cat', 'dog'] }];
291
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
292
+ {
293
+ id: undefined,
294
+ operator: FilterOperator.EQUALS,
295
+ target: {
296
+ fieldRef: 'name',
297
+ },
298
+ values: ['cat', 'dog'],
299
+ },
300
+ ]);
301
+ });
302
+ it('Should parse date in the past operator with interval', () => {
303
+ const filters = [{ name: 'inThePast 14 days' }];
304
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
305
+ {
306
+ id: undefined,
307
+ operator: FilterOperator.IN_THE_PAST,
308
+ settings: {
309
+ unitOfTime: 'days',
310
+ },
311
+ target: {
312
+ fieldRef: 'name',
313
+ },
314
+ values: [14],
315
+ },
316
+ ]);
317
+ });
318
+ it('Should parse date in the next operator with interval', () => {
319
+ const filters = [{ name: 'inTheNext 14 years' }];
320
+ expect(removeIds(parseFilters(filters))).toStrictEqual([
321
+ {
322
+ id: undefined,
323
+ operator: FilterOperator.IN_THE_NEXT,
324
+ settings: {
325
+ unitOfTime: 'years',
326
+ },
327
+ target: {
328
+ fieldRef: 'name',
329
+ },
330
+ values: [14],
331
+ },
332
+ ]);
333
+ });
334
+ });
335
+ describe('Parse required filters', () => {
336
+ it('Should parse a filter field called "required"', () => {
337
+ expect(removeIds(parseModelRequiredFilters({
338
+ requiredFilters: [{ required: true }],
339
+ defaultFilters: [],
340
+ }))).toStrictEqual([
341
+ {
342
+ id: undefined,
343
+ operator: FilterOperator.EQUALS,
344
+ target: {
345
+ fieldRef: 'required',
346
+ },
347
+ values: [true],
348
+ required: true, // Default
349
+ },
350
+ ]);
351
+ expect(removeIds(parseModelRequiredFilters({
352
+ requiredFilters: [{ required: false }],
353
+ defaultFilters: [],
354
+ }))).toStrictEqual([
355
+ {
356
+ id: undefined,
357
+ operator: FilterOperator.EQUALS,
358
+ target: {
359
+ fieldRef: 'required',
360
+ },
361
+ values: [false],
362
+ required: true, // Default
363
+ },
364
+ ]);
365
+ });
366
+ it('Should required filters default to "required: true"', () => {
367
+ expect(removeIds(parseModelRequiredFilters({
368
+ requiredFilters: [{ position: 1 }],
369
+ defaultFilters: [],
370
+ }))).toStrictEqual([
371
+ {
372
+ id: undefined,
373
+ operator: FilterOperator.EQUALS,
374
+ target: {
375
+ fieldRef: 'position',
376
+ },
377
+ values: [1],
378
+ required: true,
379
+ },
380
+ ]);
381
+ });
382
+ it('Should parse required option on required filters', () => {
383
+ expect(removeIds(parseModelRequiredFilters({
384
+ requiredFilters: [{ position: 1, required: true }],
385
+ defaultFilters: [],
386
+ }))).toStrictEqual([
387
+ {
388
+ id: undefined,
389
+ operator: FilterOperator.EQUALS,
390
+ target: {
391
+ fieldRef: 'position',
392
+ },
393
+ values: [1],
394
+ required: true,
395
+ },
396
+ ]);
397
+ expect(removeIds(parseModelRequiredFilters({
398
+ requiredFilters: [{ position: 1, required: false }],
399
+ defaultFilters: [],
400
+ }))).toStrictEqual([
401
+ {
402
+ id: undefined,
403
+ operator: FilterOperator.EQUALS,
404
+ target: {
405
+ fieldRef: 'position',
406
+ },
407
+ values: [1],
408
+ required: false,
409
+ },
410
+ ]);
411
+ });
412
+ it('Should default filters default to "required: false"', () => {
413
+ expect(removeIds(parseModelRequiredFilters({
414
+ defaultFilters: [{ position: 1 }],
415
+ requiredFilters: [],
416
+ }))).toStrictEqual([
417
+ {
418
+ id: undefined,
419
+ operator: FilterOperator.EQUALS,
420
+ target: {
421
+ fieldRef: 'position',
422
+ },
423
+ values: [1],
424
+ required: false,
425
+ },
426
+ ]);
427
+ });
428
+ it('Should parse required option on default filters', () => {
429
+ expect(removeIds(parseModelRequiredFilters({
430
+ defaultFilters: [{ position: 1, required: true }],
431
+ requiredFilters: [],
432
+ }))).toStrictEqual([
433
+ {
434
+ id: undefined,
435
+ operator: FilterOperator.EQUALS,
436
+ target: {
437
+ fieldRef: 'position',
438
+ },
439
+ values: [1],
440
+ required: true,
441
+ },
442
+ ]);
443
+ expect(removeIds(parseModelRequiredFilters({
444
+ defaultFilters: [{ position: 1, required: false }],
445
+ requiredFilters: [],
446
+ }))).toStrictEqual([
447
+ {
448
+ id: undefined,
449
+ operator: FilterOperator.EQUALS,
450
+ target: {
451
+ fieldRef: 'position',
452
+ },
453
+ values: [1],
454
+ required: false,
455
+ },
456
+ ]);
457
+ });
458
+ it('Should parse default and required filters with default values', () => {
459
+ expect(removeIds(parseModelRequiredFilters({
460
+ requiredFilters: [{ name: 'javi' }],
461
+ defaultFilters: [{ position: 1 }],
462
+ }))).toStrictEqual([
463
+ {
464
+ id: undefined,
465
+ operator: FilterOperator.EQUALS,
466
+ target: {
467
+ fieldRef: 'name',
468
+ },
469
+ values: ['javi'],
470
+ required: true,
471
+ },
472
+ {
473
+ id: undefined,
474
+ operator: FilterOperator.EQUALS,
475
+ target: {
476
+ fieldRef: 'position',
477
+ },
478
+ values: [1],
479
+ required: false,
480
+ },
481
+ ]);
482
+ });
483
+ it('Should parse default and required filters with opposite values', () => {
484
+ expect(removeIds(parseModelRequiredFilters({
485
+ defaultFilters: [{ position: 1, required: true }],
486
+ requiredFilters: [{ name: 'javi', required: false }],
487
+ }))).toStrictEqual([
488
+ {
489
+ id: undefined,
490
+ operator: FilterOperator.EQUALS,
491
+ target: {
492
+ fieldRef: 'name',
493
+ },
494
+ values: ['javi'],
495
+ required: false,
496
+ },
497
+ {
498
+ id: undefined,
499
+ operator: FilterOperator.EQUALS,
500
+ target: {
501
+ fieldRef: 'position',
502
+ },
503
+ values: [1],
504
+ required: true,
505
+ },
506
+ ]);
507
+ });
508
+ it('Should take required from required filters if there is a duplicated filter', () => {
509
+ const consoleWarnSpy = jest.spyOn(console, 'warn').mockImplementation();
510
+ const requiredFilters = removeIds(parseModelRequiredFilters({
511
+ requiredFilters: [{ name: 'javi' }],
512
+ defaultFilters: [{ name: 'javi' }],
513
+ }));
514
+ expect(requiredFilters.length).toBe(1);
515
+ expect(requiredFilters).toStrictEqual([
516
+ {
517
+ id: undefined,
518
+ operator: FilterOperator.EQUALS,
519
+ target: {
520
+ fieldRef: 'name',
521
+ },
522
+ values: ['javi'],
523
+ required: true,
524
+ },
525
+ ]);
526
+ removeIds(parseModelRequiredFilters({
527
+ requiredFilters: [{ name: 'javi' }],
528
+ defaultFilters: [{ name: 'javi' }],
529
+ }));
530
+ expect(consoleWarnSpy).toHaveBeenCalledWith('Duplicate filter key "name" in default filters');
531
+ consoleWarnSpy.mockRestore();
532
+ // Take required from required filters
533
+ expect(removeIds(parseModelRequiredFilters({
534
+ requiredFilters: [{ name: 'javi', required: false }],
535
+ defaultFilters: [{ name: 'javi' }],
536
+ }))).toStrictEqual([
537
+ {
538
+ id: undefined,
539
+ operator: FilterOperator.EQUALS,
540
+ target: {
541
+ fieldRef: 'name',
542
+ },
543
+ values: ['javi'],
544
+ required: false,
545
+ },
546
+ ]);
547
+ });
548
+ });
549
+ //# sourceMappingURL=filterGrammar.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterGrammar.test.js","sourceRoot":"","sources":["../../../src/types/filterGrammar.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import assertUnreachable from '../utils/assertUnreachable';
2
+ import { NotImplementedError, ParameterError } from './errors';
3
+ import { FilterOperator, UnitOfTime, isDateFilterRule, } from './filter';
4
+ import filterGrammar from './filterGrammar';
5
+ const isValidMetricFilterRule = (filter) => {
6
+ const { values, operator } = filter;
7
+ const operatorAllowsEmptyValues = [
8
+ FilterOperator.NULL,
9
+ FilterOperator.NOT_NULL,
10
+ ].includes(operator);
11
+ const firstValue = values?.[0];
12
+ return operatorAllowsEmptyValues || firstValue !== undefined;
13
+ };
14
+ /**
15
+ * Converts a filter rule from custom metrics to dbt meta tags in yml
16
+ * More info about dbt filters: https://docs.lightdash.com/references/metrics/#available-filter-types
17
+ */
18
+ const convertFilterOperatorToDbt = (filter) => {
19
+ const { values, operator } = filter;
20
+ if (!isValidMetricFilterRule(filter)) {
21
+ throw new ParameterError(`Filter values are undefined for filter: ${JSON.stringify(filter)}`);
22
+ }
23
+ // Operators without values are handled here
24
+ switch (operator) {
25
+ case FilterOperator.NULL:
26
+ return [`null`];
27
+ case FilterOperator.NOT_NULL:
28
+ return [`!null`];
29
+ default:
30
+ break; // continue
31
+ }
32
+ const validValues = values;
33
+ const firstValue = validValues[0];
34
+ switch (operator) {
35
+ case FilterOperator.EQUALS:
36
+ return validValues?.map((value) => `${value}`);
37
+ case FilterOperator.NOT_EQUALS:
38
+ return [`!${firstValue}`];
39
+ case FilterOperator.INCLUDE:
40
+ return [`%${firstValue}%`];
41
+ case FilterOperator.NOT_INCLUDE:
42
+ return [`!%${firstValue}%`];
43
+ case FilterOperator.STARTS_WITH:
44
+ return [`${firstValue}%`];
45
+ case FilterOperator.ENDS_WITH:
46
+ return [`%${firstValue}`];
47
+ case FilterOperator.GREATER_THAN:
48
+ return [`> ${firstValue}`];
49
+ case FilterOperator.GREATER_THAN_OR_EQUAL:
50
+ return [`>= ${firstValue}`];
51
+ case FilterOperator.LESS_THAN:
52
+ return [`< ${firstValue}`];
53
+ case FilterOperator.LESS_THAN_OR_EQUAL:
54
+ return [`<= ${firstValue}`];
55
+ case FilterOperator.IN_THE_NEXT:
56
+ case FilterOperator.IN_THE_PAST:
57
+ if (isDateFilterRule(filter)) {
58
+ const settings = filter.settings;
59
+ const unitOfTime = settings.unitOfTime || UnitOfTime.days;
60
+ if (settings.completed) {
61
+ throw new NotImplementedError('Custom metric completed filter is not supported on dbt');
62
+ }
63
+ return [`${operator} ${firstValue} ${unitOfTime}`];
64
+ }
65
+ throw new NotImplementedError(`No function implemented to convert date custom metric filter to dbt: ${operator}`);
66
+ case FilterOperator.IN_THE_CURRENT:
67
+ case FilterOperator.IN_BETWEEN:
68
+ case FilterOperator.NOT_IN_THE_PAST:
69
+ case FilterOperator.NOT_IN_THE_CURRENT:
70
+ case FilterOperator.NOT_IN_BETWEEN:
71
+ throw new NotImplementedError(`No function implemented to convert custom metric filter to dbt: ${operator}`);
72
+ default:
73
+ assertUnreachable(operator, `No function implemented to convert custom metric filter to dbt: ${operator}`);
74
+ }
75
+ return [];
76
+ };
77
+ export const convertMetricFilterToDbt = (filters) => {
78
+ if (!filters)
79
+ return undefined;
80
+ return filters.reduce((acc, filter) => {
81
+ const { target } = filter;
82
+ if (!isValidMetricFilterRule(filter))
83
+ return acc;
84
+ const values = convertFilterOperatorToDbt(filter);
85
+ const fieldRefParts = target.fieldRef.split('.');
86
+ const fieldId = fieldRefParts.length > 1 ? fieldRefParts[1] : target.fieldRef;
87
+ const dbtFilters = {
88
+ [fieldId]: values.length > 1 ? values : values[0],
89
+ };
90
+ return [...(acc || []), dbtFilters];
91
+ }, []);
92
+ };
93
+ export default filterGrammar;
94
+ //# sourceMappingURL=filterGrammarConversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterGrammarConversion.js","sourceRoot":"","sources":["../../../src/types/filterGrammarConversion.ts"],"names":[],"mappings":"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"}