@qrvey/formula-lang 2.0.2 → 3.0.0

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 (322) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/dist/cjs/constants/index.d.ts +8 -1
  3. package/dist/cjs/constants/index.js +14 -1
  4. package/dist/cjs/constants/index.js.map +1 -1
  5. package/dist/cjs/constants/interfaces.d.ts +20 -2
  6. package/dist/cjs/errors/definitions.d.ts +12 -0
  7. package/dist/cjs/errors/definitions.js +22 -1
  8. package/dist/cjs/errors/definitions.js.map +1 -1
  9. package/dist/cjs/errors/dictionary.d.ts +4 -1
  10. package/dist/cjs/errors/dictionary.js +15 -0
  11. package/dist/cjs/errors/dictionary.js.map +1 -1
  12. package/dist/cjs/errors/mismatch.js +2 -2
  13. package/dist/cjs/errors/mismatch.js.map +1 -1
  14. package/dist/cjs/functions/abs.js +2 -0
  15. package/dist/cjs/functions/abs.js.map +1 -1
  16. package/dist/cjs/functions/aggAvg.d.ts +5 -0
  17. package/dist/cjs/functions/aggAvg.js +49 -0
  18. package/dist/cjs/functions/aggAvg.js.map +1 -0
  19. package/dist/cjs/functions/aggCount.d.ts +5 -0
  20. package/dist/cjs/functions/aggCount.js +49 -0
  21. package/dist/cjs/functions/aggCount.js.map +1 -0
  22. package/dist/cjs/functions/aggDistcount.d.ts +5 -0
  23. package/dist/cjs/functions/aggDistcount.js +49 -0
  24. package/dist/cjs/functions/aggDistcount.js.map +1 -0
  25. package/dist/cjs/functions/aggMax.d.ts +5 -0
  26. package/dist/cjs/functions/aggMax.js +49 -0
  27. package/dist/cjs/functions/aggMax.js.map +1 -0
  28. package/dist/cjs/functions/aggMed.d.ts +5 -0
  29. package/dist/cjs/functions/aggMed.js +49 -0
  30. package/dist/cjs/functions/aggMed.js.map +1 -0
  31. package/dist/cjs/functions/aggMin.d.ts +5 -0
  32. package/dist/cjs/functions/aggMin.js +49 -0
  33. package/dist/cjs/functions/aggMin.js.map +1 -0
  34. package/dist/cjs/functions/aggSum.d.ts +5 -0
  35. package/dist/cjs/functions/aggSum.js +49 -0
  36. package/dist/cjs/functions/aggSum.js.map +1 -0
  37. package/dist/cjs/functions/and.js +2 -0
  38. package/dist/cjs/functions/and.js.map +1 -1
  39. package/dist/cjs/functions/concatenate.js +2 -0
  40. package/dist/cjs/functions/concatenate.js.map +1 -1
  41. package/dist/cjs/functions/dateadd.js +2 -0
  42. package/dist/cjs/functions/dateadd.js.map +1 -1
  43. package/dist/cjs/functions/datedif.js +6 -1
  44. package/dist/cjs/functions/datedif.js.map +1 -1
  45. package/dist/cjs/functions/datesubtract.js +2 -0
  46. package/dist/cjs/functions/datesubtract.js.map +1 -1
  47. package/dist/cjs/functions/day.js +2 -0
  48. package/dist/cjs/functions/day.js.map +1 -1
  49. package/dist/cjs/functions/dayofweek.js +2 -0
  50. package/dist/cjs/functions/dayofweek.js.map +1 -1
  51. package/dist/cjs/functions/even.js +2 -0
  52. package/dist/cjs/functions/even.js.map +1 -1
  53. package/dist/cjs/functions/exp.js +2 -0
  54. package/dist/cjs/functions/exp.js.map +1 -1
  55. package/dist/cjs/functions/hour.js +2 -0
  56. package/dist/cjs/functions/hour.js.map +1 -1
  57. package/dist/cjs/functions/if.js +10 -2
  58. package/dist/cjs/functions/if.js.map +1 -1
  59. package/dist/cjs/functions/ifs.js +10 -2
  60. package/dist/cjs/functions/ifs.js.map +1 -1
  61. package/dist/cjs/functions/include.js +2 -0
  62. package/dist/cjs/functions/include.js.map +1 -1
  63. package/dist/cjs/functions/index.d.ts +2 -0
  64. package/dist/cjs/functions/index.js +20 -1
  65. package/dist/cjs/functions/index.js.map +1 -1
  66. package/dist/cjs/functions/isNull.js +8 -2
  67. package/dist/cjs/functions/isNull.js.map +1 -1
  68. package/dist/cjs/functions/left.js +2 -0
  69. package/dist/cjs/functions/left.js.map +1 -1
  70. package/dist/cjs/functions/length.js +2 -0
  71. package/dist/cjs/functions/length.js.map +1 -1
  72. package/dist/cjs/functions/log.js +6 -1
  73. package/dist/cjs/functions/log.js.map +1 -1
  74. package/dist/cjs/functions/lower.js +2 -0
  75. package/dist/cjs/functions/lower.js.map +1 -1
  76. package/dist/cjs/functions/max.js +2 -0
  77. package/dist/cjs/functions/max.js.map +1 -1
  78. package/dist/cjs/functions/mid.js +2 -0
  79. package/dist/cjs/functions/mid.js.map +1 -1
  80. package/dist/cjs/functions/millisecond.js +2 -0
  81. package/dist/cjs/functions/millisecond.js.map +1 -1
  82. package/dist/cjs/functions/min.js +2 -0
  83. package/dist/cjs/functions/min.js.map +1 -1
  84. package/dist/cjs/functions/minute.js +2 -0
  85. package/dist/cjs/functions/minute.js.map +1 -1
  86. package/dist/cjs/functions/month.js +2 -0
  87. package/dist/cjs/functions/month.js.map +1 -1
  88. package/dist/cjs/functions/now.d.ts +5 -0
  89. package/dist/cjs/functions/now.js +40 -0
  90. package/dist/cjs/functions/now.js.map +1 -0
  91. package/dist/cjs/functions/odd.js +2 -0
  92. package/dist/cjs/functions/odd.js.map +1 -1
  93. package/dist/cjs/functions/or.js +2 -0
  94. package/dist/cjs/functions/or.js.map +1 -1
  95. package/dist/cjs/functions/power.js +2 -0
  96. package/dist/cjs/functions/power.js.map +1 -1
  97. package/dist/cjs/functions/proper.js +2 -0
  98. package/dist/cjs/functions/proper.js.map +1 -1
  99. package/dist/cjs/functions/random.js +2 -0
  100. package/dist/cjs/functions/random.js.map +1 -1
  101. package/dist/cjs/functions/replace.js +2 -0
  102. package/dist/cjs/functions/replace.js.map +1 -1
  103. package/dist/cjs/functions/right.js +2 -0
  104. package/dist/cjs/functions/right.js.map +1 -1
  105. package/dist/cjs/functions/round.js +4 -1
  106. package/dist/cjs/functions/round.js.map +1 -1
  107. package/dist/cjs/functions/rounddown.js +2 -0
  108. package/dist/cjs/functions/rounddown.js.map +1 -1
  109. package/dist/cjs/functions/roundup.js +2 -0
  110. package/dist/cjs/functions/roundup.js.map +1 -1
  111. package/dist/cjs/functions/second.js +2 -0
  112. package/dist/cjs/functions/second.js.map +1 -1
  113. package/dist/cjs/functions/sqrt.js +2 -0
  114. package/dist/cjs/functions/sqrt.js.map +1 -1
  115. package/dist/cjs/functions/text.js +2 -0
  116. package/dist/cjs/functions/text.js.map +1 -1
  117. package/dist/cjs/functions/trim.js +2 -0
  118. package/dist/cjs/functions/trim.js.map +1 -1
  119. package/dist/cjs/functions/upper.js +2 -0
  120. package/dist/cjs/functions/upper.js.map +1 -1
  121. package/dist/cjs/functions/year.js +2 -0
  122. package/dist/cjs/functions/year.js.map +1 -1
  123. package/dist/cjs/index.d.ts +2 -2
  124. package/dist/cjs/index.js +4 -1
  125. package/dist/cjs/index.js.map +1 -1
  126. package/dist/cjs/parser/formula-parser.js +19 -5
  127. package/dist/cjs/parser/formula-parser.js.map +1 -1
  128. package/dist/cjs/parser/json-parser.js +51 -1
  129. package/dist/cjs/parser/json-parser.js.map +1 -1
  130. package/dist/cjs/parser/syntax-errors.js +1 -0
  131. package/dist/cjs/parser/syntax-errors.js.map +1 -1
  132. package/dist/cjs/transpiler/columnTranspilation.js +3 -0
  133. package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
  134. package/dist/cjs/transpiler/index.d.ts +1 -0
  135. package/dist/cjs/transpiler/index.js +17 -3
  136. package/dist/cjs/transpiler/index.js.map +1 -1
  137. package/dist/cjs/transpiler/validateFuncStructure.d.ts +4 -2
  138. package/dist/cjs/transpiler/validateFuncStructure.js +2 -1
  139. package/dist/cjs/transpiler/validateFuncStructure.js.map +1 -1
  140. package/dist/cjs/utils/aggregatedFunctions.d.ts +3 -0
  141. package/dist/cjs/utils/aggregatedFunctions.js +51 -0
  142. package/dist/cjs/utils/aggregatedFunctions.js.map +1 -0
  143. package/dist/cjs/utils/elasticsearch/index.js +2 -0
  144. package/dist/cjs/utils/elasticsearch/index.js.map +1 -1
  145. package/dist/cjs/utils/elasticsearch/scripts.d.ts +1 -0
  146. package/dist/cjs/utils/elasticsearch/scripts.js +8 -1
  147. package/dist/cjs/utils/elasticsearch/scripts.js.map +1 -1
  148. package/dist/cjs/utils/index.d.ts +3 -0
  149. package/dist/cjs/utils/index.js +7 -1
  150. package/dist/cjs/utils/index.js.map +1 -1
  151. package/dist/cjs/utils/isAColumn.d.ts +4 -1
  152. package/dist/cjs/utils/isAColumn.js +37 -1
  153. package/dist/cjs/utils/isAColumn.js.map +1 -1
  154. package/dist/cjs/utils/isAggregate.d.ts +4 -0
  155. package/dist/cjs/utils/isAggregate.js +21 -0
  156. package/dist/cjs/utils/isAggregate.js.map +1 -0
  157. package/dist/cjs/utils/sql/index.d.ts +1 -0
  158. package/dist/cjs/utils/sql/index.js +11 -1
  159. package/dist/cjs/utils/sql/index.js.map +1 -1
  160. package/dist/cjs/utils/sql/scripts.js +17 -1
  161. package/dist/cjs/utils/sql/scripts.js.map +1 -1
  162. package/dist/module/constants/index.d.ts +8 -1
  163. package/dist/module/constants/index.js +13 -0
  164. package/dist/module/constants/index.js.map +1 -1
  165. package/dist/module/constants/interfaces.d.ts +20 -2
  166. package/dist/module/errors/definitions.d.ts +12 -0
  167. package/dist/module/errors/definitions.js +18 -0
  168. package/dist/module/errors/definitions.js.map +1 -1
  169. package/dist/module/errors/dictionary.d.ts +4 -1
  170. package/dist/module/errors/dictionary.js +15 -0
  171. package/dist/module/errors/dictionary.js.map +1 -1
  172. package/dist/module/errors/mismatch.js +2 -2
  173. package/dist/module/errors/mismatch.js.map +1 -1
  174. package/dist/module/functions/abs.js +3 -1
  175. package/dist/module/functions/abs.js.map +1 -1
  176. package/dist/module/functions/aggAvg.d.ts +5 -0
  177. package/dist/module/functions/aggAvg.js +46 -0
  178. package/dist/module/functions/aggAvg.js.map +1 -0
  179. package/dist/module/functions/aggCount.d.ts +5 -0
  180. package/dist/module/functions/aggCount.js +46 -0
  181. package/dist/module/functions/aggCount.js.map +1 -0
  182. package/dist/module/functions/aggDistcount.d.ts +5 -0
  183. package/dist/module/functions/aggDistcount.js +46 -0
  184. package/dist/module/functions/aggDistcount.js.map +1 -0
  185. package/dist/module/functions/aggMax.d.ts +5 -0
  186. package/dist/module/functions/aggMax.js +46 -0
  187. package/dist/module/functions/aggMax.js.map +1 -0
  188. package/dist/module/functions/aggMed.d.ts +5 -0
  189. package/dist/module/functions/aggMed.js +46 -0
  190. package/dist/module/functions/aggMed.js.map +1 -0
  191. package/dist/module/functions/aggMin.d.ts +5 -0
  192. package/dist/module/functions/aggMin.js +46 -0
  193. package/dist/module/functions/aggMin.js.map +1 -0
  194. package/dist/module/functions/aggSum.d.ts +5 -0
  195. package/dist/module/functions/aggSum.js +46 -0
  196. package/dist/module/functions/aggSum.js.map +1 -0
  197. package/dist/module/functions/and.js +3 -1
  198. package/dist/module/functions/and.js.map +1 -1
  199. package/dist/module/functions/concatenate.js +3 -1
  200. package/dist/module/functions/concatenate.js.map +1 -1
  201. package/dist/module/functions/dateadd.js +3 -1
  202. package/dist/module/functions/dateadd.js.map +1 -1
  203. package/dist/module/functions/datedif.js +7 -2
  204. package/dist/module/functions/datedif.js.map +1 -1
  205. package/dist/module/functions/datesubtract.js +3 -1
  206. package/dist/module/functions/datesubtract.js.map +1 -1
  207. package/dist/module/functions/day.js +3 -1
  208. package/dist/module/functions/day.js.map +1 -1
  209. package/dist/module/functions/dayofweek.js +3 -1
  210. package/dist/module/functions/dayofweek.js.map +1 -1
  211. package/dist/module/functions/even.js +3 -1
  212. package/dist/module/functions/even.js.map +1 -1
  213. package/dist/module/functions/exp.js +3 -1
  214. package/dist/module/functions/exp.js.map +1 -1
  215. package/dist/module/functions/hour.js +3 -1
  216. package/dist/module/functions/hour.js.map +1 -1
  217. package/dist/module/functions/if.js +11 -3
  218. package/dist/module/functions/if.js.map +1 -1
  219. package/dist/module/functions/ifs.js +11 -3
  220. package/dist/module/functions/ifs.js.map +1 -1
  221. package/dist/module/functions/include.js +3 -1
  222. package/dist/module/functions/include.js.map +1 -1
  223. package/dist/module/functions/index.d.ts +2 -0
  224. package/dist/module/functions/index.js +19 -0
  225. package/dist/module/functions/index.js.map +1 -1
  226. package/dist/module/functions/isNull.js +9 -3
  227. package/dist/module/functions/isNull.js.map +1 -1
  228. package/dist/module/functions/left.js +3 -1
  229. package/dist/module/functions/left.js.map +1 -1
  230. package/dist/module/functions/length.js +3 -1
  231. package/dist/module/functions/length.js.map +1 -1
  232. package/dist/module/functions/log.js +7 -2
  233. package/dist/module/functions/log.js.map +1 -1
  234. package/dist/module/functions/lower.js +3 -1
  235. package/dist/module/functions/lower.js.map +1 -1
  236. package/dist/module/functions/max.js +3 -1
  237. package/dist/module/functions/max.js.map +1 -1
  238. package/dist/module/functions/mid.js +3 -1
  239. package/dist/module/functions/mid.js.map +1 -1
  240. package/dist/module/functions/millisecond.js +3 -1
  241. package/dist/module/functions/millisecond.js.map +1 -1
  242. package/dist/module/functions/min.js +3 -1
  243. package/dist/module/functions/min.js.map +1 -1
  244. package/dist/module/functions/minute.js +3 -1
  245. package/dist/module/functions/minute.js.map +1 -1
  246. package/dist/module/functions/month.js +3 -1
  247. package/dist/module/functions/month.js.map +1 -1
  248. package/dist/module/functions/now.d.ts +5 -0
  249. package/dist/module/functions/now.js +37 -0
  250. package/dist/module/functions/now.js.map +1 -0
  251. package/dist/module/functions/odd.js +3 -1
  252. package/dist/module/functions/odd.js.map +1 -1
  253. package/dist/module/functions/or.js +3 -1
  254. package/dist/module/functions/or.js.map +1 -1
  255. package/dist/module/functions/power.js +3 -1
  256. package/dist/module/functions/power.js.map +1 -1
  257. package/dist/module/functions/proper.js +3 -1
  258. package/dist/module/functions/proper.js.map +1 -1
  259. package/dist/module/functions/random.js +3 -1
  260. package/dist/module/functions/random.js.map +1 -1
  261. package/dist/module/functions/replace.js +3 -1
  262. package/dist/module/functions/replace.js.map +1 -1
  263. package/dist/module/functions/right.js +3 -1
  264. package/dist/module/functions/right.js.map +1 -1
  265. package/dist/module/functions/round.js +5 -2
  266. package/dist/module/functions/round.js.map +1 -1
  267. package/dist/module/functions/rounddown.js +3 -1
  268. package/dist/module/functions/rounddown.js.map +1 -1
  269. package/dist/module/functions/roundup.js +3 -1
  270. package/dist/module/functions/roundup.js.map +1 -1
  271. package/dist/module/functions/second.js +3 -1
  272. package/dist/module/functions/second.js.map +1 -1
  273. package/dist/module/functions/sqrt.js +3 -1
  274. package/dist/module/functions/sqrt.js.map +1 -1
  275. package/dist/module/functions/text.js +3 -1
  276. package/dist/module/functions/text.js.map +1 -1
  277. package/dist/module/functions/trim.js +3 -1
  278. package/dist/module/functions/trim.js.map +1 -1
  279. package/dist/module/functions/upper.js +3 -1
  280. package/dist/module/functions/upper.js.map +1 -1
  281. package/dist/module/functions/year.js +3 -1
  282. package/dist/module/functions/year.js.map +1 -1
  283. package/dist/module/index.d.ts +2 -2
  284. package/dist/module/index.js +2 -2
  285. package/dist/module/index.js.map +1 -1
  286. package/dist/module/parser/formula-parser.js +20 -6
  287. package/dist/module/parser/formula-parser.js.map +1 -1
  288. package/dist/module/parser/json-parser.js +53 -3
  289. package/dist/module/parser/json-parser.js.map +1 -1
  290. package/dist/module/parser/syntax-errors.js +1 -0
  291. package/dist/module/parser/syntax-errors.js.map +1 -1
  292. package/dist/module/transpiler/columnTranspilation.js +3 -0
  293. package/dist/module/transpiler/columnTranspilation.js.map +1 -1
  294. package/dist/module/transpiler/index.d.ts +1 -0
  295. package/dist/module/transpiler/index.js +19 -5
  296. package/dist/module/transpiler/index.js.map +1 -1
  297. package/dist/module/transpiler/validateFuncStructure.d.ts +4 -2
  298. package/dist/module/transpiler/validateFuncStructure.js +2 -1
  299. package/dist/module/transpiler/validateFuncStructure.js.map +1 -1
  300. package/dist/module/utils/aggregatedFunctions.d.ts +3 -0
  301. package/dist/module/utils/aggregatedFunctions.js +47 -0
  302. package/dist/module/utils/aggregatedFunctions.js.map +1 -0
  303. package/dist/module/utils/elasticsearch/index.js +3 -1
  304. package/dist/module/utils/elasticsearch/index.js.map +1 -1
  305. package/dist/module/utils/elasticsearch/scripts.d.ts +1 -0
  306. package/dist/module/utils/elasticsearch/scripts.js +7 -0
  307. package/dist/module/utils/elasticsearch/scripts.js.map +1 -1
  308. package/dist/module/utils/index.d.ts +3 -0
  309. package/dist/module/utils/index.js +3 -0
  310. package/dist/module/utils/index.js.map +1 -1
  311. package/dist/module/utils/isAColumn.d.ts +4 -1
  312. package/dist/module/utils/isAColumn.js +35 -1
  313. package/dist/module/utils/isAColumn.js.map +1 -1
  314. package/dist/module/utils/isAggregate.d.ts +4 -0
  315. package/dist/module/utils/isAggregate.js +15 -0
  316. package/dist/module/utils/isAggregate.js.map +1 -0
  317. package/dist/module/utils/sql/index.d.ts +1 -0
  318. package/dist/module/utils/sql/index.js +9 -0
  319. package/dist/module/utils/sql/index.js.map +1 -1
  320. package/dist/module/utils/sql/scripts.js +17 -1
  321. package/dist/module/utils/sql/scripts.js.map +1 -1
  322. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,207 @@
