@lightdash/common 0.2650.0 → 0.2652.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 (214) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/compiler/translator.d.ts +10 -1
  3. package/dist/cjs/compiler/translator.d.ts.map +1 -1
  4. package/dist/cjs/compiler/translator.js +15 -31
  5. package/dist/cjs/compiler/translator.js.map +1 -1
  6. package/dist/cjs/compiler/translator.test.js +0 -259
  7. package/dist/cjs/compiler/translator.test.js.map +1 -1
  8. package/dist/cjs/index.d.ts +0 -1
  9. package/dist/cjs/index.d.ts.map +1 -1
  10. package/dist/cjs/index.js +0 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/types/analytics.d.ts +1 -0
  13. package/dist/cjs/types/analytics.d.ts.map +1 -1
  14. package/dist/cjs/types/analytics.js +1 -0
  15. package/dist/cjs/types/analytics.js.map +1 -1
  16. package/dist/cjs/types/featureFlags.d.ts +7 -1
  17. package/dist/cjs/types/featureFlags.d.ts.map +1 -1
  18. package/dist/cjs/types/featureFlags.js +6 -0
  19. package/dist/cjs/types/featureFlags.js.map +1 -1
  20. package/dist/cjs/types/scheduler.d.ts +18 -3
  21. package/dist/cjs/types/scheduler.d.ts.map +1 -1
  22. package/dist/cjs/types/scheduler.js +27 -2
  23. package/dist/cjs/types/scheduler.js.map +1 -1
  24. package/dist/cjs/types/schedulerLog.d.ts +7 -2
  25. package/dist/cjs/types/schedulerLog.d.ts.map +1 -1
  26. package/dist/cjs/types/schedulerLog.js +7 -1
  27. package/dist/cjs/types/schedulerLog.js.map +1 -1
  28. package/dist/esm/.tsbuildinfo +1 -1
  29. package/dist/esm/compiler/translator.d.ts +10 -1
  30. package/dist/esm/compiler/translator.d.ts.map +1 -1
  31. package/dist/esm/compiler/translator.js +16 -32
  32. package/dist/esm/compiler/translator.js.map +1 -1
  33. package/dist/esm/compiler/translator.test.js +1 -260
  34. package/dist/esm/compiler/translator.test.js.map +1 -1
  35. package/dist/esm/index.d.ts +0 -1
  36. package/dist/esm/index.d.ts.map +1 -1
  37. package/dist/esm/index.js +0 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/types/analytics.d.ts +1 -0
  40. package/dist/esm/types/analytics.d.ts.map +1 -1
  41. package/dist/esm/types/analytics.js +1 -0
  42. package/dist/esm/types/analytics.js.map +1 -1
  43. package/dist/esm/types/featureFlags.d.ts +7 -1
  44. package/dist/esm/types/featureFlags.d.ts.map +1 -1
  45. package/dist/esm/types/featureFlags.js +6 -0
  46. package/dist/esm/types/featureFlags.js.map +1 -1
  47. package/dist/esm/types/scheduler.d.ts +18 -3
  48. package/dist/esm/types/scheduler.d.ts.map +1 -1
  49. package/dist/esm/types/scheduler.js +24 -1
  50. package/dist/esm/types/scheduler.js.map +1 -1
  51. package/dist/esm/types/schedulerLog.d.ts +7 -2
  52. package/dist/esm/types/schedulerLog.d.ts.map +1 -1
  53. package/dist/esm/types/schedulerLog.js +6 -0
  54. package/dist/esm/types/schedulerLog.js.map +1 -1
  55. package/dist/types/.tsbuildinfo +1 -1
  56. package/dist/types/compiler/translator.d.ts +10 -1
  57. package/dist/types/compiler/translator.d.ts.map +1 -1
  58. package/dist/types/compiler/translator.js +16 -32
  59. package/dist/types/compiler/translator.js.map +1 -1
  60. package/dist/types/compiler/translator.test.js +1 -260
  61. package/dist/types/compiler/translator.test.js.map +1 -1
  62. package/dist/types/index.d.ts +0 -1
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/types/index.js +0 -1
  65. package/dist/types/index.js.map +1 -1
  66. package/dist/types/types/analytics.d.ts +1 -0
  67. package/dist/types/types/analytics.d.ts.map +1 -1
  68. package/dist/types/types/analytics.js +1 -0
  69. package/dist/types/types/analytics.js.map +1 -1
  70. package/dist/types/types/featureFlags.d.ts +7 -1
  71. package/dist/types/types/featureFlags.d.ts.map +1 -1
  72. package/dist/types/types/featureFlags.js +6 -0
  73. package/dist/types/types/featureFlags.js.map +1 -1
  74. package/dist/types/types/scheduler.d.ts +18 -3
  75. package/dist/types/types/scheduler.d.ts.map +1 -1
  76. package/dist/types/types/scheduler.js +24 -1
  77. package/dist/types/types/scheduler.js.map +1 -1
  78. package/dist/types/types/schedulerLog.d.ts +7 -2
  79. package/dist/types/types/schedulerLog.d.ts.map +1 -1
  80. package/dist/types/types/schedulerLog.js +6 -0
  81. package/dist/types/types/schedulerLog.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/cjs/preAggregates/additivity.d.ts +0 -9
  84. package/dist/cjs/preAggregates/additivity.d.ts.map +0 -1
  85. package/dist/cjs/preAggregates/additivity.js +0 -54
  86. package/dist/cjs/preAggregates/additivity.js.map +0 -1
  87. package/dist/cjs/preAggregates/buildPreAggregateExplore.d.ts +0 -5
  88. package/dist/cjs/preAggregates/buildPreAggregateExplore.d.ts.map +0 -1
  89. package/dist/cjs/preAggregates/buildPreAggregateExplore.js +0 -242
  90. package/dist/cjs/preAggregates/buildPreAggregateExplore.js.map +0 -1
  91. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.d.ts +0 -2
  92. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.d.ts.map +0 -1
  93. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.js +0 -233
  94. package/dist/cjs/preAggregates/buildPreAggregateExplore.test.js.map +0 -1
  95. package/dist/cjs/preAggregates/definition.d.ts +0 -5
  96. package/dist/cjs/preAggregates/definition.d.ts.map +0 -1
  97. package/dist/cjs/preAggregates/definition.js +0 -73
  98. package/dist/cjs/preAggregates/definition.js.map +0 -1
  99. package/dist/cjs/preAggregates/generatePreAggregateExplores.d.ts +0 -7
  100. package/dist/cjs/preAggregates/generatePreAggregateExplores.d.ts.map +0 -1
  101. package/dist/cjs/preAggregates/generatePreAggregateExplores.js +0 -51
  102. package/dist/cjs/preAggregates/generatePreAggregateExplores.js.map +0 -1
  103. package/dist/cjs/preAggregates/index.d.ts +0 -9
  104. package/dist/cjs/preAggregates/index.d.ts.map +0 -1
  105. package/dist/cjs/preAggregates/index.js +0 -12
  106. package/dist/cjs/preAggregates/index.js.map +0 -1
  107. package/dist/cjs/preAggregates/matcher.d.ts +0 -14
  108. package/dist/cjs/preAggregates/matcher.d.ts.map +0 -1
  109. package/dist/cjs/preAggregates/matcher.js +0 -221
  110. package/dist/cjs/preAggregates/matcher.js.map +0 -1
  111. package/dist/cjs/preAggregates/matcher.test.d.ts +0 -2
  112. package/dist/cjs/preAggregates/matcher.test.d.ts.map +0 -1
  113. package/dist/cjs/preAggregates/matcher.test.js +0 -593
  114. package/dist/cjs/preAggregates/matcher.test.js.map +0 -1
  115. package/dist/cjs/preAggregates/metricRepresentation.d.ts +0 -21
  116. package/dist/cjs/preAggregates/metricRepresentation.d.ts.map +0 -1
  117. package/dist/cjs/preAggregates/metricRepresentation.js +0 -68
  118. package/dist/cjs/preAggregates/metricRepresentation.js.map +0 -1
  119. package/dist/cjs/preAggregates/naming.d.ts +0 -8
  120. package/dist/cjs/preAggregates/naming.d.ts.map +0 -1
  121. package/dist/cjs/preAggregates/naming.js +0 -15
  122. package/dist/cjs/preAggregates/naming.js.map +0 -1
  123. package/dist/cjs/preAggregates/references.d.ts +0 -21
  124. package/dist/cjs/preAggregates/references.d.ts.map +0 -1
  125. package/dist/cjs/preAggregates/references.js +0 -40
  126. package/dist/cjs/preAggregates/references.js.map +0 -1
  127. package/dist/esm/preAggregates/additivity.d.ts +0 -9
  128. package/dist/esm/preAggregates/additivity.d.ts.map +0 -1
  129. package/dist/esm/preAggregates/additivity.js +0 -48
  130. package/dist/esm/preAggregates/additivity.js.map +0 -1
  131. package/dist/esm/preAggregates/buildPreAggregateExplore.d.ts +0 -5
  132. package/dist/esm/preAggregates/buildPreAggregateExplore.d.ts.map +0 -1
  133. package/dist/esm/preAggregates/buildPreAggregateExplore.js +0 -237
  134. package/dist/esm/preAggregates/buildPreAggregateExplore.js.map +0 -1
  135. package/dist/esm/preAggregates/buildPreAggregateExplore.test.d.ts +0 -2
  136. package/dist/esm/preAggregates/buildPreAggregateExplore.test.d.ts.map +0 -1
  137. package/dist/esm/preAggregates/buildPreAggregateExplore.test.js +0 -231
  138. package/dist/esm/preAggregates/buildPreAggregateExplore.test.js.map +0 -1
  139. package/dist/esm/preAggregates/definition.d.ts +0 -5
  140. package/dist/esm/preAggregates/definition.d.ts.map +0 -1
  141. package/dist/esm/preAggregates/definition.js +0 -68
  142. package/dist/esm/preAggregates/definition.js.map +0 -1
  143. package/dist/esm/preAggregates/generatePreAggregateExplores.d.ts +0 -7
  144. package/dist/esm/preAggregates/generatePreAggregateExplores.d.ts.map +0 -1
  145. package/dist/esm/preAggregates/generatePreAggregateExplores.js +0 -47
  146. package/dist/esm/preAggregates/generatePreAggregateExplores.js.map +0 -1
  147. package/dist/esm/preAggregates/index.d.ts +0 -9
  148. package/dist/esm/preAggregates/index.d.ts.map +0 -1
  149. package/dist/esm/preAggregates/index.js +0 -9
  150. package/dist/esm/preAggregates/index.js.map +0 -1
  151. package/dist/esm/preAggregates/matcher.d.ts +0 -14
  152. package/dist/esm/preAggregates/matcher.d.ts.map +0 -1
  153. package/dist/esm/preAggregates/matcher.js +0 -217
  154. package/dist/esm/preAggregates/matcher.js.map +0 -1
  155. package/dist/esm/preAggregates/matcher.test.d.ts +0 -2
  156. package/dist/esm/preAggregates/matcher.test.d.ts.map +0 -1
  157. package/dist/esm/preAggregates/matcher.test.js +0 -591
  158. package/dist/esm/preAggregates/matcher.test.js.map +0 -1
  159. package/dist/esm/preAggregates/metricRepresentation.d.ts +0 -21
  160. package/dist/esm/preAggregates/metricRepresentation.d.ts.map +0 -1
  161. package/dist/esm/preAggregates/metricRepresentation.js +0 -62
  162. package/dist/esm/preAggregates/metricRepresentation.js.map +0 -1
  163. package/dist/esm/preAggregates/naming.d.ts +0 -8
  164. package/dist/esm/preAggregates/naming.d.ts.map +0 -1
  165. package/dist/esm/preAggregates/naming.js +0 -7
  166. package/dist/esm/preAggregates/naming.js.map +0 -1
  167. package/dist/esm/preAggregates/references.d.ts +0 -21
  168. package/dist/esm/preAggregates/references.d.ts.map +0 -1
  169. package/dist/esm/preAggregates/references.js +0 -33
  170. package/dist/esm/preAggregates/references.js.map +0 -1
  171. package/dist/types/preAggregates/additivity.d.ts +0 -9
  172. package/dist/types/preAggregates/additivity.d.ts.map +0 -1
  173. package/dist/types/preAggregates/additivity.js +0 -48
  174. package/dist/types/preAggregates/additivity.js.map +0 -1
  175. package/dist/types/preAggregates/buildPreAggregateExplore.d.ts +0 -5
  176. package/dist/types/preAggregates/buildPreAggregateExplore.d.ts.map +0 -1
  177. package/dist/types/preAggregates/buildPreAggregateExplore.js +0 -237
  178. package/dist/types/preAggregates/buildPreAggregateExplore.js.map +0 -1
  179. package/dist/types/preAggregates/buildPreAggregateExplore.test.d.ts +0 -2
  180. package/dist/types/preAggregates/buildPreAggregateExplore.test.d.ts.map +0 -1
  181. package/dist/types/preAggregates/buildPreAggregateExplore.test.js +0 -231
  182. package/dist/types/preAggregates/buildPreAggregateExplore.test.js.map +0 -1
  183. package/dist/types/preAggregates/definition.d.ts +0 -5
  184. package/dist/types/preAggregates/definition.d.ts.map +0 -1
  185. package/dist/types/preAggregates/definition.js +0 -68
  186. package/dist/types/preAggregates/definition.js.map +0 -1
  187. package/dist/types/preAggregates/generatePreAggregateExplores.d.ts +0 -7
  188. package/dist/types/preAggregates/generatePreAggregateExplores.d.ts.map +0 -1
  189. package/dist/types/preAggregates/generatePreAggregateExplores.js +0 -47
  190. package/dist/types/preAggregates/generatePreAggregateExplores.js.map +0 -1
  191. package/dist/types/preAggregates/index.d.ts +0 -9
  192. package/dist/types/preAggregates/index.d.ts.map +0 -1
  193. package/dist/types/preAggregates/index.js +0 -9
  194. package/dist/types/preAggregates/index.js.map +0 -1
  195. package/dist/types/preAggregates/matcher.d.ts +0 -14
  196. package/dist/types/preAggregates/matcher.d.ts.map +0 -1
  197. package/dist/types/preAggregates/matcher.js +0 -217
  198. package/dist/types/preAggregates/matcher.js.map +0 -1
  199. package/dist/types/preAggregates/matcher.test.d.ts +0 -2
  200. package/dist/types/preAggregates/matcher.test.d.ts.map +0 -1
  201. package/dist/types/preAggregates/matcher.test.js +0 -591
  202. package/dist/types/preAggregates/matcher.test.js.map +0 -1
  203. package/dist/types/preAggregates/metricRepresentation.d.ts +0 -21
  204. package/dist/types/preAggregates/metricRepresentation.d.ts.map +0 -1
  205. package/dist/types/preAggregates/metricRepresentation.js +0 -62
  206. package/dist/types/preAggregates/metricRepresentation.js.map +0 -1
  207. package/dist/types/preAggregates/naming.d.ts +0 -8
  208. package/dist/types/preAggregates/naming.d.ts.map +0 -1
  209. package/dist/types/preAggregates/naming.js +0 -7
  210. package/dist/types/preAggregates/naming.js.map +0 -1
  211. package/dist/types/preAggregates/references.d.ts +0 -21
  212. package/dist/types/preAggregates/references.d.ts.map +0 -1
  213. package/dist/types/preAggregates/references.js +0 -33
  214. package/dist/types/preAggregates/references.js.map +0 -1
