@gooddata/sdk-maql-language-server 0.0.0-stage → 11.65.0-alpha.4

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 (312) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +118 -2
  3. package/esm/completions/complete.d.ts +12 -0
  4. package/esm/completions/complete.d.ts.map +1 -0
  5. package/esm/completions/complete.js +316 -0
  6. package/esm/completions/descriptions.d.ts +42 -0
  7. package/esm/completions/descriptions.d.ts.map +1 -0
  8. package/esm/completions/descriptions.js +290 -0
  9. package/esm/completions/findContext.d.ts +19 -0
  10. package/esm/completions/findContext.d.ts.map +1 -0
  11. package/esm/completions/findContext.js +172 -0
  12. package/esm/completions/functionDescriptions.d.ts +3 -0
  13. package/esm/completions/functionDescriptions.d.ts.map +1 -0
  14. package/esm/completions/functionDescriptions.js +99 -0
  15. package/esm/completions/sort.d.ts +4 -0
  16. package/esm/completions/sort.d.ts.map +1 -0
  17. package/esm/completions/sort.js +88 -0
  18. package/esm/constants.d.ts +21 -0
  19. package/esm/constants.d.ts.map +1 -0
  20. package/esm/constants.js +22 -0
  21. package/esm/dateElementFormat.d.ts +9 -0
  22. package/esm/dateElementFormat.d.ts.map +1 -0
  23. package/esm/dateElementFormat.js +60 -0
  24. package/esm/decorations.d.ts +39 -0
  25. package/esm/decorations.d.ts.map +1 -0
  26. package/esm/decorations.js +42 -0
  27. package/esm/diagnostics.d.ts +12 -0
  28. package/esm/diagnostics.d.ts.map +1 -0
  29. package/esm/diagnostics.js +260 -0
  30. package/esm/docs/en/docs/create-metrics/maql/aggregation/approximate_count.d.ts +2 -0
  31. package/esm/docs/en/docs/create-metrics/maql/aggregation/approximate_count.d.ts.map +1 -0
  32. package/esm/docs/en/docs/create-metrics/maql/aggregation/approximate_count.js +61 -0
  33. package/esm/docs/en/docs/create-metrics/maql/aggregation/avg.d.ts +2 -0
  34. package/esm/docs/en/docs/create-metrics/maql/aggregation/avg.d.ts.map +1 -0
  35. package/esm/docs/en/docs/create-metrics/maql/aggregation/avg.js +19 -0
  36. package/esm/docs/en/docs/create-metrics/maql/aggregation/count.d.ts +2 -0
  37. package/esm/docs/en/docs/create-metrics/maql/aggregation/count.d.ts.map +1 -0
  38. package/esm/docs/en/docs/create-metrics/maql/aggregation/count.js +72 -0
  39. package/esm/docs/en/docs/create-metrics/maql/aggregation/first.d.ts +2 -0
  40. package/esm/docs/en/docs/create-metrics/maql/aggregation/first.d.ts.map +1 -0
  41. package/esm/docs/en/docs/create-metrics/maql/aggregation/first.js +41 -0
  42. package/esm/docs/en/docs/create-metrics/maql/aggregation/last.d.ts +2 -0
  43. package/esm/docs/en/docs/create-metrics/maql/aggregation/last.d.ts.map +1 -0
  44. package/esm/docs/en/docs/create-metrics/maql/aggregation/last.js +69 -0
  45. package/esm/docs/en/docs/create-metrics/maql/aggregation/max.d.ts +2 -0
  46. package/esm/docs/en/docs/create-metrics/maql/aggregation/max.d.ts.map +1 -0
  47. package/esm/docs/en/docs/create-metrics/maql/aggregation/max.js +61 -0
  48. package/esm/docs/en/docs/create-metrics/maql/aggregation/median.d.ts +2 -0
  49. package/esm/docs/en/docs/create-metrics/maql/aggregation/median.d.ts.map +1 -0
  50. package/esm/docs/en/docs/create-metrics/maql/aggregation/median.js +25 -0
  51. package/esm/docs/en/docs/create-metrics/maql/aggregation/min.d.ts +2 -0
  52. package/esm/docs/en/docs/create-metrics/maql/aggregation/min.d.ts.map +1 -0
  53. package/esm/docs/en/docs/create-metrics/maql/aggregation/min.js +63 -0
  54. package/esm/docs/en/docs/create-metrics/maql/aggregation/sum.d.ts +2 -0
  55. package/esm/docs/en/docs/create-metrics/maql/aggregation/sum.d.ts.map +1 -0
  56. package/esm/docs/en/docs/create-metrics/maql/aggregation/sum.js +20 -0
  57. package/esm/docs/en/docs/create-metrics/maql/conditionals/case.d.ts +2 -0
  58. package/esm/docs/en/docs/create-metrics/maql/conditionals/case.d.ts.map +1 -0
  59. package/esm/docs/en/docs/create-metrics/maql/conditionals/case.js +73 -0
  60. package/esm/docs/en/docs/create-metrics/maql/conditionals/if-then-else.d.ts +2 -0
  61. package/esm/docs/en/docs/create-metrics/maql/conditionals/if-then-else.d.ts.map +1 -0
  62. package/esm/docs/en/docs/create-metrics/maql/conditionals/if-then-else.js +29 -0
  63. package/esm/docs/en/docs/create-metrics/maql/conditionals/ifnull.d.ts +2 -0
  64. package/esm/docs/en/docs/create-metrics/maql/conditionals/ifnull.d.ts.map +1 -0
  65. package/esm/docs/en/docs/create-metrics/maql/conditionals/ifnull.js +96 -0
  66. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-ranking-filters.d.ts +2 -0
  67. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-ranking-filters.d.ts.map +1 -0
  68. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-ranking-filters.js +71 -0
  69. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-having-clause.d.ts +2 -0
  70. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-having-clause.d.ts.map +1 -0
  71. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-having-clause.js +65 -0
  72. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-like-clause.d.ts +2 -0
  73. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-like-clause.d.ts.map +1 -0
  74. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-like-clause.js +36 -0
  75. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-where-clause.d.ts +2 -0
  76. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-where-clause.d.ts.map +1 -0
  77. package/esm/docs/en/docs/create-metrics/maql/filters/filtering-with-the-where-clause.js +36 -0
  78. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all-in-all-other-dimensions-except-for-attribute.d.ts +2 -0
  79. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all-in-all-other-dimensions-except-for-attribute.d.ts.map +1 -0
  80. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all-in-all-other-dimensions-except-for-attribute.js +21 -0
  81. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all-in-all-other-dimensions.d.ts +2 -0
  82. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all-in-all-other-dimensions.d.ts.map +1 -0
  83. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all-in-all-other-dimensions.js +27 -0
  84. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all.d.ts +2 -0
  85. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all.d.ts.map +1 -0
  86. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-all.js +64 -0
  87. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-attribute-all-in-all-other-dimensions.d.ts +2 -0
  88. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-attribute-all-in-all-other-dimensions.d.ts.map +1 -0
  89. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by-attribute-all-in-all-other-dimensions.js +22 -0
  90. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by.d.ts +2 -0
  91. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by.d.ts.map +1 -0
  92. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-attribute-filters/by.js +85 -0
  93. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/with-parent-except.d.ts +2 -0
  94. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/with-parent-except.d.ts.map +1 -0
  95. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/with-parent-except.js +37 -0
  96. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/with-parent-filter.d.ts +2 -0
  97. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/with-parent-filter.d.ts.map +1 -0
  98. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/with-parent-filter.js +42 -0
  99. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/without-parent-except.d.ts +2 -0
  100. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/without-parent-except.d.ts.map +1 -0
  101. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/without-parent-except.js +94 -0
  102. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/without-parent-filter.d.ts +2 -0
  103. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/without-parent-filter.d.ts.map +1 -0
  104. package/esm/docs/en/docs/create-metrics/maql/filters/overriding-parent/without-parent-filter.js +33 -0
  105. package/esm/docs/en/docs/create-metrics/maql/for-each.d.ts +2 -0
  106. package/esm/docs/en/docs/create-metrics/maql/for-each.d.ts.map +1 -0
  107. package/esm/docs/en/docs/create-metrics/maql/for-each.js +17 -0
  108. package/esm/docs/en/docs/create-metrics/maql/logical-operators/and.d.ts +2 -0
  109. package/esm/docs/en/docs/create-metrics/maql/logical-operators/and.d.ts.map +1 -0
  110. package/esm/docs/en/docs/create-metrics/maql/logical-operators/and.js +37 -0
  111. package/esm/docs/en/docs/create-metrics/maql/logical-operators/not.d.ts +2 -0
  112. package/esm/docs/en/docs/create-metrics/maql/logical-operators/not.d.ts.map +1 -0
  113. package/esm/docs/en/docs/create-metrics/maql/logical-operators/not.js +12 -0
  114. package/esm/docs/en/docs/create-metrics/maql/logical-operators/or.d.ts +2 -0
  115. package/esm/docs/en/docs/create-metrics/maql/logical-operators/or.d.ts.map +1 -0
  116. package/esm/docs/en/docs/create-metrics/maql/logical-operators/or.js +22 -0
  117. package/esm/docs/en/docs/create-metrics/maql/maql-and-multidimensionality.d.ts +2 -0
  118. package/esm/docs/en/docs/create-metrics/maql/maql-and-multidimensionality.d.ts.map +1 -0
  119. package/esm/docs/en/docs/create-metrics/maql/maql-and-multidimensionality.js +59 -0
  120. package/esm/docs/en/docs/create-metrics/maql/math/abs.d.ts +2 -0
  121. package/esm/docs/en/docs/create-metrics/maql/math/abs.d.ts.map +1 -0
  122. package/esm/docs/en/docs/create-metrics/maql/math/abs.js +23 -0
  123. package/esm/docs/en/docs/create-metrics/maql/math/arithmetic-operations.d.ts +2 -0
  124. package/esm/docs/en/docs/create-metrics/maql/math/arithmetic-operations.d.ts.map +1 -0
  125. package/esm/docs/en/docs/create-metrics/maql/math/arithmetic-operations.js +29 -0
  126. package/esm/docs/en/docs/create-metrics/maql/math/ceiling.d.ts +2 -0
  127. package/esm/docs/en/docs/create-metrics/maql/math/ceiling.d.ts.map +1 -0
  128. package/esm/docs/en/docs/create-metrics/maql/math/ceiling.js +21 -0
  129. package/esm/docs/en/docs/create-metrics/maql/math/exp.d.ts +2 -0
  130. package/esm/docs/en/docs/create-metrics/maql/math/exp.d.ts.map +1 -0
  131. package/esm/docs/en/docs/create-metrics/maql/math/exp.js +27 -0
  132. package/esm/docs/en/docs/create-metrics/maql/math/floor.d.ts +2 -0
  133. package/esm/docs/en/docs/create-metrics/maql/math/floor.d.ts.map +1 -0
  134. package/esm/docs/en/docs/create-metrics/maql/math/floor.js +21 -0
  135. package/esm/docs/en/docs/create-metrics/maql/math/greatest.d.ts +2 -0
  136. package/esm/docs/en/docs/create-metrics/maql/math/greatest.d.ts.map +1 -0
  137. package/esm/docs/en/docs/create-metrics/maql/math/greatest.js +13 -0
  138. package/esm/docs/en/docs/create-metrics/maql/math/least.d.ts +2 -0
  139. package/esm/docs/en/docs/create-metrics/maql/math/least.d.ts.map +1 -0
  140. package/esm/docs/en/docs/create-metrics/maql/math/least.js +13 -0
  141. package/esm/docs/en/docs/create-metrics/maql/math/ln.d.ts +2 -0
  142. package/esm/docs/en/docs/create-metrics/maql/math/ln.d.ts.map +1 -0
  143. package/esm/docs/en/docs/create-metrics/maql/math/ln.js +33 -0
  144. package/esm/docs/en/docs/create-metrics/maql/math/log.d.ts +2 -0
  145. package/esm/docs/en/docs/create-metrics/maql/math/log.d.ts.map +1 -0
  146. package/esm/docs/en/docs/create-metrics/maql/math/log.js +29 -0
  147. package/esm/docs/en/docs/create-metrics/maql/math/power.d.ts +2 -0
  148. package/esm/docs/en/docs/create-metrics/maql/math/power.d.ts.map +1 -0
  149. package/esm/docs/en/docs/create-metrics/maql/math/power.js +33 -0
  150. package/esm/docs/en/docs/create-metrics/maql/math/round.d.ts +2 -0
  151. package/esm/docs/en/docs/create-metrics/maql/math/round.d.ts.map +1 -0
  152. package/esm/docs/en/docs/create-metrics/maql/math/round.js +34 -0
  153. package/esm/docs/en/docs/create-metrics/maql/math/sign.d.ts +2 -0
  154. package/esm/docs/en/docs/create-metrics/maql/math/sign.d.ts.map +1 -0
  155. package/esm/docs/en/docs/create-metrics/maql/math/sign.js +30 -0
  156. package/esm/docs/en/docs/create-metrics/maql/math/sqrt.d.ts +2 -0
  157. package/esm/docs/en/docs/create-metrics/maql/math/sqrt.d.ts.map +1 -0
  158. package/esm/docs/en/docs/create-metrics/maql/math/sqrt.js +32 -0
  159. package/esm/docs/en/docs/create-metrics/maql/math/trunc.d.ts +2 -0
  160. package/esm/docs/en/docs/create-metrics/maql/math/trunc.d.ts.map +1 -0
  161. package/esm/docs/en/docs/create-metrics/maql/math/trunc.js +36 -0
  162. package/esm/docs/en/docs/create-metrics/maql/ranking/percentile.d.ts +2 -0
  163. package/esm/docs/en/docs/create-metrics/maql/ranking/percentile.d.ts.map +1 -0
  164. package/esm/docs/en/docs/create-metrics/maql/ranking/percentile.js +57 -0
  165. package/esm/docs/en/docs/create-metrics/maql/ranking/rank-variations.d.ts +2 -0
  166. package/esm/docs/en/docs/create-metrics/maql/ranking/rank-variations.d.ts.map +1 -0
  167. package/esm/docs/en/docs/create-metrics/maql/ranking/rank-variations.js +90 -0
  168. package/esm/docs/en/docs/create-metrics/maql/ranking/where-top-or-bottom-in.d.ts +2 -0
  169. package/esm/docs/en/docs/create-metrics/maql/ranking/where-top-or-bottom-in.d.ts.map +1 -0
  170. package/esm/docs/en/docs/create-metrics/maql/ranking/where-top-or-bottom-in.js +53 -0
  171. package/esm/docs/en/docs/create-metrics/maql/ranking/where-top-or-bottom-of.d.ts +2 -0
  172. package/esm/docs/en/docs/create-metrics/maql/ranking/where-top-or-bottom-of.d.ts.map +1 -0
  173. package/esm/docs/en/docs/create-metrics/maql/ranking/where-top-or-bottom-of.js +29 -0
  174. package/esm/docs/en/docs/create-metrics/maql/ranking/within-clause.d.ts +2 -0
  175. package/esm/docs/en/docs/create-metrics/maql/ranking/within-clause.d.ts.map +1 -0
  176. package/esm/docs/en/docs/create-metrics/maql/ranking/within-clause.js +101 -0
  177. package/esm/docs/en/docs/create-metrics/maql/relational-operators.d.ts +2 -0
  178. package/esm/docs/en/docs/create-metrics/maql/relational-operators.d.ts.map +1 -0
  179. package/esm/docs/en/docs/create-metrics/maql/relational-operators.js +50 -0
  180. package/esm/docs/en/docs/create-metrics/maql/runing-totals/rolling-window.d.ts +2 -0
  181. package/esm/docs/en/docs/create-metrics/maql/runing-totals/rolling-window.d.ts.map +1 -0
  182. package/esm/docs/en/docs/create-metrics/maql/runing-totals/rolling-window.js +71 -0
  183. package/esm/docs/en/docs/create-metrics/maql/runing-totals/running-total-statistical-functions.d.ts +2 -0
  184. package/esm/docs/en/docs/create-metrics/maql/runing-totals/running-total-statistical-functions.d.ts.map +1 -0
  185. package/esm/docs/en/docs/create-metrics/maql/runing-totals/running-total-statistical-functions.js +54 -0
  186. package/esm/docs/en/docs/create-metrics/maql/runing-totals/running-totals-for-core-functions.d.ts +2 -0
  187. package/esm/docs/en/docs/create-metrics/maql/runing-totals/running-totals-for-core-functions.d.ts.map +1 -0
  188. package/esm/docs/en/docs/create-metrics/maql/runing-totals/running-totals-for-core-functions.js +37 -0
  189. package/esm/docs/en/docs/create-metrics/maql/statistic/correl.d.ts +2 -0
  190. package/esm/docs/en/docs/create-metrics/maql/statistic/correl.d.ts.map +1 -0
  191. package/esm/docs/en/docs/create-metrics/maql/statistic/correl.js +47 -0
  192. package/esm/docs/en/docs/create-metrics/maql/statistic/covariance-functions.d.ts +2 -0
  193. package/esm/docs/en/docs/create-metrics/maql/statistic/covariance-functions.d.ts.map +1 -0
  194. package/esm/docs/en/docs/create-metrics/maql/statistic/covariance-functions.js +46 -0
  195. package/esm/docs/en/docs/create-metrics/maql/statistic/forecast.d.ts +2 -0
  196. package/esm/docs/en/docs/create-metrics/maql/statistic/forecast.d.ts.map +1 -0
  197. package/esm/docs/en/docs/create-metrics/maql/statistic/forecast.js +74 -0
  198. package/esm/docs/en/docs/create-metrics/maql/statistic/least-squares-functions.d.ts +2 -0
  199. package/esm/docs/en/docs/create-metrics/maql/statistic/least-squares-functions.d.ts.map +1 -0
  200. package/esm/docs/en/docs/create-metrics/maql/statistic/least-squares-functions.js +44 -0
  201. package/esm/docs/en/docs/create-metrics/maql/statistic/standard-deviation-functions.d.ts +2 -0
  202. package/esm/docs/en/docs/create-metrics/maql/statistic/standard-deviation-functions.d.ts.map +1 -0
  203. package/esm/docs/en/docs/create-metrics/maql/statistic/standard-deviation-functions.js +88 -0
  204. package/esm/docs/en/docs/create-metrics/maql/statistic/variance-functions.d.ts +2 -0
  205. package/esm/docs/en/docs/create-metrics/maql/statistic/variance-functions.d.ts.map +1 -0
  206. package/esm/docs/en/docs/create-metrics/maql/statistic/variance-functions.js +54 -0
  207. package/esm/docs/en/docs/create-metrics/maql/time/for-each.d.ts +2 -0
  208. package/esm/docs/en/docs/create-metrics/maql/time/for-each.d.ts.map +1 -0
  209. package/esm/docs/en/docs/create-metrics/maql/time/for-each.js +96 -0
  210. package/esm/docs/en/docs/create-metrics/maql/time/for-next-period.d.ts +2 -0
  211. package/esm/docs/en/docs/create-metrics/maql/time/for-next-period.d.ts.map +1 -0
  212. package/esm/docs/en/docs/create-metrics/maql/time/for-next-period.js +38 -0
  213. package/esm/docs/en/docs/create-metrics/maql/time/for-next.d.ts +2 -0
  214. package/esm/docs/en/docs/create-metrics/maql/time/for-next.d.ts.map +1 -0
  215. package/esm/docs/en/docs/create-metrics/maql/time/for-next.js +27 -0
  216. package/esm/docs/en/docs/create-metrics/maql/time/for-previous-period.d.ts +2 -0
  217. package/esm/docs/en/docs/create-metrics/maql/time/for-previous-period.d.ts.map +1 -0
  218. package/esm/docs/en/docs/create-metrics/maql/time/for-previous-period.js +26 -0
  219. package/esm/docs/en/docs/create-metrics/maql/time/for-previous.d.ts +2 -0
  220. package/esm/docs/en/docs/create-metrics/maql/time/for-previous.d.ts.map +1 -0
  221. package/esm/docs/en/docs/create-metrics/maql/time/for-previous.js +30 -0
  222. package/esm/docs/en/docs/create-metrics/maql/time/functions-for-referring-to-past-time-periods.d.ts +2 -0
  223. package/esm/docs/en/docs/create-metrics/maql/time/functions-for-referring-to-past-time-periods.d.ts.map +1 -0
  224. package/esm/docs/en/docs/create-metrics/maql/time/functions-for-referring-to-past-time-periods.js +36 -0
  225. package/esm/docs/en/docs/create-metrics/maql/time-arithmetics/datetime-add.d.ts +2 -0
  226. package/esm/docs/en/docs/create-metrics/maql/time-arithmetics/datetime-add.d.ts.map +1 -0
  227. package/esm/docs/en/docs/create-metrics/maql/time-arithmetics/datetime-add.js +53 -0
  228. package/esm/docs/en/docs/create-metrics/maql/time-arithmetics/datetime-diff.d.ts +2 -0
  229. package/esm/docs/en/docs/create-metrics/maql/time-arithmetics/datetime-diff.d.ts.map +1 -0
  230. package/esm/docs/en/docs/create-metrics/maql/time-arithmetics/datetime-diff.js +55 -0
  231. package/esm/docs/en/docs/create-metrics/maql/time-macros.d.ts +2 -0
  232. package/esm/docs/en/docs/create-metrics/maql/time-macros.d.ts.map +1 -0
  233. package/esm/docs/en/docs/create-metrics/maql/time-macros.js +79 -0
  234. package/esm/docs/index.d.ts +77 -0
  235. package/esm/docs/index.d.ts.map +1 -0
  236. package/esm/docs/index.js +141 -0
  237. package/esm/findObjects.d.ts +13 -0
  238. package/esm/findObjects.d.ts.map +1 -0
  239. package/esm/findObjects.js +72 -0
  240. package/esm/format.d.ts +4 -0
  241. package/esm/format.d.ts.map +1 -0
  242. package/esm/format.js +581 -0
  243. package/esm/highlight/convert.d.ts +3 -0
  244. package/esm/highlight/convert.d.ts.map +1 -0
  245. package/esm/highlight/convert.js +12 -0
  246. package/esm/highlight/semanticsHighlight.d.ts +29 -0
  247. package/esm/highlight/semanticsHighlight.d.ts.map +1 -0
  248. package/esm/highlight/semanticsHighlight.js +326 -0
  249. package/esm/highlight/utils.d.ts +3 -0
  250. package/esm/highlight/utils.d.ts.map +1 -0
  251. package/esm/highlight/utils.js +14 -0
  252. package/esm/hover.d.ts +17 -0
  253. package/esm/hover.d.ts.map +1 -0
  254. package/esm/hover.js +60 -0
  255. package/esm/index.d.ts +9 -0
  256. package/esm/index.d.ts.map +1 -0
  257. package/esm/index.js +7 -0
  258. package/esm/labelElements.d.ts +22 -0
  259. package/esm/labelElements.d.ts.map +1 -0
  260. package/esm/labelElements.js +225 -0
  261. package/esm/maqlLanguageService.d.ts +51 -0
  262. package/esm/maqlLanguageService.d.ts.map +1 -0
  263. package/esm/maqlLanguageService.js +102 -0
  264. package/esm/maqlObjectTypes.d.ts +15 -0
  265. package/esm/maqlObjectTypes.d.ts.map +1 -0
  266. package/esm/maqlObjectTypes.js +28 -0
  267. package/esm/maqlServer.d.ts +4 -0
  268. package/esm/maqlServer.d.ts.map +1 -0
  269. package/esm/maqlServer.js +78 -0
  270. package/esm/metadata/model.d.ts +116 -0
  271. package/esm/metadata/model.d.ts.map +1 -0
  272. package/esm/metadata/model.js +137 -0
  273. package/esm/metadata/parameters.d.ts +16 -0
  274. package/esm/metadata/parameters.d.ts.map +1 -0
  275. package/esm/metadata/parameters.js +38 -0
  276. package/esm/metadata/types.d.ts +14 -0
  277. package/esm/metadata/types.d.ts.map +1 -0
  278. package/esm/metadata/types.js +2 -0
  279. package/esm/metadataService.d.ts +50 -0
  280. package/esm/metadataService.d.ts.map +1 -0
  281. package/esm/metadataService.js +156 -0
  282. package/esm/node/main.d.ts +2 -0
  283. package/esm/node/main.d.ts.map +1 -0
  284. package/esm/node/main.js +18 -0
  285. package/esm/parameterConstraints.d.ts +5 -0
  286. package/esm/parameterConstraints.d.ts.map +1 -0
  287. package/esm/parameterConstraints.js +198 -0
  288. package/esm/parseMaql.d.ts +43 -0
  289. package/esm/parseMaql.d.ts.map +1 -0
  290. package/esm/parseMaql.js +97 -0
  291. package/esm/renderParameters.d.ts +33 -0
  292. package/esm/renderParameters.d.ts.map +1 -0
  293. package/esm/renderParameters.js +72 -0
  294. package/esm/tests/metadata.test.helpers.d.ts +8 -0
  295. package/esm/tests/metadata.test.helpers.d.ts.map +1 -0
  296. package/esm/tests/metadata.test.helpers.js +468 -0
  297. package/esm/tokenRanges.d.ts +36 -0
  298. package/esm/tokenRanges.d.ts.map +1 -0
  299. package/esm/tokenRanges.js +54 -0
  300. package/esm/types/hierarchy.d.ts +37 -0
  301. package/esm/types/hierarchy.d.ts.map +1 -0
  302. package/esm/types/hierarchy.js +165 -0
  303. package/esm/types/signatures.d.ts +40 -0
  304. package/esm/types/signatures.d.ts.map +1 -0
  305. package/esm/types/signatures.js +142 -0
  306. package/esm/types/typeChecking.d.ts +56 -0
  307. package/esm/types/typeChecking.d.ts.map +1 -0
  308. package/esm/types/typeChecking.js +296 -0
  309. package/esm/types/typeModel.d.ts +18 -0
  310. package/esm/types/typeModel.d.ts.map +1 -0
  311. package/esm/types/typeModel.js +84 -0
  312. package/package.json +89 -3