1
+ <a name="3.0.0"></a>
2
+ # [3.0.0](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v2.0.0...v3.0.0) (2025-07-11)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * update version from 2.0.1-rc.418 to 2.0.1 in package.json and package-lock.json ([5aea225](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/5aea225))
8
+ * **aggregate:** add scenario for empty aggregate function failure ([90c62eb](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/90c62eb))
9
+ * **aggregate:** ensure currentNode is defined when validating aggregated scope ([680056c](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/680056c))
10
+ * **aggregate:** improve message for IF/IFs in Aggregate ([4f81671](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4f81671))
11
+ * **aggregate:** only a column in an aggregate is not valid ([068d289](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/068d289))
12
+ * **aggregate:** rename DISTCOUNT to DISTINCTCOUNT in tests and functions ([53c64fa](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/53c64fa))
13
+ * **aggregate:** reorder validators for consistency across aggregation functions ([6370c41](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/6370c41))
14
+ * **aggregate:** update program scope validation to include external formulas ([5750d03](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/5750d03))
15
+ * **aggregate:** update validators to use isANumericColumnParam for consistency ([e440100](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/e440100))
16
+ * **aggregate:** validation to check against appropriate function lists based on scope ([22dc1db](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/22dc1db))
17
+ * **analyzer:** add more errors to the analyzer ([e7d4b11](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/e7d4b11))
18
+ * **constants:** correct AGGREGATE value in OPERATION_SCOPE enum ([829ba88](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/829ba88))
19
+ * **date_part:** Fix date part usage ([f3c2f84](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/f3c2f84))
20
+ * **elasticsearch:** correct formatting of conditional expressions in Elasticsearch transpilation ([39f8e7f](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/39f8e7f))
21
+ * **elasticsearch:** validate if a column need the "double" operator ([50be579](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/50be579))
22
+ * **escape:** improve escape characters function ([6e0f968](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/6e0f968))
23
+ * **functions:** show error when a optional argument is no specified RB-1582 ([e3bb651](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/e3bb651))
24
+ * **hourfunction:** fix transpilation for postgresql RB-1585 ([d52ac1c](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/d52ac1c))
25
+ * **isnull:** validate aggregate formula in IsNull without args ([749cb2a](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/749cb2a))
26
+ * **mismatch:** include 'type' in received validateParameters ([6cbef7b](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/6cbef7b))
27
+ * **postgres:** log and Round function in Postgrse ([04f0a42](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/04f0a42))
28
+ * **postgres:** remove FLOAT8 for postgres ([1657b58](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/1657b58))
29
+ * :bug: fix decimal handing in number values and date casting for date string values ([977b521](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/977b521))
30
+ * **text:** fix return datatype text function RB-1352 ([95f1eba](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/95f1eba))
31
+ * **veracode:** remove sensible information ([a72de0d](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/a72de0d))
32
+
33
+
34
+ ### Features
35
+
36
+ * **aggregate:** add AGG_MAX and AGG_COUNT and AGG_DISTCOUNT functions. Update AGG_MED definitions ([d8d9dc1](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/d8d9dc1))
37
+ * **aggregate:** add functionScope to aggregate functions and update function list ([1639c59](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/1639c59))
38
+ * **aggregate:** add isAggregated to the AST ([ec6e8b8](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/ec6e8b8))
39
+ * **aggregate:** enhance aggregate validation and add new test cases ([8544a53](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/8544a53))
40
+ * **aggregate:** enhance ISNULL function to handle aggregate formulas ([477b23b](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/477b23b))
41
+ * **aggregate:** enhance validation column type external formulas ([eb3b06a](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/eb3b06a))
42
+ * **aggregate:** implement AGG_MIN function with support for multiple engines ([de671cd](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/de671cd))
43
+ * **aggregate:** implement dynamic aggregate name retrieval in aggregateFunctionsES ([ed57049](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/ed57049))
44
+ * **aggregate:** improve if-ifs error handling ([ddbada5](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/ddbada5))
45
+ * **aggregate:** update AND functionScope to include AGGREGATE ([7bb63b5](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/7bb63b5))
46
+ * **aggregate:** update columnId to use alias in aggregateFunctionsES ([2799cc1](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/2799cc1))
47
+ * **aggregate:** update DISTCOUNT and MEDIAN functions ([be70af7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/be70af7))
48
+ * **aggregated:** adding isColumn and validations ([0beaca7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/0beaca7))
49
+ * **aggregated:** avoid to transpile the column in elasticsearch ([71fe3a7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/71fe3a7))
50
+ * **agregated:** adding currentInputScope for row or aggregated in context ([4063d48](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4063d48))
51
+ * **datedif:** add tests for DATEDIF function with H, MI, S units ([abd2df5](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/abd2df5))
52
+ * **datedif:** extend DATEDIF function to support additional units (H, MI, S) ([cf7425f](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/cf7425f))
53
+ * **functions:** add AGG_SUM function and update exported function lists ([5d3e43f](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/5d3e43f))
54
+ * **functions:** update operationScope to single OPERATION_SCOPE value ([59c56f0](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/59c56f0))
55
+ * **hour12h:** add new parameter to return hour in 12h format RB-1352 RB-1503 ([9bb7db5](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/9bb7db5))
56
+ * **millisecond:** add expected primitive to millisecond function RB-1352 ([f6b7495](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/f6b7495))
57
+ * **millisecond:** add millisecond function RB-1352 ([b2b3bcc](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/b2b3bcc))
58
+ * **now:** implement NOW function for Elasticsearch and update related tests ([4da8b16](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4da8b16))
59
+ * **now:** implement NOW function to return current timestamp across multiple engines ([fada7a0](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/fada7a0))
60
+ * **now:** simplify NOW function implementation for Elasticsearch ([c67a21d](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c67a21d))
61
+ * **now:** update NOW function implementation for Elasticsearch compatibility ([38238b4](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/38238b4))
62
+ * **operation-scope:** add OPERATION_SCOPE enum and integrate into FunctionDefinition ([24468b0](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/24468b0))
63
+ * **operationscope:** add operation scope to various functions for row-level processing ([d036aa9](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/d036aa9))
64
+ * **tests:** add test for DATEDIF function using NOW() in PostgreSQL ([f15bb72](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/f15bb72))
65
+ * **tests:** add test for DATEDIF function using NOW() in PostgreSQL ([08f8878](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/08f8878))
66
+ * **tests:** update DATEDIF test and add DAY function test with NOW() ([7a7ffdd](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/7a7ffdd))
67
+ * **tests:** update DATEDIF test and add DAY function test with NOW() ([67c4532](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/67c4532))
68
+ * :sparkles: add even, odd, sqrt, include and lower functions for databricks ([4564061](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4564061))
69
+ * :sparkles: add exp, log, power, round, rounddown and roundup functions for databricks ([d8b92b1](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/d8b92b1))
70
+ * :sparkles: enable databricks engine as valid engine value ([6d81919](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/6d81919))
71
+ * :sparkles: support abs, day and mid functions ([65949f5](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/65949f5))
72
+ * :sparkles: support dateadd, datesubtract, random, replace, text, right, trim and upper function in databricks ([45f0bf4](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/45f0bf4))
73
+ * :sparkles: support hour, minute, month, second and year functions ([be2d03c](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/be2d03c))
74
+ * :sparkles: support if, ifs, datediff, isNull functions ([567d448](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/567d448))
75
+ * :sparkles: support left, max, min, proper, millisecond and dayofweek functions ([8d3e136](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/8d3e136))
76
+ * **text:** add text function RB-1352 RB-1505 ([7740270](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/7740270))
77
+
78
+
79
+ ### BREAKING CHANGES
80
+
81
+ * **operationscope:** FUNCTION_LIST will return the full list. So will be added two new lists
82
+ ROW_FUNCTION_LIST and AGGREGATE_FUNCTION_LIST
83
+
84
+
85
+
86
+ <a name="2.0.1-rc.418"></a>
87
+ ## [2.0.1-rc.418](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v2.0.1-rc.415...v2.0.1-rc.418) (2023-08-04)
88
+
89
+
90
+
91
+ <a name="2.0.1-rc.415"></a>
92
+ ## [2.0.1-rc.415](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v2.0.1-rc-20230803-401...v2.0.1-rc.415) (2023-08-04)
93
+
94
+
95
+
96
+ <a name="2.0.1-rc-20230803-401"></a>
97
+ ## [2.0.1-rc-20230803-401](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/2.0.1-rc-20230802-01...v2.0.1-rc-20230803-401) (2023-08-03)
98
+
99
+
100
+
101
+ <a name="2.0.1-rc-20230802-01"></a>
102
+ ## [2.0.1-rc-20230802-01](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/2.0.1-rc-20230801-01...2.0.1-rc-20230802-01) (2023-08-02)
103
+
104
+
105
+
106
+ <a name="2.0.1-rc-20230801-01"></a>
107
+ ## [2.0.1-rc-20230801-01](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/2.0.1-rc-20230726-01...2.0.1-rc-20230801-01) (2023-08-01)
108
+
109
+
110
+
111
+ <a name="2.0.1-rc-20230726-01"></a>
112
+ ## [2.0.1-rc-20230726-01](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v1.1.0...2.0.1-rc-20230726-01) (2023-07-26)
113
+
114
+
115
+
116
+ <a name="2.0.0"></a>
117
+ # [2.0.0](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v1.1.0...v2.0.0) (2023-09-26)
118
+
119
+
120
+ ### Bug Fixes
121
+
122
+ * **concatenate:** concatenate primitive is string ([c0021a4](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c0021a4))
123
+ * **concatenate:** concatenate primitive is string ([a112345](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/a112345))
124
+ * **datediff:** datediff for DataView have to be cast as INT ([c6cd081](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c6cd081))
125
+ * **datefunctions:** add floor round to intervals in date add and subtract functions RB-1399 ([a317b2f](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/a317b2f))
126
+ * **datefunctions:** fix data type in floor RB-1399 ([1da0e8a](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/1da0e8a))
127
+ * **datesubtract:** fix DATESUBTRACT function with decimal numbers ([08fb4b2](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/08fb4b2))
128
+ * **errors:** fix expected result from mismatch error RB-1501 ([580c2c8](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/580c2c8))
129
+ * **errors:** fix expected result from mismatch error RB-1501 ([a299d6b](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/a299d6b))
130
+ * **escape:** fix escape character when is a number ([75e2523](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/75e2523))
131
+ * **function:** change transpilation logic of even and odd function ([620eb9d](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/620eb9d))
132
+ * **functions:** fix functions to only receive integer in numeric argments RB-1515 ([0fd936c](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/0fd936c))
133
+ * **functions:** fix roundown (negative numbers) in functions right and mid RB-1515 ([e22c587](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/e22c587))
134
+ * **functions:** fix transpilations of DATEADD and DATESUBTRACT for postgresql and snowflake RB-1398 ([c52166c](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c52166c))
135
+ * **functions:** minor refactor ([dac4e02](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/dac4e02))
136
+ * **integer:** add integer as validator ([a3aaa5a](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/a3aaa5a))
137
+ * **isinteger:** isInteger only apply if is literal ([00627e9](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/00627e9))
138
+ * **logfunction:** do not allow 0 values in the first parameter (log function) RB-1349 ([164ab9f](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/164ab9f))
139
+ * **long number:** long number for elasticSearch when are Float, doesn't need to change ([82b4bf3](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/82b4bf3))
140
+ * **maxfunction:** fix max and min function when there two invalid parameters RB-1299 ([0c0d039](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/0c0d039))
141
+ * **maxfunction:** fix max and min function when there two invalid parameters RB-1299 ([b2429eb](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/b2429eb))
142
+ * **mid:** fix mid function to receive only integer parameters (second and third one) RB-1515 ([183a851](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/183a851))
143
+ * **min/max:** fix max/min function for bar charts and improve performance RB-1299 ([b8eb4c0](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/b8eb4c0))
144
+ * **mismatchdetail:** mismatchDetail extend ValidatorExpectedInfo ([f582b24](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/f582b24))
145
+ * **numbers:** convert to decimals integer numbers RB-1486 ([c78bc43](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c78bc43))
146
+ * **numbervalidators:** fix number validators RB-1486 ([a3a6d40](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/a3a6d40))
147
+ * **round:** add is integer number to ROUND functions RB-1478 ([89660d7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/89660d7))
148
+ * **roundfunction:** fix round for negative numbers in ES RB-1349 ([27a46a7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/27a46a7))
149
+ * **roundfunctions:** fix transpilation for round, rounddown y roundup function tocomplain round rule ([d4c9852](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/d4c9852))
150
+ * **roundfunctions:** fix transpilation for round, rounddown y roundup function tocomplain round rule RB-1349 ([ae20b4a](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/ae20b4a))
151
+ * **tests:** fix all tests numbers changes RB-1486 ([c2bd167](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c2bd167))
152
+ * **usesample:** if externalFormula and NOT sampleData ([6cedcc8](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/6cedcc8))
153
+
154
+
155
+ ### Code Refactoring
156
+
157
+ * **rangeerrors:** refactor bad naming in numeric range validation ([4cfae47](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4cfae47))
158
+
159
+
160
+ ### Features
161
+
162
+ * **datesubtract:** add datesubtract function RB-1360 ([834cebf](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/834cebf))
163
+ * **evenfunction:** fix EVEN function for null case RB-1349 ([cef3aa4](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/cef3aa4))
164
+ * **expfunction:** add EXP function RB-1299 ([b7232d8](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/b7232d8))
165
+ * **expfunction:** add INCLUDE function RB-1299 ([7cb2545](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/7cb2545))
166
+ * **expfunction:** add REPLACE function RB-1299 ([707a580](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/707a580))
167
+ * **functions:** add even function RB-1417 ([e566fd3](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/e566fd3))
168
+ * **improvement:** add log error test and delete unnecessary file ([b6fc0db](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/b6fc0db))
169
+ * **leastfunction:** add MIN function RB-1299 ([fc2581e](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/fc2581e))
170
+ * **lengthfunction:** add length function RB-1299 ([63e0fd7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/63e0fd7))
171
+ * **logfunction:** add log function RB-1418 ([8e46ce1](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/8e46ce1))
172
+ * **max function:** add better test of erros for max function and minor refactors RB-1299 ([092174d](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/092174d))
173
+ * **maxfunction:** add integration tests RB-1299 ([b0fd4f5](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/b0fd4f5))
174
+ * **maxfunction:** add max function ([28da9e7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/28da9e7))
175
+ * **maxfunction:** add null checks in elasticsearch script ([7cdaad7](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/7cdaad7))
176
+ * **maxfunction:** add support for date in max function ([6cda42d](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/6cda42d))
177
+ * **maxfunction:** add validations for max function RB-1299 ([cedb769](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/cedb769))
178
+ * **maxfunction:** return array in expected primitive values RB-1299 ([62d2f6e](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/62d2f6e))
179
+ * **oddfunction:** add odd function RB-1419 ([3960fa4](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/3960fa4))
180
+ * **powerfunction:** add power Function RB-1420 RB-1349 ([4a43f0e](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4a43f0e))
181
+ * **powerfunction:** add power Function RB-1420 RB-1349 ([b64d92d](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/b64d92d))
182
+ * **primitiveFunctions.ts:** export getPrimitiveAsValue ([59bb1ea](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/59bb1ea))
183
+ * **randomfunction:** add random function RB-1421 RB-1349 ([68d3f5e](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/68d3f5e))
184
+ * **rounddownfunction:** add rounddown function RB-1423 RB-1349 ([88fa4fc](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/88fa4fc))
185
+ * **roundfunction:** add round function RB-1422 RB-1349 ([ecfd32a](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/ecfd32a))
186
+ * **roundupfunction:** add roundup function RB-1424 RB-1349 ([4c4d695](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4c4d695))
187
+ * **sqrtfunction:** add sqrt function RB-1299 ([d51e35a](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/d51e35a))
188
+ * **sqrtfunction:** add sqrt function RB-1299 ([2596515](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/2596515))
189
+
190
+
191
+ ### Reverts
192
+
193
+ * **round:** take only the integer in case of decimales 2nd argument in round functions RB-1478 ([63d0614](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/63d0614))
194
+
195
+
196
+ ### BREAKING CHANGES
197
+
198
+ * **rangeerrors:** For functions like dateadd, datesubtract, left, log, mid, right and sqrt when there
199
+ are numbers negatives now will return MATCH_RANGE inside number validation error instead of GREATER_THAN. Additionally, in the info object it will return greaterThanOrEqualTo instead of greaterThan.
200
+ * **maxfunction:** MismatchDetail.primitive and ValidatorExpectedInfo.primitive interfaces now are
201
+ returning array
202
+
203
+
204
+
1
205
  <a name="1.1.0"></a>