@@ -5,7 +5,16 @@ import { type CustomGranularity, type LightdashProjectConfig } from '../types/li
5
5
  import { type WarehouseSqlBuilder } from '../types/warehouse';
6
6
  import { type WeekDay } from '../utils/timeFrames';
7
7
  export declare const convertTable: (adapterType: SupportedDbtAdapter, model: DbtModelNode, dbtMetrics: DbtMetric[], spotlightConfig: LightdashProjectConfig["spotlight"], startOfWeek?: WeekDay | null, disableTimestampConversion?: boolean, customGranularities?: Record<string, CustomGranularity>, allowPartialCompilation?: boolean) => Omit<Table, "lineageGraph">;
8
- export declare const convertExplores: (models: DbtModelNode[], loadSources: boolean, adapterType: SupportedDbtAdapter, metrics: DbtMetric[], warehouseSqlBuilder: WarehouseSqlBuilder, lightdashProjectConfig: LightdashProjectConfig, disableTimestampConversion?: boolean, allowPartialCompilation?: boolean) => Promise<(Explore | ExploreError)[]>;
8
+ export type ExplorePostProcessor = (compiledExplores: Explore[], context: {
9
+ model: DbtModelNode;
10
+ meta: Record<string, unknown>;
11
+ }) => (Explore | ExploreError)[];
12
+ export type ConvertExploresOptions = {
13
+ disableTimestampConversion?: boolean;
14
+ allowPartialCompilation?: boolean;
15
+ postProcessors?: ExplorePostProcessor[];
16
+ };
17
+ export declare const convertExplores: (models: DbtModelNode[], loadSources: boolean, adapterType: SupportedDbtAdapter, metrics: DbtMetric[], warehouseSqlBuilder: WarehouseSqlBuilder, lightdashProjectConfig: LightdashProjectConfig, options?: ConvertExploresOptions) => Promise<(Explore | ExploreError)[]>;
9
18
  export declare const attachTypesToModels: (models: DbtModelNode[], warehouseCatalog: {
10
19
  [database: string]: {
11
20
  [schema: string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../../src/compiler/translator.ts"],"names":[],"mappings":"AAGA,OAAO,EAOH,mBAAmB,EAInB,KAAK,SAAS,EAEd,KAAK,YAAY,EAEpB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAEH,KAAK,OAAO,EACZ,KAAK,YAAY,EAEjB,KAAK,KAAK,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEH,aAAa,EAQhB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAKH,KAAK,OAAO,EACf,MAAM,qBAAqB,CAAC;AAmjB7B,eAAO,MAAM,YAAY,GACrB,aAAa,mBAAmB,EAChC,OAAO,YAAY,EACnB,YAAY,SAAS,EAAE,EACvB,iBAAiB,sBAAsB,CAAC,WAAW,CAAC,EACpD,cAAc,OAAO,GAAG,IAAI,EAC5B,6BAA6B,OAAO,EACpC,sBAAsB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACvD,0BAA0B,OAAO,KAClC,IAAI,CAAC,KAAK,EAAE,cAAc,CA6X5B,CAAC;AA6CF,eAAO,MAAM,eAAe,GACxB,QAAQ,YAAY,EAAE,EACtB,aAAa,OAAO,EACpB,aAAa,mBAAmB,EAChC,SAAS,SAAS,EAAE,EACpB,qBAAqB,mBAAmB,EACxC,wBAAwB,sBAAsB,EAC9C,6BAA6B,OAAO,EACpC,0BAA0B,OAAO,KAClC,OAAO,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,CAkSpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,YAAY,EAAE,EACtB,kBAAkB;IACd,CAAC,QAAQ,EAAE,MAAM,GAAG;QAChB,CAAC,MAAM,EAAE,MAAM,GAAG;YACd,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAA;aAAE,CAAC;SACxD,CAAC;KACL,CAAC;CACL,EACD,6BAA4B,OAAc,EAC1C,wBAAuB,OAAc,KACtC,YAAY,EA6Fd,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,WAAW,YAAY,EAAE,KAC1B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAK/C,CAAC"}
1
+ {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../../src/compiler/translator.ts"],"names":[],"mappings":"AAEA,OAAO,EAOH,mBAAmB,EAInB,KAAK,SAAS,EAEd,KAAK,YAAY,EAEpB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAGH,KAAK,OAAO,EACZ,KAAK,YAAY,EAEjB,KAAK,KAAK,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEH,aAAa,EAQhB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAKH,KAAK,OAAO,EACf,MAAM,qBAAqB,CAAC;AAmjB7B,eAAO,MAAM,YAAY,GACrB,aAAa,mBAAmB,EAChC,OAAO,YAAY,EACnB,YAAY,SAAS,EAAE,EACvB,iBAAiB,sBAAsB,CAAC,WAAW,CAAC,EACpD,cAAc,OAAO,GAAG,IAAI,EAC5B,6BAA6B,OAAO,EACpC,sBAAsB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACvD,0BAA0B,OAAO,KAClC,IAAI,CAAC,KAAK,EAAE,cAAc,CA6X5B,CAAC;AA6CF,MAAM,MAAM,oBAAoB,GAAG,CAC/B,gBAAgB,EAAE,OAAO,EAAE,EAC3B,OAAO,EAAE;IACL,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,KACA,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;AAEhC,MAAM,MAAM,sBAAsB,GAAG;IACjC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,eAAe,GACxB,QAAQ,YAAY,EAAE,EACtB,aAAa,OAAO,EACpB,aAAa,mBAAmB,EAChC,SAAS,SAAS,EAAE,EACpB,qBAAqB,mBAAmB,EACxC,wBAAwB,sBAAsB,EAC9C,UAAU,sBAAsB,KACjC,OAAO,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,CAuRpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,YAAY,EAAE,EACtB,kBAAkB;IACd,CAAC,QAAQ,EAAE,MAAM,GAAG;QAChB,CAAC,MAAM,EAAE,MAAM,GAAG;YACd,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAA;aAAE,CAAC;SACxD,CAAC;KACL,CAAC;CACL,EACD,6BAA4B,OAAc,EAC1C,wBAAuB,OAAc,KACtC,YAAY,EA6Fd,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,WAAW,YAAY,EAAE,KAC1B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAK/C,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import merge from 'lodash/merge';
2
- import { parseDbtPreAggregates } from '../preAggregates/definition';
3
- import { generatePreAggregateExplores } from '../preAggregates/generatePreAggregateExplores';
2
+ import partition from 'lodash/partition';
4
3
  import { buildModelGraph, convertColumnMetric, convertModelMetric, convertToAiHints, convertToGroups, isV9MetricRef, SupportedDbtAdapter, } from '../types/dbt';
5
4
  import { CompileError, MissingCatalogEntryError, ParseError, } from '../types/errors';
6
- import { InlineErrorType, } from '../types/explore';
5
+ import { InlineErrorType, isExploreError, } from '../types/explore';
7
6
  import { defaultSql, DimensionType, FieldType, friendlyName, MetricType, parseMetricType, } from '../types/field';
8
7
  import { parseFilters, parseModelRequiredFilters, } from '../types/filterGrammar';
9
8
  import { OrderFieldsByStrategy } from '../types/table';
@@ -703,7 +702,8 @@ const modelCanUseMetric = (metricName, modelName, metrics) => {
703
702
  }
704
703
  return false;
705
704
  };
706
- export const convertExplores = async (models, loadSources, adapterType, metrics, warehouseSqlBuilder, lightdashProjectConfig, disableTimestampConversion, allowPartialCompilation) => {
705
+ export const convertExplores = async (models, loadSources, adapterType, metrics, warehouseSqlBuilder, lightdashProjectConfig, options) => {
706
+ const { disableTimestampConversion, allowPartialCompilation, postProcessors, } = options ?? {};
707
707
  const tableLineage = translateDbtModelsToTableLineage(models);
708
708
  const [tables, exploreErrors] = models.reduce(([accTables, accErrors], model) => {
709
709
  // Config block takes priority, then meta block
@@ -815,26 +815,6 @@ export const convertExplores = async (models, loadSources, adapterType, metrics,
815
815
  })
816
816
  : []),
817
817
  ];
818
- let parsedPreAggregates = [];
819
- try {
820
- parsedPreAggregates = parseDbtPreAggregates(meta.pre_aggregates, model.name);
821
- }
822
- catch (error) {
823
- const preAggregateErrors = exploresToCreate.map((exploreToCreate) => ({
824
- name: exploreToCreate.name,
825
- label: exploreToCreate.label,
826
- groupLabel: exploreToCreate.groupLabel,
827
- errors: [
828
- {
829
- type: InlineErrorType.METADATA_PARSE_ERROR,
830
- message: error instanceof Error
831
- ? error.message
832
- : `Could not parse pre-aggregates for model "${model.name}"`,
833
- },
834
- ],
835
- }));
836
- return [...acc, ...preAggregateErrors];
837
- }
838
818
  // Multiple explores can be created from a single model. The base explore + additional explores
839
819
  // Properties created from `model` are the same across all explores. e.g. all explores will have the same base table & warehouse
840
820
  // Properties created from `exploreToCreate` are specific to each explore. e.g. each explore can have a different name, label & joins
@@ -869,9 +849,6 @@ export const convertExplores = async (models, loadSources, adapterType, metrics,
869
849
  ...(meta.ai_hint
870
850
  ? { aiHint: convertToAiHints(meta.ai_hint) }
871
851
  : {}),
872
- ...(parsedPreAggregates.length > 0
873
- ? { preAggregates: parsedPreAggregates }
874
- : {}),
875
852
  meta: {
876
853
  ...meta,
877
854
  // Override description for additional explores
@@ -907,11 +884,18 @@ export const convertExplores = async (models, loadSources, adapterType, metrics,
907
884
  };
908
885
  }
909
886
  });
910
- const exploresWithGeneratedPreAggregates = generatePreAggregateExplores({
911
- compiledExplores,
912
- parsedPreAggregates,
913
- });
914
- return [...acc, ...exploresWithGeneratedPreAggregates];
887
+ // Split compiled explores into successes and errors,
888
+ // then run post-processors over successful explores only
889
+ const [compileErrors, successfulExplores] = partition(compiledExplores, isExploreError);
890
+ const postProcessorContext = {
891
+ model,
892
+ meta,
893
+ };
894
+ const postProcessedExplores = (postProcessors ?? []).reduce((currentExplores, processor) => {
895
+ const [errors, successes] = partition(currentExplores, isExploreError);
896
+ return [...errors, ...processor(successes, postProcessorContext)];
897
+ }, successfulExplores);
898
+ return [...acc, ...compileErrors, ...postProcessedExplores];
915
899
  }, []);
916
900
  return [...explores, ...exploreErrors];
917
901
  };
@@ -1 +1 @@
1
- {"version":3,"file":"translator.js","sourceRoot":"","sources":["../../../src/compiler/translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translator.js","sourceRoot":"","sources":["../../../src/compiler/translator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { PRE_AGGREGATE_MATERIALIZED_TABLE_PLACEHOLDER } from '../preAggregates/buildPreAggregateExplore';
2
1
  import { SupportedDbtAdapter } from '../types/dbt';
3
- import { ExploreType, InlineErrorType } from '../types/explore';
2
+ import { InlineErrorType } from '../types/explore';
4
3
  import { DimensionType, FieldType } from '../types/field';
5
4
  import { DEFAULT_SPOTLIGHT_CONFIG } from '../types/lightdashProjectConfig';
6
5
  import { TimeFrames } from '../types/timeFrames';
@@ -609,264 +608,6 @@ describe('explore-scoped additional dimensions', () => {
609
608
  ]);
610
609
  });
611
610
  });