@@ -0,0 +1,468 @@
1
+ // (C) 2021-2026 GoodData Corporation
2
+ import { tigerIdTypeToObjectType } from "@gooddata/sdk-backend-tiger";
3
+ import { serializeObjRef } from "@gooddata/sdk-model";
4
+ import { docsIndex } from "../docs/index.js";
5
+ import { LdmObjects, } from "../metadata/model.js";
6
+ export const ldmObjects = new LdmObjects([
7
+ {
8
+ type: "attribute",
9
+ attribute: {
10
+ type: "attribute",
11
+ id: "3",
12
+ title: "attribute title",
13
+ description: "attribute description",
14
+ production: false,
15
+ deprecated: false,
16
+ unlisted: false,
17
+ uri: "",
18
+ ref: {
19
+ type: "attribute",
20
+ identifier: "3",
21
+ },
22
+ displayForms: [],
23
+ },
24
+ groups: [],
25
+ displayForms: [
26
+ {
27
+ attribute: {
28
+ type: "attribute",
29
+ identifier: "3",
30
+ },
31
+ type: "displayForm",
32
+ id: "4",
33
+ title: "label title",
34
+ description: "label description",
35
+ production: false,
36
+ deprecated: false,
37
+ unlisted: false,
38
+ uri: "",
39
+ ref: {
40
+ type: "displayForm",
41
+ identifier: "4",
42
+ },
43
+ },
44
+ ],
45
+ defaultDisplayForm: {
46
+ attribute: {
47
+ type: "attribute",
48
+ identifier: "3",
49
+ },
50
+ type: "displayForm",
51
+ id: "4",
52
+ title: "label title",
53
+ description: "label description",
54
+ production: false,
55
+ deprecated: false,
56
+ unlisted: false,
57
+ uri: "",
58
+ ref: {
59
+ type: "displayForm",
60
+ identifier: "4",
61
+ },
62
+ },
63
+ geoPinDisplayForms: [],
64
+ },
65
+ ], [
66
+ {
67
+ type: "fact",
68
+ fact: {
69
+ type: "fact",
70
+ id: "1",
71
+ title: "fact title",
72
+ description: "fact description",
73
+ production: false,
74
+ deprecated: false,
75
+ unlisted: false,
76
+ uri: "",
77
+ ref: {
78
+ type: "fact",
79
+ identifier: "1",
80
+ },
81
+ },
82
+ groups: [],
83
+ },
84
+ {
85
+ type: "fact",
86
+ fact: {
87
+ type: "fact",
88
+ id: "2",
89
+ title: "fact 2 title",
90
+ description: "fact to be sliced",
91
+ production: false,
92
+ deprecated: false,
93
+ unlisted: false,
94
+ uri: "",
95
+ ref: {
96
+ type: "fact",
97
+ identifier: "2",
98
+ },
99
+ },
100
+ groups: [],
101
+ },
102
+ ], [
103
+ {
104
+ type: "measure",
105
+ measure: {
106
+ type: "measure",
107
+ id: "2",
108
+ title: "measure title",
109
+ description: "measure description",
110
+ expression: "SELECT SUM({fact/1})",
111
+ format: "",
112
+ production: false,
113
+ deprecated: false,
114
+ unlisted: false,
115
+ uri: "",
116
+ ref: {
117
+ type: "measure",
118
+ identifier: "2",
119
+ },
120
+ },
121
+ groups: [],
122
+ },
123
+ ], [
124
+ {
125
+ type: "parameter",
126
+ id: "topN",
127
+ title: "Top N",
128
+ description: "Top N parameter",
129
+ definition: {
130
+ type: "NUMBER",
131
+ defaultValue: 10,
132
+ },
133
+ production: false,
134
+ deprecated: false,
135
+ unlisted: false,
136
+ uri: "",
137
+ ref: {
138
+ type: "parameter",
139
+ identifier: "topN",
140
+ },
141
+ },
142
+ {
143
+ type: "parameter",
144
+ id: "scenario",
145
+ title: "Scenario",
146
+ description: "Scenario parameter",
147
+ definition: {
148
+ type: "STRING",
149
+ defaultValue: "actual",
150
+ constraints: {
151
+ allowedValues: [
152
+ { value: "actual" },
153
+ { value: "budget", title: "Budget" },
154
+ { value: "forecast" },
155
+ ],
156
+ },
157
+ },
158
+ production: false,
159
+ deprecated: false,
160
+ unlisted: false,
161
+ uri: "",
162
+ ref: {
163
+ type: "parameter",
164
+ identifier: "scenario",
165
+ },
166
+ },
167
+ {
168
+ type: "parameter",
169
+ id: "freetext",
170
+ title: "Free text",
171
+ description: "Free text parameter",
172
+ definition: {
173
+ type: "STRING",
174
+ defaultValue: "x",
175
+ },
176
+ production: false,
177
+ deprecated: false,
178
+ unlisted: false,
179
+ uri: "",
180
+ ref: {
181
+ type: "parameter",
182
+ identifier: "freetext",
183
+ },
184
+ },
185
+ ], [
186
+ {
187
+ type: "dateDataset",
188
+ relevance: 0,
189
+ dataSet: {
190
+ type: "dataSet",
191
+ ref: {
192
+ identifier: "date",
193
+ type: "dataSet",
194
+ },
195
+ id: "date",
196
+ title: "Date",
197
+ description: "",
198
+ uri: "",
199
+ deprecated: false,
200
+ production: true,
201
+ unlisted: false,
202
+ },
203
+ dateAttributes: [
204
+ {
205
+ granularity: "GDC.time.year",
206
+ attribute: {
207
+ type: "attribute",
208
+ ref: {
209
+ identifier: "date.year",
210
+ type: "attribute",
211
+ },
212
+ id: "date.year",
213
+ uri: "",
214
+ title: "Date - Year",
215
+ description: "Year",
216
+ deprecated: false,
217
+ production: true,
218
+ unlisted: false,
219
+ displayForms: [
220
+ {
221
+ type: "displayForm",
222
+ attribute: {
223
+ type: "attribute",
224
+ identifier: "date.year",
225
+ },
226
+ ref: {
227
+ identifier: "date.year",
228
+ type: "displayForm",
229
+ },
230
+ id: "date.year",
231
+ uri: "",
232
+ title: "Date - Year",
233
+ description: "Year",
234
+ deprecated: false,
235
+ production: true,
236
+ unlisted: false,
237
+ },
238
+ ],
239
+ },
240
+ defaultDisplayForm: {
241
+ type: "displayForm",
242
+ attribute: {
243
+ type: "attribute",
244
+ identifier: "date.year",
245
+ },
246
+ ref: {
247
+ identifier: "date.year",
248
+ type: "displayForm",
249
+ },
250
+ id: "date.year",
251
+ uri: "",
252
+ title: "Date - Year",
253
+ description: "Year",
254
+ deprecated: false,
255
+ production: true,
256
+ unlisted: false,
257
+ },
258
+ },
259
+ ],
260
+ },
261
+ ], [
262
+ {
263
+ id: "dataset",
264
+ title: "Dataset",
265
+ },
266
+ ]);
267
+ export const slicedLdmObjects = new LdmObjects([], [
268
+ {
269
+ type: "fact",
270
+ fact: {
271
+ type: "fact",
272
+ id: "1",
273
+ title: "fact title",
274
+ description: "fact description",
275
+ production: false,
276
+ deprecated: false,
277
+ unlisted: false,
278
+ uri: "",
279
+ ref: {
280
+ type: "fact",
281
+ identifier: "1",
282
+ },
283
+ },
284
+ groups: [],
285
+ },
286
+ ], [
287
+ {
288
+ type: "measure",
289
+ measure: {
290
+ type: "measure",
291
+ id: "2",
292
+ title: "measure title",
293
+ description: "measure description",
294
+ expression: "SELECT SUM({fact/1})",
295
+ format: "",
296
+ production: false,
297
+ deprecated: false,
298
+ unlisted: false,
299
+ uri: "",
300
+ ref: {
301
+ type: "measure",
302
+ identifier: "2",
303
+ },
304
+ },
305
+ groups: [],
306
+ },
307
+ ], [
308
+ {
309
+ type: "parameter",
310
+ id: "topN",
311
+ title: "Top N",
312
+ description: "Top N parameter",
313
+ definition: {
314
+ type: "NUMBER",
315
+ defaultValue: 10,
316
+ },
317
+ production: false,
318
+ deprecated: false,
319
+ unlisted: false,
320
+ uri: "",
321
+ ref: {
322
+ type: "parameter",
323
+ identifier: "topN",
324
+ },
325
+ },
326
+ ], [
327
+ {
328
+ type: "dateDataset",
329
+ relevance: 0,
330
+ dataSet: {
331
+ type: "dataSet",
332
+ ref: {
333
+ identifier: "date",
334
+ type: "dataSet",
335
+ },
336
+ id: "date",
337
+ title: "Date",
338
+ description: "",
339
+ uri: "",
340
+ deprecated: false,
341
+ production: true,
342
+ unlisted: false,
343
+ },
344
+ dateAttributes: [
345
+ {
346
+ granularity: "GDC.time.year",
347
+ attribute: {
348
+ type: "attribute",
349
+ ref: {
350
+ identifier: "date.year",
351
+ type: "attribute",
352
+ },
353
+ id: "date.year",
354
+ uri: "",
355
+ title: "Date - Year",
356
+ description: "Year",
357
+ deprecated: false,
358
+ production: true,
359
+ unlisted: false,
360
+ displayForms: [
361
+ {
362
+ type: "displayForm",
363
+ attribute: {
364
+ type: "attribute",
365
+ identifier: "date.year",
366
+ },
367
+ ref: {
368
+ identifier: "date.year",
369
+ type: "displayForm",
370
+ },
371
+ id: "date.year",
372
+ uri: "",
373
+ title: "Date - Year",
374
+ description: "Year",
375
+ deprecated: false,
376
+ production: true,
377
+ unlisted: false,
378
+ },
379
+ ],
380
+ },
381
+ defaultDisplayForm: {
382
+ type: "displayForm",
383
+ attribute: {
384
+ type: "attribute",
385
+ identifier: "date.year",
386
+ },
387
+ ref: {
388
+ identifier: "date.year",
389
+ type: "displayForm",
390
+ },
391
+ id: "date.year",
392
+ uri: "",
393
+ title: "Date - Year",
394
+ description: "Year",
395
+ deprecated: false,
396
+ production: true,
397
+ unlisted: false,
398
+ },
399
+ },
400
+ ],
401
+ },
402
+ ], [
403
+ {
404
+ id: "dataset",
405
+ title: "Dataset",
406
+ },
407
+ ]);
408
+ export const labelElementsFunction = function (labels, excluded, options) {
409
+ const rejected = [];
410
+ const elements = labels
411
+ .map((label) => {
412
+ const els = mockLabelElements.get(serializeObjRef(label.ref));
413
+ if (!els) {
414
+ rejected.push(label);
415
+ return [];
416
+ }
417
+ return els;
418
+ })
419
+ .flat()
420
+ .filter((element) =>
421
+ // simulates SQL LIKE operator
422
+ element.title && options.filter
423
+ ? new RegExp(`.*${options.filter.toLowerCase()}.*`).test(element.title.toLowerCase())
424
+ : true)
425
+ .filter((element) => {
426
+ const els = options.elements;
427
+ return els?.values?.includes(element.uri) ?? true;
428
+ })
429
+ .filter((element) => element.title === null || !excluded.includes(element.title));
430
+ return Promise.resolve({
431
+ list: {
432
+ elements,
433
+ isIncomplete: false,
434
+ },
435
+ rejected: rejected,
436
+ });
437
+ };
438
+ export const mockLabelElements = new Map([
439
+ [
440
+ serializeObjRef({ type: tigerIdTypeToObjectType["label"], identifier: "4" }),
441
+ [
442
+ labelElement("Apricot"),
443
+ labelElement("Banana"),
444
+ labelElement("Coconut"),
445
+ labelElement("Cockatrice"),
446
+ labelElement("Date"),
447
+ labelElement("Locomotive"),
448
+ ],
449
+ ],
450
+ [
451
+ serializeObjRef({ type: tigerIdTypeToObjectType["label"], identifier: "special" }),
452
+ [
453
+ labelElement('hello "example" world'),
454
+ labelElement("goodbye\nworld"),
455
+ labelElement('Middle-quoted\\"title'),
456
+ ],
457
+ ],
458
+ ]);
459
+ function labelElement(title, uri) {
460
+ return {
461
+ title: title,
462
+ uri: uri ?? title,
463
+ };
464
+ }
465
+ const locale = "en-us";
466
+ export const docs = (resolveTag) => {
467
+ return Promise.resolve(docsIndex[locale][resolveTag]);
468
+ };
@@ -0,0 +1,36 @@
1
+ import { type Token } from "antlr4ts";
2
+ import { type Range } from "vscode-languageserver";
3
+ import { type IRange } from "@gooddata/maql-antlr4ts";
4
+ import { type ITigerMetadataObject, type ITigerMetadataObjectStub } from "./metadata/model.js";
5
+ export type MetadataObjectAndRange = ITigerMetadataObject & {
6
+ range: Range;
7
+ };
8
+ export interface IOperand {
9
+ readonly range: AntlrRange;
10
+ }
11
+ export interface IMaqlObject extends IOperand, ITigerMetadataObjectStub {
12
+ readonly actualType: string;
13
+ }
14
+ export interface IMaqlString extends IOperand {
15
+ readonly string: string;
16
+ }
17
+ export interface IMaqlTimeMacro extends IOperand {
18
+ readonly transformationFunction: string;
19
+ readonly granularity: string;
20
+ }
21
+ export declare function isMaqlObject(obj: IOperand): obj is IMaqlObject;
22
+ export declare function isMaqlString(obj: IOperand): obj is IMaqlString;
23
+ export declare function isMaqlTimeMacro(obj: IOperand): obj is IMaqlTimeMacro;
24
+ export declare function tokenRange(token: Token): Range;
25
+ export declare function defaultRange(line: number, character: number, endLine?: number, endCharacter?: number): Range;
26
+ export declare function antlrContextRange(start: Token, stop?: Token): AntlrRange;
27
+ export declare class AntlrRange {
28
+ readonly startLine: number;
29
+ readonly startCharacter: number;
30
+ readonly endLine: number;
31
+ readonly endCharacter: number;
32
+ constructor(startLine: number, startCharacter: number, endLine?: number, endCharacter?: number);
33
+ static fromAstRange(astRange: IRange): AntlrRange;
34
+ toRange(): Range;
35
+ }
36
+ //# sourceMappingURL=tokenRanges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenRanges.d.ts","sourceRoot":"","sources":["../src/tokenRanges.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/F,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE7E,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC9B;AACD,MAAM,WAAW,WAAY,SAAQ,QAAQ,EAAE,wBAAwB;IACnE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,WAAW,CAE9D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,WAAW,CAE9D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,cAAc,CAEpE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAY9C;AAED,wBAAgB,YAAY,CACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAa,EACtB,YAAY,GAAE,MAAkB,GACjC,KAAK,CASP;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,KAAa,GAAG,UAAU,CAO/E;AAED,qBAAa,UAAU;IAEf,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAJjC,YACa,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,MAAkB,EAC3B,YAAY,GAAE,MAAuB,EAC9C;IAEJ,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,cAOnC;IAED,OAAO,IAAI,KAAK,CAEf;CACJ"}
@@ -0,0 +1,54 @@
1
+ // (C) 2021-2026 GoodData Corporation
2
+ export function isMaqlObject(obj) {
3
+ return "actualType" in obj;
4
+ }
5
+ export function isMaqlString(obj) {
6
+ return "string" in obj;
7
+ }
8
+ export function isMaqlTimeMacro(obj) {
9
+ return "transformationFunction" in obj && "granularity" in obj;
10
+ }
11
+ export function tokenRange(token) {
12
+ // subtract one line to change to indexing from zero
13
+ // subtract one more for the added "parse metric" line
14
+ const startLine = token.line - 2;
15
+ const startCharacter = token.charPositionInLine;
16
+ const lines = token.text?.split("\n") ?? [""];
17
+ const endLine = startLine + lines.length - 1;
18
+ const endCharacter = lines[lines.length - 1].length + (startLine === endLine ? startCharacter : 0);
19
+ return {
20
+ start: { line: startLine, character: startCharacter },
21
+ end: { line: endLine, character: endCharacter },
22
+ };
23
+ }
24
+ export function defaultRange(line, character, endLine = line, endCharacter = character) {
25
+ // subtract one line to change to indexing from zero
26
+ // subtract one more for the added "parse metric" line
27
+ line = line - 2;
28
+ endLine = endLine - 2;
29
+ return {
30
+ start: { line: line, character: character },
31
+ end: { line: endLine, character: endCharacter },
32
+ };
33
+ }
34
+ export function antlrContextRange(start, stop = start) {
35
+ return new AntlrRange(start.line, start.charPositionInLine, stop.line, stop.charPositionInLine + (stop.text?.length ?? 1));
36
+ }
37
+ export class AntlrRange {
38
+ startLine;
39
+ startCharacter;
40
+ endLine;
41
+ endCharacter;
42
+ constructor(startLine, startCharacter, endLine = startLine, endCharacter = startCharacter) {
43
+ this.startLine = startLine;
44
+ this.startCharacter = startCharacter;
45
+ this.endLine = endLine;
46
+ this.endCharacter = endCharacter;
47
+ }
48
+ static fromAstRange(astRange) {
49
+ return new AntlrRange(astRange.start.line + 1, astRange.start.character, astRange.end.line + 1, astRange.end.character);
50
+ }
51
+ toRange() {
52
+ return defaultRange(this.startLine, this.startCharacter, this.endLine, this.endCharacter);
53
+ }
54
+ }
@@ -0,0 +1,37 @@
1
+ export declare enum MaqlType {
2
+ /** Top type (supertype of all types) */
3
+ ANY = 0,
4
+ /** Abstract granularity type */
5
+ GRANULARITY = 1,
6
+ PERIODICAL_GRANULARITY = 2,
7
+ CHRONOLOGICAL_GRANULARITY = 3,
8
+ /** Abstract numeric type - facts, numbers, null */
9
+ NUMERIC = 4,
10
+ /** Abstract string type - labels, strings, null */
11
+ STRING = 5,
12
+ /** Abstract date type - date labels, date strings, null */
13
+ DATE = 6,
14
+ /** Intersection of string and date, can be used as both */
15
+ STRING_AND_DATE = 7,
16
+ NUMERIC_LITERAL = 8,
17
+ INTEGER_LITERAL = 9,
18
+ STRING_LITERAL = 10,
19
+ NULL_LITERAL = 11,
20
+ DATASET = 12,
21
+ BOOLEAN = 13,
22
+ /** Unit type - used for statements */
23
+ UNIT = 14,
24
+ /** Bottom type (subtype of all types) - used for unresolvable nodes */
25
+ ALL = 15
26
+ }
27
+ /**
28
+ * Types representing values, such as numbers, texts, timestamps etc.
29
+ */
30
+ export declare const abstractValueTypes: readonly [MaqlType.NUMERIC, MaqlType.STRING, MaqlType.DATE];
31
+ /**
32
+ * Solves the lowest common ancestor (LCA) problem on the MAQL type hierarchy tree for the types `t1` and `t2`
33
+ * Complexity: O(n*b) where n = number of types, b = branching factor (average number of subtypes per type)
34
+ */
35
+ export declare function lowestCommonAncestor(t1: MaqlType, t2: MaqlType): MaqlType;
36
+ export declare function isSubtype(type: MaqlType, supertype: MaqlType): boolean;
37
+ //# sourceMappingURL=hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../src/types/hierarchy.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IAChB,wCAAwC;IACxC,GAAG,IAAA;IACH,gCAAgC;IAChC,WAAW,IAAA;IACX,sBAAsB,IAAA;IACtB,yBAAyB,IAAA;IACzB,mDAAmD;IACnD,OAAO,IAAA;IACP,mDAAmD;IACnD,MAAM,IAAA;IACN,2DAA2D;IAC3D,IAAI,IAAA;IACJ,2DAA2D;IAC3D,eAAe,IAAA;IACf,eAAe,IAAA;IACf,eAAe,IAAA;IACf,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,OAAO,KAAA;IACP,OAAO,KAAA;IACP,sCAAsC;IACtC,IAAI,KAAA;IACJ,uEAAuE;IACvE,GAAG,KAAA;CACN;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,6DAA8D,CAAC;AA2I9F;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CASzE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,CAMtE"}