2
206
  # [1.1.0](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v1.0.1...v1.1.0) (2023-07-24)
3
207
 
@@ -33,6 +33,10 @@ export declare enum CUSTOM_PRIMITIVE {
33
33
  INTEGER = "INTEGER",
34
34
  DECIMAL = "DECIMAL"
35
35
  }
36
+ export declare enum OPERATION_SCOPE {
37
+ AGGREGATE = "AGGREGATE",
38
+ RAW = "RAW"
39
+ }
36
40
  export type Primitive = AST_PRIMITIVES | AST_PRIMITIVES[];
37
41
  export type CustomEngineOperators = {
38
42
  [key in ENGINES]?: {
@@ -43,6 +47,9 @@ export declare const CustomOperators: CustomEngineOperators;
43
47
  export declare enum ELASTICSEARCH_SCRIPT_NAMES {
44
48
  dateFormat = "DATE_FORMAT_SCRIPT",
45
49
  setTimezone = "SET_TIMEZONE_SCRIPT",
46
- subString = "SUBSTRING_SCRIPT"
50
+ subString = "SUBSTRING_SCRIPT",
51
+ now = "NOW_SCRIPT"
47
52
  }
48
53
  export declare const DATE_AND_NUMBERS_DATA_TYPES: AST_PRIMITIVES[];
54
+ export declare const EXPECTED_AGGREGATE_RESULT: AST_PRIMITIVES[];
55
+ export declare const VALID_EXPRESSION_IN_AGGREGATE: string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DATE_AND_NUMBERS_DATA_TYPES = exports.ELASTICSEARCH_SCRIPT_NAMES = exports.CustomOperators = exports.CUSTOM_PRIMITIVE = exports.AST_PRIMITIVES = exports.AST_TYPES = exports.RESPONSE_LEVEL = exports.ENGINES = void 0;
3
+ exports.VALID_EXPRESSION_IN_AGGREGATE = exports.EXPECTED_AGGREGATE_RESULT = exports.DATE_AND_NUMBERS_DATA_TYPES = exports.ELASTICSEARCH_SCRIPT_NAMES = exports.CustomOperators = exports.OPERATION_SCOPE = exports.CUSTOM_PRIMITIVE = exports.AST_PRIMITIVES = exports.AST_TYPES = exports.RESPONSE_LEVEL = exports.ENGINES = void 0;
4
4
  var ENGINES;
5
5
  (function (ENGINES) {
6
6
  ENGINES["ELASTICSEARCH"] = "elasticsearch";
@@ -41,6 +41,11 @@ var CUSTOM_PRIMITIVE;
41
41
  CUSTOM_PRIMITIVE["INTEGER"] = "INTEGER";
42
42
  CUSTOM_PRIMITIVE["DECIMAL"] = "DECIMAL";
43
43
  })(CUSTOM_PRIMITIVE = exports.CUSTOM_PRIMITIVE || (exports.CUSTOM_PRIMITIVE = {}));
44
+ var OPERATION_SCOPE;
45
+ (function (OPERATION_SCOPE) {
46
+ OPERATION_SCOPE["AGGREGATE"] = "AGGREGATE";
47
+ OPERATION_SCOPE["RAW"] = "RAW";
48
+ })(OPERATION_SCOPE = exports.OPERATION_SCOPE || (exports.OPERATION_SCOPE = {}));
44
49
  exports.CustomOperators = {
45
50
  [ENGINES.ELASTICSEARCH]: {
46
51
  '=': '==',
@@ -52,9 +57,17 @@ var ELASTICSEARCH_SCRIPT_NAMES;
52
57
  ELASTICSEARCH_SCRIPT_NAMES["dateFormat"] = "DATE_FORMAT_SCRIPT";
53
58
  ELASTICSEARCH_SCRIPT_NAMES["setTimezone"] = "SET_TIMEZONE_SCRIPT";
54
59
  ELASTICSEARCH_SCRIPT_NAMES["subString"] = "SUBSTRING_SCRIPT";
60
+ ELASTICSEARCH_SCRIPT_NAMES["now"] = "NOW_SCRIPT";
55
61
  })(ELASTICSEARCH_SCRIPT_NAMES = exports.ELASTICSEARCH_SCRIPT_NAMES || (exports.ELASTICSEARCH_SCRIPT_NAMES = {}));
56
62
  exports.DATE_AND_NUMBERS_DATA_TYPES = [
57
63
  AST_PRIMITIVES.DATE,
58
64
  AST_PRIMITIVES.NUMBER,
59
65
  ];
66
+ exports.EXPECTED_AGGREGATE_RESULT = [AST_PRIMITIVES.NUMBER];
67
+ exports.VALID_EXPRESSION_IN_AGGREGATE = [
68
+ 'BinaryExpression',
69
+ 'UnaryExpression',
70
+ 'ParenthesizedExpression',
71
+ 'Function',
72
+ ];
60
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAMX;AAND,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;IACrB,oCAAyB,CAAA;IACzB,oCAAyB,CAAA;AAC7B,CAAC,EANW,OAAO,GAAP,eAAO,KAAP,eAAO,QAMlB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;AACzB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,SAYX;AAZD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,4DAA+C,CAAA;IAC/C,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;AACvC,CAAC,EAZW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAYpB;AAED,IAAY,cAMX;AAND,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EANW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAMzB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;AACvB,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAQY,QAAA,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,4DAA8B,CAAA;AAClC,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC;AAEY,QAAA,2BAA2B,GAAG;IACvC,cAAc,CAAC,IAAI;IACnB,cAAc,CAAC,MAAM;CACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAMX;AAND,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;IACrB,oCAAyB,CAAA;IACzB,oCAAyB,CAAA;AAC7B,CAAC,EANW,OAAO,GAAP,eAAO,KAAP,eAAO,QAMlB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;AACzB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,SAYX;AAZD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,4DAA+C,CAAA;IAC/C,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;AACvC,CAAC,EAZW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAYpB;AAED,IAAY,cAMX;AAND,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EANW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAMzB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;AACvB,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,0CAAuB,CAAA;IACvB,8BAAW,CAAA;AACf,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B;AAQY,QAAA,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,IAAY,0BAKX;AALD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,4DAA8B,CAAA;IAC9B,gDAAkB,CAAA;AACtB,CAAC,EALW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAKrC;AAEY,QAAA,2BAA2B,GAAG;IACvC,cAAc,CAAC,IAAI;IACnB,cAAc,CAAC,MAAM;CACxB,CAAC;AAEW,QAAA,yBAAyB,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAEpD,QAAA,6BAA6B,GAAG;IACzC,kBAAkB;IAClB,iBAAiB;IACjB,yBAAyB;IACzB,UAAU;CACb,CAAC"}
@@ -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 {};
@@ -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
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CircularDependencyError = exports.InferredPrimitiveError = exports.InvalidArgumentError = exports.TooManyArgumentsError = exports.NotAllowedOperationError = exports.UnknownTokenError = exports.MissingParenthesisError = exports.MissingArgumentError = exports.ArgumentValidatorError = exports.ArgumentError = exports.UnknownFunctionError = exports.FunctionError = exports.GenericError = exports.BaseError = void 0;
3
+ exports.CircularDependencyError = exports.AggregatedPrimitiveMismatchError = exports.AggregatedFunctionRequiredError = exports.RowFunctionRequiredError = exports.InferredPrimitiveError = exports.InvalidArgumentError = exports.TooManyArgumentsError = exports.NotAllowedOperationError = exports.UnknownTokenError = exports.MissingParenthesisError = exports.MissingArgumentError = exports.ArgumentValidatorError = exports.ArgumentError = exports.UnknownFunctionError = exports.FunctionError = exports.GenericError = exports.BaseError = void 0;
4
4
  const dictionary_1 = require("./dictionary");
5
5
  class BaseError extends Error {
6
6
  constructor(code, message, node) {
@@ -129,6 +129,27 @@ class InferredPrimitiveError extends BaseError {
129
129
  }
130
130
  }
131
131
  exports.InferredPrimitiveError = InferredPrimitiveError;
132
+ class RowFunctionRequiredError extends BaseError {
133
+ constructor(node) {
134
+ super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.rowFormulaRequired].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.rowFormulaRequired].message, node);
135
+ this.node = node;
136
+ }
137
+ }
138
+ exports.RowFunctionRequiredError = RowFunctionRequiredError;
139
+ class AggregatedFunctionRequiredError extends BaseError {
140
+ constructor(node) {
141
+ super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.aggregatedFormulaRequired].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.aggregatedFormulaRequired].message, node);
142
+ this.node = node;
143
+ }
144
+ }
145
+ exports.AggregatedFunctionRequiredError = AggregatedFunctionRequiredError;
146
+ class AggregatedPrimitiveMismatchError extends BaseError {
147
+ constructor(node) {
148
+ super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.aggregatedExpectedMismatch].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.aggregatedExpectedMismatch].message, node);
149
+ this.node = node;
150
+ }
151
+ }
152
+ exports.AggregatedPrimitiveMismatchError = AggregatedPrimitiveMismatchError;
132
153
  class CircularDependencyError extends BaseError {
133
154
  constructor() {
134
155
  super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.circularDependency].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.circularDependency].message);
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/errors/definitions.ts"],"names":[],"mappings":"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"}
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;
@@ -27,6 +27,9 @@ var ERROR_LIST;
27
27
  ERROR_LIST["functionArgumentsMismatch"] = "functionArgumentsMismatch";
