@quillsql/react 2.13.40 → 2.13.42

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 (267) hide show
  1. package/dist/cjs/Chart.d.ts +5 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +51 -28
  4. package/dist/cjs/ChartBuilder.d.ts +30 -3
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +483 -182
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +11 -1
  9. package/dist/cjs/Context.d.ts +16 -4
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +95 -46
  12. package/dist/cjs/Dashboard.d.ts +6 -3
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +69 -28
  15. package/dist/cjs/QuillProvider.d.ts +4 -8
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/ReportBuilder.d.ts +2 -1
  18. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  19. package/dist/cjs/ReportBuilder.js +190 -48
  20. package/dist/cjs/SQLEditor.d.ts +8 -1
  21. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  22. package/dist/cjs/SQLEditor.js +94 -10
  23. package/dist/cjs/Table.d.ts +21 -1
  24. package/dist/cjs/Table.d.ts.map +1 -1
  25. package/dist/cjs/Table.js +30 -192
  26. package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
  27. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  28. package/dist/cjs/components/Chart/BarChart.js +4 -3
  29. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
  30. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  31. package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
  32. package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
  33. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
  34. package/dist/cjs/components/Chart/GaugeChart.js +198 -0
  35. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/InternalChart.js +14 -11
  37. package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
  38. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/LineChart.js +4 -3
  40. package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
  41. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
  42. package/dist/cjs/components/Chart/MapChart.js +548 -0
  43. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  44. package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
  45. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  46. package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
  47. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
  49. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
  51. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  52. package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
  53. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
  55. package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
  56. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  57. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  58. package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
  59. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
  60. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  61. package/dist/cjs/components/ReportBuilder/convert.js +28 -7
  62. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
  63. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  64. package/dist/cjs/components/ReportBuilder/util.js +15 -2
  65. package/dist/cjs/components/UiComponents.d.ts +5 -2
  66. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  67. package/dist/cjs/components/UiComponents.js +34 -7
  68. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  69. package/dist/cjs/hooks/useDashboard.js +11 -9
  70. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  71. package/dist/cjs/hooks/useExport.js +18 -4
  72. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  73. package/dist/cjs/hooks/useQuill.js +16 -3
  74. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  75. package/dist/cjs/hooks/useReport.js +1 -7
  76. package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
  77. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useVirtualTables.js +5 -2
  79. package/dist/cjs/index.d.ts +1 -1
  80. package/dist/cjs/index.d.ts.map +1 -1
  81. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  82. package/dist/cjs/internals/ReportBuilder/PivotModal.js +7 -8
  83. package/dist/cjs/models/Columns.d.ts +1 -0
  84. package/dist/cjs/models/Columns.d.ts.map +1 -1
  85. package/dist/cjs/models/Filter.d.ts +20 -13
  86. package/dist/cjs/models/Filter.d.ts.map +1 -1
  87. package/dist/cjs/models/Filter.js +161 -87
  88. package/dist/cjs/models/Report.d.ts +12 -1
  89. package/dist/cjs/models/Report.d.ts.map +1 -1
  90. package/dist/cjs/models/Schema.d.ts +12 -1
  91. package/dist/cjs/models/Schema.d.ts.map +1 -1
  92. package/dist/cjs/utils/astFilterProcessing.js +22 -22
  93. package/dist/cjs/utils/astProcessing.d.ts +2 -2
  94. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  95. package/dist/cjs/utils/astProcessing.js +25 -6
  96. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  97. package/dist/cjs/utils/axisFormatter.js +25 -0
  98. package/dist/cjs/utils/color.d.ts +159 -0
  99. package/dist/cjs/utils/color.d.ts.map +1 -1
  100. package/dist/cjs/utils/color.js +14 -5
  101. package/dist/cjs/utils/columnProcessing.js +3 -3
  102. package/dist/cjs/utils/constants.d.ts +1 -0
  103. package/dist/cjs/utils/constants.d.ts.map +1 -1
  104. package/dist/cjs/utils/constants.js +2 -1
  105. package/dist/cjs/utils/dashboard.d.ts +14 -3
  106. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  107. package/dist/cjs/utils/dashboard.js +79 -16
  108. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  109. package/dist/cjs/utils/dataFetcher.js +3 -1
  110. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  111. package/dist/cjs/utils/filterProcessing.js +9 -9
  112. package/dist/cjs/utils/getDomain.d.ts +4 -1
  113. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  114. package/dist/cjs/utils/getDomain.js +11 -1
  115. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  116. package/dist/cjs/utils/pivotConstructor.js +9 -6
  117. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  118. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  119. package/dist/cjs/utils/queryConstructor.js +83 -49
  120. package/dist/cjs/utils/report.d.ts +23 -5
  121. package/dist/cjs/utils/report.d.ts.map +1 -1
  122. package/dist/cjs/utils/report.js +36 -14
  123. package/dist/cjs/utils/schema.d.ts +28 -3
  124. package/dist/cjs/utils/schema.d.ts.map +1 -1
  125. package/dist/cjs/utils/schema.js +79 -43
  126. package/dist/cjs/utils/tableProcessing.d.ts +12 -3
  127. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  128. package/dist/cjs/utils/tableProcessing.js +36 -8
  129. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  130. package/dist/cjs/utils/textProcessing.js +0 -1
  131. package/dist/cjs/utils/valueFormatter.d.ts +1 -0
  132. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  133. package/dist/cjs/utils/valueFormatter.js +55 -1
  134. package/dist/esm/Chart.d.ts +5 -1
  135. package/dist/esm/Chart.d.ts.map +1 -1
  136. package/dist/esm/Chart.js +52 -29
  137. package/dist/esm/ChartBuilder.d.ts +30 -3
  138. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  139. package/dist/esm/ChartBuilder.js +487 -187
  140. package/dist/esm/ChartEditor.d.ts.map +1 -1
  141. package/dist/esm/ChartEditor.js +11 -1
  142. package/dist/esm/Context.d.ts +16 -4
  143. package/dist/esm/Context.d.ts.map +1 -1
  144. package/dist/esm/Context.js +97 -48
  145. package/dist/esm/Dashboard.d.ts +6 -3
  146. package/dist/esm/Dashboard.d.ts.map +1 -1
  147. package/dist/esm/Dashboard.js +70 -29
  148. package/dist/esm/QuillProvider.d.ts +4 -8
  149. package/dist/esm/QuillProvider.d.ts.map +1 -1
  150. package/dist/esm/ReportBuilder.d.ts +2 -1
  151. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  152. package/dist/esm/ReportBuilder.js +192 -50
  153. package/dist/esm/SQLEditor.d.ts +8 -1
  154. package/dist/esm/SQLEditor.d.ts.map +1 -1
  155. package/dist/esm/SQLEditor.js +95 -11
  156. package/dist/esm/Table.d.ts +21 -1
  157. package/dist/esm/Table.d.ts.map +1 -1
  158. package/dist/esm/Table.js +34 -196
  159. package/dist/esm/components/Chart/BarChart.d.ts +5 -1
  160. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  161. package/dist/esm/components/Chart/BarChart.js +5 -4
  162. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
  163. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  164. package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
  165. package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
  166. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
  167. package/dist/esm/components/Chart/GaugeChart.js +195 -0
  168. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  169. package/dist/esm/components/Chart/InternalChart.js +14 -11
  170. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  171. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  172. package/dist/esm/components/Chart/LineChart.js +5 -4
  173. package/dist/esm/components/Chart/MapChart.d.ts +36 -0
  174. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
  175. package/dist/esm/components/Chart/MapChart.js +541 -0
  176. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  177. package/dist/esm/components/Dashboard/DataLoader.js +114 -42
  178. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  179. package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
  180. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  181. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  182. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  183. package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
  184. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  185. package/dist/esm/components/QuillSelectWithCombo.js +12 -11
  186. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  187. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
  188. package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
  189. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  190. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  191. package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
  192. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
  193. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  194. package/dist/esm/components/ReportBuilder/convert.js +26 -7
  195. package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
  196. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  197. package/dist/esm/components/ReportBuilder/util.js +15 -2
  198. package/dist/esm/components/UiComponents.d.ts +5 -2
  199. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  200. package/dist/esm/components/UiComponents.js +32 -6
  201. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  202. package/dist/esm/hooks/useDashboard.js +11 -9
  203. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  204. package/dist/esm/hooks/useExport.js +19 -5
  205. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  206. package/dist/esm/hooks/useQuill.js +16 -3
  207. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  208. package/dist/esm/hooks/useReport.js +1 -7
  209. package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
  210. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  211. package/dist/esm/hooks/useVirtualTables.js +6 -3
  212. package/dist/esm/index.d.ts +1 -1
  213. package/dist/esm/index.d.ts.map +1 -1
  214. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  215. package/dist/esm/internals/ReportBuilder/PivotModal.js +7 -8
  216. package/dist/esm/models/Columns.d.ts +1 -0
  217. package/dist/esm/models/Columns.d.ts.map +1 -1
  218. package/dist/esm/models/Filter.d.ts +20 -13
  219. package/dist/esm/models/Filter.d.ts.map +1 -1
  220. package/dist/esm/models/Filter.js +160 -86
  221. package/dist/esm/models/Report.d.ts +12 -1
  222. package/dist/esm/models/Report.d.ts.map +1 -1
  223. package/dist/esm/models/Schema.d.ts +12 -1
  224. package/dist/esm/models/Schema.d.ts.map +1 -1
  225. package/dist/esm/utils/astFilterProcessing.js +23 -23
  226. package/dist/esm/utils/astProcessing.d.ts +2 -2
  227. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  228. package/dist/esm/utils/astProcessing.js +25 -6
  229. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  230. package/dist/esm/utils/axisFormatter.js +25 -0
  231. package/dist/esm/utils/color.d.ts +159 -0
  232. package/dist/esm/utils/color.d.ts.map +1 -1
  233. package/dist/esm/utils/color.js +8 -2
  234. package/dist/esm/utils/columnProcessing.js +3 -3
  235. package/dist/esm/utils/constants.d.ts +1 -0
  236. package/dist/esm/utils/constants.d.ts.map +1 -1
  237. package/dist/esm/utils/constants.js +1 -0
  238. package/dist/esm/utils/dashboard.d.ts +14 -3
  239. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  240. package/dist/esm/utils/dashboard.js +80 -17
  241. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  242. package/dist/esm/utils/dataFetcher.js +3 -1
  243. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  244. package/dist/esm/utils/filterProcessing.js +10 -10
  245. package/dist/esm/utils/getDomain.d.ts +4 -1
  246. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  247. package/dist/esm/utils/getDomain.js +11 -1
  248. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  249. package/dist/esm/utils/pivotConstructor.js +9 -6
  250. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  251. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  252. package/dist/esm/utils/queryConstructor.js +83 -49
  253. package/dist/esm/utils/report.d.ts +23 -5
  254. package/dist/esm/utils/report.d.ts.map +1 -1
  255. package/dist/esm/utils/report.js +38 -16
  256. package/dist/esm/utils/schema.d.ts +28 -3
  257. package/dist/esm/utils/schema.d.ts.map +1 -1
  258. package/dist/esm/utils/schema.js +78 -43
  259. package/dist/esm/utils/tableProcessing.d.ts +12 -3
  260. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  261. package/dist/esm/utils/tableProcessing.js +36 -8
  262. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  263. package/dist/esm/utils/textProcessing.js +0 -1
  264. package/dist/esm/utils/valueFormatter.d.ts +1 -0
  265. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  266. package/dist/esm/utils/valueFormatter.js +53 -0
  267. package/package.json +10 -3
