@qrvey/formula-lang 2.0.2 → 3.0.1-rc.704

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 (355) hide show
  1. package/dist/cjs/constants/index.d.ts +10 -2
  2. package/dist/cjs/constants/index.js +15 -1
  3. package/dist/cjs/constants/index.js.map +1 -1
  4. package/dist/cjs/constants/interfaces.d.ts +20 -2
  5. package/dist/cjs/errors/analyzer/index.js +2 -0
  6. package/dist/cjs/errors/analyzer/index.js.map +1 -1
  7. package/dist/cjs/errors/analyzer/mssql.d.ts +8 -0
  8. package/dist/cjs/errors/analyzer/mssql.js +26 -0
  9. package/dist/cjs/errors/analyzer/mssql.js.map +1 -0
  10. package/dist/cjs/errors/definitions.d.ts +12 -0
  11. package/dist/cjs/errors/definitions.js +22 -1
  12. package/dist/cjs/errors/definitions.js.map +1 -1
  13. package/dist/cjs/errors/dictionary.d.ts +4 -1
  14. package/dist/cjs/errors/dictionary.js +15 -0
  15. package/dist/cjs/errors/dictionary.js.map +1 -1
  16. package/dist/cjs/errors/mismatch.js +2 -2
  17. package/dist/cjs/errors/mismatch.js.map +1 -1
  18. package/dist/cjs/functions/abs.js +6 -0
  19. package/dist/cjs/functions/abs.js.map +1 -1
  20. package/dist/cjs/functions/aggAvg.d.ts +5 -0
  21. package/dist/cjs/functions/aggAvg.js +53 -0
  22. package/dist/cjs/functions/aggAvg.js.map +1 -0
  23. package/dist/cjs/functions/aggCount.d.ts +5 -0
  24. package/dist/cjs/functions/aggCount.js +53 -0
  25. package/dist/cjs/functions/aggCount.js.map +1 -0
  26. package/dist/cjs/functions/aggDistcount.d.ts +5 -0
  27. package/dist/cjs/functions/aggDistcount.js +53 -0
  28. package/dist/cjs/functions/aggDistcount.js.map +1 -0
  29. package/dist/cjs/functions/aggMax.d.ts +5 -0
  30. package/dist/cjs/functions/aggMax.js +53 -0
  31. package/dist/cjs/functions/aggMax.js.map +1 -0
  32. package/dist/cjs/functions/aggMed.d.ts +5 -0
  33. package/dist/cjs/functions/aggMed.js +53 -0
  34. package/dist/cjs/functions/aggMed.js.map +1 -0
  35. package/dist/cjs/functions/aggMin.d.ts +5 -0
  36. package/dist/cjs/functions/aggMin.js +53 -0
  37. package/dist/cjs/functions/aggMin.js.map +1 -0
  38. package/dist/cjs/functions/aggSum.d.ts +5 -0
  39. package/dist/cjs/functions/aggSum.js +53 -0
  40. package/dist/cjs/functions/aggSum.js.map +1 -0
  41. package/dist/cjs/functions/and.js +6 -0
  42. package/dist/cjs/functions/and.js.map +1 -1
  43. package/dist/cjs/functions/concatenate.js +6 -0
  44. package/dist/cjs/functions/concatenate.js.map +1 -1
  45. package/dist/cjs/functions/dateadd.js +24 -0
  46. package/dist/cjs/functions/dateadd.js.map +1 -1
  47. package/dist/cjs/functions/datedif.js +11 -1
  48. package/dist/cjs/functions/datedif.js.map +1 -1
  49. package/dist/cjs/functions/datesubtract.js +24 -0
  50. package/dist/cjs/functions/datesubtract.js.map +1 -1
  51. package/dist/cjs/functions/day.js +6 -0
  52. package/dist/cjs/functions/day.js.map +1 -1
  53. package/dist/cjs/functions/dayofweek.js +15 -0
  54. package/dist/cjs/functions/dayofweek.js.map +1 -1
  55. package/dist/cjs/functions/even.js +6 -0
  56. package/dist/cjs/functions/even.js.map +1 -1
  57. package/dist/cjs/functions/exp.js +6 -0
  58. package/dist/cjs/functions/exp.js.map +1 -1
  59. package/dist/cjs/functions/hour.js +15 -0
  60. package/dist/cjs/functions/hour.js.map +1 -1
  61. package/dist/cjs/functions/if.js +14 -2
  62. package/dist/cjs/functions/if.js.map +1 -1
  63. package/dist/cjs/functions/ifs.js +14 -2
  64. package/dist/cjs/functions/ifs.js.map +1 -1
  65. package/dist/cjs/functions/include.js +6 -0
  66. package/dist/cjs/functions/include.js.map +1 -1
  67. package/dist/cjs/functions/index.d.ts +2 -0
  68. package/dist/cjs/functions/index.js +20 -1
  69. package/dist/cjs/functions/index.js.map +1 -1
  70. package/dist/cjs/functions/isNull.js +12 -2
  71. package/dist/cjs/functions/isNull.js.map +1 -1
  72. package/dist/cjs/functions/left.js +13 -0
  73. package/dist/cjs/functions/left.js.map +1 -1
  74. package/dist/cjs/functions/length.js +9 -0
  75. package/dist/cjs/functions/length.js.map +1 -1
  76. package/dist/cjs/functions/log.js +10 -1
  77. package/dist/cjs/functions/log.js.map +1 -1
  78. package/dist/cjs/functions/lower.js +6 -0
  79. package/dist/cjs/functions/lower.js.map +1 -1
  80. package/dist/cjs/functions/max.js +6 -0
  81. package/dist/cjs/functions/max.js.map +1 -1
  82. package/dist/cjs/functions/mid.js +20 -0
  83. package/dist/cjs/functions/mid.js.map +1 -1
  84. package/dist/cjs/functions/millisecond.js +10 -0
  85. package/dist/cjs/functions/millisecond.js.map +1 -1
  86. package/dist/cjs/functions/min.js +7 -0
  87. package/dist/cjs/functions/min.js.map +1 -1
  88. package/dist/cjs/functions/minute.js +6 -0
  89. package/dist/cjs/functions/minute.js.map +1 -1
  90. package/dist/cjs/functions/month.js +6 -0
  91. package/dist/cjs/functions/month.js.map +1 -1
  92. package/dist/cjs/functions/now.d.ts +5 -0
  93. package/dist/cjs/functions/now.js +44 -0
  94. package/dist/cjs/functions/now.js.map +1 -0
  95. package/dist/cjs/functions/odd.js +6 -0
  96. package/dist/cjs/functions/odd.js.map +1 -1
  97. package/dist/cjs/functions/or.js +6 -0
  98. package/dist/cjs/functions/or.js.map +1 -1
  99. package/dist/cjs/functions/power.js +6 -0
  100. package/dist/cjs/functions/power.js.map +1 -1
  101. package/dist/cjs/functions/proper.js +18 -0
  102. package/dist/cjs/functions/proper.js.map +1 -1
  103. package/dist/cjs/functions/random.js +6 -0
  104. package/dist/cjs/functions/random.js.map +1 -1
  105. package/dist/cjs/functions/replace.js +6 -0
  106. package/dist/cjs/functions/replace.js.map +1 -1
  107. package/dist/cjs/functions/right.js +12 -0
  108. package/dist/cjs/functions/right.js.map +1 -1
  109. package/dist/cjs/functions/round.js +13 -1
  110. package/dist/cjs/functions/round.js.map +1 -1
  111. package/dist/cjs/functions/rounddown.js +11 -0
  112. package/dist/cjs/functions/rounddown.js.map +1 -1
  113. package/dist/cjs/functions/roundup.js +11 -0
  114. package/dist/cjs/functions/roundup.js.map +1 -1
  115. package/dist/cjs/functions/second.js +6 -0
  116. package/dist/cjs/functions/second.js.map +1 -1
  117. package/dist/cjs/functions/sqrt.js +6 -0
  118. package/dist/cjs/functions/sqrt.js.map +1 -1
  119. package/dist/cjs/functions/text.js +6 -0
  120. package/dist/cjs/functions/text.js.map +1 -1
  121. package/dist/cjs/functions/trim.js +6 -0
  122. package/dist/cjs/functions/trim.js.map +1 -1
  123. package/dist/cjs/functions/upper.js +6 -0
  124. package/dist/cjs/functions/upper.js.map +1 -1
  125. package/dist/cjs/functions/year.js +6 -0
  126. package/dist/cjs/functions/year.js.map +1 -1
  127. package/dist/cjs/index.d.ts +2 -2
  128. package/dist/cjs/index.js +4 -1
  129. package/dist/cjs/index.js.map +1 -1
  130. package/dist/cjs/parser/formula-parser.js +19 -5
  131. package/dist/cjs/parser/formula-parser.js.map +1 -1
  132. package/dist/cjs/parser/json-parser.js +51 -1
  133. package/dist/cjs/parser/json-parser.js.map +1 -1
  134. package/dist/cjs/parser/syntax-errors.js +1 -0
  135. package/dist/cjs/parser/syntax-errors.js.map +1 -1
  136. package/dist/cjs/transpiler/columnTranspilation.js +11 -0
  137. package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
  138. package/dist/cjs/transpiler/formulaErrorList.js.map +1 -1
  139. package/dist/cjs/transpiler/index.d.ts +1 -0
  140. package/dist/cjs/transpiler/index.js +17 -3
  141. package/dist/cjs/transpiler/index.js.map +1 -1
  142. package/dist/cjs/transpiler/validateFuncStructure.d.ts +4 -2
  143. package/dist/cjs/transpiler/validateFuncStructure.js +2 -1
  144. package/dist/cjs/transpiler/validateFuncStructure.js.map +1 -1
  145. package/dist/cjs/utils/addDecimalPointIfNeeded.js +1 -0
  146. package/dist/cjs/utils/addDecimalPointIfNeeded.js.map +1 -1
  147. package/dist/cjs/utils/aggregatedFunctions.d.ts +3 -0
  148. package/dist/cjs/utils/aggregatedFunctions.js +51 -0
  149. package/dist/cjs/utils/aggregatedFunctions.js.map +1 -0
  150. package/dist/cjs/utils/customFunctions.js +3 -0
  151. package/dist/cjs/utils/customFunctions.js.map +1 -1
  152. package/dist/cjs/utils/elasticsearch/index.js +2 -0
  153. package/dist/cjs/utils/elasticsearch/index.js.map +1 -1
  154. package/dist/cjs/utils/elasticsearch/scripts.d.ts +1 -0
  155. package/dist/cjs/utils/elasticsearch/scripts.js +8 -1
  156. package/dist/cjs/utils/elasticsearch/scripts.js.map +1 -1
  157. package/dist/cjs/utils/index.d.ts +3 -0
  158. package/dist/cjs/utils/index.js +7 -1
  159. package/dist/cjs/utils/index.js.map +1 -1
  160. package/dist/cjs/utils/isAColumn.d.ts +4 -1
  161. package/dist/cjs/utils/isAColumn.js +37 -1
  162. package/dist/cjs/utils/isAColumn.js.map +1 -1
  163. package/dist/cjs/utils/isAggregate.d.ts +4 -0
  164. package/dist/cjs/utils/isAggregate.js +21 -0
  165. package/dist/cjs/utils/isAggregate.js.map +1 -0
  166. package/dist/cjs/utils/mssql/index.d.ts +1 -0
  167. package/dist/cjs/utils/mssql/index.js +6 -0
  168. package/dist/cjs/utils/mssql/index.js.map +1 -0
  169. package/dist/cjs/utils/mssql/scripts.d.ts +2 -0
  170. package/dist/cjs/utils/mssql/scripts.js +20 -0
  171. package/dist/cjs/utils/mssql/scripts.js.map +1 -0
  172. package/dist/cjs/utils/sql/index.d.ts +1 -0
  173. package/dist/cjs/utils/sql/index.js +11 -1
  174. package/dist/cjs/utils/sql/index.js.map +1 -1
  175. package/dist/cjs/utils/sql/scripts.d.ts +1 -0
  176. package/dist/cjs/utils/sql/scripts.js +47 -2
  177. package/dist/cjs/utils/sql/scripts.js.map +1 -1
  178. package/dist/module/constants/index.d.ts +10 -2
  179. package/dist/module/constants/index.js +14 -0
  180. package/dist/module/constants/index.js.map +1 -1
  181. package/dist/module/constants/interfaces.d.ts +20 -2
  182. package/dist/module/errors/analyzer/index.js +2 -0
  183. package/dist/module/errors/analyzer/index.js.map +1 -1
  184. package/dist/module/errors/analyzer/mssql.d.ts +8 -0
  185. package/dist/module/errors/analyzer/mssql.js +22 -0
  186. package/dist/module/errors/analyzer/mssql.js.map +1 -0
  187. package/dist/module/errors/definitions.d.ts +12 -0
  188. package/dist/module/errors/definitions.js +18 -0
  189. package/dist/module/errors/definitions.js.map +1 -1
  190. package/dist/module/errors/dictionary.d.ts +4 -1
  191. package/dist/module/errors/dictionary.js +15 -0
  192. package/dist/module/errors/dictionary.js.map +1 -1
  193. package/dist/module/errors/mismatch.js +2 -2
  194. package/dist/module/errors/mismatch.js.map +1 -1
  195. package/dist/module/functions/abs.js +7 -1
  196. package/dist/module/functions/abs.js.map +1 -1
  197. package/dist/module/functions/aggAvg.d.ts +5 -0
  198. package/dist/module/functions/aggAvg.js +50 -0
  199. package/dist/module/functions/aggAvg.js.map +1 -0
  200. package/dist/module/functions/aggCount.d.ts +5 -0
  201. package/dist/module/functions/aggCount.js +50 -0
  202. package/dist/module/functions/aggCount.js.map +1 -0
  203. package/dist/module/functions/aggDistcount.d.ts +5 -0
  204. package/dist/module/functions/aggDistcount.js +50 -0
  205. package/dist/module/functions/aggDistcount.js.map +1 -0
  206. package/dist/module/functions/aggMax.d.ts +5 -0
  207. package/dist/module/functions/aggMax.js +50 -0
  208. package/dist/module/functions/aggMax.js.map +1 -0
  209. package/dist/module/functions/aggMed.d.ts +5 -0
  210. package/dist/module/functions/aggMed.js +50 -0
  211. package/dist/module/functions/aggMed.js.map +1 -0
  212. package/dist/module/functions/aggMin.d.ts +5 -0
  213. package/dist/module/functions/aggMin.js +50 -0
  214. package/dist/module/functions/aggMin.js.map +1 -0
  215. package/dist/module/functions/aggSum.d.ts +5 -0
  216. package/dist/module/functions/aggSum.js +50 -0
  217. package/dist/module/functions/aggSum.js.map +1 -0
  218. package/dist/module/functions/and.js +7 -1
  219. package/dist/module/functions/and.js.map +1 -1
  220. package/dist/module/functions/concatenate.js +7 -1
  221. package/dist/module/functions/concatenate.js.map +1 -1
  222. package/dist/module/functions/dateadd.js +25 -1
  223. package/dist/module/functions/dateadd.js.map +1 -1
  224. package/dist/module/functions/datedif.js +13 -3
  225. package/dist/module/functions/datedif.js.map +1 -1
  226. package/dist/module/functions/datesubtract.js +25 -1
  227. package/dist/module/functions/datesubtract.js.map +1 -1
  228. package/dist/module/functions/day.js +7 -1
  229. package/dist/module/functions/day.js.map +1 -1
  230. package/dist/module/functions/dayofweek.js +16 -1
  231. package/dist/module/functions/dayofweek.js.map +1 -1
  232. package/dist/module/functions/even.js +7 -1
  233. package/dist/module/functions/even.js.map +1 -1
  234. package/dist/module/functions/exp.js +7 -1
  235. package/dist/module/functions/exp.js.map +1 -1
  236. package/dist/module/functions/hour.js +16 -1
  237. package/dist/module/functions/hour.js.map +1 -1
  238. package/dist/module/functions/if.js +15 -3
  239. package/dist/module/functions/if.js.map +1 -1
  240. package/dist/module/functions/ifs.js +15 -3
  241. package/dist/module/functions/ifs.js.map +1 -1
  242. package/dist/module/functions/include.js +7 -1
  243. package/dist/module/functions/include.js.map +1 -1
  244. package/dist/module/functions/index.d.ts +2 -0
  245. package/dist/module/functions/index.js +19 -0
  246. package/dist/module/functions/index.js.map +1 -1
  247. package/dist/module/functions/isNull.js +13 -3
  248. package/dist/module/functions/isNull.js.map +1 -1
  249. package/dist/module/functions/left.js +14 -1
  250. package/dist/module/functions/left.js.map +1 -1
  251. package/dist/module/functions/length.js +10 -1
  252. package/dist/module/functions/length.js.map +1 -1
  253. package/dist/module/functions/log.js +11 -2
  254. package/dist/module/functions/log.js.map +1 -1
  255. package/dist/module/functions/lower.js +7 -1
  256. package/dist/module/functions/lower.js.map +1 -1
  257. package/dist/module/functions/max.js +7 -1
  258. package/dist/module/functions/max.js.map +1 -1
  259. package/dist/module/functions/mid.js +21 -1
  260. package/dist/module/functions/mid.js.map +1 -1
  261. package/dist/module/functions/millisecond.js +11 -1
  262. package/dist/module/functions/millisecond.js.map +1 -1
  263. package/dist/module/functions/min.js +8 -1
  264. package/dist/module/functions/min.js.map +1 -1
  265. package/dist/module/functions/minute.js +7 -1
  266. package/dist/module/functions/minute.js.map +1 -1
  267. package/dist/module/functions/month.js +7 -1
  268. package/dist/module/functions/month.js.map +1 -1
  269. package/dist/module/functions/now.d.ts +5 -0
  270. package/dist/module/functions/now.js +41 -0
  271. package/dist/module/functions/now.js.map +1 -0
  272. package/dist/module/functions/odd.js +7 -1
  273. package/dist/module/functions/odd.js.map +1 -1
  274. package/dist/module/functions/or.js +7 -1
  275. package/dist/module/functions/or.js.map +1 -1
  276. package/dist/module/functions/power.js +7 -1
  277. package/dist/module/functions/power.js.map +1 -1
  278. package/dist/module/functions/proper.js +19 -1
  279. package/dist/module/functions/proper.js.map +1 -1
  280. package/dist/module/functions/random.js +7 -1
  281. package/dist/module/functions/random.js.map +1 -1
  282. package/dist/module/functions/replace.js +7 -1
  283. package/dist/module/functions/replace.js.map +1 -1
  284. package/dist/module/functions/right.js +13 -1
  285. package/dist/module/functions/right.js.map +1 -1
  286. package/dist/module/functions/round.js +14 -2
  287. package/dist/module/functions/round.js.map +1 -1
  288. package/dist/module/functions/rounddown.js +12 -1
  289. package/dist/module/functions/rounddown.js.map +1 -1
  290. package/dist/module/functions/roundup.js +12 -1
  291. package/dist/module/functions/roundup.js.map +1 -1
  292. package/dist/module/functions/second.js +7 -1
  293. package/dist/module/functions/second.js.map +1 -1
  294. package/dist/module/functions/sqrt.js +7 -1
  295. package/dist/module/functions/sqrt.js.map +1 -1
  296. package/dist/module/functions/text.js +7 -1
  297. package/dist/module/functions/text.js.map +1 -1
  298. package/dist/module/functions/trim.js +7 -1
  299. package/dist/module/functions/trim.js.map +1 -1
  300. package/dist/module/functions/upper.js +7 -1
  301. package/dist/module/functions/upper.js.map +1 -1
  302. package/dist/module/functions/year.js +7 -1
  303. package/dist/module/functions/year.js.map +1 -1
  304. package/dist/module/index.d.ts +2 -2
  305. package/dist/module/index.js +2 -2
  306. package/dist/module/index.js.map +1 -1
  307. package/dist/module/parser/formula-parser.js +20 -6
  308. package/dist/module/parser/formula-parser.js.map +1 -1
  309. package/dist/module/parser/json-parser.js +53 -3
  310. package/dist/module/parser/json-parser.js.map +1 -1
  311. package/dist/module/parser/syntax-errors.js +1 -0
  312. package/dist/module/parser/syntax-errors.js.map +1 -1
  313. package/dist/module/transpiler/columnTranspilation.js +11 -0
  314. package/dist/module/transpiler/columnTranspilation.js.map +1 -1
  315. package/dist/module/transpiler/formulaErrorList.js.map +1 -1
  316. package/dist/module/transpiler/index.d.ts +1 -0
  317. package/dist/module/transpiler/index.js +19 -5
  318. package/dist/module/transpiler/index.js.map +1 -1
  319. package/dist/module/transpiler/validateFuncStructure.d.ts +4 -2
  320. package/dist/module/transpiler/validateFuncStructure.js +2 -1
  321. package/dist/module/transpiler/validateFuncStructure.js.map +1 -1
  322. package/dist/module/utils/addDecimalPointIfNeeded.js +1 -0
  323. package/dist/module/utils/addDecimalPointIfNeeded.js.map +1 -1
  324. package/dist/module/utils/aggregatedFunctions.d.ts +3 -0
  325. package/dist/module/utils/aggregatedFunctions.js +47 -0
  326. package/dist/module/utils/aggregatedFunctions.js.map +1 -0
  327. package/dist/module/utils/customFunctions.js +3 -0
  328. package/dist/module/utils/customFunctions.js.map +1 -1
  329. package/dist/module/utils/elasticsearch/index.js +3 -1
  330. package/dist/module/utils/elasticsearch/index.js.map +1 -1
  331. package/dist/module/utils/elasticsearch/scripts.d.ts +1 -0
  332. package/dist/module/utils/elasticsearch/scripts.js +7 -0
  333. package/dist/module/utils/elasticsearch/scripts.js.map +1 -1
  334. package/dist/module/utils/index.d.ts +3 -0
  335. package/dist/module/utils/index.js +3 -0
  336. package/dist/module/utils/index.js.map +1 -1
  337. package/dist/module/utils/isAColumn.d.ts +4 -1
  338. package/dist/module/utils/isAColumn.js +35 -1
  339. package/dist/module/utils/isAColumn.js.map +1 -1
  340. package/dist/module/utils/isAggregate.d.ts +4 -0
  341. package/dist/module/utils/isAggregate.js +15 -0
  342. package/dist/module/utils/isAggregate.js.map +1 -0
  343. package/dist/module/utils/mssql/index.d.ts +1 -0
  344. package/dist/module/utils/mssql/index.js +2 -0
  345. package/dist/module/utils/mssql/index.js.map +1 -0
  346. package/dist/module/utils/mssql/scripts.d.ts +2 -0
  347. package/dist/module/utils/mssql/scripts.js +15 -0
  348. package/dist/module/utils/mssql/scripts.js.map +1 -0
  349. package/dist/module/utils/sql/index.d.ts +1 -0
  350. package/dist/module/utils/sql/index.js +9 -0
  351. package/dist/module/utils/sql/index.js.map +1 -1
  352. package/dist/module/utils/sql/scripts.d.ts +1 -0
  353. package/dist/module/utils/sql/scripts.js +45 -1
  354. package/dist/module/utils/sql/scripts.js.map +1 -1
  355. package/package.json +5 -3
