@devrev/meerkat-core 0.0.97 → 0.0.99

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 (370) hide show
  1. package/package.json +2 -2
  2. package/src/ast-builder/ast-builder.js +97 -0
  3. package/src/ast-builder/ast-builder.js.map +1 -0
  4. package/src/ast-deserializer/ast-deserializer.js +17 -0
  5. package/src/ast-deserializer/ast-deserializer.js.map +1 -0
  6. package/src/ast-serializer/ast-serializer.js +8 -0
  7. package/src/ast-serializer/ast-serializer.js.map +1 -0
  8. package/src/ast-validator/dimension-validator.js +49 -0
  9. package/src/ast-validator/dimension-validator.js.map +1 -0
  10. package/src/ast-validator/index.js +12 -0
  11. package/src/ast-validator/index.js.map +1 -0
  12. package/src/ast-validator/measure-validator.js +155 -0
  13. package/src/ast-validator/measure-validator.js.map +1 -0
  14. package/{ast-validator → src/ast-validator}/tests/test-data.js +692 -890
  15. package/src/ast-validator/tests/test-data.js.map +1 -0
  16. package/src/ast-validator/types.js +3 -0
  17. package/src/ast-validator/types.js.map +1 -0
  18. package/src/ast-validator/utils.js +24 -0
  19. package/src/ast-validator/utils.js.map +1 -0
  20. package/src/context-params/context-params-ast.js +42 -0
  21. package/src/context-params/context-params-ast.js.map +1 -0
  22. package/src/cube-filter-transformer/and/and.js +14 -0
  23. package/src/cube-filter-transformer/and/and.js.map +1 -0
  24. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js +145 -0
  25. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +1 -0
  26. package/src/cube-filter-transformer/contains/contains.js +62 -0
  27. package/src/cube-filter-transformer/contains/contains.js.map +1 -0
  28. package/src/cube-filter-transformer/equals/equals-array.js +71 -0
  29. package/src/cube-filter-transformer/equals/equals-array.js.map +1 -0
  30. package/src/cube-filter-transformer/equals/equals.js +36 -0
  31. package/src/cube-filter-transformer/equals/equals.js.map +1 -0
  32. package/src/cube-filter-transformer/factory.js +120 -0
  33. package/src/cube-filter-transformer/factory.js.map +1 -0
  34. package/src/cube-filter-transformer/gt/gt.js +28 -0
  35. package/src/cube-filter-transformer/gt/gt.js.map +1 -0
  36. package/src/cube-filter-transformer/gte/gte.js +28 -0
  37. package/src/cube-filter-transformer/gte/gte.js.map +1 -0
  38. package/src/cube-filter-transformer/in/in.js +69 -0
  39. package/src/cube-filter-transformer/in/in.js.map +1 -0
  40. package/src/cube-filter-transformer/in-date-range/in-date-range.js +21 -0
  41. package/src/cube-filter-transformer/in-date-range/in-date-range.js.map +1 -0
  42. package/src/cube-filter-transformer/lt/lt.js +28 -0
  43. package/src/cube-filter-transformer/lt/lt.js.map +1 -0
  44. package/src/cube-filter-transformer/lte/lte.js +28 -0
  45. package/src/cube-filter-transformer/lte/lte.js.map +1 -0
  46. package/src/cube-filter-transformer/not/not.js +14 -0
  47. package/src/cube-filter-transformer/not/not.js.map +1 -0
  48. package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js +21 -0
  49. package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +1 -0
  50. package/src/cube-filter-transformer/not-contains/not-contains.js +62 -0
  51. package/src/cube-filter-transformer/not-contains/not-contains.js.map +1 -0
  52. package/src/cube-filter-transformer/not-equals/not-equals-array.js +21 -0
  53. package/src/cube-filter-transformer/not-equals/not-equals-array.js.map +1 -0
  54. package/src/cube-filter-transformer/not-equals/not-equals.js +36 -0
  55. package/src/cube-filter-transformer/not-equals/not-equals.js.map +1 -0
  56. package/src/cube-filter-transformer/not-in/not-in.js +76 -0
  57. package/src/cube-filter-transformer/not-in/not-in.js.map +1 -0
  58. package/src/cube-filter-transformer/not-set/not-set.js +23 -0
  59. package/src/cube-filter-transformer/not-set/not-set.js.map +1 -0
  60. package/src/cube-filter-transformer/or/or.js +14 -0
  61. package/src/cube-filter-transformer/or/or.js.map +1 -0
  62. package/src/cube-filter-transformer/set/set.js +23 -0
  63. package/src/cube-filter-transformer/set/set.js.map +1 -0
  64. package/src/cube-group-by-transformer/cube-group-by-transformer.d.ts +2 -1
  65. package/src/cube-group-by-transformer/cube-group-by-transformer.js +25 -0
  66. package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -0
  67. package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js +42 -0
  68. package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +1 -0
  69. package/src/cube-measure-transformer/cube-measure-transformer.js +142 -0
  70. package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -0
  71. package/src/cube-order-by-transformer/cube-order-by-transformer.d.ts +2 -1
  72. package/src/cube-order-by-transformer/cube-order-by-transformer.js +40 -0
  73. package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -0
  74. package/src/cube-to-duckdb/cube-filter-to-duckdb.js +3 -0
  75. package/src/cube-to-duckdb/cube-filter-to-duckdb.js.map +1 -0
  76. package/src/filter-params/filter-params-ast.js +114 -0
  77. package/src/filter-params/filter-params-ast.js.map +1 -0
  78. package/src/get-filter-params-sql/get-filter-params-sql.js +25 -0
  79. package/src/get-filter-params-sql/get-filter-params-sql.js.map +1 -0
  80. package/src/get-final-base-sql/get-final-base-sql.js +28 -0
  81. package/src/get-final-base-sql/get-final-base-sql.js.map +1 -0
  82. package/{get-wrapped-base-query-with-projections → src/get-wrapped-base-query-with-projections}/get-aliased-columns-from-filters.js +48 -61
  83. package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +1 -0
  84. package/src/get-wrapped-base-query-with-projections/get-projection-clause.js +91 -0
  85. package/src/get-wrapped-base-query-with-projections/get-projection-clause.js.map +1 -0
  86. package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +32 -0
  87. package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +1 -0
  88. package/src/get-wrapped-base-query-with-projections/sql-expression-modifiers.js +32 -0
  89. package/src/get-wrapped-base-query-with-projections/sql-expression-modifiers.js.map +1 -0
  90. package/src/index.js +37 -0
  91. package/src/index.js.map +1 -0
  92. package/src/joins/joins.js +162 -0
  93. package/src/joins/joins.js.map +1 -0
  94. package/src/member-formatters/constants.js +6 -0
  95. package/src/member-formatters/constants.js.map +1 -0
  96. package/src/member-formatters/get-alias.d.ts +15 -0
  97. package/src/member-formatters/get-alias.js +42 -0
  98. package/src/member-formatters/get-alias.js.map +1 -0
  99. package/src/member-formatters/get-namespaced-key.d.ts +1 -0
  100. package/src/member-formatters/get-namespaced-key.js +6 -0
  101. package/src/member-formatters/get-namespaced-key.js.map +1 -0
  102. package/src/member-formatters/index.d.ts +2 -0
  103. package/src/member-formatters/index.js +15 -0
  104. package/src/member-formatters/index.js.map +1 -0
  105. package/src/member-formatters/member-key-to-safe-key.js +9 -0
  106. package/src/member-formatters/member-key-to-safe-key.js.map +1 -0
  107. package/src/member-formatters/split-into-data-source-and-fields.js +10 -0
  108. package/src/member-formatters/split-into-data-source-and-fields.js.map +1 -0
  109. package/src/resolution/resolution.d.ts +4 -3
  110. package/src/resolution/resolution.js +141 -0
  111. package/src/resolution/resolution.js.map +1 -0
  112. package/src/resolution/types.js +5 -0
  113. package/src/resolution/types.js.map +1 -0
  114. package/src/types/cube-types/index.js +6 -0
  115. package/src/types/cube-types/index.js.map +1 -0
  116. package/src/types/cube-types/query.js +8 -0
  117. package/src/types/cube-types/query.js.map +1 -0
  118. package/src/types/cube-types/table.d.ts +2 -0
  119. package/src/types/cube-types/table.js +3 -0
  120. package/src/types/cube-types/table.js.map +1 -0
  121. package/src/types/duckdb-serialization-types/index.js +11 -0
  122. package/src/types/duckdb-serialization-types/index.js.map +1 -0
  123. package/{types → src/types}/duckdb-serialization-types/serialization/Constraint.js +6 -19
  124. package/src/types/duckdb-serialization-types/serialization/Constraint.js.map +1 -0
  125. package/{types → src/types}/duckdb-serialization-types/serialization/CreateInfo.js +10 -29
  126. package/src/types/duckdb-serialization-types/serialization/CreateInfo.js.map +1 -0
  127. package/{types → src/types}/duckdb-serialization-types/serialization/Expression.js +6 -19
  128. package/src/types/duckdb-serialization-types/serialization/Expression.js.map +1 -0
  129. package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js +28 -0
  130. package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +1 -0
  131. package/src/types/duckdb-serialization-types/serialization/MacroFunction.js +10 -0
  132. package/src/types/duckdb-serialization-types/serialization/MacroFunction.js.map +1 -0
  133. package/src/types/duckdb-serialization-types/serialization/Misc.js +3 -0
  134. package/src/types/duckdb-serialization-types/serialization/Misc.js.map +1 -0
  135. package/{types → src/types}/duckdb-serialization-types/serialization/Nodes.js +17 -45
  136. package/src/types/duckdb-serialization-types/serialization/Nodes.js.map +1 -0
  137. package/{types → src/types}/duckdb-serialization-types/serialization/ParseInfo.js +20 -54
  138. package/src/types/duckdb-serialization-types/serialization/ParseInfo.js.map +1 -0
  139. package/{types → src/types}/duckdb-serialization-types/serialization/ParsedExpression.js +6 -19
  140. package/src/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +1 -0
  141. package/{types → src/types}/duckdb-serialization-types/serialization/QueryNode.js +8 -24
  142. package/src/types/duckdb-serialization-types/serialization/QueryNode.js.map +1 -0
  143. package/{types → src/types}/duckdb-serialization-types/serialization/ResultModifier.js +4 -9
  144. package/src/types/duckdb-serialization-types/serialization/ResultModifier.js.map +1 -0
  145. package/src/types/duckdb-serialization-types/serialization/Statement.js +3 -0
  146. package/src/types/duckdb-serialization-types/serialization/Statement.js.map +1 -0
  147. package/{types → src/types}/duckdb-serialization-types/serialization/TableFilter.js +4 -9
  148. package/src/types/duckdb-serialization-types/serialization/TableFilter.js.map +1 -0
  149. package/{types → src/types}/duckdb-serialization-types/serialization/TableRef.js +8 -24
  150. package/src/types/duckdb-serialization-types/serialization/TableRef.js.map +1 -0
  151. package/{types → src/types}/duckdb-serialization-types/serialization/Types.js +4 -9
  152. package/src/types/duckdb-serialization-types/serialization/Types.js.map +1 -0
  153. package/src/types/duckdb-serialization-types/serialization/example.js +109 -0
  154. package/src/types/duckdb-serialization-types/serialization/example.js.map +1 -0
  155. package/src/types/utils.js +69 -0
  156. package/src/types/utils.js.map +1 -0
  157. package/{utils → src/utils}/__fixtures__/joins.fixtures.js +228 -316
  158. package/src/utils/__fixtures__/joins.fixtures.js.map +1 -0
  159. package/src/utils/base-ast.js +49 -0
  160. package/src/utils/base-ast.js.map +1 -0
  161. package/src/utils/cube-filter-enrichment.js +53 -0
  162. package/src/utils/cube-filter-enrichment.js.map +1 -0
  163. package/{utils → src/utils}/cube-to-table-schema.js +25 -38
  164. package/src/utils/cube-to-table-schema.js.map +1 -0
  165. package/src/utils/cube-type-to-duckdb-type.js +12 -0
  166. package/src/utils/cube-type-to-duckdb-type.js.map +1 -0
  167. package/src/utils/find-in-table-schema.d.ts +3 -1
  168. package/src/utils/find-in-table-schema.js +55 -0
  169. package/src/utils/find-in-table-schema.js.map +1 -0
  170. package/src/utils/get-column-names-from-ast.js +45 -0
  171. package/src/utils/get-column-names-from-ast.js.map +1 -0
  172. package/src/utils/get-possible-nodes.js +146 -0
  173. package/src/utils/get-possible-nodes.js.map +1 -0
  174. package/src/utils/get-type-info.js +34 -0
  175. package/src/utils/get-type-info.js.map +1 -0
  176. package/src/utils/is-array-member-type.js +8 -0
  177. package/src/utils/is-array-member-type.js.map +1 -0
  178. package/src/utils/key-from-measures-dimension.js +32 -0
  179. package/src/utils/key-from-measures-dimension.js.map +1 -0
  180. package/src/utils/meerkat-placeholder-replacer.js +10 -0
  181. package/src/utils/meerkat-placeholder-replacer.js.map +1 -0
  182. package/src/utils/modify-meerkat-filter.d.ts +2 -3
  183. package/src/utils/modify-meerkat-filter.js +24 -0
  184. package/src/utils/modify-meerkat-filter.js.map +1 -0
  185. package/{utils → src/utils}/type-guards.js +10 -28
  186. package/src/utils/type-guards.js.map +1 -0
  187. package/ast-builder/ast-builder.js +0 -90
  188. package/ast-builder/ast-builder.js.map +0 -1
  189. package/ast-deserializer/ast-deserializer.js +0 -30
  190. package/ast-deserializer/ast-deserializer.js.map +0 -1
  191. package/ast-serializer/ast-serializer.js +0 -12
  192. package/ast-serializer/ast-serializer.js.map +0 -1
  193. package/ast-validator/dimension-validator.js +0 -54
  194. package/ast-validator/dimension-validator.js.map +0 -1
  195. package/ast-validator/index.js +0 -25
  196. package/ast-validator/index.js.map +0 -1
  197. package/ast-validator/measure-validator.js +0 -163
  198. package/ast-validator/measure-validator.js.map +0 -1
  199. package/ast-validator/tests/test-data.js.map +0 -1
  200. package/ast-validator/types.js +0 -3
  201. package/ast-validator/types.js.map +0 -1
  202. package/ast-validator/utils.js +0 -35
  203. package/ast-validator/utils.js.map +0 -1
  204. package/context-params/context-params-ast.js +0 -55
  205. package/context-params/context-params-ast.js.map +0 -1
  206. package/cube-filter-transformer/and/and.js +0 -18
  207. package/cube-filter-transformer/and/and.js.map +0 -1
  208. package/cube-filter-transformer/base-condition-builder/base-condition-builder.js +0 -160
  209. package/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +0 -1
  210. package/cube-filter-transformer/contains/contains.js +0 -71
  211. package/cube-filter-transformer/contains/contains.js.map +0 -1
  212. package/cube-filter-transformer/equals/equals-array.js +0 -77
  213. package/cube-filter-transformer/equals/equals-array.js.map +0 -1
  214. package/cube-filter-transformer/equals/equals.js +0 -37
  215. package/cube-filter-transformer/equals/equals.js.map +0 -1
  216. package/cube-filter-transformer/factory.js +0 -124
  217. package/cube-filter-transformer/factory.js.map +0 -1
  218. package/cube-filter-transformer/gt/gt.js +0 -30
  219. package/cube-filter-transformer/gt/gt.js.map +0 -1
  220. package/cube-filter-transformer/gte/gte.js +0 -30
  221. package/cube-filter-transformer/gte/gte.js.map +0 -1
  222. package/cube-filter-transformer/in/in.js +0 -78
  223. package/cube-filter-transformer/in/in.js.map +0 -1
  224. package/cube-filter-transformer/in-date-range/in-date-range.js +0 -24
  225. package/cube-filter-transformer/in-date-range/in-date-range.js.map +0 -1
  226. package/cube-filter-transformer/lt/lt.js +0 -30
  227. package/cube-filter-transformer/lt/lt.js.map +0 -1
  228. package/cube-filter-transformer/lte/lte.js +0 -30
  229. package/cube-filter-transformer/lte/lte.js.map +0 -1
  230. package/cube-filter-transformer/not/not.js +0 -18
  231. package/cube-filter-transformer/not/not.js.map +0 -1
  232. package/cube-filter-transformer/not-In-date-range/not-In-date-range.js +0 -24
  233. package/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +0 -1
  234. package/cube-filter-transformer/not-contains/not-contains.js +0 -71
  235. package/cube-filter-transformer/not-contains/not-contains.js.map +0 -1
  236. package/cube-filter-transformer/not-equals/not-equals-array.js +0 -26
  237. package/cube-filter-transformer/not-equals/not-equals-array.js.map +0 -1
  238. package/cube-filter-transformer/not-equals/not-equals.js +0 -37
  239. package/cube-filter-transformer/not-equals/not-equals.js.map +0 -1
  240. package/cube-filter-transformer/not-in/not-in.js +0 -85
  241. package/cube-filter-transformer/not-in/not-in.js.map +0 -1
  242. package/cube-filter-transformer/not-set/not-set.js +0 -27
  243. package/cube-filter-transformer/not-set/not-set.js.map +0 -1
  244. package/cube-filter-transformer/or/or.js +0 -18
  245. package/cube-filter-transformer/or/or.js.map +0 -1
  246. package/cube-filter-transformer/set/set.js +0 -27
  247. package/cube-filter-transformer/set/set.js.map +0 -1
  248. package/cube-group-by-transformer/cube-group-by-transformer.js +0 -25
  249. package/cube-group-by-transformer/cube-group-by-transformer.js.map +0 -1
  250. package/cube-limit-offset-transformer/cube-limit-offset-transformer.js +0 -42
  251. package/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +0 -1
  252. package/cube-measure-transformer/cube-measure-transformer.js +0 -127
  253. package/cube-measure-transformer/cube-measure-transformer.js.map +0 -1
  254. package/cube-order-by-transformer/cube-order-by-transformer.js +0 -39
  255. package/cube-order-by-transformer/cube-order-by-transformer.js.map +0 -1
  256. package/cube-to-duckdb/cube-filter-to-duckdb.js +0 -3
  257. package/cube-to-duckdb/cube-filter-to-duckdb.js.map +0 -1
  258. package/filter-params/filter-params-ast.js +0 -115
  259. package/filter-params/filter-params-ast.js.map +0 -1
  260. package/get-filter-params-sql/get-filter-params-sql.js +0 -28
  261. package/get-filter-params-sql/get-filter-params-sql.js.map +0 -1
  262. package/get-final-base-sql/get-final-base-sql.js +0 -30
  263. package/get-final-base-sql/get-final-base-sql.js.map +0 -1
  264. package/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +0 -1
  265. package/get-wrapped-base-query-with-projections/get-projection-clause.js +0 -87
  266. package/get-wrapped-base-query-with-projections/get-projection-clause.js.map +0 -1
  267. package/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +0 -33
  268. package/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +0 -1
  269. package/get-wrapped-base-query-with-projections/sql-expression-modifiers.js +0 -60
  270. package/get-wrapped-base-query-with-projections/sql-expression-modifiers.js.map +0 -1
  271. package/index.js +0 -66
  272. package/index.js.map +0 -1
  273. package/joins/joins.js +0 -170
  274. package/joins/joins.js.map +0 -1
  275. package/member-formatters/constants.js +0 -19
  276. package/member-formatters/constants.js.map +0 -1
  277. package/member-formatters/index.js +0 -23
  278. package/member-formatters/index.js.map +0 -1
  279. package/member-formatters/member-key-to-safe-key.js +0 -13
  280. package/member-formatters/member-key-to-safe-key.js.map +0 -1
  281. package/member-formatters/split-into-data-source-and-fields.js +0 -17
  282. package/member-formatters/split-into-data-source-and-fields.js.map +0 -1
  283. package/resolution/resolution.js +0 -128
  284. package/resolution/resolution.js.map +0 -1
  285. package/resolution/types.js +0 -10
  286. package/resolution/types.js.map +0 -1
  287. package/types/cube-types/index.d.js +0 -6
  288. package/types/cube-types/index.d.js.map +0 -1
  289. package/types/cube-types/index.js +0 -6
  290. package/types/cube-types/index.js.map +0 -1
  291. package/types/cube-types/query.d.js +0 -5
  292. package/types/cube-types/query.d.js.map +0 -1
  293. package/types/cube-types/query.js +0 -14
  294. package/types/cube-types/query.js.map +0 -1
  295. package/types/cube-types/table.d.js +0 -3
  296. package/types/cube-types/table.d.js.map +0 -1
  297. package/types/cube-types/table.js +0 -3
  298. package/types/cube-types/table.js.map +0 -1
  299. package/types/duckdb-serialization-types/index.d.js +0 -11
  300. package/types/duckdb-serialization-types/index.d.js.map +0 -1
  301. package/types/duckdb-serialization-types/index.js +0 -11
  302. package/types/duckdb-serialization-types/index.js.map +0 -1
  303. package/types/duckdb-serialization-types/serialization/Constraint.js.map +0 -1
  304. package/types/duckdb-serialization-types/serialization/CreateInfo.js.map +0 -1
  305. package/types/duckdb-serialization-types/serialization/Expression.d.js +0 -3
  306. package/types/duckdb-serialization-types/serialization/Expression.d.js.map +0 -1
  307. package/types/duckdb-serialization-types/serialization/Expression.js.map +0 -1
  308. package/types/duckdb-serialization-types/serialization/LogicalOperator.js +0 -47
  309. package/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +0 -1
  310. package/types/duckdb-serialization-types/serialization/MacroFunction.js +0 -15
  311. package/types/duckdb-serialization-types/serialization/MacroFunction.js.map +0 -1
  312. package/types/duckdb-serialization-types/serialization/Misc.d.js +0 -3
  313. package/types/duckdb-serialization-types/serialization/Misc.d.js.map +0 -1
  314. package/types/duckdb-serialization-types/serialization/Misc.js +0 -3
  315. package/types/duckdb-serialization-types/serialization/Misc.js.map +0 -1
  316. package/types/duckdb-serialization-types/serialization/Nodes.d.js +0 -3
  317. package/types/duckdb-serialization-types/serialization/Nodes.d.js.map +0 -1
  318. package/types/duckdb-serialization-types/serialization/Nodes.js.map +0 -1
  319. package/types/duckdb-serialization-types/serialization/ParseInfo.js.map +0 -1
  320. package/types/duckdb-serialization-types/serialization/ParsedExpression.d.js +0 -3
  321. package/types/duckdb-serialization-types/serialization/ParsedExpression.d.js.map +0 -1
  322. package/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +0 -1
  323. package/types/duckdb-serialization-types/serialization/QueryNode.d.js +0 -3
  324. package/types/duckdb-serialization-types/serialization/QueryNode.d.js.map +0 -1
  325. package/types/duckdb-serialization-types/serialization/QueryNode.js.map +0 -1
  326. package/types/duckdb-serialization-types/serialization/ResultModifier.d.js +0 -3
  327. package/types/duckdb-serialization-types/serialization/ResultModifier.d.js.map +0 -1
  328. package/types/duckdb-serialization-types/serialization/ResultModifier.js.map +0 -1
  329. package/types/duckdb-serialization-types/serialization/Statement.d.js +0 -3
  330. package/types/duckdb-serialization-types/serialization/Statement.d.js.map +0 -1
  331. package/types/duckdb-serialization-types/serialization/Statement.js +0 -3
  332. package/types/duckdb-serialization-types/serialization/Statement.js.map +0 -1
  333. package/types/duckdb-serialization-types/serialization/TableFilter.d.js +0 -3
  334. package/types/duckdb-serialization-types/serialization/TableFilter.d.js.map +0 -1
  335. package/types/duckdb-serialization-types/serialization/TableFilter.js.map +0 -1
  336. package/types/duckdb-serialization-types/serialization/TableRef.d.js +0 -3
  337. package/types/duckdb-serialization-types/serialization/TableRef.d.js.map +0 -1
  338. package/types/duckdb-serialization-types/serialization/TableRef.js.map +0 -1
  339. package/types/duckdb-serialization-types/serialization/Types.d.js +0 -3
  340. package/types/duckdb-serialization-types/serialization/Types.d.js.map +0 -1
  341. package/types/duckdb-serialization-types/serialization/Types.js.map +0 -1
  342. package/types/duckdb-serialization-types/serialization/example.js +0 -131
  343. package/types/duckdb-serialization-types/serialization/example.js.map +0 -1
  344. package/types/utils.js +0 -108
  345. package/types/utils.js.map +0 -1
  346. package/utils/__fixtures__/joins.fixtures.js.map +0 -1
  347. package/utils/base-ast.js +0 -63
  348. package/utils/base-ast.js.map +0 -1
  349. package/utils/cube-filter-enrichment.js +0 -63
  350. package/utils/cube-filter-enrichment.js.map +0 -1
  351. package/utils/cube-to-table-schema.js.map +0 -1
  352. package/utils/cube-type-to-duckdb-type.js +0 -17
  353. package/utils/cube-type-to-duckdb-type.js.map +0 -1
  354. package/utils/find-in-table-schema.js +0 -40
  355. package/utils/find-in-table-schema.js.map +0 -1
  356. package/utils/get-column-names-from-ast.js +0 -45
  357. package/utils/get-column-names-from-ast.js.map +0 -1
  358. package/utils/get-possible-nodes.js +0 -152
  359. package/utils/get-possible-nodes.js.map +0 -1
  360. package/utils/get-type-info.js +0 -44
  361. package/utils/get-type-info.js.map +0 -1
  362. package/utils/is-array-member-type.js +0 -12
  363. package/utils/is-array-member-type.js.map +0 -1
  364. package/utils/key-from-measures-dimension.js +0 -35
  365. package/utils/key-from-measures-dimension.js.map +0 -1
  366. package/utils/meerkat-placeholder-replacer.js +0 -14
  367. package/utils/meerkat-placeholder-replacer.js.map +0 -1
  368. package/utils/modify-meerkat-filter.js +0 -30
  369. package/utils/modify-meerkat-filter.js.map +0 -1
  370. package/utils/type-guards.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joins.fixtures.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/utils/__fixtures__/joins.fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBaseAST = exports.BASE_TABLE_NAME = void 0;
