@devrev/meerkat-core 0.0.77

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 (237) hide show
  1. package/README.md +11 -0
  2. package/package.json +30 -0
  3. package/src/ast-builder/ast-builder.d.ts +6 -0
  4. package/src/ast-builder/ast-builder.js +89 -0
  5. package/src/ast-builder/ast-builder.js.map +1 -0
  6. package/src/ast-deserializer/ast-deserializer.d.ts +5 -0
  7. package/src/ast-deserializer/ast-deserializer.js +30 -0
  8. package/src/ast-deserializer/ast-deserializer.js.map +1 -0
  9. package/src/context-params/context-params-ast.d.ts +11 -0
  10. package/src/context-params/context-params-ast.js +55 -0
  11. package/src/context-params/context-params-ast.js.map +1 -0
  12. package/src/cube-filter-transformer/and/and.d.ts +2 -0
  13. package/src/cube-filter-transformer/and/and.js +18 -0
  14. package/src/cube-filter-transformer/and/and.js.map +1 -0
  15. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.d.ts +154 -0
  16. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js +159 -0
  17. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +1 -0
  18. package/src/cube-filter-transformer/contains/contains.d.ts +65 -0
  19. package/src/cube-filter-transformer/contains/contains.js +70 -0
  20. package/src/cube-filter-transformer/contains/contains.js.map +1 -0
  21. package/src/cube-filter-transformer/equals/equals-array.d.ts +2 -0
  22. package/src/cube-filter-transformer/equals/equals-array.js +30 -0
  23. package/src/cube-filter-transformer/equals/equals-array.js.map +1 -0
  24. package/src/cube-filter-transformer/equals/equals.d.ts +2 -0
  25. package/src/cube-filter-transformer/equals/equals.js +37 -0
  26. package/src/cube-filter-transformer/equals/equals.js.map +1 -0
  27. package/src/cube-filter-transformer/factory.d.ts +5 -0
  28. package/src/cube-filter-transformer/factory.js +124 -0
  29. package/src/cube-filter-transformer/factory.js.map +1 -0
  30. package/src/cube-filter-transformer/gt/gt.d.ts +2 -0
  31. package/src/cube-filter-transformer/gt/gt.js +30 -0
  32. package/src/cube-filter-transformer/gt/gt.js.map +1 -0
  33. package/src/cube-filter-transformer/gte/gte.d.ts +2 -0
  34. package/src/cube-filter-transformer/gte/gte.js +30 -0
  35. package/src/cube-filter-transformer/gte/gte.js.map +1 -0
  36. package/src/cube-filter-transformer/in/in.d.ts +2 -0
  37. package/src/cube-filter-transformer/in/in.js +77 -0
  38. package/src/cube-filter-transformer/in/in.js.map +1 -0
  39. package/src/cube-filter-transformer/in-date-range/in-date-range.d.ts +2 -0
  40. package/src/cube-filter-transformer/in-date-range/in-date-range.js +24 -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.d.ts +2 -0
  43. package/src/cube-filter-transformer/lt/lt.js +30 -0
  44. package/src/cube-filter-transformer/lt/lt.js.map +1 -0
  45. package/src/cube-filter-transformer/lte/lte.d.ts +2 -0
  46. package/src/cube-filter-transformer/lte/lte.js +30 -0
  47. package/src/cube-filter-transformer/lte/lte.js.map +1 -0
  48. package/src/cube-filter-transformer/not/not.d.ts +2 -0
  49. package/src/cube-filter-transformer/not/not.js +18 -0
  50. package/src/cube-filter-transformer/not/not.js.map +1 -0
  51. package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.d.ts +2 -0
  52. package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js +24 -0
  53. package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +1 -0
  54. package/src/cube-filter-transformer/not-contains/not-contains.d.ts +65 -0
  55. package/src/cube-filter-transformer/not-contains/not-contains.js +70 -0
  56. package/src/cube-filter-transformer/not-contains/not-contains.js.map +1 -0
  57. package/src/cube-filter-transformer/not-equals/not-equals-array.d.ts +2 -0
  58. package/src/cube-filter-transformer/not-equals/not-equals-array.js +26 -0
  59. package/src/cube-filter-transformer/not-equals/not-equals-array.js.map +1 -0
  60. package/src/cube-filter-transformer/not-equals/not-equals.d.ts +8 -0
  61. package/src/cube-filter-transformer/not-equals/not-equals.js +37 -0
  62. package/src/cube-filter-transformer/not-equals/not-equals.js.map +1 -0
  63. package/src/cube-filter-transformer/not-in/not-in.d.ts +2 -0
  64. package/src/cube-filter-transformer/not-in/not-in.js +84 -0
  65. package/src/cube-filter-transformer/not-in/not-in.js.map +1 -0
  66. package/src/cube-filter-transformer/not-set/not-set.d.ts +2 -0
  67. package/src/cube-filter-transformer/not-set/not-set.js +26 -0
  68. package/src/cube-filter-transformer/not-set/not-set.js.map +1 -0
  69. package/src/cube-filter-transformer/or/or.d.ts +2 -0
  70. package/src/cube-filter-transformer/or/or.js +18 -0
  71. package/src/cube-filter-transformer/or/or.js.map +1 -0
  72. package/src/cube-filter-transformer/set/set.d.ts +2 -0
  73. package/src/cube-filter-transformer/set/set.js +26 -0
  74. package/src/cube-filter-transformer/set/set.js.map +1 -0
  75. package/src/cube-group-by-transformer/cube-group-by-transformer.d.ts +8 -0
  76. package/src/cube-group-by-transformer/cube-group-by-transformer.js +25 -0
  77. package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -0
  78. package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.d.ts +31 -0
  79. package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js +42 -0
  80. package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +1 -0
  81. package/src/cube-measure-transformer/cube-measure-transformer.d.ts +21 -0
  82. package/src/cube-measure-transformer/cube-measure-transformer.js +126 -0
  83. package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -0
  84. package/src/cube-order-by-transformer/cube-order-by-transformer.d.ts +21 -0
  85. package/src/cube-order-by-transformer/cube-order-by-transformer.js +39 -0
  86. package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -0
  87. package/src/cube-to-duckdb/cube-filter-to-duckdb.d.ts +16 -0
  88. package/src/cube-to-duckdb/cube-filter-to-duckdb.js +3 -0
  89. package/src/cube-to-duckdb/cube-filter-to-duckdb.js.map +1 -0
  90. package/src/filter-params/filter-params-ast.d.ts +33 -0
  91. package/src/filter-params/filter-params-ast.js +115 -0
  92. package/src/filter-params/filter-params-ast.js.map +1 -0
  93. package/src/get-projection-clause/get-projection-clause.d.ts +27 -0
  94. package/src/get-projection-clause/get-projection-clause.js +135 -0
  95. package/src/get-projection-clause/get-projection-clause.js.map +1 -0
  96. package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.d.ts +8 -0
  97. package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +99 -0
  98. package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +1 -0
  99. package/src/index.d.ts +16 -0
  100. package/src/index.js +55 -0
  101. package/src/index.js.map +1 -0
  102. package/src/joins/joins.d.ts +22 -0
  103. package/src/joins/joins.js +170 -0
  104. package/src/joins/joins.js.map +1 -0
  105. package/src/types/cube-types/index.d.js +6 -0
  106. package/src/types/cube-types/index.d.js.map +1 -0
  107. package/src/types/cube-types/index.d.ts +2 -0
  108. package/src/types/cube-types/index.js +6 -0
  109. package/src/types/cube-types/index.js.map +1 -0
  110. package/src/types/cube-types/query.d.js +5 -0
  111. package/src/types/cube-types/query.d.js.map +1 -0
  112. package/src/types/cube-types/query.d.ts +141 -0
  113. package/src/types/cube-types/query.js +14 -0
  114. package/src/types/cube-types/query.js.map +1 -0
  115. package/src/types/cube-types/table.d.js +3 -0
  116. package/src/types/cube-types/table.d.js.map +1 -0
  117. package/src/types/cube-types/table.d.ts +25 -0
  118. package/src/types/cube-types/table.js +3 -0
  119. package/src/types/cube-types/table.js.map +1 -0
  120. package/src/types/duckdb-serialization-types/index.d.js +11 -0
  121. package/src/types/duckdb-serialization-types/index.d.js.map +1 -0
  122. package/src/types/duckdb-serialization-types/index.d.ts +7 -0
  123. package/src/types/duckdb-serialization-types/index.js +11 -0
  124. package/src/types/duckdb-serialization-types/index.js.map +1 -0
  125. package/src/types/duckdb-serialization-types/serialization/Constraint.d.ts +47 -0
  126. package/src/types/duckdb-serialization-types/serialization/Constraint.js +31 -0
  127. package/src/types/duckdb-serialization-types/serialization/Constraint.js.map +1 -0
  128. package/src/types/duckdb-serialization-types/serialization/CreateInfo.d.ts +95 -0
  129. package/src/types/duckdb-serialization-types/serialization/CreateInfo.js +67 -0
  130. package/src/types/duckdb-serialization-types/serialization/CreateInfo.js.map +1 -0
  131. package/src/types/duckdb-serialization-types/serialization/Expression.d.js +3 -0
  132. package/src/types/duckdb-serialization-types/serialization/Expression.d.js.map +1 -0
  133. package/src/types/duckdb-serialization-types/serialization/Expression.d.ts +186 -0
  134. package/src/types/duckdb-serialization-types/serialization/Expression.js +130 -0
  135. package/src/types/duckdb-serialization-types/serialization/Expression.js.map +1 -0
  136. package/src/types/duckdb-serialization-types/serialization/LogicalOperator.d.ts +231 -0
  137. package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js +47 -0
  138. package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +1 -0
  139. package/src/types/duckdb-serialization-types/serialization/MacroFunction.d.ts +20 -0
  140. package/src/types/duckdb-serialization-types/serialization/MacroFunction.js +15 -0
  141. package/src/types/duckdb-serialization-types/serialization/MacroFunction.js.map +1 -0
  142. package/src/types/duckdb-serialization-types/serialization/Misc.d.js +3 -0
  143. package/src/types/duckdb-serialization-types/serialization/Misc.d.js.map +1 -0
  144. package/src/types/duckdb-serialization-types/serialization/Misc.d.ts +3 -0
  145. package/src/types/duckdb-serialization-types/serialization/Misc.js +3 -0
  146. package/src/types/duckdb-serialization-types/serialization/Misc.js.map +1 -0
  147. package/src/types/duckdb-serialization-types/serialization/Nodes.d.js +10 -0
  148. package/src/types/duckdb-serialization-types/serialization/Nodes.d.js.map +1 -0
  149. package/src/types/duckdb-serialization-types/serialization/Nodes.d.ts +212 -0
  150. package/src/types/duckdb-serialization-types/serialization/Nodes.js +92 -0
  151. package/src/types/duckdb-serialization-types/serialization/Nodes.js.map +1 -0
  152. package/src/types/duckdb-serialization-types/serialization/ParseInfo.d.ts +192 -0
  153. package/src/types/duckdb-serialization-types/serialization/ParseInfo.js +128 -0
  154. package/src/types/duckdb-serialization-types/serialization/ParseInfo.js.map +1 -0
  155. package/src/types/duckdb-serialization-types/serialization/ParsedExpression.d.js +3 -0
  156. package/src/types/duckdb-serialization-types/serialization/ParsedExpression.d.js.map +1 -0
  157. package/src/types/duckdb-serialization-types/serialization/ParsedExpression.d.ts +114 -0
  158. package/src/types/duckdb-serialization-types/serialization/ParsedExpression.js +37 -0
  159. package/src/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +1 -0
  160. package/src/types/duckdb-serialization-types/serialization/QueryNode.d.js +3 -0
  161. package/src/types/duckdb-serialization-types/serialization/QueryNode.d.js.map +1 -0
  162. package/src/types/duckdb-serialization-types/serialization/QueryNode.d.ts +62 -0
  163. package/src/types/duckdb-serialization-types/serialization/QueryNode.js +42 -0
  164. package/src/types/duckdb-serialization-types/serialization/QueryNode.js.map +1 -0
  165. package/src/types/duckdb-serialization-types/serialization/ResultModifier.d.js +3 -0
  166. package/src/types/duckdb-serialization-types/serialization/ResultModifier.d.js.map +1 -0
  167. package/src/types/duckdb-serialization-types/serialization/ResultModifier.d.ts +29 -0
  168. package/src/types/duckdb-serialization-types/serialization/ResultModifier.js +16 -0
  169. package/src/types/duckdb-serialization-types/serialization/ResultModifier.js.map +1 -0
  170. package/src/types/duckdb-serialization-types/serialization/Statement.d.js +3 -0
  171. package/src/types/duckdb-serialization-types/serialization/Statement.d.js.map +1 -0
  172. package/src/types/duckdb-serialization-types/serialization/Statement.d.ts +4 -0
  173. package/src/types/duckdb-serialization-types/serialization/Statement.js +3 -0
  174. package/src/types/duckdb-serialization-types/serialization/Statement.js.map +1 -0
  175. package/src/types/duckdb-serialization-types/serialization/TableFilter.d.js +3 -0
  176. package/src/types/duckdb-serialization-types/serialization/TableFilter.d.js.map +1 -0
  177. package/src/types/duckdb-serialization-types/serialization/TableFilter.d.ts +32 -0
  178. package/src/types/duckdb-serialization-types/serialization/TableFilter.js +17 -0
  179. package/src/types/duckdb-serialization-types/serialization/TableFilter.js.map +1 -0
  180. package/src/types/duckdb-serialization-types/serialization/TableRef.d.js +3 -0
  181. package/src/types/duckdb-serialization-types/serialization/TableRef.d.js.map +1 -0
  182. package/src/types/duckdb-serialization-types/serialization/TableRef.d.ts +84 -0
  183. package/src/types/duckdb-serialization-types/serialization/TableRef.js +53 -0
  184. package/src/types/duckdb-serialization-types/serialization/TableRef.js.map +1 -0
  185. package/src/types/duckdb-serialization-types/serialization/Types.d.js +3 -0
  186. package/src/types/duckdb-serialization-types/serialization/Types.d.js.map +1 -0
  187. package/src/types/duckdb-serialization-types/serialization/Types.d.ts +53 -0
  188. package/src/types/duckdb-serialization-types/serialization/Types.js +21 -0
  189. package/src/types/duckdb-serialization-types/serialization/Types.js.map +1 -0
  190. package/src/types/duckdb-serialization-types/serialization/example.d.ts +1 -0
  191. package/src/types/duckdb-serialization-types/serialization/example.js +131 -0
  192. package/src/types/duckdb-serialization-types/serialization/example.js.map +1 -0
  193. package/src/utils/__fixtures__/joins.fixtures.d.ts +211 -0
  194. package/src/utils/__fixtures__/joins.fixtures.js +922 -0
  195. package/src/utils/__fixtures__/joins.fixtures.js.map +1 -0
  196. package/src/utils/base-ast.d.ts +3 -0
  197. package/src/utils/base-ast.js +64 -0
  198. package/src/utils/base-ast.js.map +1 -0
  199. package/src/utils/constants.d.ts +2 -0
  200. package/src/utils/constants.js +19 -0
  201. package/src/utils/constants.js.map +1 -0
  202. package/src/utils/cube-filter-enrichment.d.ts +4 -0
  203. package/src/utils/cube-filter-enrichment.js +63 -0
  204. package/src/utils/cube-filter-enrichment.js.map +1 -0
  205. package/src/utils/cube-to-table-schema.d.ts +3 -0
  206. package/src/utils/cube-to-table-schema.js +104 -0
  207. package/src/utils/cube-to-table-schema.js.map +1 -0
  208. package/src/utils/cube-type-to-duckdb-type.d.ts +6 -0
  209. package/src/utils/cube-type-to-duckdb-type.js +17 -0
  210. package/src/utils/cube-type-to-duckdb-type.js.map +1 -0
  211. package/src/utils/find-in-table-schema.d.ts +4 -0
  212. package/src/utils/find-in-table-schema.js +40 -0
  213. package/src/utils/find-in-table-schema.js.map +1 -0
  214. package/src/utils/get-possible-nodes.d.ts +15 -0
  215. package/src/utils/get-possible-nodes.js +152 -0
  216. package/src/utils/get-possible-nodes.js.map +1 -0
  217. package/src/utils/get-type-info.d.ts +7 -0
  218. package/src/utils/get-type-info.js +44 -0
  219. package/src/utils/get-type-info.js.map +1 -0
  220. package/src/utils/is-array-member-type.d.ts +4 -0
  221. package/src/utils/is-array-member-type.js +12 -0
  222. package/src/utils/is-array-member-type.js.map +1 -0
  223. package/src/utils/key-from-measures-dimension.d.ts +2 -0
  224. package/src/utils/key-from-measures-dimension.js +34 -0
  225. package/src/utils/key-from-measures-dimension.js.map +1 -0
  226. package/src/utils/meerkat-placeholder-replacer.d.ts +1 -0
  227. package/src/utils/meerkat-placeholder-replacer.js +14 -0
  228. package/src/utils/meerkat-placeholder-replacer.js.map +1 -0
  229. package/src/utils/member-key-to-safe-key.d.ts +1 -0
  230. package/src/utils/member-key-to-safe-key.js +13 -0
  231. package/src/utils/member-key-to-safe-key.js.map +1 -0
  232. package/src/utils/modify-meerkat-filter.d.ts +3 -0
  233. package/src/utils/modify-meerkat-filter.js +30 -0
  234. package/src/utils/modify-meerkat-filter.js.map +1 -0
  235. package/src/utils/type-guards.d.ts +8 -0
  236. package/src/utils/type-guards.js +83 -0
  237. package/src/utils/type-guards.js.map +1 -0
