@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
@@ -0,0 +1,5 @@
1
+ import { FunctionDefinition } from '../constants/interfaces';
2
+ /**
3
+ * `MINVAL` Returns the aggregated SUM of a column.
4
+ */
5
+ export declare const MINVAL: FunctionDefinition;
@@ -0,0 +1,50 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isANumericColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `MINVAL` Returns the aggregated SUM of a column.
5
+ */
6
+ export const MINVAL = {
7
+ identifier: 'MINVAL',
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("MIN_${_value}")`;
31
+ }
32
+ function SQL(value) {
33
+ return `MIN(${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=aggMin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggMin.js","sourceRoot":"","sources":["../../../src/functions/aggMin.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
+ * `SUM` Returns the aggregated SUM of a column.
4
+ */
5
+ export declare const SUM: FunctionDefinition;
@@ -0,0 +1,50 @@
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
+ import { isANumericColumnParam, replaceDotByUnderscore } from '../utils';
3
+ /**
4
+ * `SUM` Returns the aggregated SUM of a column.
5
+ */
6
+ export const SUM = {
7
+ identifier: 'SUM',
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("SUM_${_value}")`;
31
+ }
32
+ function SQL(value) {
33
+ return `SUM(${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=aggSum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggSum.js","sourceRoot":"","sources":["../../../src/functions/aggSum.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"}
@@ -1,10 +1,12 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isBooleanExpression } from '../utils/isBooleanExpression';
3
3
  /**
4
4
  * `AND` Returns true if all expressions are truthy; otherwise, it will return false.
5
5
  */
6
6
  export const AND = {
7
7
  identifier: 'AND',
8
+ operationScope: OPERATION_SCOPE.RAW,
9
+ functionScope: [OPERATION_SCOPE.RAW, OPERATION_SCOPE.AGGREGATE],
8
10
  recursiveStartIn: 1,
9
11
  parameters: [
10
12
  {
@@ -32,6 +34,7 @@ export const AND = {
32
34
  redshift,
33
35
  postgresql,
34
36
  databricks,
37
+ mssql,
35
38
  },
36
39
  primitiveResult: AST_PRIMITIVES.BOOLEAN,
37
40
  };
@@ -53,4 +56,7 @@ function postgresql(...args) {
53
56
  function databricks(...args) {
54
57
  return sql(...args);
55
58
  }
59
+ function mssql(...args) {
60
+ return sql(...args);
61
+ }
56
62
  //# sourceMappingURL=and.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;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,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAW;IACzB,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC"}
@@ -1,10 +1,12 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isStringParam } from '../utils';
3
3
  /**
4
4
  * `CONCATENATE` Joins two or more strings into one string.
5
5
  */
6
6
  export const CONCATENATE = {
7
7
  identifier: 'CONCATENATE',
8
+ operationScope: OPERATION_SCOPE.RAW,
9
+ functionScope: [OPERATION_SCOPE.RAW],
8
10
  recursiveStartIn: 1,
9
11
  parameters: [
10
12
  {
@@ -32,6 +34,7 @@ export const CONCATENATE = {
32
34
  redshift,
33
35
  postgresql,
34
36
  databricks,
37
+ mssql,
35
38
  },
36
39
  primitiveResult: AST_PRIMITIVES.STRING,
37
40
  };
@@ -54,4 +57,7 @@ function postgresql(...args) {
54
57
  function databricks(...args) {
55
58
  return sql(...args);
56
59
  }
60
+ function mssql(...args) {
61
+ return sql(...args);
62
+ }
57
63
  //# sourceMappingURL=concatenate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"concatenate.js","sourceRoot":"","sources":["../../../src/functions/concatenate.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,WAAW,GAAuB;IAC3C,UAAU,EAAE,aAAa;IACzB,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,IAAI;YACd,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,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AACnC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,2GAA2G;AAC3G,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"concatenate.js","sourceRoot":"","sources":["../../../src/functions/concatenate.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,WAAW,GAAuB;IAC3C,UAAU,EAAE,aAAa;IACzB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;IACpC,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,IAAI;YACd,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,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AACnC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,2GAA2G;AAC3G,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,IAAW;IACzB,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isDateParam, isNumberParam, isStringParam, removeQuotes, } from '../utils';
3
3
  import { greaterThanOrEqualToReference } from '../utils/greaterThanOrEqualToReference';
4
4
  import { isAnAllowedValue } from '../utils/isAnAllowedValue';
@@ -8,6 +8,8 @@ import { isInteger } from '../utils/isInteger';
8
8
  */
9
9
  export const DATEADD = {
10
10
  identifier: 'DATEADD',
11
+ operationScope: OPERATION_SCOPE.RAW,
12
+ functionScope: [OPERATION_SCOPE.RAW],
11
13
  parameters: [
12
14
  {
13
15
  identifier: 'DATE',
@@ -41,6 +43,7 @@ export const DATEADD = {
41
43
  redshift,
42
44
  postgresql,
43
45
  databricks,
46
+ mssql,
44
47
  },
45
48
  primitiveResult: AST_PRIMITIVES.DATE,
46
49
  };
@@ -112,4 +115,25 @@ function postgresql(date, unit, interval) {
112
115
  function databricks(date, unit, interval) {
113
116
  return SQL(date, unit, interval);
114
117
  }
118
+ function mssql(date, unit, interval) {
119
+ unit = removeQuotes(unit);
120
+ const iv = unit === 'Y'
121
+ ? `CAST(FLOOR(${interval} * 12) AS INT)`
122
+ : `CAST(FLOOR(${interval}) AS INT)`;
123
+ switch (unit) {
124
+ case 'Y':
125
+ case 'M':
126
+ return `DATEADD(month, ${iv}, ${date})`;
127
+ case 'D':
128
+ return `DATEADD(day, ${iv}, ${date})`;
129
+ case 'H':
130
+ return `DATEADD(hour, ${iv}, ${date})`;
131
+ case 'MI':
132
+ return `DATEADD(minute, ${iv}, ${date})`;
133
+ case 'S':
134
+ return `DATEADD(second, ${iv}, ${date})`;
135
+ default:
136
+ return '';
137
+ }
138
+ }
115
139
  //# sourceMappingURL=dateadd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { dateDif as ESdateDif } from '../utils/elasticsearch/scripts';
3
- import { dateDif as SQLdateDif, dateDifDatabricks, dateDifPostgres, } from '../utils/sql/scripts';
3
+ import { dateDif as SQLdateDif, dateDifDatabricks, dateDifMsSQL, dateDifPostgres, } from '../utils/sql/scripts';
4
4
  import { isDateParam, isStringParam, removeQuotes } from '../utils';
5
5
  import { isAnAllowedValue } from '../utils/isAnAllowedValue';
6
6
  /**
@@ -8,6 +8,8 @@ import { isAnAllowedValue } from '../utils/isAnAllowedValue';
8
8
  */
9
9
  export const DATEDIF = {
10
10
  identifier: 'DATEDIF',
11
+ operationScope: OPERATION_SCOPE.RAW,
12
+ functionScope: [OPERATION_SCOPE.RAW],
11
13
  parameters: [
12
14
  {
13
15
  identifier: 'START_DATE',
@@ -25,7 +27,10 @@ export const DATEDIF = {
25
27
  identifier: 'UNIT',
26
28
  optional: false,
27
29
  expectedPrimitive: AST_PRIMITIVES.STRING,
28
- validator: [isStringParam, isAnAllowedValue(['Y', 'M', 'D'])],
30
+ validator: [
31
+ isStringParam,
32
+ isAnAllowedValue(['Y', 'M', 'D', 'H', 'S', 'MI']),
33
+ ],
29
34
  },
30
35
  ],
31
36
  transpiler: {
@@ -34,6 +39,7 @@ export const DATEDIF = {
34
39
  redshift,
35
40
  postgresql,
36
41
  databricks,
42
+ mssql,
37
43
  },
38
44
  primitiveResult: AST_PRIMITIVES.NUMBER,
39
45
  };
@@ -61,4 +67,8 @@ function databricks(start, end, unit) {
61
67
  unit = removeQuotes(unit);
62
68
  return dateDifDatabricks(start, end, unit);
63
69
  }
70
+ function mssql(start, end, unit) {
71
+ unit = removeQuotes(unit);
72
+ return `CAST(${dateDifMsSQL(start, end, unit)} AS INT)`;
73
+ }
64
74
  //# sourceMappingURL=datedif.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datedif.js","sourceRoot":"","sources":["../../../src/functions/datedif.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACH,OAAO,IAAI,UAAU,EACrB,iBAAiB,EACjB,eAAe,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SAChE;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,CAClB,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAC3D,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACjE,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,QAAQ,MAAM,UAAU,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"datedif.js","sourceRoot":"","sources":["../../../src/functions/datedif.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isDateParam, isNumberParam, isStringParam, removeQuotes, } from '../utils';
3
3
  import { greaterThanOrEqualToReference } from '../utils/greaterThanOrEqualToReference';
4
4
  import { isAnAllowedValue } from '../utils/isAnAllowedValue';
@@ -8,6 +8,8 @@ import { isInteger } from '../utils/isInteger';
8
8
  */
9
9
  export const DATESUBTRACT = {
10
10
  identifier: 'DATESUBTRACT',
11
+ operationScope: OPERATION_SCOPE.RAW,
12
+ functionScope: [OPERATION_SCOPE.RAW],
11
13
  parameters: [
12
14
  {
13
15
  identifier: 'DATE',
@@ -41,6 +43,7 @@ export const DATESUBTRACT = {
41
43
  redshift,
42
44
  postgresql,
43
45
  databricks,
46
+ mssql,
44
47
  },
45
48
  primitiveResult: AST_PRIMITIVES.DATE,
46
49
  };
@@ -112,4 +115,25 @@ function postgresql(date, unit, interval) {
112
115
  function databricks(date, unit, interval) {
113
116
  return SQL(date, unit, interval);
114
117
  }
118
+ function mssql(date, unit, interval) {
119
+ unit = removeQuotes(unit);
120
+ const base = `CAST(FLOOR(${interval}) AS INT)`;
121
+ const factor = unit === 'Y' ? 12 : 1;
122
+ const iv = `(${base} * ${-factor})`;
123
+ switch (unit) {
124
+ case 'Y':
125
+ case 'M':
126
+ return `DATEADD(month, ${iv}, ${date})`;
127
+ case 'D':
128
+ return `DATEADD(day, ${iv}, ${date})`;
129
+ case 'H':
130
+ return `DATEADD(hour, ${iv}, ${date})`;
131
+ case 'MI':
132
+ return `DATEADD(minute, ${iv}, ${date})`;
133
+ case 'S':
134
+ return `DATEADD(second, ${iv}, ${date})`;
135
+ default:
136
+ return '';
137
+ }
138
+ }
115
139
  //# sourceMappingURL=datesubtract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datesubtract.js","sourceRoot":"","sources":["../../../src/functions/datesubtract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACH,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAuB;IAC5C,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE;gBACP,aAAa;gBACb,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACpD;SACJ;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE;gBACP,aAAa;gBACb,6BAA6B,CAAC,CAAC,CAAC;gBAChC,SAAS;aACZ;SACJ;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,IAAI;CACvC,CAAC;AAEF,SAAS,aAAa,CAClB,IAAY,EACZ,IAAkB,EAClB,QAAgB;IAEhB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAiB,CAAC;IAC1C,QAAQ,IAAI,EAAE;QACV,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,iCAAiC,QAAQ,IAAI,CAAC;QAChE,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,kCAAkC,QAAQ,IAAI,CAAC;QACjE,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,gCAAgC,QAAQ,IAAI,CAAC;QAC/D,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,iCAAiC,QAAQ,IAAI,CAAC;QAChE,KAAK,IAAI;YACL,OAAO,GAAG,IAAI,mCAAmC,QAAQ,IAAI,CAAC;QAClE,KAAK,GAAG;YACJ,OAAO,GAAG,IAAI,mCAAmC,QAAQ,IAAI,CAAC;QAClE;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,IAAkB,EAAE,QAAgB;IAC3D,IAAI,GAAG,YAAY,CAAC,IAAI,CAAiB,CAAC;IAE1C,MAAM,eAAe,GAAG,CACpB,KAAa,EACb,KAAa,EACb,SAAiB,EACX,EAAE,CACR,WAAW,KAAK,WAAW,SAAS,oBAAoB,KAAK,GAAG,CAAC;IAErE,QAAQ,IAAI,EAAE;QACV,KAAK,GAAG;YACJ,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC,2MAA2M;QAC1Q,KAAK,GAAG;YACJ,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,KAAK,GAAG;YACJ,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,KAAK,GAAG;YACJ,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,KAAK,IAAI;YACL,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,KAAK,GAAG;YACJ,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAkB,EAAE,QAAgB;IACjE,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAkB,EAAE,QAAgB;IAChE,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CACf,IAAY,EACZ,IAAkB,EAClB,QAAgB;IAEhB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAiB,CAAC;IAC1C,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,KAAa,EAAU,EAAE,CAC7D,GAAG,KAAK,eAAe,KAAK,EAAE,CAAC;IAEnC,QAAQ,IAAI,EAAE;QACV,KAAK,GAAG;YACJ,OAAO,eAAe,CAClB,IAAI,EACJ,oBAAoB,QAAQ,YAAY,CAC3C,CAAC;QACN,KAAK,GAAG;YACJ,OAAO,eAAe,CAClB,IAAI,EACJ,qBAAqB,QAAQ,YAAY,CAC5C,CAAC;QACN,KAAK,GAAG;YACJ,OAAO,eAAe,CAClB,IAAI,EACJ,mBAAmB,QAAQ,YAAY,CAC1C,CAAC;QACN,KAAK,GAAG;YACJ,OAAO,eAAe,CAClB,IAAI,EACJ,oBAAoB,QAAQ,YAAY,CAC3C,CAAC;QACN,KAAK,IAAI;YACL,OAAO,eAAe,CAClB,IAAI,EACJ,sBAAsB,QAAQ,YAAY,CAC7C,CAAC;QACN,KAAK,GAAG;YACJ,OAAO,eAAe,CAClB,IAAI,EACJ,sBAAsB,QAAQ,YAAY,CAC7C,CAAC;QACN;YACI,OAAO,EAAE,CAAC;KACjB;AACL,CAAC;AAED,SAAS,UAAU,CACf,IAAY,EACZ,IAAkB,EAClB,QAAgB;IAEhB,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"datesubtract.js","sourceRoot":"","sources":["../../../src/functions/datesubtract.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { dayScript } from '../utils/elasticsearch/scripts';
2
2
  import { isDateParam } from '../utils';
3
- import { AST_PRIMITIVES } from '../constants';
3
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
4
4
  /**
5
5
  * Returns the number of the DAY in a Date.
6
6
  */
7
7
  export const DAY = {
8
8
  identifier: 'DAY',
9
+ operationScope: OPERATION_SCOPE.RAW,
10
+ functionScope: [OPERATION_SCOPE.RAW],
9
11
  parameters: [
10
12
  {
11
13
  identifier: 'DATE',
@@ -20,6 +22,7 @@ export const DAY = {
20
22
  redshift,
21
23
  postgresql,
22
24
  databricks,
25
+ mssql,
23
26
  },
24
27
  primitiveResult: AST_PRIMITIVES.NUMBER,
25
28
  };
@@ -41,4 +44,7 @@ function postgresql(value) {
41
44
  function databricks(value) {
42
45
  return SQL(value);
43
46
  }
47
+ function mssql(value) {
48
+ return `DAY(${value})`;
49
+ }
44
50
  //# sourceMappingURL=day.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"day.js","sourceRoot":"","sources":["../../../src/functions/day.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;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,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,oBAAoB,KAAK,GAAG,CAAC;AACxC,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":"day.js","sourceRoot":"","sources":["../../../src/functions/day.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;IACpC,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;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,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,oBAAoB,KAAK,GAAG,CAAC;AACxC,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,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
2
2
  import { isDateParam, isStringParam, removeQuotes } from '../utils';
3
3
  import { isAnAllowedValue } from '../utils/isAnAllowedValue';
4
4
  /**
@@ -6,6 +6,8 @@ import { isAnAllowedValue } from '../utils/isAnAllowedValue';
6
6
  */
7
7
  export const DAYOFWEEK = {
8
8
  identifier: 'DAYOFWEEK',
9
+ operationScope: OPERATION_SCOPE.RAW,
10
+ functionScope: [OPERATION_SCOPE.RAW],
9
11
  parameters: [
10
12
  {
11
13
  identifier: 'DATE',
@@ -26,6 +28,7 @@ export const DAYOFWEEK = {
26
28
  redshift,
27
29
  postgresql,
28
30
  databricks,
31
+ mssql,
29
32
  },
30
33
  primitiveResult(args) {
31
34
  var _a;
@@ -106,4 +109,16 @@ function databricks(date, format) {
106
109
  return '';
107
110
  }
108
111
  }
112
+ function mssql(date, format) {
113
+ let _format = format !== null && format !== void 0 ? format : 'D';
114
+ _format = removeQuotes(_format);
115
+ switch (_format) {
116
+ case 'Day':
117
+ return `DATENAME(weekday, ${date})`;
118
+ case 'D':
119
+ return `DATEPART(weekday, ${date})`;
120
+ default:
121
+ return '';
122
+ }
123
+ }
109
124
  //# sourceMappingURL=dayofweek.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dayofweek.js","sourceRoot":"","sources":["../../../src/functions/dayofweek.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dayofweek.js","sourceRoot":"","sources":["../../../src/functions/dayofweek.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
  * `EVEN` Returns a number rounded to the next greatest even integer.
5
5
  */
6
6
  export const EVEN = {
7
7
  identifier: 'EVEN',
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 EVEN = {
19
21
  redshift,
20
22
  postgresql,
21
23
  databricks,
24
+ mssql,
22
25
  },
23
26
  primitiveResult: AST_PRIMITIVES.NUMBER,
24
27
  };
@@ -44,4 +47,7 @@ function postgresql(value) {
44
47
  function databricks(value) {
45
48
  return SQL(value);
46
49
  }
50
+ function mssql(value) {
51
+ return SQL(value);
52
+ }
47
53
  //# sourceMappingURL=even.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"even.js","sourceRoot":"","sources":["../../../src/functions/even.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,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,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,QAAQ,KAAK,GAAG,CAAC;AAC5B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO;;WAEA,KAAK;oBACI,KAAK;yBACA,KAAK,2BAA2B,CAAC,IAAI,EAAE,CAAC;AACjE,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":"even.js","sourceRoot":"","sources":["../../../src/functions/even.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,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,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,QAAQ,KAAK,GAAG,CAAC;AAC5B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO;;WAEA,KAAK;oBACI,KAAK;yBACA,KAAK,2BAA2B,CAAC,IAAI,EAAE,CAAC;AACjE,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"}
@@ -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
  * `EXP` Returns Euler’s number e raised to the power of a number.
5
5
  */
6
6
  export const EXP = {
7
7
  identifier: 'EXP',
8
+ operationScope: OPERATION_SCOPE.RAW,
9
+ functionScope: [OPERATION_SCOPE.RAW, OPERATION_SCOPE.AGGREGATE],
8
10
  parameters: [
9
11
  {
10
12
  identifier: 'NUMBER',
@@ -19,6 +21,7 @@ export const EXP = {
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(current) {
40
43
  function databricks(current) {
41
44
  return SQL(current);
42
45
  }
46
+ function mssql(current) {
47
+ return SQL(current);
48
+ }
43
49
  //# sourceMappingURL=exp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exp.js","sourceRoot":"","sources":["../../../src/functions/exp.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,QAAQ;YACpB,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,OAAe;IAClC,OAAO,OAAO,OAAO,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,GAAG,CAAC,OAAe;IACxB,OAAO,OAAO,OAAO,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"exp.js","sourceRoot":"","sources":["../../../src/functions/exp.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,QAAQ;YACpB,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,OAAe;IAClC,OAAO,OAAO,OAAO,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,GAAG,CAAC,OAAe;IACxB,OAAO,OAAO,OAAO,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import { hourScript } from '../utils/elasticsearch/scripts';
2
2
  import { isDateParam, isStringParam, removeQuotes } from '../utils';
3
- import { AST_PRIMITIVES } from '../constants';
3
+ import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants';
4
4
  import { isAnAllowedValue } from '../utils/isAnAllowedValue';
5
5
  /**
6
6
  * Returns the number of the HOUR in a Date.
7
7
  */
8
8
  export const HOUR = {
9
9
  identifier: 'HOUR',
10
+ operationScope: OPERATION_SCOPE.RAW,
11
+ functionScope: [OPERATION_SCOPE.RAW],
10
12
  parameters: [
11
13
  {
12
14
  identifier: 'DATE',
@@ -27,6 +29,7 @@ export const HOUR = {
27
29
  redshift,
28
30
  postgresql,
29
31
  databricks,
32
+ mssql,
30
33
  },
31
34
  primitiveResult: AST_PRIMITIVES.NUMBER,
32
35
  };
@@ -58,4 +61,16 @@ function postgresql(value, timeFormat) {
58
61
  function databricks(value, timeFormat) {
59
62
  return SQL(value, timeFormat);
60
63
  }
64
+ function mssql(value, timeFormat) {
65
+ const format = removeQuotes(timeFormat !== null && timeFormat !== void 0 ? timeFormat : '');
66
+ if (format === '12h') {
67
+ return `(CASE
68
+ WHEN DATEPART(HOUR, ${value}) % 12 = 0 THEN 12
69
+ ELSE DATEPART(HOUR, ${value}) % 12
70
+ END)`;
71
+ }
72
+ else {
73
+ return `DATEPART(HOUR, ${value})`;
74
+ }
75
+ }
61
76
  //# sourceMappingURL=hour.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hour.js","sourceRoot":"","sources":["../../../src/functions/hour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC/D;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,EAAE,UAAmB;IACrD,OAAO,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,UAAmB;IAC3C,IAAI,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,KAAK,KAAK,EAAE;QAC1C,OAAO;qCACsB,KAAK;;;oCAGN,KAAK;eAC1B,CAAC;KACX;SAAM;QACH,OAAO,qBAAqB,KAAK,GAAG,CAAC;KACxC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,UAAmB;IACjD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,UAAmB;IAChD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,UAAmB;IAClD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,UAAmB;IAClD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"hour.js","sourceRoot":"","sources":["../../../src/functions/hour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,eAAe,CAAC,GAAG;IACnC,aAAa,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;IACpC,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC/D;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,EAAE,UAAmB;IACrD,OAAO,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,UAAmB;IAC3C,IAAI,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,KAAK,KAAK,EAAE;QAC1C,OAAO;qCACsB,KAAK;;;oCAGN,KAAK;eAC1B,CAAC;KACX;SAAM;QACH,OAAO,qBAAqB,KAAK,GAAG,CAAC;KACxC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,UAAmB;IACjD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,UAAmB;IAChD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,UAAmB;IAClD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,UAAmB;IAClD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,UAAmB;IAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,KAAK,EAAE;QAClB,OAAO;kCACmB,KAAK;kCACL,KAAK;aAC1B,CAAC;KACT;SAAM;QACH,OAAO,kBAAkB,KAAK,GAAG,CAAC;KACrC;AACL,CAAC"}