@@ -85,16 +85,24 @@ export var FieldType;
85
85
  FieldType["Null"] = "null";
86
86
  FieldType["Boolean"] = "boolean";
87
87
  })(FieldType || (FieldType = {}));
88
+ export var InternalFilterType;
89
+ (function (InternalFilterType) {
90
+ InternalFilterType["StringFilter"] = "string-filter";
91
+ InternalFilterType["DateFilter"] = "date-filter";
92
+ InternalFilterType["DateCustomFilter"] = "date-custom-filter";
93
+ InternalFilterType["DateComparisonFilter"] = "date-comparison-filter";
94
+ InternalFilterType["NumericFilter"] = "numeric-filter";
95
+ InternalFilterType["NullFilter"] = "null-filter";
96
+ InternalFilterType["StringInFilter"] = "string-in-filter";
97
+ InternalFilterType["BooleanFilter"] = "boolean-filter";
98
+ })(InternalFilterType || (InternalFilterType = {}));
88
99
  export var FilterType;
89
100
  (function (FilterType) {
90
- FilterType["StringFilter"] = "string-filter";
91
- FilterType["DateFilter"] = "date-filter";
92
- FilterType["DateCustomFilter"] = "date-custom-filter";
93
- FilterType["DateComparisonFilter"] = "date-comparison-filter";
94
- FilterType["NumericFilter"] = "numeric-filter";
95
- FilterType["NullFilter"] = "null-filter";
96
- FilterType["StringInFilter"] = "string-in-filter";
97
- FilterType["BooleanFilter"] = "boolean-filter";
101
+ FilterType["String"] = "string";
102
+ FilterType["Date"] = "date";
103
+ FilterType["Numeric"] = "numeric";
104
+ FilterType["Boolean"] = "boolean";
105
+ FilterType["Null"] = "null";
98
106
  })(FilterType || (FilterType = {}));