28
28
  ERROR_LIST["invalidAllowValue"] = "invalidAllowValue";
29
29
  ERROR_LIST["circularDependency"] = "circularDependency";
30
+ ERROR_LIST["rowFormulaRequired"] = "rowFormulaRequired";
31
+ ERROR_LIST["aggregatedFormulaRequired"] = "aggregatedFormulaRequired";
32
+ ERROR_LIST["aggregatedExpectedMismatch"] = "aggregatedExpectedMismatch";
30
33
  })(ERROR_LIST = exports.ERROR_LIST || (exports.ERROR_LIST = {}));
31
34
  exports.ERROR_DICTIONARY = {
32
35
  [ERROR_LIST.arguments]: {
@@ -125,5 +128,17 @@ exports.ERROR_DICTIONARY = {
125
128
  message: 'Circular dependency found',
126
129
  code: 'CIRCULAR_DEPENDENCY',
127
130
  },
131
+ [ERROR_LIST.rowFormulaRequired]: {
132
+ message: 'Required to return a Row formula. Instead, it returned an Aggregate formula.',
133
+ code: 'ROW_FORMULA_REQUIRED',
134
+ },
135
+ [ERROR_LIST.aggregatedFormulaRequired]: {
136
+ message: 'Column should be inside an aggregate function',
137
+ code: 'AGGREGATED_FORMULA_REQUIRED',
138
+ },
139
+ [ERROR_LIST.aggregatedExpectedMismatch]: {
140
+ message: 'Formula result should be a number',
141
+ code: 'AGG_PRIMITIVE_MISMATCH',
142
+ },
128
143
  };
129
144
  //# 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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"}
@@ -14,11 +14,11 @@ class FunctionArgumentsMismatch extends definitions_1.FunctionError {
14
14
  exports.FunctionArgumentsMismatch = FunctionArgumentsMismatch;
15
15
  function validateParameters(definition, args, validators = []) {
16
16
  const received = args.map((arg) => {
17
- const { from, to, primitive } = arg.node;
17
+ const { from, to, type, primitive } = arg.node;
18
18
  const singlePrimitive = (0, primitiveFunctions_1.isSinglePrimitive)(primitive)
19
19
  ? primitive
20
20
  : constants_1.AST_PRIMITIVES.UNKNOWN;
21
- return { from, to, primitive: singlePrimitive };
21
+ return { from, to, type, primitive: singlePrimitive };
22
22
  });
23
23
  const parameters = definition.parameters || [];
24
24
  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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"}
@@ -8,6 +8,8 @@ const utils_1 = require("../utils");
8
8
  */
9
9
  exports.ABS = {
10
10
  identifier: 'ABS',
11
+ operationScope: constants_1.OPERATION_SCOPE.RAW,
12
+ functionScope: [constants_1.OPERATION_SCOPE.RAW, constants_1.OPERATION_SCOPE.AGGREGATE],
11
13
  parameters: [
12
14
  {
13
15
  identifier: 'VALUE',
@@ -1 +1 @@
1
- {"version":3,"file":"abs.js","sourceRoot":"","sources":["../../../src/functions/abs.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAE9C,oCAAyC;AAEzC;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,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,4CAA+D;AAE/D,oCAAyC;AAEzC;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,2BAAe,CAAC,GAAG,EAAE,2BAAe,CAAC,SAAS,CAAC;IAC/D,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,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"}
@@ -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,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AVG = void 0;
4
+ const constants_1 = require("../constants");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * `AVG` Returns the aggregated SUM of a column.
8
+ */
9
+ exports.AVG = {
10
+ identifier: 'AVG',
11
+ operationScope: constants_1.OPERATION_SCOPE.AGGREGATE,
12
+ functionScope: [constants_1.OPERATION_SCOPE.AGGREGATE],
13
+ parameters: [
14
+ {
15
+ identifier: 'VALUE',
16
+ optional: false,
17
+ expectedPrimitive: constants_1.AST_PRIMITIVES.NUMBER,
18
+ validator: [utils_1.isANumericColumnParam],
19
+ },
20
+ ],
21
+ transpiler: {
22
+ elasticsearch,
23
+ snowflake,
24
+ redshift,
25
+ postgresql,
26
+ databricks,
27
+ },
28
+ primitiveResult: constants_1.AST_PRIMITIVES.NUMBER,
29
+ };
30
+ function elasticsearch(value) {
31
+ const _value = (0, utils_1.replaceDotByUnderscore)(value);
32
+ return `params.get("AVG_${_value}")`;
33
+ }
34
+ function SQL(value) {
35
+ return `AVG(${value})`;
36
+ }
37
+ function snowflake(value) {
38
+ return SQL(value);
39
+ }
40
+ function redshift(value) {
41
+ return SQL(value);
42
+ }
43
+ function postgresql(value) {
44
+ return SQL(value);
45
+ }
46
+ function databricks(value) {
47
+ return SQL(value);
48
+ }
49
+ //# sourceMappingURL=aggAvg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggAvg.js","sourceRoot":"","sources":["../../../src/functions/aggAvg.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,oCAAyE;AAEzE;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,2BAAe,CAAC,SAAS;IACzC,aAAa,EAAE,CAAC,2BAAe,CAAC,SAAS,CAAC;IAC1C,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,6BAAqB,CAAC;SACrC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,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"}
@@ -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;