612
- describe('pre-aggregates metadata parsing', () => {
613
- it('attaches parsed pre-aggregates to explore', async () => {
614
- const explores = await convertExplores([
615
- {
616
- ...model,
617
- meta: {
618
- pre_aggregates: [
619
- {
620
- name: 'orders_rollup',
621
- dimensions: ['myColumnName'],
622
- metrics: ['order_count'],
623
- time_dimension: 'myColumnName',
624
- granularity: 'day',
625
- },
626
- ],
627
- },
628
- },
629
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
630
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
631
- });
632
- expect(explores).toHaveLength(1);
633
- expect(explores[0]).not.toHaveProperty('errors');
634
- expect(explores[0].preAggregates).toStrictEqual([
635
- {
636
- name: 'orders_rollup',
637
- dimensions: ['myColumnName'],
638
- metrics: ['order_count'],
639
- timeDimension: 'myColumnName',
640
- granularity: TimeFrames.DAY,
641
- },
642
- ]);
643
- });
644
- it('does not attach pre-aggregates when metadata is missing', async () => {
645
- const explores = await convertExplores([{ ...model, meta: {} }], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
646
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
647
- });
648
- expect(explores).toHaveLength(1);
649
- expect(explores[0].preAggregates).toBeUndefined();
650
- });
651
- it('uses config.meta.pre_aggregates over meta.pre_aggregates', async () => {
652
- const explores = await convertExplores([
653
- {
654
- ...model,
655
- meta: {
656
- pre_aggregates: [
657
- {
658
- name: 'from_meta',
659
- dimensions: ['myColumnName'],
660
- metrics: ['meta_metric'],
661
- },
662
- ],
663
- },
664
- config: {
665
- ...(model.config || { materialized: 'table' }),
666
- meta: {
667
- pre_aggregates: [
668
- {
669
- name: 'from_config',
670
- dimensions: ['customers.first_name'],
671
- metrics: ['config_metric'],
672
- },
673
- ],
674
- },
675
- },
676
- },
677
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
678
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
679
- });
680
- expect(explores).toHaveLength(1);
681
- expect(explores[0].preAggregates).toStrictEqual([
682
- {
683
- name: 'from_config',
684
- dimensions: ['customers.first_name'],
685
- metrics: ['config_metric'],
686
- },
687
- ]);
688
- });
689
- it('returns metadata parse errors when pre-aggregate shape is invalid', async () => {
690
- const explores = await convertExplores([
691
- {
692
- ...model,
693
- meta: {
694
- pre_aggregates: [
695
- {
696
- name: '',
697
- dimensions: ['myColumnName'],
698
- metrics: ['metric_1'],
699
- },
700
- ],
701
- },
702
- },
703
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
704
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
705
- });
706
- expect(explores).toHaveLength(1);
707
- expect(explores[0]).toHaveProperty('errors');
708
- });
709
- });
710
- describe('pre-aggregate virtual explore generation', () => {
711
- const previousFlagValue = process.env.PRE_AGGREGATES_ENABLED;
712
- afterEach(() => {
713
- process.env.PRE_AGGREGATES_ENABLED = previousFlagValue;
714
- });
715
- it('generates an internal pre-aggregate explore when enabled', async () => {
716
- process.env.PRE_AGGREGATES_ENABLED = 'true';
717
- const explores = await convertExplores([
718
- {
719
- ...MODEL_WITH_METRIC,
720
- meta: {
721
- pre_aggregates: [
722
- {
723
- name: 'rollup',
724
- dimensions: ['user_id'],
725
- metrics: [
726
- 'myTable_total_num_participating_athletes',
727
- ],
728
- },
729
- ],
730
- },
731
- },
732
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
733
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
734
- });
735
- expect(explores).toHaveLength(2);
736
- const baseExplore = explores.find((explore) => !('errors' in explore) && explore.name === 'myTable');
737
- const preAggregateExplore = explores.find((explore) => !('errors' in explore) &&
738
- explore.name === '__preagg__myTable__rollup');
739
- expect(baseExplore).toBeDefined();
740
- expect(preAggregateExplore).toBeDefined();
741
- expect(preAggregateExplore.type).toBe(ExploreType.PRE_AGGREGATE);
742
- expect(preAggregateExplore.joinedTables).toEqual([]);
743
- expect(preAggregateExplore.preAggregates).toEqual([]);
744
- expect(preAggregateExplore.tables[preAggregateExplore.baseTable].sqlTable).toBe(PRE_AGGREGATE_MATERIALIZED_TABLE_PLACEHOLDER);
745
- });
746
- it('generates an internal pre-aggregate explore for average metrics without warnings', async () => {
747
- process.env.PRE_AGGREGATES_ENABLED = 'true';
748
- const explores = await convertExplores([
749
- {
750
- ...MODEL_WITH_DEFAULT_SHOW_UNDERLYING_VALUES,
751
- meta: {
752
- ...MODEL_WITH_DEFAULT_SHOW_UNDERLYING_VALUES.meta,
753
- pre_aggregates: [
754
- {
755
- name: 'avg_rollup',
756
- dimensions: ['user_id'],
757
- metrics: ['average_revenue'],
758
- },
759
- ],
760
- },
761
- },
762
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
763
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
764
- });
765
- expect(explores).toHaveLength(2);
766
- const baseExplore = explores.find((explore) => !('errors' in explore) && explore.name === 'myTable');
767
- const preAggregateExplore = explores.find((explore) => !('errors' in explore) &&
768
- explore.name === '__preagg__myTable__avg_rollup');
769
- expect(baseExplore).toBeDefined();
770
- expect(preAggregateExplore).toBeDefined();
771
- expect(baseExplore.warnings).toBeUndefined();
772
- expect(preAggregateExplore.tables.myTable.metrics.average_revenue
773
- .compiledSql).toBe('CAST(SUM(myTable.myTable_average_revenue__sum) AS DOUBLE) / CAST(NULLIF(SUM(myTable.myTable_average_revenue__count), 0) AS DOUBLE)');
774
- });
775
- it('does not generate pre-aggregate explores for additional explores', async () => {
776
- process.env.PRE_AGGREGATES_ENABLED = 'true';
777
- const explores = await convertExplores([
778
- {
779
- ...MODEL_WITH_METRIC,
780
- meta: {
781
- pre_aggregates: [
782
- {
783
- name: 'rollup',
784
- dimensions: ['user_id'],
785
- metrics: [
786
- 'myTable_total_num_participating_athletes',
787
- ],
788
- },
789
- ],
790
- explores: {
791
- myTable_with_custom_dims: {
792
- label: 'MyTable with Custom Dims',
793
- additional_dimensions: {
794
- athlete_band: {
795
- type: DimensionType.STRING,
796
- sql: "CASE WHEN ${myTable.num_participating_athletes} > 10 THEN 'high' ELSE 'low' END",
797
- },
798
- },
799
- },
800
- },
801
- },
802
- },
803
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
804
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
805
- });
806
- expect(explores).toHaveLength(3);
807
- expect(explores.filter((explore) => !('errors' in explore) &&
808
- explore.type === ExploreType.PRE_AGGREGATE)).toHaveLength(1);
809
- expect(explores).toEqual(expect.arrayContaining([
810
- expect.objectContaining({ name: 'myTable' }),
811
- expect.objectContaining({ name: 'myTable_with_custom_dims' }),
812
- expect.objectContaining({
813
- name: '__preagg__myTable__rollup',
814
- }),
815
- ]));
816
- expect(explores).not.toEqual(expect.arrayContaining([
817
- expect.objectContaining({
818
- name: '__preagg__myTable_with_custom_dims__rollup',
819
- }),
820
- ]));
821
- });
822
- it('keeps the base explore when pre-aggregate generation fails', async () => {
823
- process.env.PRE_AGGREGATES_ENABLED = 'true';
824
- const explores = await convertExplores([
825
- {
826
- ...MODEL_WITH_METRIC,
827
- meta: {
828
- pre_aggregates: [
829
- {
830
- name: 'broken_rollup',
831
- dimensions: ['user_id'],
832
- metrics: ['myTable_missing_metric'],
833
- },
834
- ],
835
- },
836
- },
837
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
838
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
839
- });
840
- expect(explores).toHaveLength(1);
841
- expect(explores[0].name).toBe('myTable');
842
- expect(explores[0].warnings?.some((warning) => warning.type === InlineErrorType.FIELD_ERROR)).toBe(true);
843
- });
844
- it('surfaces unsupported pre-aggregate metric types in explore warnings', async () => {
845
- process.env.PRE_AGGREGATES_ENABLED = 'true';
846
- const explores = await convertExplores([
847
- {
848
- ...MODEL_WITH_METRIC,
849
- meta: {
850
- pre_aggregates: [
851
- {
852
- name: 'broken_rollup',
853
- dimensions: ['user_id'],
854
- metrics: ['myTable_user_count'],
855
- },
856
- ],
857
- },
858
- },
859
- ], false, SupportedDbtAdapter.POSTGRES, [], warehouseClientMock, {
860
- spotlight: DEFAULT_SPOTLIGHT_CONFIG,
861
- });
862
- expect(explores).toHaveLength(1);
863
- expect(explores[0].name).toBe('myTable');
864
- expect(explores[0].warnings).toContainEqual({
865
- type: InlineErrorType.FIELD_ERROR,
866
- message: 'Pre-aggregate "broken_rollup" references unsupported metrics: "myTable_user_count" (count_distinct). Supported metric types: sum, count, min, max, average',
867
- });
868
- });
869
- });
870
611
  describe('custom granularities', () => {
871
612
  const customGranularities = {
872
613
  slt_week: {