@@ -1,10 +1,12 @@
1
- import { ENGINES, AST_TYPES, RESPONSE_LEVEL, AST_PRIMITIVES, CUSTOM_PRIMITIVE, Primitive } from '.';
1
+ import { ENGINES, AST_TYPES, RESPONSE_LEVEL, AST_PRIMITIVES, CUSTOM_PRIMITIVE, Primitive, OPERATION_SCOPE } from '.';
2
2
  import { BaseError } from '../errors';
3
3
  interface FunctionElementDefinition {
4
4
  identifier: string;
5
5
  }
6
6
  export interface FunctionDefinition extends FunctionElementDefinition {
7
7
  recursiveStartIn?: number;
8
+ operationScope: OPERATION_SCOPE;
9
+ functionScope: Array<OPERATION_SCOPE>;
8
10
  transpiler: EnginesFunction;
9
11
  parameters?: Array<FunctionParameter>;
10
12
  primitiveResult: Primitive | ((args: CommonAST[]) => Primitive);
@@ -27,6 +29,7 @@ export interface ProcessNodeResult {
27
29
  export interface ValidatorParameterContext {
28
30
  fnNode: FunctionCallAST;
29
31
  argument: ProcessNodeResult;
32
+ globalContext?: FormulaContext;
30
33
  }
31
34
  export interface ValidatorFunctionParameter {
32
35
  (value: any, dataType: Primitive | undefined, context: ValidatorParameterContext): ValidatorResponse;
@@ -55,9 +58,17 @@ export interface TranspilationResponse {
55
58
  errors?: BaseError[];
56
59
  details?: TranspilationDetails;
57
60
  }
61
+ export interface AggregatedDefinition {
62
+ key: string;
63
+ columnId: string;
64
+ property?: string;
65
+ aggregate: string;
66
+ }
67
+ export type AggregateMap = Map<string, AggregatedDefinition>;
58
68
  interface TranspilationDetails {
59
69
  script: string | undefined;
60
70
  customFunctions: string | undefined;
71
+ paramsDefinitions?: Array<AggregatedDefinition>;
61
72
  }
62
73
  export interface FunctionList {
63
74
  [identifier: string]: FunctionDefinition;
@@ -69,6 +80,7 @@ export interface ProgramPosition {
69
80
  export interface CommonAST extends ProgramPosition {
70
81
  type: AST_TYPES;
71
82
  primitive: Primitive;
83
+ isValidAggregate?: boolean;
72
84
  }
73
85
  export interface ProgramAST extends CommonAST {
74
86
  exp: string;
@@ -92,6 +104,7 @@ export interface BinaryExpressionAST extends UnaryExpressionAST {
92
104
  export interface FunctionCallAST extends CommonAST {
93
105
  name: string;
94
106
  arguments: Array<CommonAST>;
107
+ functionScope: OPERATION_SCOPE;
95
108
  parenthesisStart: boolean;
96
109
  parenthesisEnd: boolean;
97
110
  functionText: string;
@@ -124,6 +137,7 @@ export interface VariableContextDefinition {
124
137
  export interface FormulaContext {
125
138
  model?: VariableContextDefinition[];
126
139
  currentFormulaId?: string;
140
+ currentInputScope?: OPERATION_SCOPE;
127
141
  timezone?: TimezoneDefinition;
128
142
  useSampleData?: boolean;
129
143
  sampleData?: any;
@@ -138,8 +152,12 @@ interface TimezoneDefinition {
138
152
  offset: string;
139
153
  }
140
154
  export type VariableASTType = AST_TYPES.variable | AST_TYPES.column | AST_TYPES.token | AST_TYPES.externalFormula;
155
+ export interface IsValidOrError {
156
+ isValid: boolean;
157
+ error?: BaseError;
158
+ }
141
159
  export type DateUnit = 'Y' | 'M' | 'D';
142
- export type DateDifUnitParam = DateUnit;
143
160
  export type DateTimeUnit = DateUnit | 'H' | 'MI' | 'S';
161
+ export type DateDifUnitParam = DateTimeUnit;
144
162
  export type DayOfWeekFormat = 'Day' | 'D';
145
163
  export {};
@@ -5,6 +5,7 @@ import { getInfo as elasticsearch } from './elasticsearch';
5
5
  import { getInfo as redshift } from './redshift';
6
6
  import { getInfo as postgresql } from './postgresql';
7
7
  import { getInfo as databricks } from './databricks';
8
+ import { getInfo as mssql } from './mssql';
8
9
  export function errorAnalyzer(engine, errorObj) {
9
10
  const info = {
10
11
  [ENGINES.ELASTICSEARCH]: elasticsearch,
@@ -12,6 +13,7 @@ export function errorAnalyzer(engine, errorObj) {
12
13
  [ENGINES.REDSHIFT]: redshift,
13
14
  [ENGINES.POSTGRESQL]: postgresql,
14
15
  [ENGINES.DATABRICKS]: databricks,
16
+ [ENGINES.MSSQL]: mssql,
15
17
  };
16
18
  const { errorList, messageList } = info[engine](errorObj);
17
19
  const currentError = analyzer(messageList, errorList);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAmB,gBAAgB,EAAc,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,UAAU,aAAa,CACzB,MAAe,EACf,QAAiB;IAEjB,MAAM,IAAI,GAAoB;QAC1B,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa;QACtC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS;QAC9B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ;QAC5B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU;QAChC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU;KACnC,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtD,uBACI,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,CAAC,OAAO,EAC9B,IAAI,EAAE,QAAQ,IACX,YAAY,EACjB;AACN,CAAC;AAED,SAAS,QAAQ,CACb,WAA0B,EAC1B,SAA2B;IAE3B,IAAI,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACtC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAmB,gBAAgB,EAAc,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,UAAU,aAAa,CACzB,MAAe,EACf,QAAiB;IAEjB,MAAM,IAAI,GAAoB;QAC1B,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa;QACtC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS;QAC9B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ;QAC5B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU;QAChC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU;QAChC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK;KACzB,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtD,uBACI,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,CAAC,OAAO,EAC9B,IAAI,EAAE,QAAQ,IACX,YAAY,EACjB;AACN,CAAC;AAED,SAAS,QAAQ,CACb,WAA0B,EAC1B,SAA2B;IAE3B,IAAI,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACtC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ERROR_LIST } from '../dictionary';
2
+ export declare function getInfo(errorObj: any): {
3
+ errorList: {
4
+ regex: RegExp;
5
+ value: ERROR_LIST;
6
+ }[];
7
+ messageList: any[];
8
+ };
@@ -0,0 +1,22 @@
1
+ import { ERROR_LIST } from '../dictionary';
2
+ export function getInfo(errorObj) {
3
+ const messageList = [];
4
+ const { hint: message, code } = errorObj;
5
+ messageList.push(message);
6
+ messageList.push(code);
7
+ return {
8
+ errorList,
9
+ messageList,
10
+ };
11
+ }
12
+ const errorList = [
13
+ {
14
+ regex: /No operator matches the given name and argument type.*/,
15
+ value: ERROR_LIST.unknownToken,
16
+ },
17
+ {
18
+ regex: /42703/,
19
+ value: ERROR_LIST.unknownToken,
20
+ },
21
+ ];
22
+ //# sourceMappingURL=mssql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mssql.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/mssql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IACzC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,wDAAwD;QAC/D,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
@@ -63,6 +63,18 @@ export declare class InferredPrimitiveError extends BaseError {
63
63
  expression: CommonAST;
64
64
  constructor(expression: CommonAST);
65
65
  }
66
+ export declare class RowFunctionRequiredError extends BaseError {
67
+ node: CommonAST;
68
+ constructor(node: CommonAST);
69
+ }
70
+ export declare class AggregatedFunctionRequiredError extends BaseError {
71
+ node: CommonAST;
72
+ constructor(node: CommonAST);
73
+ }
74
+ export declare class AggregatedPrimitiveMismatchError extends BaseError {
75
+ node: CommonAST;
76
+ constructor(node: CommonAST);
77
+ }
66
78
  export declare class CircularDependencyError extends BaseError {
67
79
  constructor();
68
80
  }
@@ -113,6 +113,24 @@ export class InferredPrimitiveError extends BaseError {
113
113
  this.expression = expression;
114
114
  }
115
115
  }
116
+ export class RowFunctionRequiredError extends BaseError {
117
+ constructor(node) {
118
+ super(ERROR_DICTIONARY[ERROR_LIST.rowFormulaRequired].code, ERROR_DICTIONARY[ERROR_LIST.rowFormulaRequired].message, node);
119
+ this.node = node;
120
+ }
121
+ }
122
+ export class AggregatedFunctionRequiredError extends BaseError {
123
+ constructor(node) {
124
+ super(ERROR_DICTIONARY[ERROR_LIST.aggregatedFormulaRequired].code, ERROR_DICTIONARY[ERROR_LIST.aggregatedFormulaRequired].message, node);
125
+ this.node = node;
126
+ }
127
+ }
128
+ export class AggregatedPrimitiveMismatchError extends BaseError {
129
+ constructor(node) {
130
+ super(ERROR_DICTIONARY[ERROR_LIST.aggregatedExpectedMismatch].code, ERROR_DICTIONARY[ERROR_LIST.aggregatedExpectedMismatch].message, node);
131
+ this.node = node;
132
+ }
133
+ }
116
134
  export class CircularDependencyError extends BaseError {
117
135
  constructor() {
118
136
  super(ERROR_DICTIONARY[ERROR_LIST.circularDependency].code, ERROR_DICTIONARY[ERROR_LIST.circularDependency].message);
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/errors/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAa7E,MAAM,OAAO,SAAU,SAAQ,KAAK;IAChC,YACW,IAAY,EACZ,OAAe,EACf,IAA8C;QAErD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAA0C;QAGrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,QAAQ;;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;SAC1C;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC5B,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE,CAAC;SAC7D;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC5B,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE,CAAC;SAC7D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACvC,YAAY,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO;QAC9D,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;CACJ;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC,YAAmB,IAAqB,EAAE,SAA0B;QAChE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QADhC,SAAI,GAAJ,IAAI,CAAiB;IAExC,CAAC;CACJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IACnD,YAAmB,IAAqB;QACpC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAD3C,SAAI,GAAJ,IAAI,CAAiB;IAExC,CAAC;CACJ;AAED,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC5C,YAAmB,IAAqB,EAAE,SAA0B;QAChE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QADR,SAAI,GAAJ,IAAI,CAAiB;IAExC,CAAC;CACJ;AAED,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IACrD,YACW,IAAqB,EACZ,SAAqC;;QAErD,KAAK,CAAC,IAAI,EAAE;YACR,OAAO,EAAE,MAAA,SAAS,CAAC,OAAO,mCAAI,EAAE;YAChC,IAAI,EAAE,MAAA,SAAS,CAAC,IAAI,mCAAI,UAAU,CAAC,OAAO;SAC7C,CAAC,CAAC;QANI,SAAI,GAAJ,IAAI,CAAiB;QACZ,cAAS,GAAT,SAAS,CAA4B;IAMzD,CAAC;CACJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IACnD,YACW,IAAqB,EACrB,SAA4B,EACnB,aAAqB;QAErC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAJ9C,SAAI,GAAJ,IAAI,CAAiB;QACrB,cAAS,GAAT,SAAS,CAAmB;QACnB,kBAAa,GAAb,aAAa,CAAQ;IAGzC,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC;CACJ;AAED,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IAClD,YAAmB,IAAiC;QAChD,KAAK,CACD,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,IAAI,EACpD,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,OAAO,EACvD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAA6B;IAMpD,CAAC;CACJ;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC5C,YAAmB,IAAgB;QAC/B,KAAK,CACD,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAC9C,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EACjD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAAY;IAMnC,CAAC;CACJ;AAED,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IACnD,YAAmB,IAA8C;QAC7D,KAAK,CACD,gBAAgB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,IAAI,EACrD,gBAAgB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,EACxD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAA0C;IAMjE,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAC,IAAI,CAAC,IAA4B,CAAC,IAAI,0CAAE,SAAS,CAAC;IAC9D,CAAC;IAED,IAAI,cAAc;;QACd,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAC;IACtC,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,SAAS;IAChD,YAAmB,IAAqB;QACpC,KAAK,CACD,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAClD,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,EACrD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAAiB;IAMxC,CAAC;CACJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAC/C,YACW,IAAqB,EACrB,iBAAoC,EAC3B,aAAqB;QAErC,KAAK,CACD,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,KAAI,EAAE,EAC7B,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,KAAI,EAAE,EAChC,IAAI,CACP,CAAC;QARK,SAAI,GAAJ,IAAI,CAAiB;QACrB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC3B,kBAAa,GAAb,aAAa,CAAQ;IAOzC,CAAC;CACJ;AAED,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IACjD,YAAmB,UAAqB;QACpC,KAAK,CACD,gBAAgB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,EACnD,gBAAgB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,OAAO,EACtD,UAAU,CACb,CAAC;QALa,eAAU,GAAV,UAAU,CAAW;IAMxC,CAAC;CACJ;AAED,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IAClD;QACI,KAAK,CACD,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,IAAI,EACpD,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAC1D,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/errors/definitions.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,10 @@ export declare enum ERROR_LIST {
22
22
  noColumnExpression = "noColumnExpression",
23
23
  functionArgumentsMismatch = "functionArgumentsMismatch",
24
24
  invalidAllowValue = "invalidAllowValue",
25
- circularDependency = "circularDependency"
25
+ circularDependency = "circularDependency",
26
+ rowFormulaRequired = "rowFormulaRequired",
27
+ aggregatedFormulaRequired = "aggregatedFormulaRequired",
28
+ aggregatedExpectedMismatch = "aggregatedExpectedMismatch"
26
29
  }
27
30
  type ErrorsType = {
28
31
  [key in ERROR_LIST]: ErrorDictionary;
@@ -24,6 +24,9 @@ export var ERROR_LIST;
24
24
  ERROR_LIST["functionArgumentsMismatch"] = "functionArgumentsMismatch";
25
25
  ERROR_LIST["invalidAllowValue"] = "invalidAllowValue";
26
26
  ERROR_LIST["circularDependency"] = "circularDependency";
27
+ ERROR_LIST["rowFormulaRequired"] = "rowFormulaRequired";
28
+ ERROR_LIST["aggregatedFormulaRequired"] = "aggregatedFormulaRequired";
29
+ ERROR_LIST["aggregatedExpectedMismatch"] = "aggregatedExpectedMismatch";
27
30
  })(ERROR_LIST || (ERROR_LIST = {}));
28
31
  export const ERROR_DICTIONARY = {
29
32
  [ERROR_LIST.arguments]: {
@@ -122,5 +125,17 @@ export const ERROR_DICTIONARY = {
122
125
  message: 'Circular dependency found',
123
126
  code: 'CIRCULAR_DEPENDENCY',
124
127
  },
128
+ [ERROR_LIST.rowFormulaRequired]: {
129
+ message: 'Required to return a Row formula. Instead, it returned an Aggregate formula.',
130
+ code: 'ROW_FORMULA_REQUIRED',
131
+ },
132
+ [ERROR_LIST.aggregatedFormulaRequired]: {
133
+ message: 'Column should be inside an aggregate function',
134
+ code: 'AGGREGATED_FORMULA_REQUIRED',
135
+ },
136
+ [ERROR_LIST.aggregatedExpectedMismatch]: {
137
+ message: 'Formula result should be a number',
138
+ code: 'AGG_PRIMITIVE_MISMATCH',
139
+ },
125
140
  };
126
141
  //# sourceMappingURL=dictionary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,11 @@ export class FunctionArgumentsMismatch extends FunctionError {
10
10
  }
11
11
  export function validateParameters(definition, args, validators = []) {
12
12
  const received = args.map((arg) => {
13
- const { from, to, primitive } = arg.node;
13
+ const { from, to, type, primitive } = arg.node;
14
14
  const singlePrimitive = isSinglePrimitive(primitive)
15
15
  ? primitive
16
16
  : AST_PRIMITIVES.UNKNOWN;
17
- return { from, to, primitive: singlePrimitive };
17
+ return { from, to, type, primitive: singlePrimitive };
18
18
  });
19
19
  const parameters = definition.parameters || [];
20
20
  const expected = [];
@@ -1 +1 @@
1
- {"version":3,"file":"mismatch.js","sourceRoot":"","sources":["../../../src/errors/mismatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mismatch.js","sourceRoot":"","sources":["../../../src/errors/mismatch.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isNumberParam } from '../utils';
3
3
  /**
4
4
  * `ABS` Returns the absolute value of a number.
5
5
  */
6
6
  export const ABS = {
7
7
  identifier: 'ABS',
8
+ operationScope: OPERATION_SCOPE.RAW,
9
+ functionScope: [OPERATION_SCOPE.RAW, OPERATION_SCOPE.AGGREGATE],
8
10
  parameters: [
9
11
  {
10
12
  identifier: 'VALUE',
@@ -19,6 +21,7 @@ export const ABS = {
19
21
  redshift,
20
22
  postgresql,
21
23
  databricks,
24
+ mssql,
22
25
  },
23
26
  primitiveResult: AST_PRIMITIVES.NUMBER,
24
27
  };
@@ -40,4 +43,7 @@ function postgresql(value) {
40
43
  function databricks(value) {
41
44
  return SQL(value);
42
45
  }
46
+ function mssql(value) {
47
+ return SQL(value);
48
+ }
43
49
  //# sourceMappingURL=abs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abs.js","sourceRoot":"","sources":["../../../src/functions/abs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,KAAK,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"abs.js","sourceRoot":"","sources":["../../../src/functions/abs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC;IAC/D,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,KAAK,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `AVG` Returns the aggregated SUM of a column.
4
+ */
5
+ export declare const AVG: FunctionDefinition;
@@ -0,0 +1,50 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isANumericColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `AVG` Returns the aggregated SUM of a column.
5
+ */
6
+ export const AVG = {
7
+ identifier: 'AVG',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ expectedPrimitive: AST_PRIMITIVES.NUMBER,
15
+ validator: [isANumericColumnParam],
16
+ },
17
+ ],
18
+ transpiler: {
19
+ elasticsearch,
20
+ snowflake,
21
+ redshift,
22
+ postgresql,
23
+ databricks,
24
+ mssql,
25
+ },
26
+ primitiveResult: AST_PRIMITIVES.NUMBER,
27
+ };
28
+ function elasticsearch(value) {
29
+ const _value = replaceDotByUnderscore(value);
30
+ return `params.get("AVG_${_value}")`;
31
+ }
32
+ function SQL(value) {
33
+ return `AVG(${value})`;
34
+ }
35
+ function snowflake(value) {
36
+ return SQL(value);
37
+ }
38
+ function redshift(value) {
39
+ return SQL(value);
40
+ }
41
+ function postgresql(value) {
42
+ return SQL(value);
43
+ }
44
+ function databricks(value) {
45
+ return SQL(value);
46
+ }
47
+ function mssql(value) {
48
+ return SQL(value);
49
+ }
50
+ //# sourceMappingURL=aggAvg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggAvg.js","sourceRoot":"","sources":["../../../src/functions/aggAvg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `COUNT` Returns the aggregated SUM of a column.
4
+ */
5
+ export declare const COUNT: FunctionDefinition;
@@ -0,0 +1,50 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isAColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `COUNT` Returns the aggregated SUM of a column.
5
+ */
6
+ export const COUNT = {
7
+ identifier: 'COUNT',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ expectedPrimitive: AST_PRIMITIVES.NUMBER,
15
+ validator: [isAColumnParam],
16
+ },
17
+ ],
18
+ transpiler: {
19
+ elasticsearch,
20
+ snowflake,
21
+ redshift,
22
+ postgresql,
23
+ databricks,
24
+ mssql,
25
+ },
26
+ primitiveResult: AST_PRIMITIVES.NUMBER,
27
+ };
28
+ function elasticsearch(value) {
29
+ const _value = replaceDotByUnderscore(value);
30
+ return `params.get("COUNT_${_value}")`;
31
+ }
32
+ function SQL(value) {
33
+ return `COUNT(${value})`;
34
+ }
35
+ function snowflake(value) {
36
+ return SQL(value);
37
+ }
38
+ function redshift(value) {
39
+ return SQL(value);
40
+ }
41
+ function postgresql(value) {
42
+ return SQL(value);
43
+ }
44
+ function databricks(value) {
45
+ return SQL(value);
46
+ }
47
+ function mssql(value) {
48
+ return SQL(value);
49
+ }
50
+ //# sourceMappingURL=aggCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggCount.js","sourceRoot":"","sources":["../../../src/functions/aggCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAuB;IACrC,UAAU,EAAE,OAAO;IACnB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,cAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,qBAAqB,MAAM,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,SAAS,KAAK,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `DISTCOUNT` Returns the aggregated SUM of a column.
4
+ */
5
+ export declare const DISTCOUNT: FunctionDefinition;
@@ -0,0 +1,50 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isAColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `DISTCOUNT` Returns the aggregated SUM of a column.
5
+ */
6
+ export const DISTCOUNT = {
7
+ identifier: 'DISTCOUNT',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ expectedPrimitive: AST_PRIMITIVES.NUMBER,
15
+ validator: [isAColumnParam],
16
+ },
17
+ ],
18
+ transpiler: {
19
+ elasticsearch,
20
+ snowflake,
21
+ redshift,
22
+ postgresql,
23
+ databricks,
24
+ mssql,
25
+ },
26
+ primitiveResult: AST_PRIMITIVES.NUMBER,
27
+ };
28
+ function elasticsearch(value) {
29
+ const _value = replaceDotByUnderscore(value);
30
+ return `params.get("DISTINCTCOUNT_${_value}")`;
31
+ }
32
+ function SQL(value) {
33
+ return `COUNT(DISTINCT ${value})`;
34
+ }
35
+ function snowflake(value) {
36
+ return SQL(value);
37
+ }
38
+ function redshift(value) {
39
+ return SQL(value);
40
+ }
41
+ function postgresql(value) {
42
+ return SQL(value);
43
+ }
44
+ function databricks(value) {
45
+ return SQL(value);
46
+ }
47
+ function mssql(value) {
48
+ return SQL(value);
49
+ }
50
+ //# sourceMappingURL=aggDistcount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggDistcount.js","sourceRoot":"","sources":["../../../src/functions/aggDistcount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAuB;IACzC,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,cAAc,CAAC;SAC9B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,6BAA6B,MAAM,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,kBAAkB,KAAK,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `MAXVAL` Returns the aggregated SUM of a column.
4
+ */
5
+ export declare const MAXVAL: FunctionDefinition;
@@ -0,0 +1,50 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isANumericColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `MAXVAL` Returns the aggregated SUM of a column.
5
+ */
6
+ export const MAXVAL = {
7
+ identifier: 'MAXVAL',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ expectedPrimitive: AST_PRIMITIVES.NUMBER,
15
+ validator: [isANumericColumnParam],
16
+ },
17
+ ],
18
+ transpiler: {
19
+ elasticsearch,
20
+ snowflake,
21
+ redshift,
22
+ postgresql,
23
+ databricks,
24
+ mssql,
25
+ },
26
+ primitiveResult: AST_PRIMITIVES.NUMBER,
27
+ };
28
+ function elasticsearch(value) {
29
+ const _value = replaceDotByUnderscore(value);
30
+ return `params.get("MAX_${_value}")`;
31
+ }
32
+ function SQL(value) {
33
+ return `MAX(${value})`;
34
+ }
35
+ function snowflake(value) {
36
+ return SQL(value);
37
+ }
38
+ function redshift(value) {
39
+ return SQL(value);
40
+ }
41
+ function postgresql(value) {
42
+ return SQL(value);
43
+ }
44
+ function databricks(value) {
45
+ return SQL(value);
46
+ }
47
+ function mssql(value) {
48
+ return SQL(value);
49
+ }
50
+ //# sourceMappingURL=aggMax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggMax.js","sourceRoot":"","sources":["../../../src/functions/aggMax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,mBAAmB,MAAM,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `MED` Returns the aggregated MEDIAN of a column.
4
+ */
5
+ export declare const MED: FunctionDefinition;
@@ -0,0 +1,50 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isANumericColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `MED` Returns the aggregated MEDIAN of a column.
5
+ */
6
+ export const MED = {
7
+ identifier: 'MED',
8
+ operationScope: OPERATION_SCOPE.AGGREGATE,
9
+ functionScope: [OPERATION_SCOPE.AGGREGATE],
10
+ parameters: [
11
+ {
12
+ identifier: 'VALUE',
13
+ optional: false,
14
+ expectedPrimitive: AST_PRIMITIVES.NUMBER,
15
+ validator: [isANumericColumnParam],
16
+ },
17
+ ],
18
+ transpiler: {
19
+ elasticsearch,
20
+ snowflake,
21
+ redshift,
22
+ postgresql,
23
+ databricks,
24
+ mssql,
25
+ },
26
+ primitiveResult: AST_PRIMITIVES.NUMBER,
27
+ };
28
+ function elasticsearch(value) {
29
+ const _value = replaceDotByUnderscore(value);
30
+ return `params.get("MEDIAN_${_value}")`;
31
+ }
32
+ function SQL(value) {
33
+ return `MEDIAN(${value})`;
34
+ }
35
+ function snowflake(value) {
36
+ return SQL(value);
37
+ }
38
+ function redshift(value) {
39
+ return SQL(value);
40
+ }
41
+ function postgresql(value) {
42
+ return `PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY ${value})`;
43
+ }
44
+ function databricks(value) {
45
+ return SQL(value);
46
+ }
47
+ function mssql(value) {
48
+ return `PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ${value}) OVER ()`;
49
+ }
50
+ //# sourceMappingURL=aggMed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggMed.js","sourceRoot":"","sources":["../../../src/functions/aggMed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,eAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,sBAAsB,MAAM,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,UAAU,KAAK,GAAG,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,8CAA8C,KAAK,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,OAAO,+CAA+C,KAAK,WAAW,CAAC;AAC3E,CAAC"}