@@ -0,0 +1,53 @@
1
+ import { LogicalType } from './Nodes';
2
+ export declare enum ExtraTypeInfoType {
3
+ INVALID_TYPE_INFO = "INVALID_TYPE_INFO",
4
+ GENERIC_TYPE_INFO = "GENERIC_TYPE_INFO",
5
+ DECIMAL_TYPE_INFO = "DECIMAL_TYPE_INFO",
6
+ STRING_TYPE_INFO = "STRING_TYPE_INFO",
7
+ LIST_TYPE_INFO = "LIST_TYPE_INFO",
8
+ STRUCT_TYPE_INFO = "STRUCT_TYPE_INFO",
9
+ ENUM_TYPE_INFO = "ENUM_TYPE_INFO",
10
+ USER_TYPE_INFO = "USER_TYPE_INFO",
11
+ AGGREGATE_STATE_TYPE_INFO = "AGGREGATE_STATE_TYPE_INFO"
12
+ }
13
+ export interface BaseExtraTypeInfo {
14
+ type: ExtraTypeInfoType;
15
+ alias: string;
16
+ }
17
+ export type ExtraTypeInfo = DecimalTypeInfo | StringTypeInfo | ListTypeInfo | StructTypeInfo | AggregateStateTypeInfo | UserTypeInfo | EnumTypeInfo | InvalidTypeInfo | GenericTypeInfo;
18
+ export interface DecimalTypeInfo extends BaseExtraTypeInfo {
19
+ enum: 'DECIMAL_TYPE_INFO';
20
+ width: number;
21
+ scale: number;
22
+ }
23
+ export interface StringTypeInfo extends BaseExtraTypeInfo {
24
+ enum: 'STRING_TYPE_INFO';
25
+ collation: string;
26
+ }
27
+ export interface ListTypeInfo extends BaseExtraTypeInfo {
28
+ enum: 'LIST_TYPE_INFO';
29
+ child_type: LogicalType;
30
+ }
31
+ export interface StructTypeInfo extends BaseExtraTypeInfo {
32
+ enum: 'STRUCT_TYPE_INFO';
33
+ child_types: LogicalType[];
34
+ }
35
+ export interface AggregateStateTypeInfo extends BaseExtraTypeInfo {
36
+ enum: 'AGGREGATE_STATE_TYPE_INFO';
37
+ function_name: string;
38
+ return_type: LogicalType;
39
+ bound_argument_types: LogicalType[];
40
+ }
41
+ export interface UserTypeInfo extends BaseExtraTypeInfo {
42
+ enum: 'USER_TYPE_INFO';
43
+ user_type_name: string;
44
+ }
45
+ export interface EnumTypeInfo extends BaseExtraTypeInfo {
46
+ enum: 'ENUM_TYPE_INFO';
47
+ }
48
+ export interface InvalidTypeInfo extends BaseExtraTypeInfo {
49
+ enum: 'INVALID_TYPE_INFO';
50
+ }
51
+ export interface GenericTypeInfo extends BaseExtraTypeInfo {
52
+ enum: 'GENERIC_TYPE_INFO';
53
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "ExtraTypeInfoType", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return ExtraTypeInfoType;
6
+ }
7
+ });
8
+ var ExtraTypeInfoType;
9
+ (function(ExtraTypeInfoType) {
10
+ ExtraTypeInfoType["INVALID_TYPE_INFO"] = "INVALID_TYPE_INFO";
11
+ ExtraTypeInfoType["GENERIC_TYPE_INFO"] = "GENERIC_TYPE_INFO";
12
+ ExtraTypeInfoType["DECIMAL_TYPE_INFO"] = "DECIMAL_TYPE_INFO";
13
+ ExtraTypeInfoType["STRING_TYPE_INFO"] = "STRING_TYPE_INFO";
14
+ ExtraTypeInfoType["LIST_TYPE_INFO"] = "LIST_TYPE_INFO";
15
+ ExtraTypeInfoType["STRUCT_TYPE_INFO"] = "STRUCT_TYPE_INFO";
16
+ ExtraTypeInfoType["ENUM_TYPE_INFO"] = "ENUM_TYPE_INFO";
17
+ ExtraTypeInfoType["USER_TYPE_INFO"] = "USER_TYPE_INFO";
18
+ ExtraTypeInfoType["AGGREGATE_STATE_TYPE_INFO"] = "AGGREGATE_STATE_TYPE_INFO";
19
+ })(ExtraTypeInfoType || (ExtraTypeInfoType = {}));
20
+
21
+ //# sourceMappingURL=Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../meerkat-core/src/types/duckdb-serialization-types/serialization/Types.ts"],"sourcesContent":["import { LogicalType } from './Nodes';\n\nexport enum ExtraTypeInfoType {\n INVALID_TYPE_INFO = 'INVALID_TYPE_INFO',\n GENERIC_TYPE_INFO = 'GENERIC_TYPE_INFO',\n DECIMAL_TYPE_INFO = 'DECIMAL_TYPE_INFO',\n STRING_TYPE_INFO = 'STRING_TYPE_INFO',\n LIST_TYPE_INFO = 'LIST_TYPE_INFO',\n STRUCT_TYPE_INFO = 'STRUCT_TYPE_INFO',\n ENUM_TYPE_INFO = 'ENUM_TYPE_INFO',\n USER_TYPE_INFO = 'USER_TYPE_INFO',\n AGGREGATE_STATE_TYPE_INFO = 'AGGREGATE_STATE_TYPE_INFO',\n}\n\nexport interface BaseExtraTypeInfo {\n type: ExtraTypeInfoType;\n alias: string;\n}\n\nexport type ExtraTypeInfo =\n | DecimalTypeInfo\n | StringTypeInfo\n | ListTypeInfo\n | StructTypeInfo\n | AggregateStateTypeInfo\n | UserTypeInfo\n | EnumTypeInfo\n | InvalidTypeInfo\n | GenericTypeInfo;\n\nexport interface DecimalTypeInfo extends BaseExtraTypeInfo {\n enum: 'DECIMAL_TYPE_INFO';\n width: number;\n scale: number;\n}\n\nexport interface StringTypeInfo extends BaseExtraTypeInfo {\n enum: 'STRING_TYPE_INFO';\n collation: string;\n}\n\nexport interface ListTypeInfo extends BaseExtraTypeInfo {\n enum: 'LIST_TYPE_INFO';\n child_type: LogicalType;\n}\n\nexport interface StructTypeInfo extends BaseExtraTypeInfo {\n enum: 'STRUCT_TYPE_INFO';\n child_types: LogicalType[];\n}\n\nexport interface AggregateStateTypeInfo extends BaseExtraTypeInfo {\n enum: 'AGGREGATE_STATE_TYPE_INFO';\n function_name: string;\n return_type: LogicalType;\n bound_argument_types: LogicalType[];\n}\n\nexport interface UserTypeInfo extends BaseExtraTypeInfo {\n enum: 'USER_TYPE_INFO';\n user_type_name: string;\n}\n\nexport interface EnumTypeInfo extends BaseExtraTypeInfo {\n enum: 'ENUM_TYPE_INFO';\n // custom_implementation: true; // Not sure how this translates to TypeScript\n}\n\nexport interface InvalidTypeInfo extends BaseExtraTypeInfo {\n enum: 'INVALID_TYPE_INFO';\n // custom_switch_code: 'return nullptr;'; // Not sure how this translates to TypeScript\n}\n\nexport interface GenericTypeInfo extends BaseExtraTypeInfo {\n enum: 'GENERIC_TYPE_INFO';\n // custom_switch_code: 'result = make_shared<ExtraTypeInfo>(type);\\nbreak;'; // Not sure how this translates to TypeScript\n}\n"],"names":["ExtraTypeInfoType","INVALID_TYPE_INFO","GENERIC_TYPE_INFO","DECIMAL_TYPE_INFO","STRING_TYPE_INFO","LIST_TYPE_INFO","STRUCT_TYPE_INFO","ENUM_TYPE_INFO","USER_TYPE_INFO","AGGREGATE_STATE_TYPE_INFO"],"mappings":";;;;;;;IAEO;UAAKA,iBAAiB;IAAjBA,kBACVC,uBAAAA;IADUD,kBAEVE,uBAAAA;IAFUF,kBAGVG,uBAAAA;IAHUH,kBAIVI,sBAAAA;IAJUJ,kBAKVK,oBAAAA;IALUL,kBAMVM,sBAAAA;IANUN,kBAOVO,oBAAAA;IAPUP,kBAQVQ,oBAAAA;IARUR,kBASVS,+BAAAA;GATUT,sBAAAA"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ const _Expression = require("./Expression");
3
+ const _QueryNode = require("./QueryNode");
4
+ const _ResultModifier = require("./ResultModifier");
5
+ const _TableRef = require("./TableRef");
6
+ const dummy = {
7
+ node: {
8
+ type: _QueryNode.QueryNodeType.SELECT_NODE,
9
+ modifiers: [],
10
+ cte_map: {
11
+ map: {}
12
+ },
13
+ select_list: [
14
+ {
15
+ class: _Expression.ExpressionClass.COLUMN_REF,
16
+ type: _Expression.ExpressionType.COLUMN_REF,
17
+ alias: '',
18
+ column_names: [
19
+ 'rev_org',
20
+ 'id'
21
+ ]
22
+ },
23
+ {
24
+ class: _Expression.ExpressionClass.FUNCTION,
25
+ type: _Expression.ExpressionType.FUNCTION,
26
+ alias: '',
27
+ function_name: 'count_star',
28
+ schema: '',
29
+ children: [],
30
+ filter: null,
31
+ order_bys: {
32
+ type: _ResultModifier.ResultModifierType.ORDER_MODIFIER,
33
+ orders: []
34
+ },
35
+ distinct: false,
36
+ is_operator: false,
37
+ export_state: false,
38
+ catalog: ''
39
+ }
40
+ ],
41
+ from_table: {
42
+ type: _TableRef.TableReferenceType.JOIN,
43
+ alias: '',
44
+ sample: null,
45
+ left: {
46
+ type: _TableRef.TableReferenceType.BASE_TABLE,
47
+ alias: '',
48
+ sample: null,
49
+ schema_name: '',
50
+ table_name: 'rev_org',
51
+ column_name_alias: [],
52
+ catalog_name: ''
53
+ },
54
+ right: {
55
+ type: _TableRef.TableReferenceType.BASE_TABLE,
56
+ alias: '',
57
+ sample: null,
58
+ schema_name: '',
59
+ table_name: 'tickets',
60
+ column_name_alias: [],
61
+ catalog_name: ''
62
+ },
63
+ condition: {
64
+ class: _Expression.ExpressionClass.COMPARISON,
65
+ type: _Expression.ExpressionType.COMPARE_EQUAL,
66
+ alias: '',
67
+ left: {
68
+ class: _Expression.ExpressionClass.COLUMN_REF,
69
+ type: _Expression.ExpressionType.COLUMN_REF,
70
+ alias: '',
71
+ column_names: [
72
+ 'rev_org',
73
+ 'id'
74
+ ]
75
+ },
76
+ right: {
77
+ class: _Expression.ExpressionClass.COLUMN_REF,
78
+ type: _Expression.ExpressionType.COLUMN_REF,
79
+ alias: '',
80
+ column_names: [
81
+ 'tickets',
82
+ 'rev_oid'
83
+ ]
84
+ }
85
+ },
86
+ join_type: _TableRef.JoinType.INNER,
87
+ ref_type: _TableRef.JoinRefType.REGULAR,
88
+ using_columns: []
89
+ },
90
+ where_clause: {
91
+ class: _Expression.ExpressionClass.COMPARISON,
92
+ type: _Expression.ExpressionType.COMPARE_EQUAL,
93
+ alias: '',
94
+ left: {
95
+ class: _Expression.ExpressionClass.COLUMN_REF,
96
+ type: _Expression.ExpressionType.COLUMN_REF,
97
+ alias: '',
98
+ column_names: [
99
+ 'rev_org',
100
+ 'tier'
101
+ ]
102
+ },
103
+ right: {
104
+ class: _Expression.ExpressionClass.COLUMN_REF,
105
+ type: _Expression.ExpressionType.COLUMN_REF,
106
+ alias: '',
107
+ column_names: [
108
+ 'tier_1'
109
+ ]
110
+ }
111
+ },
112
+ group_expressions: [
113
+ {
114
+ class: _Expression.ExpressionClass.COLUMN_REF,
115
+ type: _Expression.ExpressionType.COLUMN_REF,
116
+ alias: '',
117
+ column_names: [
118
+ 'rev_org',
119
+ 'id'
120
+ ]
121
+ }
122
+ ],
123
+ group_sets: new Set(),
124
+ aggregate_handling: _QueryNode.AggregateHandling.STANDARD_HANDLING,
125
+ having: null,
126
+ sample: null,
127
+ qualify: null
128
+ }
129
+ };
130
+
131
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../meerkat-core/src/types/duckdb-serialization-types/serialization/example.ts"],"sourcesContent":["import { ExpressionClass, ExpressionType } from './Expression';\nimport { AggregateHandling, QueryNodeType } from './QueryNode';\nimport { ResultModifierType } from './ResultModifier';\nimport { SelectStatement } from './Statement';\nimport { JoinRefType, JoinType, TableReferenceType } from './TableRef';\n\nconst dummy: SelectStatement = {\n node: {\n type: QueryNodeType.SELECT_NODE,\n modifiers: [],\n cte_map: { map: {} },\n select_list: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: ['rev_org', 'id'],\n },\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n function_name: 'count_star',\n schema: '',\n children: [],\n filter: null,\n order_bys: { type: ResultModifierType.ORDER_MODIFIER, orders: [] },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n from_table: {\n type: TableReferenceType.JOIN,\n alias: '',\n sample: null,\n left: {\n type: TableReferenceType.BASE_TABLE,\n alias: '',\n sample: null,\n schema_name: '',\n table_name: 'rev_org',\n column_name_alias: [],\n catalog_name: '',\n },\n right: {\n type: TableReferenceType.BASE_TABLE,\n alias: '',\n sample: null,\n schema_name: '',\n table_name: 'tickets',\n column_name_alias: [],\n catalog_name: '',\n },\n condition: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_EQUAL,\n alias: '',\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: ['rev_org', 'id'],\n },\n right: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: ['tickets', 'rev_oid'],\n },\n },\n join_type: JoinType.INNER,\n ref_type: JoinRefType.REGULAR,\n using_columns: [],\n },\n where_clause: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_EQUAL,\n alias: '',\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: ['rev_org', 'tier'],\n },\n right: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: ['tier_1'],\n },\n },\n group_expressions: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: ['rev_org', 'id'],\n },\n ],\n group_sets: new Set(),\n aggregate_handling: AggregateHandling.STANDARD_HANDLING,\n having: null,\n sample: null,\n qualify: null,\n },\n};\n"],"names":["dummy","node","type","QueryNodeType","SELECT_NODE","modifiers","cte_map","map","select_list","class","ExpressionClass","COLUMN_REF","ExpressionType","alias","column_names","FUNCTION","function_name","schema","children","filter","order_bys","ResultModifierType","ORDER_MODIFIER","orders","distinct","is_operator","export_state","catalog","from_table","TableReferenceType","JOIN","sample","left","BASE_TABLE","schema_name","table_name","column_name_alias","catalog_name","right","condition","COMPARISON","COMPARE_EQUAL","join_type","JoinType","INNER","ref_type","JoinRefType","REGULAR","using_columns","where_clause","group_expressions","group_sets","Set","aggregate_handling","AggregateHandling","STANDARD_HANDLING","having","qualify"],"mappings":";4BAAgD;2BACC;gCACd;0BAEuB;AAE1D,MAAMA,QAAyB;IAC7BC,MAAM;QACJC,MAAMC,wBAAa,CAACC,WAAW;QAC/BC,WAAW,EAAE;QACbC,SAAS;YAAEC,KAAK,CAAC;QAAE;QACnBC,aAAa;YACX;gBACEC,OAAOC,2BAAe,CAACC,UAAU;gBACjCT,MAAMU,0BAAc,CAACD,UAAU;gBAC/BE,OAAO;gBACPC,cAAc;oBAAC;oBAAW;iBAAK;YACjC;YACA;gBACEL,OAAOC,2BAAe,CAACK,QAAQ;gBAC/Bb,MAAMU,0BAAc,CAACG,QAAQ;gBAC7BF,OAAO;gBACPG,eAAe;gBACfC,QAAQ;gBACRC,UAAU,EAAE;gBACZC,QAAQ;gBACRC,WAAW;oBAAElB,MAAMmB,kCAAkB,CAACC,cAAc;oBAAEC,QAAQ,EAAE;gBAAC;gBACjEC,UAAU;gBACVC,aAAa;gBACbC,cAAc;gBACdC,SAAS;YACX;SACD;QACDC,YAAY;YACV1B,MAAM2B,4BAAkB,CAACC,IAAI;YAC7BjB,OAAO;YACPkB,QAAQ;YACRC,MAAM;gBACJ9B,MAAM2B,4BAAkB,CAACI,UAAU;gBACnCpB,OAAO;gBACPkB,QAAQ;gBACRG,aAAa;gBACbC,YAAY;gBACZC,mBAAmB,EAAE;gBACrBC,cAAc;YAChB;YACAC,OAAO;gBACLpC,MAAM2B,4BAAkB,CAACI,UAAU;gBACnCpB,OAAO;gBACPkB,QAAQ;gBACRG,aAAa;gBACbC,YAAY;gBACZC,mBAAmB,EAAE;gBACrBC,cAAc;YAChB;YACAE,WAAW;gBACT9B,OAAOC,2BAAe,CAAC8B,UAAU;gBACjCtC,MAAMU,0BAAc,CAAC6B,aAAa;gBAClC5B,OAAO;gBACPmB,MAAM;oBACJvB,OAAOC,2BAAe,CAACC,UAAU;oBACjCT,MAAMU,0BAAc,CAACD,UAAU;oBAC/BE,OAAO;oBACPC,cAAc;wBAAC;wBAAW;qBAAK;gBACjC;gBACAwB,OAAO;oBACL7B,OAAOC,2BAAe,CAACC,UAAU;oBACjCT,MAAMU,0BAAc,CAACD,UAAU;oBAC/BE,OAAO;oBACPC,cAAc;wBAAC;wBAAW;qBAAU;gBACtC;YACF;YACA4B,WAAWC,kBAAQ,CAACC,KAAK;YACzBC,UAAUC,qBAAW,CAACC,OAAO;YAC7BC,eAAe,EAAE;QACnB;QACAC,cAAc;YACZxC,OAAOC,2BAAe,CAAC8B,UAAU;YACjCtC,MAAMU,0BAAc,CAAC6B,aAAa;YAClC5B,OAAO;YACPmB,MAAM;gBACJvB,OAAOC,2BAAe,CAACC,UAAU;gBACjCT,MAAMU,0BAAc,CAACD,UAAU;gBAC/BE,OAAO;gBACPC,cAAc;oBAAC;oBAAW;iBAAO;YACnC;YACAwB,OAAO;gBACL7B,OAAOC,2BAAe,CAACC,UAAU;gBACjCT,MAAMU,0BAAc,CAACD,UAAU;gBAC/BE,OAAO;gBACPC,cAAc;oBAAC;iBAAS;YAC1B;QACF;QACAoC,mBAAmB;YACjB;gBACEzC,OAAOC,2BAAe,CAACC,UAAU;gBACjCT,MAAMU,0BAAc,CAACD,UAAU;gBAC/BE,OAAO;gBACPC,cAAc;oBAAC;oBAAW;iBAAK;YACjC;SACD;QACDqC,YAAY,IAAIC;QAChBC,oBAAoBC,4BAAiB,CAACC,iBAAiB;QACvDC,QAAQ;QACRzB,QAAQ;QACR0B,SAAS;IACX;AACF"}
@@ -0,0 +1,211 @@
1
+ export declare const CIRCULAR_TABLE_SCHEMA: {
2
+ name: string;
3
+ dimensions: {
4
+ name: string;
5
+ sql: string;
6
+ }[];
7
+ measures: never[];
8
+ sql: string;
9
+ joins: {
10
+ sql: string;
11
+ }[];
12
+ }[];
13
+ export declare const LINEAR_TABLE_SCHEMA: {
14
+ name: string;
15
+ dimensions: {
16
+ name: string;
17
+ sql: string;
18
+ }[];
19
+ measures: never[];
20
+ sql: string;
21
+ joins: {
22
+ sql: string;
23
+ }[];
24
+ }[];
25
+ export declare const BASIC_JOIN_PATH: {
26
+ left: string;
27
+ right: string;
28
+ on: string;
29
+ }[][];
30
+ export declare const SINGLE_NODE_JOIN_PATH: {
31
+ left: string;
32
+ }[][];
33
+ export declare const INTERMEDIATE_JOIN_PATH: {
34
+ left: string;
35
+ right: string;
36
+ on: string;
37
+ }[][];
38
+ export declare const CIRCULAR_JOIN_PATH: {
39
+ left: string;
40
+ right: string;
41
+ on: string;
42
+ }[][];
43
+ export declare const COMPLEX_JOIN_PATH: {
44
+ left: string;
45
+ right: string;
46
+ on: string;
47
+ }[][];
48
+ export declare const EXPECTED_OUTPUT_WITH_ONE_DEPTH: {
49
+ name: string;
50
+ measures: never[];
51
+ dimensions: {
52
+ schema: {
53
+ name: string;
54
+ sql: string;
55
+ };
56
+ children: {
57
+ name: string;
58
+ measures: never[];
59
+ dimensions: {
60
+ schema: {
61
+ name: string;
62
+ sql: string;
63
+ };
64
+ children: {
65
+ name: string;
66
+ measures: never[];
67
+ dimensions: {
68
+ schema: {
69
+ name: string;
70
+ sql: string;
71
+ };
72
+ children: {
73
+ name: string;
74
+ measures: never[];
75
+ dimensions: {
76
+ schema: {
77
+ name: string;
78
+ sql: string;
79
+ };
80
+ children: {
81
+ name: string;
82
+ measures: never[];
83
+ dimensions: {
84
+ schema: {
85
+ name: string;
86
+ sql: string;
87
+ };
88
+ children: never[];
89
+ }[];
90
+ }[];
91
+ }[];
92
+ }[];
93
+ }[];
94
+ }[];
95
+ }[];
96
+ }[];
97
+ }[];
98
+ };
99
+ export declare const EXPECTED_OUTPUT_WITH_TWO_DEPTH: {
100
+ name: string;
101
+ measures: never[];
102
+ dimensions: {
103
+ schema: {
104
+ name: string;
105
+ sql: string;
106
+ };
107
+ children: {
108
+ name: string;
109
+ measures: never[];
110
+ dimensions: {
111
+ schema: {
112
+ name: string;
113
+ sql: string;
114
+ };
115
+ children: {
116
+ name: string;
117
+ measures: never[];
118
+ dimensions: {
119
+ schema: {
120
+ name: string;
121
+ sql: string;
122
+ };
123
+ children: {
124
+ name: string;
125
+ measures: never[];
126
+ dimensions: {
127
+ schema: {
128
+ name: string;
129
+ sql: string;
130
+ };
131
+ children: {
132
+ name: string;
133
+ measures: never[];
134
+ dimensions: {
135
+ schema: {
136
+ name: string;
137
+ sql: string;
138
+ };
139
+ children: never[];
140
+ }[];
141
+ }[];
142
+ }[];
143
+ }[];
144
+ }[];
145
+ }[];
146
+ }[];
147
+ }[];
148
+ }[];
149
+ };
150
+ export declare const CIRCULAR_TABLE_SCHEMA_SINGLE_JOIN_PATH: {
151
+ name: string;
152
+ measures: never[];
153
+ dimensions: {
154
+ schema: {
155
+ name: string;
156
+ sql: string;
157
+ };
158
+ children: {
159
+ name: string;
160
+ measures: never[];
161
+ dimensions: {
162
+ schema: {
163
+ name: string;
164
+ sql: string;
165
+ };
166
+ children: {
167
+ name: string;
168
+ measures: never[];
169
+ dimensions: {
170
+ schema: {
171
+ name: string;
172
+ sql: string;
173
+ };
174
+ children: never[];
175
+ }[];
176
+ }[];
177
+ }[];
178
+ }[];
179
+ }[];
180
+ };
181
+ export declare const EXPECTED_CIRCULAR_TABLE_SCHEMA_INTERMEDIATE_JOIN_PATH: {
182
+ name: string;
183
+ measures: never[];
184
+ dimensions: {
185
+ schema: {
186
+ name: string;
187
+ sql: string;
188
+ };
189
+ children: {
190
+ name: string;
191
+ measures: never[];
192
+ dimensions: {
193
+ schema: {
194
+ name: string;
195
+ sql: string;
196
+ };
197
+ children: {
198
+ name: string;
199
+ measures: never[];
200
+ dimensions: {
201
+ schema: {
202
+ name: string;
203
+ sql: string;
204
+ };
205
+ children: never[];
206
+ }[];
207
+ }[];
208
+ }[];
209
+ }[];
210
+ }[];
211
+ };