4
+ const Expression_1 = require("../types/duckdb-serialization-types/serialization/Expression");
5
+ const QueryNode_1 = require("../types/duckdb-serialization-types/serialization/QueryNode");
6
+ const TableRef_1 = require("../types/duckdb-serialization-types/serialization/TableRef");
7
+ exports.BASE_TABLE_NAME = 'REPLACE_BASE_TABLE';
8
+ const getBaseAST = () => {
9
+ return {
10
+ node: {
11
+ type: QueryNode_1.QueryNodeType.SELECT_NODE,
12
+ modifiers: [],
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ //@ts-ignore
15
+ cte_map: { map: [] },
16
+ select_list: [
17
+ {
18
+ class: Expression_1.ExpressionClass.STAR,
19
+ type: Expression_1.ExpressionType.STAR,
20
+ alias: '',
21
+ relation_name: '',
22
+ exclude_list: [],
23
+ replace_list: [],
24
+ columns: false,
25
+ },
26
+ ],
27
+ from_table: {
28
+ type: TableRef_1.TableReferenceType.BASE_TABLE,
29
+ alias: '',
30
+ sample: null,
31
+ schema_name: '',
32
+ table_name: exports.BASE_TABLE_NAME,
33
+ column_name_alias: [],
34
+ catalog_name: '',
35
+ },
36
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
37
+ //@ts-ignore
38
+ where_clause: null,
39
+ group_expressions: [],
40
+ group_sets: [],
41
+ aggregate_handling: QueryNode_1.AggregateHandling.STANDARD_HANDLING,
42
+ having: null,
43
+ sample: null,
44
+ qualify: null,
45
+ },
46
+ };
47
+ };
48
+ exports.getBaseAST = getBaseAST;
49
+ //# sourceMappingURL=base-ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-ast.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/base-ast.ts"],"names":[],"mappings":";;;AAAA,6FAGsE;AACtE,2FAGqE;AAErE,yFAAgG;AAEnF,QAAA,eAAe,GAAG,oBAAoB,CAAC;AAE7C,MAAM,UAAU,GAAG,GAAoB,EAAE;IAC9C,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,yBAAa,CAAC,WAAW;YAC/B,SAAS,EAAE,EAAE;YACb,6DAA6D;YAC7D,YAAY;YACZ,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACpB,WAAW,EAAE;gBACX;oBACE,KAAK,EAAE,4BAAe,CAAC,IAAI;oBAC3B,IAAI,EAAE,2BAAc,CAAC,IAAI;oBACzB,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,EAAE;oBACjB,YAAY,EAAE,EAAE;oBAChB,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,KAAK;iBACf;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,6BAAkB,CAAC,UAAU;gBACnC,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,uBAAe;gBAC3B,iBAAiB,EAAE,EAAE;gBACrB,YAAY,EAAE,EAAE;aACjB;YACD,6DAA6D;YAC7D,YAAY;YACZ,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,6BAAiB,CAAC,iBAAiB;YACvD,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;SACd;KACF,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,UAAU,cAuCrB"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cubeFiltersEnrichment = exports.cubeFiltersEnrichmentInternal = void 0;
4
+ const key_from_measures_dimension_1 = require("./key-from-measures-dimension");
5
+ const type_guards_1 = require("./type-guards");
6
+ const cubeFiltersEnrichmentInternal = (filters, tableSchema) => {
7
+ if (!(0, type_guards_1.isFilterArray)(filters) && (0, type_guards_1.isLogicalAndOR)(filters)) {
8
+ if ((0, type_guards_1.isLogicalAnd)(filters)) {
9
+ return (0, exports.cubeFiltersEnrichment)(filters.and, tableSchema);
10
+ }
11
+ if ((0, type_guards_1.isLogicalOr)(filters)) {
12
+ return (0, exports.cubeFiltersEnrichment)(filters.or, tableSchema);
13
+ }
14
+ }
15
+ if (!(0, type_guards_1.isFilterArray)(filters) && (0, type_guards_1.isQueryFilter)(filters)) {
16
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
17
+ //@ts-ignore
18
+ filters.memberInfo = (0, key_from_measures_dimension_1.getMemberInfoFromTableSchema)(filters.member, tableSchema);
19
+ }
20
+ if ((0, type_guards_1.isFilterArray)(filters)) {
21
+ for (const filter of filters) {
22
+ if ((0, type_guards_1.isLogicalAndOR)(filter)) {
23
+ if ((0, type_guards_1.isLogicalAnd)(filter)) {
24
+ (0, exports.cubeFiltersEnrichmentInternal)(filter.and, tableSchema);
25
+ }
26
+ if ((0, type_guards_1.isLogicalOr)(filter)) {
27
+ (0, exports.cubeFiltersEnrichmentInternal)(filter.or, tableSchema);
28
+ }
29
+ }
30
+ else if ((0, type_guards_1.isQueryFilter)(filter)) {
31
+ console.info('filter', filter);
32
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
33
+ //@ts-ignore
34
+ filter.memberInfo = (0, key_from_measures_dimension_1.getMemberInfoFromTableSchema)(filter.member, tableSchema);
35
+ }
36
+ }
37
+ }
38
+ return filters;
39
+ };
40
+ exports.cubeFiltersEnrichmentInternal = cubeFiltersEnrichmentInternal;
41
+ const cubeFiltersEnrichment = (filters, tableSchema) => {
42
+ if (!filters) {
43
+ return null;
44
+ }
45
+ if ((0, type_guards_1.isFilterArray)(filters)) {
46
+ for (const filter of filters) {
47
+ (0, exports.cubeFiltersEnrichmentInternal)(filter, tableSchema);
48
+ }
49
+ }
50
+ return filters;
51
+ };
52
+ exports.cubeFiltersEnrichment = cubeFiltersEnrichment;
53
+ //# sourceMappingURL=cube-filter-enrichment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-filter-enrichment.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/cube-filter-enrichment.ts"],"names":[],"mappings":";;;AAOA,+EAA6E;AAC7E,+CAMuB;AAEhB,MAAM,6BAA6B,GAAG,CAC3C,OAMwB,EACxB,WAAwB,EACxB,EAAE;IACF,IAAI,CAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,IAAI,IAAA,4BAAc,EAAC,OAAO,CAAC,EAAE;QACtD,IAAI,IAAA,0BAAY,EAAC,OAAO,CAAC,EAAE;YACzB,OAAO,IAAA,6BAAqB,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;SACxD;QACD,IAAI,IAAA,yBAAW,EAAC,OAAO,CAAC,EAAE;YACxB,OAAO,IAAA,6BAAqB,EAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;SACvD;KACF;IACD,IAAI,CAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,IAAI,IAAA,2BAAa,EAAC,OAAO,CAAC,EAAE;QACrD,6DAA6D;QAC7D,YAAY;QACZ,OAAO,CAAC,UAAU,GAAG,IAAA,0DAA4B,EAC/C,OAAO,CAAC,MAAM,EACd,WAAW,CACZ,CAAC;KACH;IAED,IAAI,IAAA,2BAAa,EAAC,OAAO,CAAC,EAAE;QAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,IAAA,4BAAc,EAAC,MAAM,CAAC,EAAE;gBAC1B,IAAI,IAAA,0BAAY,EAAC,MAAM,CAAC,EAAE;oBACxB,IAAA,qCAA6B,EAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;iBACxD;gBACD,IAAI,IAAA,yBAAW,EAAC,MAAM,CAAC,EAAE;oBACvB,IAAA,qCAA6B,EAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;iBACvD;aACF;iBAAM,IAAI,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE;gBAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/B,6DAA6D;gBAC7D,YAAY;gBACZ,MAAM,CAAC,UAAU,GAAG,IAAA,0DAA4B,EAC9C,MAAM,CAAC,MAAM,EACb,WAAW,CACZ,CAAC;aACH;SACF;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAjDW,QAAA,6BAA6B,iCAiDxC;AAEK,MAAM,qBAAqB,GAAG,CACnC,OAA6B,EAC7B,WAAwB,EACK,EAAE;IAC/B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAA,2BAAa,EAAC,OAAO,CAAC,EAAE;QAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAA,qCAA6B,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SACpD;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAdW,QAAA,qBAAqB,yBAchC"}
@@ -1,104 +1,91 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "convertCubeStringToTableSchema", {
3
- enumerable: true,
4
- get: function() {
5
- return convertCubeStringToTableSchema;
6
- }
7
- });
8
- const _extends = require("@swc/helpers/_/_extends");
9
- const cube = (name, object)=>({
10
- name,
11
- object
12
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertCubeStringToTableSchema = void 0;
4
+ const cube = (name, object) => ({ name, object });
13
5
  function convertCubeStringToTableSchema(file) {
14
6
  // replace ${...} with ...
15
- let replacedFile = file.replace(/\${(.*?)}/g, (match, variable)=>variable);
7
+ let replacedFile = file.replace(/\${(.*?)}/g, (match, variable) => variable);
16
8
  // replace CUBE with MEERKAT
17
9
  replacedFile = replacedFile.replace(/CUBE/g, '{MEERKAT}');
18
10
  const { name, object } = eval(replacedFile);
19
- return convertCubeToTableSchema({
20
- name,
21
- object
22
- });
11
+ return convertCubeToTableSchema({ name, object });
23
12
  }
24
- function convertCubeToTableSchema({ name, object }) {
13
+ exports.convertCubeStringToTableSchema = convertCubeStringToTableSchema;
14
+ function convertCubeToTableSchema({ name, object, }) {
25
15
  const resObj = {
26
16
  name,
27
17
  sql: object.sql_table,
28
18
  measures: [],
29
- dimensions: []
19
+ dimensions: [],
30
20
  };
31
21
  const dimensions = object.dimensions;
32
22
  const measures = object.measures;
33
23
  // convert dimensions and measures
34
- for(const key in dimensions){
24
+ for (const key in dimensions) {
35
25
  resObj.dimensions.push({
36
26
  name: key,
37
27
  sql: dimensions[key].sql,
38
- type: dimensions[key].type
28
+ type: dimensions[key].type,
39
29
  });
40
30
  }
41
- for(const key in measures){
42
- resObj.measures.push(_extends._({
43
- name: key
44
- }, convertMeasure(measures[key])));
31
+ for (const key in measures) {
32
+ resObj.measures.push(Object.assign({ name: key }, convertMeasure(measures[key])));
45
33
  }
46
34
  // convert joins
47
35
  if (object.joins && Object.keys(object.joins).length > 0) {
48
36
  resObj.joins = [];
49
- for(const joinName in object.joins){
37
+ for (const joinName in object.joins) {
50
38
  const join = object.joins[joinName];
51
39
  resObj.joins.push({
52
- sql: join.sql
40
+ sql: join.sql,
53
41
  });
54
42
  }
55
43
  }
56
44
  return resObj;
57
45
  }
58
46
  function convertMeasure(measure) {
59
- switch(measure.type){
47
+ var _a;
48
+ switch (measure.type) {
60
49
  case 'count':
61
50
  return {
62
51
  sql: measure.sql ? `COUNT(${measure.sql})` : 'COUNT(*)',
63
- type: 'number'
52
+ type: 'number',
64
53
  };
65
54
  case 'count_distinct':
66
55
  return {
67
56
  sql: `COUNT(DISTINCT ${measure.sql})`,
68
- type: 'number'
57
+ type: 'number',
69
58
  };
70
59
  case 'count_distinct_approx':
71
60
  return {
72
61
  sql: `APPROX_COUNT_DISTINCT(${measure.sql})`,
73
- type: 'number'
62
+ type: 'number',
74
63
  };
75
64
  case 'sum':
76
65
  return {
77
66
  sql: `SUM(${measure.sql})`,
78
- type: 'number'
67
+ type: 'number',
79
68
  };
80
69
  case 'avg':
81
70
  return {
82
71
  sql: `AVG(${measure.sql})`,
83
- type: 'number'
72
+ type: 'number',
84
73
  };
85
74
  case 'min':
86
75
  return {
87
76
  sql: `MIN(${measure.sql})`,
88
- type: 'number'
77
+ type: 'number',
89
78
  };
90
79
  case 'max':
91
80
  return {
92
81
  sql: `MAX(${measure.sql})`,
93
- type: 'number'
82
+ type: 'number',
94
83
  };
95
84
  default:
96
- var _measure_sql;
97
85
  return {
98
- sql: (_measure_sql = measure.sql) != null ? _measure_sql : '',
99
- type: measure.type
86
+ sql: (_a = measure.sql) !== null && _a !== void 0 ? _a : '',
87
+ type: measure.type,
100
88
  };
101
89
  }
102
90
  }
103
-
104
91
  //# sourceMappingURL=cube-to-table-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-to-table-schema.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/cube-to-table-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CUBE_TYPE_TO_DUCKDB_TYPE = void 0;
4
+ exports.CUBE_TYPE_TO_DUCKDB_TYPE = {
5
+ string: 'VARCHAR',
6
+ number: 'DECIMAL',
7
+ time: 'VARCHAR',
8
+ boolean: 'BOOLEAN',
9
+ string_array: 'VARCHAR[]',
10
+ number_array: 'DECIMAL[]',
11
+ };
12
+ //# sourceMappingURL=cube-type-to-duckdb-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-type-to-duckdb-type.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/cube-type-to-duckdb-type.ts"],"names":[],"mappings":";;;AAIa,QAAA,wBAAwB,GAEjC;IACF,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,WAAW;CAC1B,CAAC"}
@@ -1,4 +1,6 @@
1
- import { TableSchema } from "../types/cube-types";
1
+ import { TableSchema } from '../types/cube-types';
2
2
  export declare const findInDimensionSchema: (measure: string, tableSchema: TableSchema) => import("../types/cube-types").Dimension | undefined;
3
3
  export declare const findInMeasureSchema: (measure: string, tableSchema: TableSchema) => import("../types/cube-types").Measure | undefined;
4
4
  export declare const findInSchema: (measure: string, tableSchema: TableSchema) => import("../types/cube-types").Measure | undefined;
5
+ export declare const findInDimensionSchemas: (name: string, tableSchemas: TableSchema[]) => import("../types/cube-types").Dimension | undefined;
6
+ export declare const findInSchemas: (name: string, tableSchemas: TableSchema[]) => import("../types/cube-types").Measure | undefined;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findInSchemas = exports.findInDimensionSchemas = exports.findInSchema = exports.findInMeasureSchema = exports.findInDimensionSchema = void 0;
4
+ const member_formatters_1 = require("../member-formatters");
5
+ const findInDimensionSchema = (measure, tableSchema) => {
6
+ return tableSchema.dimensions.find((m) => m.name === measure);
7
+ };
8
+ exports.findInDimensionSchema = findInDimensionSchema;
9
+ const findInMeasureSchema = (measure, tableSchema) => {
10
+ return tableSchema.measures.find((m) => m.name === measure);
11
+ };
12
+ exports.findInMeasureSchema = findInMeasureSchema;
13
+ const findInSchema = (measure, tableSchema) => {
14
+ /*
15
+ ** Using the key passed as measureWithoutTable this function searches the table schema.
16
+ ** It returns either the first dimension or measure found.
17
+ */
18
+ const foundDimension = (0, exports.findInDimensionSchema)(measure, tableSchema);
19
+ if (foundDimension) {
20
+ return foundDimension;
21
+ }
22
+ const foundMeasure = (0, exports.findInMeasureSchema)(measure, tableSchema);
23
+ if (foundMeasure) {
24
+ return foundMeasure;
25
+ }
26
+ return undefined;
27
+ };
28
+ exports.findInSchema = findInSchema;
29
+ const findInDimensionSchemas = (name, tableSchemas) => {
30
+ /*
31
+ ** Finds the dimension in the provided table schemas.
32
+ ** Assumes the provided name is namespaced as `tableName.columnName`.
33
+ */
34
+ const [tableName, columnName] = (0, member_formatters_1.splitIntoDataSourceAndFields)(name);
35
+ const tableSchema = tableSchemas.find((table) => table.name === tableName);
36
+ if (!tableSchema) {
37
+ return undefined;
38
+ }
39
+ return (0, exports.findInDimensionSchema)(columnName, tableSchema);
40
+ };
41
+ exports.findInDimensionSchemas = findInDimensionSchemas;
42
+ const findInSchemas = (name, tableSchemas) => {
43
+ /*
44
+ ** Finds the dimension or measure in the provided table schemas.
45
+ ** Assumes the provided name is namespaced as `tableName.columnName`.
46
+ */
47
+ const [tableName, columnName] = (0, member_formatters_1.splitIntoDataSourceAndFields)(name);
48
+ const tableSchema = tableSchemas.find((table) => table.name === tableName);
49
+ if (!tableSchema) {
50
+ return undefined;
51
+ }
52
+ return (0, exports.findInSchema)(columnName, tableSchema);
53
+ };
54
+ exports.findInSchemas = findInSchemas;
55
+ //# sourceMappingURL=find-in-table-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-in-table-schema.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/find-in-table-schema.ts"],"names":[],"mappings":";;;AAAA,4DAAoE;AAG7D,MAAM,qBAAqB,GAAG,CACnC,OAAe,EACf,WAAwB,EACxB,EAAE;IACF,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAChE,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,mBAAmB,GAAG,CACjC,OAAe,EACf,WAAwB,EACxB,EAAE;IACF,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,WAAwB,EAAE,EAAE;IACxE;;;OAGG;IACH,MAAM,cAAc,GAAG,IAAA,6BAAqB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IACD,MAAM,YAAY,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAEK,MAAM,sBAAsB,GAAG,CACpC,IAAY,EACZ,YAA2B,EAC3B,EAAE;IACF;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gDAA4B,EAAC,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3E,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,IAAA,6BAAqB,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,YAA2B,EAAE,EAAE;IACzE;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gDAA4B,EAAC,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3E,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,IAAA,oBAAY,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getColumnNamesFromAst = void 0;
4
+ const member_formatters_1 = require("../member-formatters");
5
+ const utils_1 = require("../types/utils");
6
+ const getColumnNamesFromAst = (node, columnSet = new Set()) => {
7
+ if (!node)
8
+ return Array.from(columnSet);
9
+ if ((0, utils_1.isBetweenExpression)(node)) {
10
+ (0, exports.getColumnNamesFromAst)(node.input, columnSet);
11
+ (0, exports.getColumnNamesFromAst)(node.lower, columnSet);
12
+ (0, exports.getColumnNamesFromAst)(node.upper, columnSet);
13
+ }
14
+ if ((0, utils_1.isColumnRefExpression)(node)) {
15
+ columnSet.add(node.column_names.join(member_formatters_1.COLUMN_NAME_DELIMITER));
16
+ }
17
+ if ((0, utils_1.isCastExpression)(node) || (0, utils_1.isCollateExpression)(node)) {
18
+ (0, exports.getColumnNamesFromAst)(node.child, columnSet);
19
+ }
20
+ if ((0, utils_1.isComparisonExpression)(node)) {
21
+ (0, exports.getColumnNamesFromAst)(node.left, columnSet);
22
+ (0, exports.getColumnNamesFromAst)(node.right, columnSet);
23
+ }
24
+ if ((0, utils_1.isFunctionExpression)(node) ||
25
+ (0, utils_1.isWindowExpression)(node) ||
26
+ (0, utils_1.isOperatorExpression)(node) ||
27
+ (0, utils_1.isConjunctionExpression)(node)) {
28
+ node.children.forEach((child) => (0, exports.getColumnNamesFromAst)(child, columnSet));
29
+ }
30
+ if ((0, utils_1.isCaseExpression)(node)) {
31
+ node.case_checks.forEach((check) => {
32
+ (0, exports.getColumnNamesFromAst)(check.then_expr, columnSet);
33
+ (0, exports.getColumnNamesFromAst)(check.when_expr, columnSet);
34
+ });
35
+ (0, exports.getColumnNamesFromAst)(node.else_expr, columnSet);
36
+ }
37
+ if ((0, utils_1.isSubqueryExpression)(node) && (0, utils_1.isSelectNode)(node.subquery.node)) {
38
+ node.subquery.node.select_list.forEach((node) => {
39
+ (0, exports.getColumnNamesFromAst)(node, columnSet);
40
+ });
41
+ }
42
+ return Array.from(columnSet);
43
+ };
44
+ exports.getColumnNamesFromAst = getColumnNamesFromAst;
45
+ //# sourceMappingURL=get-column-names-from-ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-column-names-from-ast.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/get-column-names-from-ast.ts"],"names":[],"mappings":";;;AAAA,4DAA6D;AAE7D,0CAawB;AAEjB,MAAM,qBAAqB,GAAG,CACnC,IAAsB,EACtB,YAAyB,IAAI,GAAG,EAAE,EACxB,EAAE;IACZ,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAExC,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;QAC7B,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE;QAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yCAAqB,CAAC,CAAC,CAAC;KAC9D;IAED,IAAI,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;QACvD,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,IAAI,IAAA,8BAAsB,EAAC,IAAI,CAAC,EAAE;QAChC,IAAA,6BAAqB,EAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,IACE,IAAA,4BAAoB,EAAC,IAAI,CAAC;QAC1B,IAAA,0BAAkB,EAAC,IAAI,CAAC;QACxB,IAAA,4BAAoB,EAAC,IAAI,CAAC;QAC1B,IAAA,+BAAuB,EAAC,IAAI,CAAC,EAC7B;QACA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;KAC3E;IAED,IAAI,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE;QAC1B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAA,6BAAqB,EAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,IAAA,6BAAqB,EAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,IAAA,6BAAqB,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAClD;IAED,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAA,6BAAqB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAjDW,QAAA,qBAAqB,yBAiDhC"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNestedTableSchema = void 0;
4
+ const joins_1 = require("../joins/joins");
5
+ const cube_types_1 = require("../types/cube-types");
6
+ const getNestedTableSchema = (tableSchemas, joinPath, depth) => {
7
+ const tableSchemaSqlMap = {};
8
+ for (const schema of tableSchemas) {
9
+ if (!schema) {
10
+ throw new Error('Schema is undefined');
11
+ }
12
+ tableSchemaSqlMap[schema.name] = schema.sql;
13
+ }
14
+ const directedGraph = (0, joins_1.createDirectedGraph)(tableSchemas, tableSchemaSqlMap);
15
+ const hasLoop = (0, joins_1.checkLoopInJoinPath)(joinPath);
16
+ if (hasLoop) {
17
+ throw new Error('A loop was detected in the joins paths');
18
+ }
19
+ const visitedNodes = {};
20
+ const startingNode = tableSchemas.find((schema) => schema.name === joinPath[0][0].left);
21
+ visitedNodes[startingNode.name] = true;
22
+ const nestedTableSchema = {
23
+ name: startingNode.name,
24
+ measures: startingNode.measures.map((measure) => ({
25
+ schema: measure,
26
+ children: [],
27
+ })),
28
+ dimensions: startingNode.dimensions.map((dimension) => ({
29
+ schema: dimension,
30
+ children: [],
31
+ })),
32
+ };
33
+ const checkedPaths = {};
34
+ const buildNestedSchema = (edges, index, nestedTableSchema, tableSchemas) => {
35
+ var _a;
36
+ const edge = edges[index];
37
+ /**
38
+ * If there is no right table, return the nested schema immediately
39
+ * This means there is a single node in the path.
40
+ */
41
+ if (!(0, cube_types_1.isJoinNode)(edge)) {
42
+ return nestedTableSchema;
43
+ }
44
+ // If the path has been checked before, return the nested schema immediately
45
+ const pathKey = `${edge.left}-${edge.right}-${edge.on}`;
46
+ if (checkedPaths[pathKey]) {
47
+ nestedTableSchema.dimensions.map((dimension) => {
48
+ var _a;
49
+ (_a = dimension.children) === null || _a === void 0 ? void 0 : _a.forEach((child) => {
50
+ if (child.name === edge.right) {
51
+ return buildNestedSchema(edges, index + 1, child, tableSchemas);
52
+ }
53
+ return;
54
+ });
55
+ });
56
+ return nestedTableSchema;
57
+ }
58
+ const rightSchema = tableSchemas.find((schema) => schema.name === edge.right);
59
+ if (!rightSchema) {
60
+ throw new Error(`The schema for ${edge.right} does not exist.`);
61
+ }
62
+ // Mark the path as checked
63
+ checkedPaths[pathKey] = true;
64
+ const nestedRightSchema = {
65
+ name: rightSchema.name,
66
+ measures: (rightSchema.measures || []).map((measure) => ({ schema: measure, children: [] })),
67
+ dimensions: (rightSchema.dimensions || []).map((dimension) => ({ schema: dimension, children: [] })),
68
+ };
69
+ const nestedDimension = nestedTableSchema.dimensions.find((dimension) => dimension.schema.name === edge.on);
70
+ if (!nestedDimension) {
71
+ throw new Error(`The dimension ${edge.on} does not exist in the table schema.`);
72
+ }
73
+ (_a = nestedDimension.children) === null || _a === void 0 ? void 0 : _a.push(nestedRightSchema);
74
+ // Mark the right schema as visited
75
+ visitedNodes[rightSchema.name] = true;
76
+ if (index < edges.length - 1) {
77
+ buildNestedSchema(edges, index + 1, nestedRightSchema, tableSchemas);
78
+ }
79
+ return nestedTableSchema;
80
+ };
81
+ for (let i = 0; i < joinPath.length; i++) {
82
+ buildNestedSchema(joinPath[i], 0, nestedTableSchema, tableSchemas);
83
+ }
84
+ getNextPossibleNodes(directedGraph, nestedTableSchema, visitedNodes, tableSchemas, depth);
85
+ return nestedTableSchema;
86
+ };
87
+ exports.getNestedTableSchema = getNestedTableSchema;
88
+ const getNextPossibleNodes = (directedGraph, nestedTableSchema, visitedNodes, tableSchemas, depth, currentDepth = 0) => {
89
+ var _a, _b;
90
+ const currentNode = nestedTableSchema.name;
91
+ /**
92
+ * We are already iterating the next nodes for each dimension. It means we are already at the next level of depth.
93
+ * So we should return if the current depth is greater than or equal to the depth we want to go to.
94
+ */
95
+ if (currentDepth >= depth) {
96
+ return;
97
+ }
98
+ /**
99
+ * Iterating through each dimension of the current node
100
+ */
101
+ for (let i = 0; i < nestedTableSchema.dimensions.length; i++) {
102
+ const dimension = nestedTableSchema.dimensions[i];
103
+ /**
104
+ * Gettting the next possible nodes for the current dimension
105
+ */
106
+ const nextPossibleNodes = directedGraph[currentNode];
107
+ if (!nextPossibleNodes) {
108
+ return;
109
+ }
110
+ for (const [node] of Object.entries(nextPossibleNodes)) {
111
+ /**
112
+ * If the next node is not possible with the current dimension, continue to the next node
113
+ */
114
+ if (!nextPossibleNodes[node][dimension.schema.name]) {
115
+ continue;
116
+ }
117
+ const nextSchema = tableSchemas.find((schema) => schema.name === node);
118
+ if (!nextSchema) {
119
+ throw new Error(`The schema for ${node} does not exist.`);
120
+ }
121
+ if (!visitedNodes[nextSchema.name]) {
122
+ const nestedNextSchema = {
123
+ name: nextSchema.name,
124
+ measures: nextSchema.measures.map((measure) => ({
125
+ schema: measure,
126
+ children: [],
127
+ })),
128
+ dimensions: nextSchema.dimensions.map((dimension) => ({
129
+ schema: dimension,
130
+ children: [],
131
+ })),
132
+ };
133
+ if (!((_a = dimension.children) === null || _a === void 0 ? void 0 : _a.some((child) => child.name === nestedNextSchema.name))) {
134
+ (_b = dimension.children) === null || _b === void 0 ? void 0 : _b.push(nestedNextSchema);
135
+ }
136
+ }
137
+ for (const children of dimension.children || []) {
138
+ if (visitedNodes[children.name] && currentDepth > 0) {
139
+ continue;
140
+ }
141
+ getNextPossibleNodes(directedGraph, children, visitedNodes, tableSchemas, depth, visitedNodes[children.name] ? 0 : currentDepth + 1);
142
+ }
143
+ }
144
+ }
145
+ };
146
+ //# sourceMappingURL=get-possible-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-possible-nodes.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/get-possible-nodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertFloatToInt = exports.getTypeInfo = void 0;
4
+ function getTypeInfo(num) {
5
+ var _a;
6
+ const numString = num.toString();
7
+ let width = numString.length;
8
+ if (numString.includes('.')) {
9
+ width -= 1; // subtract 1 to exclude the dot from the count of digits
10
+ }
11
+ /**
12
+ * If the number is a whole number, then the scale is 0
13
+ * If the number is a floating point number, then the scale is the number of digits after the decimal
14
+ */
15
+ const scale = ((_a = numString.split('.')[1]) === null || _a === void 0 ? void 0 : _a.length) || 0;
16
+ const typeInfo = {
17
+ type: 'DECIMAL_TYPE_INFO',
18
+ alias: '',
19
+ width: width,
20
+ scale: scale,
21
+ };
22
+ return typeInfo;
23
+ }
24
+ exports.getTypeInfo = getTypeInfo;
25
+ const convertFloatToInt = (num) => {
26
+ const numString = num.toString();
27
+ //Remove dot from the number string
28
+ const numStringWithoutDot = numString.replace('.', '');
29
+ //Convert the number string to a number
30
+ const numWithoutDot = parseInt(numStringWithoutDot);
31
+ return numWithoutDot;
32
+ };
33
+ exports.convertFloatToInt = convertFloatToInt;
34
+ //# sourceMappingURL=get-type-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-type-info.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/get-type-info.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAEjC,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAC7B,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC3B,KAAK,IAAI,CAAC,CAAC,CAAC,yDAAyD;KACtE;IAED;;;OAGG;IACH,MAAM,KAAK,GAAG,CAAA,MAAA,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,KAAI,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACb,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAtBD,kCAsBC;AAEM,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAEjC,mCAAmC;IACnC,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEvD,uCAAuC;IACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAEpD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isArrayTypeMember = void 0;
4
+ const isArrayTypeMember = (type) => {
5
+ return type.endsWith('_array');
6
+ };
7
+ exports.isArrayTypeMember = isArrayTypeMember;
8
+ //# sourceMappingURL=is-array-member-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-array-member-type.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/is-array-member-type.ts"],"names":[],"mappings":";;;AAIO,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,EAAE;IAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}