99
107
  /** Dashboard filters are filters that persist with the dashboard */
100
108
  export var DashboardFilterType;
@@ -108,43 +116,59 @@ var StringFilterType;
108
116
  StringFilterType["Multiselect"] = "multiselect";
109
117
  })(StringFilterType || (StringFilterType = {}));
110
118
  export const convertCustomFilter = (filter) => {
119
+ let field;
120
+ let filterType;
121
+ let fieldType;
122
+ let operator;
123
+ let value;
124
+ let table;
111
125
  switch (filter.filterType) {
112
- case FilterType.StringFilter:
113
- if (typeof filter.value !== 'string') {
114
- throw new Error(`Invalid value for StringFilter, expected string, got ${filter.value}`);
126
+ case FilterType.String:
127
+ if (!filter.field) {
128
+ throw new Error('Field is required for StringFilter');
115
129
  }
116
- if (filter.operator === undefined) {
117
- filter.operator = StringOperator.IsExactly;
130
+ if (typeof filter.value === 'string') {
131
+ filterType = InternalFilterType.StringFilter;
132
+ fieldType = FieldType.String;
133
+ operator = filter.operator;
134
+ field = filter.field;
135
+ table = filter.table;
136
+ value = filter.value;
118
137
  }
119
- if (!(filter.operator in StringOperator) &&
120
- !Object.values(StringOperator).includes(filter.operator)) {
121
- throw new Error(`Invalid operator for StringFilter, expected StringOperator, got ${filter.operator}`);
138
+ else if (Array.isArray(filter.value) &&
139
+ filter.value.every((v) => typeof v === 'string')) {
140
+ filterType = InternalFilterType.StringInFilter;
141
+ fieldType = FieldType.String;
142
+ operator = filter.operator;
143
+ field = filter.field;
144
+ table = filter.table;
145
+ value = filter.value;
122
146
  }
123
- return {
124
- ...filter,
125
- operator: filter.operator,
126
- fieldType: FieldType.String,
127
- };
128
- case FilterType.StringInFilter:
129
- if (!Array.isArray(filter.value)) {
130
- throw new Error(`Invalid value for StringInFilter, expected string[], got ${filter.value}`);
147
+ else {
148
+ throw new Error(`Invalid value for StringFilter, expected string, or string array, got ${filter.value}`);
131
149
  }
132
150
  if (filter.operator === undefined) {
133
151
  filter.operator = StringOperator.IsExactly;
134
152
  }
135
153
  if (!(filter.operator in StringOperator) &&
136
154
  !Object.values(StringOperator).includes(filter.operator)) {
137
- throw new Error(`Invalid operator for StringInFilter, expected StringOperator, got ${filter.operator}`);
155
+ throw new Error(`Invalid operator for StringFilter, expected StringOperator, got ${filter.operator}`);
138
156
  }
139
157
  return {
140
- ...filter,
141
- operator: filter.operator,
142
- fieldType: FieldType.String,
158
+ filterType,
159
+ fieldType,
160
+ field,
161
+ value,
162
+ table,
163
+ operator,
143
164
  };
144
- case FilterType.NumericFilter:
165
+ case FilterType.Numeric:
145
166
  if (typeof filter.value !== 'number') {
146
167
  throw new Error(`Invalid value for NumericFilter, expected number, got ${filter.value}`);
147
168
  }
169
+ else if (!filter.field) {
170
+ throw new Error('Field is required for NumericFilter');
171
+ }
148
172
  if (filter.operator === undefined) {
149
173
  filter.operator = NumberOperator.EqualTo;
150
174
  }
@@ -152,15 +176,27 @@ export const convertCustomFilter = (filter) => {
152
176
  !Object.values(NumberOperator).includes(filter.operator)) {
153
177
  throw new Error(`Invalid operator for NumericFilter, expected NumberOperator, got ${filter.operator}`);
154
178
  }
179
+ filterType = InternalFilterType.NumericFilter;
180
+ fieldType = FieldType.Number;
181
+ operator = filter.operator;
182
+ field = filter.field;
183
+ value = filter.value;
184
+ table = filter.table;
155
185
  return {
156
- ...filter,
157
- operator: filter.operator,
158
- fieldType: FieldType.Number,
186
+ filterType,
187
+ fieldType,
188
+ field,
189
+ value,
190
+ table,
191
+ operator,
159
192
  };
160
- case FilterType.NullFilter:
193
+ case FilterType.Null:
161
194
  if (filter.value !== null) {
162
195
  throw new Error(`Invalid value for NullFilter, expected null, got ${filter.value}`);
163
196
  }
197
+ else if (!filter.field) {
198
+ throw new Error('Field is required for NullFilter');
199
+ }
164
200
  if (filter.operator === undefined) {
165
201
  filter.operator = NullOperator.IsNotNull;
166
202
  }
@@ -168,15 +204,27 @@ export const convertCustomFilter = (filter) => {
168
204
  !Object.values(NullOperator).includes(filter.operator)) {
169
205
  throw new Error(`Invalid operator for NullFilter, expected NullOperator, got ${filter.operator}`);
170
206
  }
207
+ filterType = InternalFilterType.NullFilter;
208
+ fieldType = FieldType.Null;
209
+ operator = filter.operator;
210
+ field = filter.field;
211
+ value = null;
212
+ table = filter.table;
171
213
  return {
172
- ...filter,
173
- operator: filter.operator,
174
- fieldType: FieldType.Null,
214
+ filterType,
215
+ fieldType,
216
+ field,
217
+ value,
218
+ table,
219
+ operator,
175
220
  };
176
- case FilterType.BooleanFilter:
221
+ case FilterType.Boolean:
177
222
  if (typeof filter.value !== 'boolean') {
178
223
  throw new Error(`Invalid value for BooleanFilter, expected boolean, got ${filter.value}`);
179
224
  }
225
+ else if (!filter.field) {
226
+ throw new Error('Field is required for BooleanFilter');
227
+ }
180
228
  if (filter.operator === undefined) {
181
229
  filter.operator = BoolOperator.EqualTo;
182
230
  }
@@ -184,62 +232,88 @@ export const convertCustomFilter = (filter) => {
184
232
  !Object.values(BoolOperator).includes(filter.operator)) {
185
233
  throw new Error(`Invalid operator for BooleanFilter, expected BoolOperator, got ${filter.operator}`);
186
234
  }
235
+ filterType = InternalFilterType.BooleanFilter;
236
+ fieldType = FieldType.Boolean;
237
+ operator = filter.operator;
238
+ field = filter.field;
239
+ value = null;
240
+ table = filter.table;
187
241
  return {
188
- ...filter,
189
- operator: filter.operator,
190
- fieldType: FieldType.Boolean,
242
+ filterType,
243
+ fieldType,
244
+ field,
245
+ value,
246
+ table,
247
+ operator,
191
248
  };
192
- case FilterType.DateFilter:
193
- if (typeof filter.value !== 'object' ||
194
- filter.value === null ||
195
- !('value' in filter.value) ||
196
- typeof filter.value.value !== 'number' ||
197
- typeof filter.value.unit !== 'string') {
198
- throw new Error(`Invalid value for DateFilter, expected { value: number, unit: string }, got ${filter.value}`);
199
- }
200
- if (filter.operator === undefined) {
201
- filter.operator = DateOperator.EqualTo;
249
+ case FilterType.Date:
250
+ if (typeof filter.value === 'object' &&
251
+ filter.value &&
252
+ 'value' in filter.value &&
253
+ filter.value.unit) {
254
+ if ((filter.value.value && typeof filter.value.value !== 'number') ||
255
+ typeof filter.value.unit !== 'string') {
256
+ throw new Error(`Invalid value for DateFilter, expected { value: number, unit: string }, got ${filter.value}`);
257
+ }
258
+ if (!filter.value.value) {
259
+ filter.value.value = 1;
260
+ }
261
+ if (filter.operator === undefined) {
262
+ filter.operator = DateOperator.EqualTo;
263
+ }
264
+ if (!(filter.operator in DateOperator) &&
265
+ !Object.values(DateOperator).includes(filter.operator)) {
266
+ throw new Error(`Invalid operator for DateFilter, expected DateOperator, got ${filter.operator}`);
267
+ }
268
+ filterType = InternalFilterType.DateFilter;
269
+ fieldType = FieldType.Date;
270
+ operator = filter.operator;
271
+ value = filter.value;
272
+ field = filter.field || '';
273
+ table = filter.table;
202
274
  }
203
- if (!(filter.operator in DateOperator) &&
204
- !Object.values(DateOperator).includes(filter.operator)) {
205
- throw new Error(`Invalid operator for DateFilter, expected DateOperator, got ${filter.operator}`);
275
+ else if (typeof filter.value === 'object' &&
276
+ filter.value &&
277
+ 'startDate' in filter.value &&
278
+ filter.value.startDate &&
279
+ 'endDate' in filter.value &&
280
+ filter.value.endDate) {
281
+ if (typeof filter.value.startDate !== 'string' ||
282
+ typeof filter.value.endDate !== 'string') {
283
+ throw new Error(`Invalid value for DateCustomFilter, expected { startDate: string, endDate: string }, got ${filter.value}`);
284
+ }
285
+ filterType = InternalFilterType.DateCustomFilter;
286
+ fieldType = FieldType.Date;
287
+ operator = DateOperator.Custom;
288
+ value = filter.value;
289
+ field = filter.field || '';
290
+ table = filter.table;
206
291
  }
207
- return {
208
- ...filter,
209
- operator: filter.operator,
210
- fieldType: FieldType.Date,
211
- };
212
- case FilterType.DateCustomFilter:
213
- if (typeof filter.value !== 'object' ||
214
- filter.value === null ||
215
- !('startDate' in filter.value) ||
216
- !('endDate' in filter.value) ||
217
- typeof filter.value.startDate !== 'string' ||
218
- typeof filter.value.endDate !== 'string') {
219
- throw new Error(`Invalid value for DateCustomFilter, expected { startDate: string, endDate: string }, got ${filter.value}`);
220
- }
221
- // Right now we're silently ignoring the operator, may want to generate error instead?
222
- filter.operator = DateOperator.Custom;
223
- return {
224
- ...filter,
225
- operator: DateOperator.Custom,
226
- fieldType: FieldType.Date,
227
- };
228
- case FilterType.DateComparisonFilter:
229
- if (typeof filter.value !== 'string') {
230
- throw new Error(`Invalid value for DateComparisonFilter, expected string, got ${filter.value}`);
231
- }
232
- if (filter.operator === undefined) {
233
- filter.operator = DateOperator.EqualTo;
292
+ else if (typeof filter.value === 'string') {
293
+ if (filter.operator === undefined) {
294
+ filter.operator = DateOperator.EqualTo;
295
+ }
296
+ if (!(filter.operator in DateOperator) &&
297
+ !Object.values(DateOperator).includes(filter.operator)) {
298
+ throw new Error(`Invalid operator for DateComparisonFilter, expected DateOperator, got ${filter.operator}`);
299
+ }
300
+ filterType = InternalFilterType.DateComparisonFilter;
301
+ fieldType = FieldType.Date;
302
+ operator = filter.operator;
303
+ value = filter.value;
304
+ field = filter.field || '';
305
+ table = filter.table;
234
306
  }
235
- if (!(filter.operator in DateOperator) &&
236
- !Object.values(DateOperator).includes(filter.operator)) {
237
- throw new Error(`Invalid operator for DateComparisonFilter, expected DateOperator, got ${filter.operator}`);
307
+ else {
308
+ throw new Error(`Invalid value for DateFilter, expected { value: number, unit: string }, { startDate: string, endDate: string}, or string, got ${filter.value}`);
238
309
  }
239
310
  return {
240
- ...filter,
241
- operator: filter.operator,
242
- fieldType: FieldType.Date,
311
+ filterType,
312
+ fieldType,
313
+ field,
314
+ value,
315
+ table,
316
+ operator,
243
317
  };
244
318
  }
245
319
  };
@@ -86,6 +86,17 @@ export interface QuillReport {
86
86
  field: string;
87
87
  };
88
88
  };
89
+ referenceLines?: {
90
+ label: string;
91
+ query: [number, number] | string;
92
+ }[];
93
+ /** Resolved reference line y values */
94
+ referenceLineYValues?: {
95
+ label: string;
96
+ query: [number, number];
97
+ }[];
98
+ includeCustomFields?: boolean;
99
+ columnsWithCustomFields?: Column[];
89
100
  }
90
101
  export interface QuillReportInternal extends QuillReport {
91
102
  /** The pivot row info. */
@@ -122,7 +133,7 @@ export interface QuillReportInternal extends QuillReport {
122
133
  adminError?: string;
123
134
  /** An internal flag to force a report to trigger a reload from the backend */
124
135
  triggerReload?: boolean;
125
- /** An internal flag to force a report to trigger a reload from the backend */
136
+ /** columns as ColumnInternal */
126
137
  columnInternal: ColumnInternal[];
127
138
  /** Represents if the report is currently loading rows */
128
139
  loadingRows?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,17 @@ import { Table } from './Tables';
2
2
  export type SchemaData = {
3
3
  schema: Table[];
4
4
  isSchemaLoading: boolean;
5
- customFields: any[] | null;
5
+ customFields: {
6
+ [tableName: string]: CustomField[];
7
+ } | null;
8
+ schemaWithCustomFields: Table[];
9
+ };
10
+ export type CustomField = {
11
+ viewName: string;
12
+ refTable: string;
13
+ field: string;
14
+ refColumn?: string;
15
+ type?: string;
16
+ refField?: string;
6
17
  };
7
18
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D,sBAAsB,EAAE,KAAK,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BoolOperator, DateOperator, FieldType, FilterType, NullOperator, NumberOperator, StringOperator, TimeUnit, } from '../models/Filter';
1
+ import { BoolOperator, DateOperator, FieldType, InternalFilterType, NullOperator, NumberOperator, StringOperator, TimeUnit, } from '../models/Filter';
2
2
  import { format, isValid, parse, subDays, subHours, subMonths, subWeeks, subYears, } from 'date-fns';
3
3
  import { isBoolType, isDateType, isNumberType, isStringType, } from './columnProcessing';
4
4
  // Map SQL string operators to corresponding StringOperator enums
@@ -93,34 +93,34 @@ function mapOperatorToFilterName(operator, fieldType) {
93
93
  case FieldType.Date:
94
94
  switch (operator) {
95
95
  case DateOperator.Custom:
96
- return FilterType.DateCustomFilter;
96
+ return InternalFilterType.DateCustomFilter;
97
97
  case DateOperator.EqualTo:
98
98
  case DateOperator.GreaterThan:
99
99
  case DateOperator.GreaterThanOrEqualTo:
100
100
  case DateOperator.LessThan:
101
101
  case DateOperator.LessThanOrEqualTo:
102
102
  case DateOperator.NotEqualTo:
103
- return FilterType.DateComparisonFilter;
103
+ return InternalFilterType.DateComparisonFilter;
104
104
  case DateOperator.InTheCurrent:
105
105
  case DateOperator.InTheLast:
106
106
  case DateOperator.InThePrevious:
107
- return FilterType.DateFilter;
107
+ return InternalFilterType.DateFilter;
108
108
  }
109
109
  // fallthrough
110
110
  case FieldType.String:
111
111
  switch (operator) {
112
112
  case StringOperator.Is:
113
113
  case StringOperator.IsNot:
114
- return FilterType.StringInFilter;
114
+ return InternalFilterType.StringInFilter;
115
115
  default:
116
- return FilterType.StringFilter;
116
+ return InternalFilterType.StringFilter;
117
117
  }
118
118
  case FieldType.Number:
119
- return FilterType.NumericFilter;
119
+ return InternalFilterType.NumericFilter;
120
120
  case FieldType.Null:
121
- return FilterType.NullFilter;
121
+ return InternalFilterType.NullFilter;
122
122
  case FieldType.Boolean:
123
- return FilterType.BooleanFilter;
123
+ return InternalFilterType.BooleanFilter;
124
124
  default:
125
125
  console.error(`Could not determine filter name: {operator: ${operator}, fieldType: ${fieldType}}`);
126
126
  return null;
@@ -8700,7 +8700,7 @@ export const astToFilter = (ast, db, columns) => {
8700
8700
  }
8701
8701
  // Finally, with the operator, field, and filter name, return the corresponding Filter object
8702
8702
  switch (filterName) {
8703
- case FilterType.StringFilter:
8703
+ case InternalFilterType.StringFilter:
8704
8704
  return {
8705
8705
  field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
8706
8706
  filterType: filterName,
@@ -8708,7 +8708,7 @@ export const astToFilter = (ast, db, columns) => {
8708
8708
  operator: mappedOperator,
8709
8709
  value: (lowerFunctionToField(right, db) ?? '').replaceAll('%', ''),
8710
8710
  };
8711
- case FilterType.StringInFilter:
8711
+ case InternalFilterType.StringInFilter:
8712
8712
  return {
8713
8713
  field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
8714
8714
  filterType: filterName,
@@ -8716,7 +8716,7 @@ export const astToFilter = (ast, db, columns) => {
8716
8716
  operator: mappedOperator,
8717
8717
  value: right.value.map((v) => (lowerFunctionToField(v, db) ?? '').replaceAll('%', '')),
8718
8718
  };
8719
- case FilterType.NumericFilter:
8719
+ case InternalFilterType.NumericFilter:
8720
8720
  return {
8721
8721
  field: field,
8722
8722
  filterType: filterName,
@@ -8724,7 +8724,7 @@ export const astToFilter = (ast, db, columns) => {
8724
8724
  operator: mappedOperator,
8725
8725
  value: Number(right.value),
8726
8726
  };
8727
- case FilterType.NullFilter:
8727
+ case InternalFilterType.NullFilter:
8728
8728
  return {
8729
8729
  field: field,
8730
8730
  filterType: filterName,
@@ -8732,7 +8732,7 @@ export const astToFilter = (ast, db, columns) => {
8732
8732
  operator: mappedOperator,
8733
8733
  value: null,
8734
8734
  };
8735
- case FilterType.DateCustomFilter: {
8735
+ case InternalFilterType.DateCustomFilter: {
8736
8736
  const rightExprList = right;
8737
8737
  const values = parseBetweenDates(rightExprList.value);
8738
8738
  if (!values) {
@@ -8747,7 +8747,7 @@ export const astToFilter = (ast, db, columns) => {
8747
8747
  value: values,
8748
8748
  };
8749
8749
  }
8750
- case FilterType.DateComparisonFilter: {
8750
+ case InternalFilterType.DateComparisonFilter: {
8751
8751
  const numericDateComparison = reverseOperatorMap(operator, FieldType.Number);
8752
8752
  if (numericDateComparison) {
8753
8753
  if (!right.value ||
@@ -8759,7 +8759,7 @@ export const astToFilter = (ast, db, columns) => {
8759
8759
  if (numericDateComparison === NumberOperator.EqualTo) {
8760
8760
  return {
8761
8761
  field: field,
8762
- filterType: FilterType.DateCustomFilter,
8762
+ filterType: InternalFilterType.DateCustomFilter,
8763
8763
  fieldType: FieldType.Date,
8764
8764
  operator: DateOperator.Custom,
8765
8765
  value: { startDate: right.value, endDate: right.value },
@@ -8767,7 +8767,7 @@ export const astToFilter = (ast, db, columns) => {
8767
8767
  }
8768
8768
  return {
8769
8769
  field: field,
8770
- filterType: FilterType.DateComparisonFilter,
8770
+ filterType: InternalFilterType.DateComparisonFilter,
8771
8771
  fieldType: FieldType.Date,
8772
8772
  operator: numericDateComparison,
8773
8773
  value: right.value,
@@ -8776,7 +8776,7 @@ export const astToFilter = (ast, db, columns) => {
8776
8776
  }
8777
8777
  }
8778
8778
  // fallthrough
8779
- case FilterType.DateFilter: {
8779
+ case InternalFilterType.DateFilter: {
8780
8780
  const { operator: dateOperator, value } = parseDateOperatorAndValue(ast, db);
8781
8781
  if (!value) {
8782
8782
  return null;
@@ -8793,14 +8793,14 @@ export const astToFilter = (ast, db, columns) => {
8793
8793
  else {
8794
8794
  return {
8795
8795
  field: field,
8796
- filterType: FilterType.DateCustomFilter,
8796
+ filterType: InternalFilterType.DateCustomFilter,
8797
8797
  fieldType: FieldType.Date,
8798
8798
  operator: DateOperator.Custom,
8799
8799
  value: value.value,
8800
8800
  };
8801
8801
  }
8802
8802
  }
8803
- case FilterType.BooleanFilter: {
8803
+ case InternalFilterType.BooleanFilter: {
8804
8804
  const value = right.value !== undefined &&
8805
8805
  ['boolean', 'string'].includes(typeof right.value)
8806
8806
  ? Boolean(right.value)
@@ -8925,7 +8925,7 @@ export const filterToAst = (filter, db) => {
8925
8925
  }
8926
8926
  case FieldType.Date:
8927
8927
  switch (filter.filterType) {
8928
- case FilterType.DateCustomFilter:
8928
+ case InternalFilterType.DateCustomFilter:
8929
8929
  return {
8930
8930
  type: 'binary_expr',
8931
8931
  operator: mappedOperator,
@@ -8950,7 +8950,7 @@ export const filterToAst = (filter, db) => {
8950
8950
  ],
8951
8951
  },
8952
8952
  };
8953
- case FilterType.DateFilter:
8953
+ case InternalFilterType.DateFilter:
8954
8954
  switch (filter.operator) {
8955
8955
  case DateOperator.InTheLast:
8956
8956
  switch (db) {
@@ -10796,7 +10796,7 @@ export const filterToAst = (filter, db) => {
10796
10796
  default:
10797
10797
  return null;
10798
10798
  }
10799
- case FilterType.DateComparisonFilter:
10799
+ case InternalFilterType.DateComparisonFilter:
10800
10800
  switch (filter.operator) {
10801
10801
  case DateOperator.EqualTo:
10802
10802
  return {
@@ -24,7 +24,7 @@ export declare function getColumnAndTableInfo(tableAliasMap: {
24
24
  tableName: string;
25
25
  columnName: string;
26
26
  } | undefined;
27
- export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any): {
27
+ export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any, skipStar?: boolean): {
28
28
  [table: string]: string[];
29
29
  };
30
30
  export declare const isSubquery: (node: any) => boolean;
@@ -69,7 +69,7 @@ export declare const fetchASTFromQuillReport: (report: QuillReportInternal, clie
69
69
  schema?: Table[];
70
70
  error?: string;
71
71
  }>;
72
- export declare function getTablesHelper(ast: any, allTables: Table[]): {
72
+ export declare function getTablesHelper(ast: any, allTables: Table[], skipStar?: boolean): {
73
73
  referencedTablesAndColumns: {
74
74
  name: string;
75
75
  columns: {
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,KAAK,EAAE,GAClB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAmCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAyG/B;AAED,eAAO,MAAM,UAAU,SAAU,GAAG,YAWnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,GAAG,UACJ,KAAK,EAAE,KACd,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAmCtC,CAAC;AAEF,eAAO,MAAM,+BAA+B,YACjC,cAAc,EAAE,aACd,MAAM;;;;;;;;;;;;;;;;;;;;;;CAqBlB,CAAC;AAGF,eAAO,MAAM,4BAA4B,aAC7B,MAAM,UACR,KAAK,EAAE,UACP,mBAAmB,cACf,KAAK,iBACF,MAAM,cACT,MAAM,kBACF,MAAM,YAElB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KACtB,OAAO,CAAC;IACT,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAmHA,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,UACnB,mBAAmB,UACnB,KAAK,EAAE,KACd,OAAO,CAAC;IACT,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAqDA,CAAC;AAUF,wBAAgB,eAAe,CAC7B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,KAAK,EAAE,GACjB;IACD,0BAA0B,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IAC7E,UAAU,EAAE,GAAG,CAAC;CACjB,CAoEA"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,KAAK,EAAE,GAClB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAmCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,EAAE,GAAG,EAClB,QAAQ,UAAQ,GACf;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CA8H/B;AAED,eAAO,MAAM,UAAU,SAAU,GAAG,YAWnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,GAAG,UACJ,KAAK,EAAE,KACd,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAmCtC,CAAC;AAEF,eAAO,MAAM,+BAA+B,YACjC,cAAc,EAAE,aACd,MAAM;;;;;;;;;;;;;;;;;;;;;;CAqBlB,CAAC;AAGF,eAAO,MAAM,4BAA4B,aAC7B,MAAM,UACR,KAAK,EAAE,UACP,mBAAmB,cACf,KAAK,iBACF,MAAM,cACT,MAAM,kBACF,MAAM,YAElB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KACtB,OAAO,CAAC;IACT,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAmHA,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,UACnB,mBAAmB,UACnB,KAAK,EAAE,KACd,OAAO,CAAC;IACT,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAqDA,CAAC;AAUF,wBAAgB,eAAe,CAC7B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,KAAK,EAAE,EAClB,QAAQ,CAAC,EAAE,OAAO,GACjB;IACD,0BAA0B,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IAC7E,UAAU,EAAE,GAAG,CAAC;CACjB,CAqEA"}