@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,922 @@
1
+ "use strict";
2
+ function _export(target, all) {
3
+ for(var name in all)Object.defineProperty(target, name, {
4
+ enumerable: true,
5
+ get: all[name]
6
+ });
7
+ }
8
+ _export(exports, {
9
+ CIRCULAR_TABLE_SCHEMA: function() {
10
+ return CIRCULAR_TABLE_SCHEMA;
11
+ },
12
+ LINEAR_TABLE_SCHEMA: function() {
13
+ return LINEAR_TABLE_SCHEMA;
14
+ },
15
+ BASIC_JOIN_PATH: function() {
16
+ return BASIC_JOIN_PATH;
17
+ },
18
+ SINGLE_NODE_JOIN_PATH: function() {
19
+ return SINGLE_NODE_JOIN_PATH;
20
+ },
21
+ INTERMEDIATE_JOIN_PATH: function() {
22
+ return INTERMEDIATE_JOIN_PATH;
23
+ },
24
+ CIRCULAR_JOIN_PATH: function() {
25
+ return CIRCULAR_JOIN_PATH;
26
+ },
27
+ COMPLEX_JOIN_PATH: function() {
28
+ return COMPLEX_JOIN_PATH;
29
+ },
30
+ EXPECTED_OUTPUT_WITH_ONE_DEPTH: function() {
31
+ return EXPECTED_OUTPUT_WITH_ONE_DEPTH;
32
+ },
33
+ EXPECTED_OUTPUT_WITH_TWO_DEPTH: function() {
34
+ return EXPECTED_OUTPUT_WITH_TWO_DEPTH;
35
+ },
36
+ CIRCULAR_TABLE_SCHEMA_SINGLE_JOIN_PATH: function() {
37
+ return CIRCULAR_TABLE_SCHEMA_SINGLE_JOIN_PATH;
38
+ },
39
+ EXPECTED_CIRCULAR_TABLE_SCHEMA_INTERMEDIATE_JOIN_PATH: function() {
40
+ return EXPECTED_CIRCULAR_TABLE_SCHEMA_INTERMEDIATE_JOIN_PATH;
41
+ }
42
+ });
43
+ const CIRCULAR_TABLE_SCHEMA = [
44
+ {
45
+ name: 'node1',
46
+ dimensions: [
47
+ {
48
+ name: 'id',
49
+ sql: 'node1.id'
50
+ }
51
+ ],
52
+ measures: [],
53
+ sql: 'select * from node1',
54
+ joins: [
55
+ {
56
+ sql: 'node1.id = node2.id'
57
+ },
58
+ {
59
+ sql: 'node1.id = node3.id'
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ name: 'node2',
65
+ dimensions: [
66
+ {
67
+ name: 'id',
68
+ sql: 'node2.id'
69
+ },
70
+ {
71
+ name: 'node11_id',
72
+ sql: 'node2.node11_id'
73
+ }
74
+ ],
75
+ measures: [],
76
+ sql: 'select * from node2',
77
+ joins: [
78
+ {
79
+ sql: 'node2.id = node3.id'
80
+ },
81
+ {
82
+ sql: 'node2.id = node4.id'
83
+ }
84
+ ]
85
+ },
86
+ {
87
+ name: 'node3',
88
+ dimensions: [
89
+ {
90
+ name: 'id',
91
+ sql: 'node3.id'
92
+ }
93
+ ],
94
+ measures: [],
95
+ sql: 'select * from node3',
96
+ joins: [
97
+ {
98
+ sql: 'node3.id = node4.id'
99
+ },
100
+ {
101
+ sql: 'node3.id = node1.id'
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ name: 'node4',
107
+ dimensions: [
108
+ {
109
+ name: 'id',
110
+ sql: 'node4.id'
111
+ }
112
+ ],
113
+ measures: [],
114
+ sql: 'select * from node4',
115
+ joins: []
116
+ }
117
+ ];
118
+ const LINEAR_TABLE_SCHEMA = [
119
+ {
120
+ name: 'node1',
121
+ dimensions: [
122
+ {
123
+ name: 'id',
124
+ sql: 'node1.id'
125
+ }
126
+ ],
127
+ measures: [],
128
+ sql: 'select * from node1',
129
+ joins: [
130
+ {
131
+ sql: 'node1.id = node2.id'
132
+ },
133
+ {
134
+ sql: 'node1.id = node3.id'
135
+ },
136
+ {
137
+ sql: 'node1.id = node6.id'
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ name: 'node2',
143
+ dimensions: [
144
+ {
145
+ name: 'id',
146
+ sql: 'node2.id'
147
+ },
148
+ {
149
+ name: 'node11_id',
150
+ sql: 'node2.node11_id'
151
+ }
152
+ ],
153
+ measures: [],
154
+ sql: 'select * from node2',
155
+ joins: [
156
+ {
157
+ sql: 'node2.id = node4.id'
158
+ },
159
+ {
160
+ sql: 'node2.node11_id = node11.id'
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ name: 'node3',
166
+ dimensions: [
167
+ {
168
+ name: 'id',
169
+ sql: 'node3.id'
170
+ }
171
+ ],
172
+ measures: [],
173
+ sql: 'select * from node3',
174
+ joins: [
175
+ {
176
+ sql: 'node3.id = node5.id'
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ name: 'node4',
182
+ dimensions: [
183
+ {
184
+ name: 'id',
185
+ sql: 'node4.id'
186
+ }
187
+ ],
188
+ measures: [],
189
+ sql: 'select * from node4',
190
+ joins: [
191
+ {
192
+ sql: 'node4.id = node5.id'
193
+ },
194
+ {
195
+ sql: 'node4.id = node6.id'
196
+ },
197
+ {
198
+ sql: 'node4.id = node7.id'
199
+ }
200
+ ]
201
+ },
202
+ {
203
+ name: 'node5',
204
+ measures: [],
205
+ dimensions: [
206
+ {
207
+ name: 'id',
208
+ sql: 'node5.id'
209
+ }
210
+ ],
211
+ sql: 'select * from node5',
212
+ joins: [
213
+ {
214
+ sql: 'node5.id = node8.id'
215
+ }
216
+ ]
217
+ },
218
+ {
219
+ name: 'node6',
220
+ dimensions: [
221
+ {
222
+ name: 'id',
223
+ sql: 'node6.id'
224
+ }
225
+ ],
226
+ measures: [],
227
+ sql: 'select * from node6',
228
+ joins: [
229
+ {
230
+ sql: 'node6.id = node9.id'
231
+ }
232
+ ]
233
+ },
234
+ {
235
+ name: 'node7',
236
+ dimensions: [
237
+ {
238
+ name: 'id',
239
+ sql: 'node7.id'
240
+ }
241
+ ],
242
+ measures: [],
243
+ sql: 'select * from node7',
244
+ joins: [
245
+ {
246
+ sql: 'node7.id = node10.id'
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ name: 'node8',
252
+ dimensions: [
253
+ {
254
+ name: 'id',
255
+ sql: 'node8.id'
256
+ }
257
+ ],
258
+ measures: [],
259
+ sql: 'select * from node8',
260
+ joins: []
261
+ },
262
+ {
263
+ name: 'node9',
264
+ dimensions: [
265
+ {
266
+ name: 'id',
267
+ sql: 'node9.id'
268
+ }
269
+ ],
270
+ measures: [],
271
+ sql: 'select * from node9',
272
+ joins: [
273
+ {
274
+ sql: 'node9.id = node10.id'
275
+ }
276
+ ]
277
+ },
278
+ {
279
+ name: 'node10',
280
+ dimensions: [
281
+ {
282
+ name: 'id',
283
+ sql: 'node10.id'
284
+ }
285
+ ],
286
+ measures: [],
287
+ sql: 'select * from node10',
288
+ joins: []
289
+ },
290
+ {
291
+ name: 'node11',
292
+ dimensions: [
293
+ {
294
+ name: 'id',
295
+ sql: 'node11.id'
296
+ }
297
+ ],
298
+ measures: [],
299
+ sql: 'select * from node11',
300
+ joins: []
301
+ }
302
+ ];
303
+ const BASIC_JOIN_PATH = [
304
+ [
305
+ {
306
+ left: 'node1',
307
+ right: 'node2',
308
+ on: 'id'
309
+ }
310
+ ]
311
+ ];
312
+ const SINGLE_NODE_JOIN_PATH = [
313
+ [
314
+ {
315
+ left: 'node1'
316
+ }
317
+ ]
318
+ ];
319
+ const INTERMEDIATE_JOIN_PATH = [
320
+ [
321
+ {
322
+ left: 'node1',
323
+ right: 'node2',
324
+ on: 'id'
325
+ },
326
+ {
327
+ left: 'node2',
328
+ right: 'node4',
329
+ on: 'id'
330
+ }
331
+ ],
332
+ [
333
+ {
334
+ left: 'node1',
335
+ right: 'node3',
336
+ on: 'id'
337
+ }
338
+ ]
339
+ ];
340
+ const CIRCULAR_JOIN_PATH = [
341
+ [
342
+ {
343
+ left: 'node1',
344
+ right: 'node3',
345
+ on: 'id'
346
+ }
347
+ ],
348
+ [
349
+ {
350
+ left: 'node1',
351
+ right: 'node2',
352
+ on: 'id'
353
+ },
354
+ {
355
+ left: 'node2',
356
+ right: 'node4',
357
+ on: 'id'
358
+ },
359
+ {
360
+ left: 'node4',
361
+ right: 'node1',
362
+ on: 'id'
363
+ }
364
+ ]
365
+ ];
366
+ const COMPLEX_JOIN_PATH = [
367
+ [
368
+ {
369
+ left: 'node1',
370
+ right: 'node2',
371
+ on: 'id'
372
+ },
373
+ {
374
+ left: 'node2',
375
+ right: 'node4',
376
+ on: 'id'
377
+ },
378
+ {
379
+ left: 'node4',
380
+ right: 'node7',
381
+ on: 'id'
382
+ }
383
+ ],
384
+ [
385
+ {
386
+ left: 'node1',
387
+ right: 'node3',
388
+ on: 'id'
389
+ }
390
+ ],
391
+ [
392
+ {
393
+ left: 'node1',
394
+ right: 'node2',
395
+ on: 'id'
396
+ },
397
+ {
398
+ left: 'node2',
399
+ right: 'node11',
400
+ on: 'node11_id'
401
+ }
402
+ ]
403
+ ];
404
+ const EXPECTED_OUTPUT_WITH_ONE_DEPTH = {
405
+ name: 'node1',
406
+ measures: [],
407
+ dimensions: [
408
+ {
409
+ schema: {
410
+ name: 'id',
411
+ sql: 'node1.id'
412
+ },
413
+ children: [
414
+ {
415
+ name: 'node2',
416
+ measures: [],
417
+ dimensions: [
418
+ {
419
+ schema: {
420
+ name: 'id',
421
+ sql: 'node2.id'
422
+ },
423
+ children: [
424
+ {
425
+ name: 'node4',
426
+ measures: [],
427
+ dimensions: [
428
+ {
429
+ schema: {
430
+ name: 'id',
431
+ sql: 'node4.id'
432
+ },
433
+ children: [
434
+ {
435
+ name: 'node7',
436
+ measures: [],
437
+ dimensions: [
438
+ {
439
+ schema: {
440
+ name: 'id',
441
+ sql: 'node7.id'
442
+ },
443
+ children: [
444
+ {
445
+ name: 'node10',
446
+ measures: [],
447
+ dimensions: [
448
+ {
449
+ schema: {
450
+ name: 'id',
451
+ sql: 'node10.id'
452
+ },
453
+ children: []
454
+ }
455
+ ]
456
+ }
457
+ ]
458
+ }
459
+ ]
460
+ },
461
+ {
462
+ name: 'node5',
463
+ measures: [],
464
+ dimensions: [
465
+ {
466
+ schema: {
467
+ name: 'id',
468
+ sql: 'node5.id'
469
+ },
470
+ children: []
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ name: 'node6',
476
+ measures: [],
477
+ dimensions: [
478
+ {
479
+ schema: {
480
+ name: 'id',
481
+ sql: 'node6.id'
482
+ },
483
+ children: []
484
+ }
485
+ ]
486
+ }
487
+ ]
488
+ }
489
+ ]
490
+ }
491
+ ]
492
+ },
493
+ {
494
+ schema: {
495
+ name: 'node11_id',
496
+ sql: 'node2.node11_id'
497
+ },
498
+ children: [
499
+ {
500
+ name: 'node11',
501
+ measures: [],
502
+ dimensions: [
503
+ {
504
+ schema: {
505
+ name: 'id',
506
+ sql: 'node11.id'
507
+ },
508
+ children: []
509
+ }
510
+ ]
511
+ }
512
+ ]
513
+ }
514
+ ]
515
+ },
516
+ {
517
+ name: 'node3',
518
+ measures: [],
519
+ dimensions: [
520
+ {
521
+ schema: {
522
+ name: 'id',
523
+ sql: 'node3.id'
524
+ },
525
+ children: [
526
+ {
527
+ name: 'node5',
528
+ measures: [],
529
+ dimensions: [
530
+ {
531
+ schema: {
532
+ name: 'id',
533
+ sql: 'node5.id'
534
+ },
535
+ children: []
536
+ }
537
+ ]
538
+ }
539
+ ]
540
+ }
541
+ ]
542
+ },
543
+ {
544
+ name: 'node6',
545
+ measures: [],
546
+ dimensions: [
547
+ {
548
+ schema: {
549
+ name: 'id',
550
+ sql: 'node6.id'
551
+ },
552
+ children: []
553
+ }
554
+ ]
555
+ }
556
+ ]
557
+ }
558
+ ]
559
+ };
560
+ const EXPECTED_OUTPUT_WITH_TWO_DEPTH = {
561
+ name: 'node1',
562
+ measures: [],
563
+ dimensions: [
564
+ {
565
+ schema: {
566
+ name: 'id',
567
+ sql: 'node1.id'
568
+ },
569
+ children: [
570
+ {
571
+ name: 'node2',
572
+ measures: [],
573
+ dimensions: [
574
+ {
575
+ schema: {
576
+ name: 'id',
577
+ sql: 'node2.id'
578
+ },
579
+ children: [
580
+ {
581
+ name: 'node4',
582
+ measures: [],
583
+ dimensions: [
584
+ {
585
+ schema: {
586
+ name: 'id',
587
+ sql: 'node4.id'
588
+ },
589
+ children: [
590
+ {
591
+ name: 'node7',
592
+ measures: [],
593
+ dimensions: [
594
+ {
595
+ schema: {
596
+ name: 'id',
597
+ sql: 'node7.id'
598
+ },
599
+ children: [
600
+ {
601
+ name: 'node10',
602
+ measures: [],
603
+ dimensions: [
604
+ {
605
+ schema: {
606
+ name: 'id',
607
+ sql: 'node10.id'
608
+ },
609
+ children: []
610
+ }
611
+ ]
612
+ }
613
+ ]
614
+ }
615
+ ]
616
+ },
617
+ {
618
+ name: 'node5',
619
+ measures: [],
620
+ dimensions: [
621
+ {
622
+ schema: {
623
+ name: 'id',
624
+ sql: 'node5.id'
625
+ },
626
+ children: [
627
+ {
628
+ name: 'node8',
629
+ measures: [],
630
+ dimensions: [
631
+ {
632
+ schema: {
633
+ name: 'id',
634
+ sql: 'node8.id'
635
+ },
636
+ children: []
637
+ }
638
+ ]
639
+ }
640
+ ]
641
+ }
642
+ ]
643
+ },
644
+ {
645
+ name: 'node6',
646
+ measures: [],
647
+ dimensions: [
648
+ {
649
+ schema: {
650
+ name: 'id',
651
+ sql: 'node6.id'
652
+ },
653
+ children: [
654
+ {
655
+ name: 'node9',
656
+ measures: [],
657
+ dimensions: [
658
+ {
659
+ schema: {
660
+ name: 'id',
661
+ sql: 'node9.id'
662
+ },
663
+ children: []
664
+ }
665
+ ]
666
+ }
667
+ ]
668
+ }
669
+ ]
670
+ }
671
+ ]
672
+ }
673
+ ]
674
+ }
675
+ ]
676
+ },
677
+ {
678
+ schema: {
679
+ name: 'node11_id',
680
+ sql: 'node2.node11_id'
681
+ },
682
+ children: [
683
+ {
684
+ name: 'node11',
685
+ measures: [],
686
+ dimensions: [
687
+ {
688
+ schema: {
689
+ name: 'id',
690
+ sql: 'node11.id'
691
+ },
692
+ children: []
693
+ }
694
+ ]
695
+ }
696
+ ]
697
+ }
698
+ ]
699
+ },
700
+ {
701
+ name: 'node3',
702
+ measures: [],
703
+ dimensions: [
704
+ {
705
+ schema: {
706
+ name: 'id',
707
+ sql: 'node3.id'
708
+ },
709
+ children: [
710
+ {
711
+ name: 'node5',
712
+ measures: [],
713
+ dimensions: [
714
+ {
715
+ schema: {
716
+ name: 'id',
717
+ sql: 'node5.id'
718
+ },
719
+ children: [
720
+ {
721
+ name: 'node8',
722
+ measures: [],
723
+ dimensions: [
724
+ {
725
+ schema: {
726
+ name: 'id',
727
+ sql: 'node8.id'
728
+ },
729
+ children: []
730
+ }
731
+ ]
732
+ }
733
+ ]
734
+ }
735
+ ]
736
+ }
737
+ ]
738
+ }
739
+ ]
740
+ },
741
+ {
742
+ name: 'node6',
743
+ measures: [],
744
+ dimensions: [
745
+ {
746
+ schema: {
747
+ name: 'id',
748
+ sql: 'node6.id'
749
+ },
750
+ children: [
751
+ {
752
+ name: 'node9',
753
+ measures: [],
754
+ dimensions: [
755
+ {
756
+ schema: {
757
+ name: 'id',
758
+ sql: 'node9.id'
759
+ },
760
+ children: []
761
+ }
762
+ ]
763
+ }
764
+ ]
765
+ }
766
+ ]
767
+ }
768
+ ]
769
+ }
770
+ ]
771
+ };
772
+ const CIRCULAR_TABLE_SCHEMA_SINGLE_JOIN_PATH = {
773
+ "name": "node1",
774
+ "measures": [],
775
+ "dimensions": [
776
+ {
777
+ "schema": {
778
+ "name": "id",
779
+ "sql": "node1.id"
780
+ },
781
+ "children": [
782
+ {
783
+ "name": "node2",
784
+ "measures": [],
785
+ "dimensions": [
786
+ {
787
+ "schema": {
788
+ "name": "id",
789
+ "sql": "node2.id"
790
+ },
791
+ "children": [
792
+ {
793
+ "name": "node3",
794
+ "measures": [],
795
+ "dimensions": [
796
+ {
797
+ "schema": {
798
+ "name": "id",
799
+ "sql": "node3.id"
800
+ },
801
+ "children": []
802
+ }
803
+ ]
804
+ },
805
+ {
806
+ "name": "node4",
807
+ "measures": [],
808
+ "dimensions": [
809
+ {
810
+ "schema": {
811
+ "name": "id",
812
+ "sql": "node4.id"
813
+ },
814
+ "children": []
815
+ }
816
+ ]
817
+ }
818
+ ]
819
+ },
820
+ {
821
+ "schema": {
822
+ "name": "node11_id",
823
+ "sql": "node2.node11_id"
824
+ },
825
+ "children": []
826
+ }
827
+ ]
828
+ },
829
+ {
830
+ "name": "node3",
831
+ "measures": [],
832
+ "dimensions": [
833
+ {
834
+ "schema": {
835
+ "name": "id",
836
+ "sql": "node3.id"
837
+ },
838
+ "children": [
839
+ {
840
+ "name": "node4",
841
+ "measures": [],
842
+ "dimensions": [
843
+ {
844
+ "schema": {
845
+ "name": "id",
846
+ "sql": "node4.id"
847
+ },
848
+ "children": []
849
+ }
850
+ ]
851
+ }
852
+ ]
853
+ }
854
+ ]
855
+ }
856
+ ]
857
+ }
858
+ ]
859
+ };
860
+ const EXPECTED_CIRCULAR_TABLE_SCHEMA_INTERMEDIATE_JOIN_PATH = {
861
+ "name": "node1",
862
+ "measures": [],
863
+ "dimensions": [
864
+ {
865
+ "schema": {
866
+ "name": "id",
867
+ "sql": "node1.id"
868
+ },
869
+ "children": [
870
+ {
871
+ "name": "node2",
872
+ "measures": [],
873
+ "dimensions": [
874
+ {
875
+ "schema": {
876
+ "name": "id",
877
+ "sql": "node2.id"
878
+ },
879
+ "children": [
880
+ {
881
+ "name": "node4",
882
+ "measures": [],
883
+ "dimensions": [
884
+ {
885
+ "schema": {
886
+ "name": "id",
887
+ "sql": "node4.id"
888
+ },
889
+ "children": []
890
+ }
891
+ ]
892
+ }
893
+ ]
894
+ },
895
+ {
896
+ "schema": {
897
+ "name": "node11_id",
898
+ "sql": "node2.node11_id"
899
+ },
900
+ "children": []
901
+ }
902
+ ]
903
+ },
904
+ {
905
+ "name": "node3",
906
+ "measures": [],
907
+ "dimensions": [
908
+ {
909
+ "schema": {
910
+ "name": "id",
911
+ "sql": "node3.id"
912
+ },
913
+ "children": []
914
+ }
915
+ ]
916
+ }
917
+ ]
918
+ }
919
+ ]
920
+ };
921
+
922
+ //# sourceMappingURL=joins.fixtures.js.map