@qrvey/formula-lang 1.1.0 → 2.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 (319) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/README.md +32 -0
  3. package/dist/cjs/constants/index.d.ts +5 -0
  4. package/dist/cjs/constants/index.js +10 -1
  5. package/dist/cjs/constants/index.js.map +1 -1
  6. package/dist/cjs/constants/interfaces.d.ts +6 -3
  7. package/dist/cjs/errors/dictionary.d.ts +2 -1
  8. package/dist/cjs/errors/dictionary.js +9 -4
  9. package/dist/cjs/errors/dictionary.js.map +1 -1
  10. package/dist/cjs/errors/mismatch.d.ts +2 -5
  11. package/dist/cjs/errors/mismatch.js +10 -18
  12. package/dist/cjs/errors/mismatch.js.map +1 -1
  13. package/dist/cjs/functions/abs.js +1 -0
  14. package/dist/cjs/functions/abs.js.map +1 -1
  15. package/dist/cjs/functions/and.js +3 -0
  16. package/dist/cjs/functions/and.js.map +1 -1
  17. package/dist/cjs/functions/concatenate.js +4 -1
  18. package/dist/cjs/functions/concatenate.js.map +1 -1
  19. package/dist/cjs/functions/dateadd.js +33 -25
  20. package/dist/cjs/functions/dateadd.js.map +1 -1
  21. package/dist/cjs/functions/datedif.js +7 -2
  22. package/dist/cjs/functions/datedif.js.map +1 -1
  23. package/dist/cjs/functions/datesubtract.d.ts +5 -0
  24. package/dist/cjs/functions/datesubtract.js +114 -0
  25. package/dist/cjs/functions/datesubtract.js.map +1 -0
  26. package/dist/cjs/functions/day.js +1 -0
  27. package/dist/cjs/functions/day.js.map +1 -1
  28. package/dist/cjs/functions/dayofweek.js +2 -0
  29. package/dist/cjs/functions/dayofweek.js.map +1 -1
  30. package/dist/cjs/functions/even.d.ts +5 -0
  31. package/dist/cjs/functions/even.js +46 -0
  32. package/dist/cjs/functions/even.js.map +1 -0
  33. package/dist/cjs/functions/exp.d.ts +5 -0
  34. package/dist/cjs/functions/exp.js +42 -0
  35. package/dist/cjs/functions/exp.js.map +1 -0
  36. package/dist/cjs/functions/hour.js +1 -0
  37. package/dist/cjs/functions/hour.js.map +1 -1
  38. package/dist/cjs/functions/if.js +1 -0
  39. package/dist/cjs/functions/if.js.map +1 -1
  40. package/dist/cjs/functions/ifs.js +1 -0
  41. package/dist/cjs/functions/ifs.js.map +1 -1
  42. package/dist/cjs/functions/include.d.ts +5 -0
  43. package/dist/cjs/functions/include.js +48 -0
  44. package/dist/cjs/functions/include.js.map +1 -0
  45. package/dist/cjs/functions/index.js +32 -0
  46. package/dist/cjs/functions/index.js.map +1 -1
  47. package/dist/cjs/functions/left.js +12 -4
  48. package/dist/cjs/functions/left.js.map +1 -1
  49. package/dist/cjs/functions/length.d.ts +5 -0
  50. package/dist/cjs/functions/length.js +45 -0
  51. package/dist/cjs/functions/length.js.map +1 -0
  52. package/dist/cjs/functions/log.d.ts +5 -0
  53. package/dist/cjs/functions/log.js +59 -0
  54. package/dist/cjs/functions/log.js.map +1 -0
  55. package/dist/cjs/functions/lower.js +1 -0
  56. package/dist/cjs/functions/lower.js.map +1 -1
  57. package/dist/cjs/functions/max.d.ts +5 -0
  58. package/dist/cjs/functions/max.js +60 -0
  59. package/dist/cjs/functions/max.js.map +1 -0
  60. package/dist/cjs/functions/mid.js +22 -10
  61. package/dist/cjs/functions/mid.js.map +1 -1
  62. package/dist/cjs/functions/min.d.ts +5 -0
  63. package/dist/cjs/functions/min.js +60 -0
  64. package/dist/cjs/functions/min.js.map +1 -0
  65. package/dist/cjs/functions/minute.js +1 -0
  66. package/dist/cjs/functions/minute.js.map +1 -1
  67. package/dist/cjs/functions/month.js +1 -0
  68. package/dist/cjs/functions/month.js.map +1 -1
  69. package/dist/cjs/functions/odd.d.ts +5 -0
  70. package/dist/cjs/functions/odd.js +46 -0
  71. package/dist/cjs/functions/odd.js.map +1 -0
  72. package/dist/cjs/functions/or.js +3 -0
  73. package/dist/cjs/functions/or.js.map +1 -1
  74. package/dist/cjs/functions/power.d.ts +5 -0
  75. package/dist/cjs/functions/power.js +53 -0
  76. package/dist/cjs/functions/power.js.map +1 -0
  77. package/dist/cjs/functions/proper.js +1 -0
  78. package/dist/cjs/functions/proper.js.map +1 -1
  79. package/dist/cjs/functions/random.d.ts +5 -0
  80. package/dist/cjs/functions/random.js +34 -0
  81. package/dist/cjs/functions/random.js.map +1 -0
  82. package/dist/cjs/functions/replace.d.ts +5 -0
  83. package/dist/cjs/functions/replace.js +54 -0
  84. package/dist/cjs/functions/replace.js.map +1 -0
  85. package/dist/cjs/functions/right.js +12 -4
  86. package/dist/cjs/functions/right.js.map +1 -1
  87. package/dist/cjs/functions/round.d.ts +5 -0
  88. package/dist/cjs/functions/round.js +59 -0
  89. package/dist/cjs/functions/round.js.map +1 -0
  90. package/dist/cjs/functions/rounddown.d.ts +5 -0
  91. package/dist/cjs/functions/rounddown.js +59 -0
  92. package/dist/cjs/functions/rounddown.js.map +1 -0
  93. package/dist/cjs/functions/roundup.d.ts +5 -0
  94. package/dist/cjs/functions/roundup.js +59 -0
  95. package/dist/cjs/functions/roundup.js.map +1 -0
  96. package/dist/cjs/functions/second.js +1 -0
  97. package/dist/cjs/functions/second.js.map +1 -1
  98. package/dist/cjs/functions/sqrt.d.ts +5 -0
  99. package/dist/cjs/functions/sqrt.js +46 -0
  100. package/dist/cjs/functions/sqrt.js.map +1 -0
  101. package/dist/cjs/functions/trim.js +1 -0
  102. package/dist/cjs/functions/trim.js.map +1 -1
  103. package/dist/cjs/functions/upper.js +1 -0
  104. package/dist/cjs/functions/upper.js.map +1 -1
  105. package/dist/cjs/functions/year.js +1 -0
  106. package/dist/cjs/functions/year.js.map +1 -1
  107. package/dist/cjs/index.d.ts +1 -0
  108. package/dist/cjs/index.js +3 -1
  109. package/dist/cjs/index.js.map +1 -1
  110. package/dist/cjs/parser/json-parser.js +2 -1
  111. package/dist/cjs/parser/json-parser.js.map +1 -1
  112. package/dist/cjs/transpiler/columnTranspilation.js +8 -1
  113. package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
  114. package/dist/cjs/transpiler/index.js +7 -1
  115. package/dist/cjs/transpiler/index.js.map +1 -1
  116. package/dist/cjs/utils/addDecimalPointIfNeeded.d.ts +3 -0
  117. package/dist/cjs/utils/addDecimalPointIfNeeded.js +19 -0
  118. package/dist/cjs/utils/addDecimalPointIfNeeded.js.map +1 -0
  119. package/dist/cjs/utils/cleanInvalidItemsInContext.d.ts +1 -1
  120. package/dist/cjs/utils/cleanInvalidItemsInContext.js +2 -1
  121. package/dist/cjs/utils/cleanInvalidItemsInContext.js.map +1 -1
  122. package/dist/cjs/utils/elasticsearch/index.js +29 -0
  123. package/dist/cjs/utils/elasticsearch/index.js.map +1 -1
  124. package/dist/cjs/utils/elasticsearch/scripts.d.ts +15 -1
  125. package/dist/cjs/utils/elasticsearch/scripts.js +131 -17
  126. package/dist/cjs/utils/elasticsearch/scripts.js.map +1 -1
  127. package/dist/cjs/utils/escapeCharacters.js +2 -0
  128. package/dist/cjs/utils/escapeCharacters.js.map +1 -1
  129. package/dist/cjs/utils/getNumericValueFromArgument.d.ts +3 -0
  130. package/dist/cjs/utils/getNumericValueFromArgument.js +32 -0
  131. package/dist/cjs/utils/getNumericValueFromArgument.js.map +1 -0
  132. package/dist/cjs/utils/getValidDataTypeParam.d.ts +3 -0
  133. package/dist/cjs/utils/getValidDataTypeParam.js +10 -0
  134. package/dist/cjs/utils/getValidDataTypeParam.js.map +1 -0
  135. package/dist/cjs/utils/greaterThanOrEqualToReference.d.ts +3 -0
  136. package/dist/cjs/utils/greaterThanOrEqualToReference.js +20 -0
  137. package/dist/cjs/utils/greaterThanOrEqualToReference.js.map +1 -0
  138. package/dist/cjs/utils/greaterThanReference.d.ts +3 -0
  139. package/dist/cjs/utils/greaterThanReference.js +19 -0
  140. package/dist/cjs/utils/greaterThanReference.js.map +1 -0
  141. package/dist/cjs/utils/isAValidPower.d.ts +3 -0
  142. package/dist/cjs/utils/isAValidPower.js +21 -0
  143. package/dist/cjs/utils/isAValidPower.js.map +1 -0
  144. package/dist/cjs/utils/isBetweenInclusiveRange.d.ts +3 -0
  145. package/dist/cjs/utils/isBetweenInclusiveRange.js +21 -0
  146. package/dist/cjs/utils/isBetweenInclusiveRange.js.map +1 -0
  147. package/dist/cjs/utils/isInteger.d.ts +3 -0
  148. package/dist/cjs/utils/isInteger.js +25 -0
  149. package/dist/cjs/utils/isInteger.js.map +1 -0
  150. package/dist/cjs/utils/isLongLiteralNumber.js +2 -1
  151. package/dist/cjs/utils/isLongLiteralNumber.js.map +1 -1
  152. package/dist/cjs/utils/isSameAndValidRecursiveDataType.d.ts +3 -0
  153. package/dist/cjs/utils/isSameAndValidRecursiveDataType.js +32 -0
  154. package/dist/cjs/utils/isSameAndValidRecursiveDataType.js.map +1 -0
  155. package/dist/cjs/utils/primitiveFunctions.d.ts +3 -0
  156. package/dist/cjs/utils/primitiveFunctions.js +7 -1
  157. package/dist/cjs/utils/primitiveFunctions.js.map +1 -1
  158. package/dist/module/constants/index.d.ts +5 -0
  159. package/dist/module/constants/index.js +9 -0
  160. package/dist/module/constants/index.js.map +1 -1
  161. package/dist/module/constants/interfaces.d.ts +6 -3
  162. package/dist/module/errors/dictionary.d.ts +2 -1
  163. package/dist/module/errors/dictionary.js +9 -4
  164. package/dist/module/errors/dictionary.js.map +1 -1
  165. package/dist/module/errors/mismatch.d.ts +2 -5
  166. package/dist/module/errors/mismatch.js +10 -18
  167. package/dist/module/errors/mismatch.js.map +1 -1
  168. package/dist/module/functions/abs.js +1 -0
  169. package/dist/module/functions/abs.js.map +1 -1
  170. package/dist/module/functions/and.js +3 -0
  171. package/dist/module/functions/and.js.map +1 -1
  172. package/dist/module/functions/concatenate.js +4 -1
  173. package/dist/module/functions/concatenate.js.map +1 -1
  174. package/dist/module/functions/dateadd.js +33 -25
  175. package/dist/module/functions/dateadd.js.map +1 -1
  176. package/dist/module/functions/datedif.js +7 -2
  177. package/dist/module/functions/datedif.js.map +1 -1
  178. package/dist/module/functions/datesubtract.d.ts +5 -0
  179. package/dist/module/functions/datesubtract.js +111 -0
  180. package/dist/module/functions/datesubtract.js.map +1 -0
  181. package/dist/module/functions/day.js +1 -0
  182. package/dist/module/functions/day.js.map +1 -1
  183. package/dist/module/functions/dayofweek.js +2 -0
  184. package/dist/module/functions/dayofweek.js.map +1 -1
  185. package/dist/module/functions/even.d.ts +5 -0
  186. package/dist/module/functions/even.js +43 -0
  187. package/dist/module/functions/even.js.map +1 -0
  188. package/dist/module/functions/exp.d.ts +5 -0
  189. package/dist/module/functions/exp.js +39 -0
  190. package/dist/module/functions/exp.js.map +1 -0
  191. package/dist/module/functions/hour.js +1 -0
  192. package/dist/module/functions/hour.js.map +1 -1
  193. package/dist/module/functions/if.js +1 -0
  194. package/dist/module/functions/if.js.map +1 -1
  195. package/dist/module/functions/ifs.js +1 -0
  196. package/dist/module/functions/ifs.js.map +1 -1
  197. package/dist/module/functions/include.d.ts +5 -0
  198. package/dist/module/functions/include.js +45 -0
  199. package/dist/module/functions/include.js.map +1 -0
  200. package/dist/module/functions/index.js +32 -0
  201. package/dist/module/functions/index.js.map +1 -1
  202. package/dist/module/functions/left.js +12 -4
  203. package/dist/module/functions/left.js.map +1 -1
  204. package/dist/module/functions/length.d.ts +5 -0
  205. package/dist/module/functions/length.js +42 -0
  206. package/dist/module/functions/length.js.map +1 -0
  207. package/dist/module/functions/log.d.ts +5 -0
  208. package/dist/module/functions/log.js +56 -0
  209. package/dist/module/functions/log.js.map +1 -0
  210. package/dist/module/functions/lower.js +1 -0
  211. package/dist/module/functions/lower.js.map +1 -1
  212. package/dist/module/functions/max.d.ts +5 -0
  213. package/dist/module/functions/max.js +57 -0
  214. package/dist/module/functions/max.js.map +1 -0
  215. package/dist/module/functions/mid.js +22 -10
  216. package/dist/module/functions/mid.js.map +1 -1
  217. package/dist/module/functions/min.d.ts +5 -0
  218. package/dist/module/functions/min.js +57 -0
  219. package/dist/module/functions/min.js.map +1 -0
  220. package/dist/module/functions/minute.js +1 -0
  221. package/dist/module/functions/minute.js.map +1 -1
  222. package/dist/module/functions/month.js +1 -0
  223. package/dist/module/functions/month.js.map +1 -1
  224. package/dist/module/functions/odd.d.ts +5 -0
  225. package/dist/module/functions/odd.js +43 -0
  226. package/dist/module/functions/odd.js.map +1 -0
  227. package/dist/module/functions/or.js +3 -0
  228. package/dist/module/functions/or.js.map +1 -1
  229. package/dist/module/functions/power.d.ts +5 -0
  230. package/dist/module/functions/power.js +50 -0
  231. package/dist/module/functions/power.js.map +1 -0
  232. package/dist/module/functions/proper.js +1 -0
  233. package/dist/module/functions/proper.js.map +1 -1
  234. package/dist/module/functions/random.d.ts +5 -0
  235. package/dist/module/functions/random.js +31 -0
  236. package/dist/module/functions/random.js.map +1 -0
  237. package/dist/module/functions/replace.d.ts +5 -0
  238. package/dist/module/functions/replace.js +51 -0
  239. package/dist/module/functions/replace.js.map +1 -0
  240. package/dist/module/functions/right.js +12 -4
  241. package/dist/module/functions/right.js.map +1 -1
  242. package/dist/module/functions/round.d.ts +5 -0
  243. package/dist/module/functions/round.js +56 -0
  244. package/dist/module/functions/round.js.map +1 -0
  245. package/dist/module/functions/rounddown.d.ts +5 -0
  246. package/dist/module/functions/rounddown.js +56 -0
  247. package/dist/module/functions/rounddown.js.map +1 -0
  248. package/dist/module/functions/roundup.d.ts +5 -0
  249. package/dist/module/functions/roundup.js +56 -0
  250. package/dist/module/functions/roundup.js.map +1 -0
  251. package/dist/module/functions/second.js +1 -0
  252. package/dist/module/functions/second.js.map +1 -1
  253. package/dist/module/functions/sqrt.d.ts +5 -0
  254. package/dist/module/functions/sqrt.js +43 -0
  255. package/dist/module/functions/sqrt.js.map +1 -0
  256. package/dist/module/functions/trim.js +1 -0
  257. package/dist/module/functions/trim.js.map +1 -1
  258. package/dist/module/functions/upper.js +1 -0
  259. package/dist/module/functions/upper.js.map +1 -1
  260. package/dist/module/functions/year.js +1 -0
  261. package/dist/module/functions/year.js.map +1 -1
  262. package/dist/module/index.d.ts +1 -0
  263. package/dist/module/index.js +1 -0
  264. package/dist/module/index.js.map +1 -1
  265. package/dist/module/parser/json-parser.js +2 -1
  266. package/dist/module/parser/json-parser.js.map +1 -1
  267. package/dist/module/transpiler/columnTranspilation.js +8 -1
  268. package/dist/module/transpiler/columnTranspilation.js.map +1 -1
  269. package/dist/module/transpiler/index.js +7 -1
  270. package/dist/module/transpiler/index.js.map +1 -1
  271. package/dist/module/utils/addDecimalPointIfNeeded.d.ts +3 -0
  272. package/dist/module/utils/addDecimalPointIfNeeded.js +15 -0
  273. package/dist/module/utils/addDecimalPointIfNeeded.js.map +1 -0
  274. package/dist/module/utils/cleanInvalidItemsInContext.d.ts +1 -1
  275. package/dist/module/utils/cleanInvalidItemsInContext.js +2 -1
  276. package/dist/module/utils/cleanInvalidItemsInContext.js.map +1 -1
  277. package/dist/module/utils/elasticsearch/index.js +30 -1
  278. package/dist/module/utils/elasticsearch/index.js.map +1 -1
  279. package/dist/module/utils/elasticsearch/scripts.d.ts +15 -1
  280. package/dist/module/utils/elasticsearch/scripts.js +130 -16
  281. package/dist/module/utils/elasticsearch/scripts.js.map +1 -1
  282. package/dist/module/utils/escapeCharacters.js +2 -0
  283. package/dist/module/utils/escapeCharacters.js.map +1 -1
  284. package/dist/module/utils/getNumericValueFromArgument.d.ts +3 -0
  285. package/dist/module/utils/getNumericValueFromArgument.js +27 -0
  286. package/dist/module/utils/getNumericValueFromArgument.js.map +1 -0
  287. package/dist/module/utils/getValidDataTypeParam.d.ts +3 -0
  288. package/dist/module/utils/getValidDataTypeParam.js +6 -0
  289. package/dist/module/utils/getValidDataTypeParam.js.map +1 -0
  290. package/dist/module/utils/greaterThanOrEqualToReference.d.ts +3 -0
  291. package/dist/module/utils/greaterThanOrEqualToReference.js +16 -0
  292. package/dist/module/utils/greaterThanOrEqualToReference.js.map +1 -0
  293. package/dist/module/utils/greaterThanReference.d.ts +3 -0
  294. package/dist/module/utils/greaterThanReference.js +15 -0
  295. package/dist/module/utils/greaterThanReference.js.map +1 -0
  296. package/dist/module/utils/isAValidPower.d.ts +3 -0
  297. package/dist/module/utils/isAValidPower.js +17 -0
  298. package/dist/module/utils/isAValidPower.js.map +1 -0
  299. package/dist/module/utils/isBetweenInclusiveRange.d.ts +3 -0
  300. package/dist/module/utils/isBetweenInclusiveRange.js +17 -0
  301. package/dist/module/utils/isBetweenInclusiveRange.js.map +1 -0
  302. package/dist/module/utils/isInteger.d.ts +3 -0
  303. package/dist/module/utils/isInteger.js +21 -0
  304. package/dist/module/utils/isInteger.js.map +1 -0
  305. package/dist/module/utils/isLongLiteralNumber.js +2 -1
  306. package/dist/module/utils/isLongLiteralNumber.js.map +1 -1
  307. package/dist/module/utils/isSameAndValidRecursiveDataType.d.ts +3 -0
  308. package/dist/module/utils/isSameAndValidRecursiveDataType.js +28 -0
  309. package/dist/module/utils/isSameAndValidRecursiveDataType.js.map +1 -0
  310. package/dist/module/utils/primitiveFunctions.d.ts +3 -0
  311. package/dist/module/utils/primitiveFunctions.js +5 -0
  312. package/dist/module/utils/primitiveFunctions.js.map +1 -1
  313. package/package.json +1 -1
  314. package/dist/cjs/utils/greaterThanZero.d.ts +0 -3
  315. package/dist/cjs/utils/greaterThanZero.js +0 -38
  316. package/dist/cjs/utils/greaterThanZero.js.map +0 -1
  317. package/dist/module/utils/greaterThanZero.d.ts +0 -3
  318. package/dist/module/utils/greaterThanZero.js +0 -34
  319. package/dist/module/utils/greaterThanZero.js.map +0 -1
@@ -1,3 +1,3 @@
1
1
  import { ENGINES } from '../constants';
2
2
  import { FormulaContext } from '../constants/interfaces';
3
- export declare function cleanInvalidItemsInContext(context: FormulaContext, engine: ENGINES): FormulaContext;
3
+ export declare function cleanInvalidItemsInContext(context: FormulaContext, engine?: ENGINES): FormulaContext;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cleanInvalidItemsInContext = void 0;
4
+ const constants_1 = require("../constants");
4
5
  const index_1 = require("../index");
5
- function cleanInvalidItemsInContext(context, engine) {
6
+ function cleanInvalidItemsInContext(context, engine = constants_1.ENGINES.ELASTICSEARCH) {
6
7
  var _a;
7
8
  if (!context.currentFormulaId)
8
9
  return context;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanInvalidItemsInContext.js","sourceRoot":"","sources":["../../../src/utils/cleanInvalidItemsInContext.ts"],"names":[],"mappings":";;;AAEA,oCAAqC;AAErC,SAAgB,0BAA0B,CACtC,OAAuB,EACvB,MAAe;;IAEf,IAAI,CAAC,OAAO,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC;IAE9C,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;;QACjD,IAAI,CAAC,YAAY,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,YAAY,CAAC,EAAE,KAAK,OAAO,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAE/D,IAAI;YACA,MAAM,OAAO,GAAG,MAAA,YAAY,CAAC,WAAW,mCAAI,OAAO,CAAC;YACpD,IAAA,iBAAS,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,CAAC,CAAC;IAEH,uCACO,OAAO,KACV,KAAK,IACP;AACN,CAAC;AAvBD,gEAuBC"}
1
+ {"version":3,"file":"cleanInvalidItemsInContext.js","sourceRoot":"","sources":["../../../src/utils/cleanInvalidItemsInContext.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAEvC,oCAAqC;AAErC,SAAgB,0BAA0B,CACtC,OAAuB,EACvB,SAAkB,mBAAO,CAAC,aAAa;;IAEvC,IAAI,CAAC,OAAO,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC;IAE9C,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;;QACjD,IAAI,CAAC,YAAY,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,YAAY,CAAC,EAAE,KAAK,OAAO,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAE/D,IAAI;YACA,MAAM,OAAO,GAAG,MAAA,YAAY,CAAC,WAAW,mCAAI,OAAO,CAAC;YACpD,IAAA,iBAAS,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,CAAC,CAAC;IAEH,uCACO,OAAO,KACV,KAAK,IACP;AACN,CAAC;AAvBD,gEAuBC"}
@@ -22,6 +22,35 @@ function customFunctionsList(func) {
22
22
  return scripts_1.isNullScript;
23
23
  case 'PROPER':
24
24
  return scripts_1.properScript;
25
+ case 'MAX':
26
+ return scripts_1.greatestScript;
27
+ case 'MIN':
28
+ return scripts_1.leastScript;
29
+ case 'LENGTH':
30
+ return scripts_1.lengthScript;
31
+ case 'SQRT':
32
+ return scripts_1.sqrtScript;
33
+ case 'EXP':
34
+ return scripts_1.expScript;
35
+ case 'REPLACE':
36
+ return scripts_1.replaceScript;
37
+ case 'INCLUDE':
38
+ return scripts_1.includeScript;
39
+ case 'EVEN':
40
+ return scripts_1.evenScript;
41
+ case 'LOG':
42
+ return scripts_1.logScript;
43
+ case 'ODD':
44
+ return scripts_1.oddScript;
45
+ case 'POWER':
46
+ return scripts_1.powerScript;
47
+ case 'RANDOM':
48
+ case 'ROUND':
49
+ return scripts_1.roundScript;
50
+ case 'ROUNDDOWN':
51
+ return scripts_1.roundDownScript;
52
+ case 'ROUNDUP':
53
+ return scripts_1.roundUpScript;
25
54
  default:
26
55
  return false;
27
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":";;;AAAA,uCAKmB;AACnB,qCAA4D;AAAnD,iGAAA,MAAM,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAExC,SAAgB,mBAAmB,CAAC,IAAY;IAC5C,QAAQ,IAAI,EAAE;QACV,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACT,OAAO,0BAAgB,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACR,OAAO,yBAAe,CAAC;QAC3B,KAAK,QAAQ;YACT,OAAO,sBAAY,CAAC;QACxB,KAAK,QAAQ;YACT,OAAO,sBAAY,CAAC;QACxB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AApBD,kDAoBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":";;;AAAA,uCAmBmB;AACnB,qCAA4D;AAAnD,iGAAA,MAAM,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAExC,SAAgB,mBAAmB,CAAC,IAAY;IAC5C,QAAQ,IAAI,EAAE;QACV,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACT,OAAO,0BAAgB,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACR,OAAO,yBAAe,CAAC;QAC3B,KAAK,QAAQ;YACT,OAAO,sBAAY,CAAC;QACxB,KAAK,QAAQ;YACT,OAAO,sBAAY,CAAC;QACxB,KAAK,KAAK;YACN,OAAO,wBAAc,CAAC;QAC1B,KAAK,KAAK;YACN,OAAO,qBAAW,CAAC;QACvB,KAAK,QAAQ;YACT,OAAO,sBAAY,CAAC;QACxB,KAAK,MAAM;YACP,OAAO,oBAAU,CAAC;QACtB,KAAK,KAAK;YACN,OAAO,mBAAS,CAAC;QACrB,KAAK,SAAS;YACV,OAAO,uBAAa,CAAC;QACzB,KAAK,SAAS;YACV,OAAO,uBAAa,CAAC;QACzB,KAAK,MAAM;YACP,OAAO,oBAAU,CAAC;QACtB,KAAK,KAAK;YACN,OAAO,mBAAS,CAAC;QACrB,KAAK,KAAK;YACN,OAAO,mBAAS,CAAC;QACrB,KAAK,OAAO;YACR,OAAO,qBAAW,CAAC;QACvB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACR,OAAO,qBAAW,CAAC;QACvB,KAAK,WAAW;YACZ,OAAO,yBAAe,CAAC;QAC3B,KAAK,SAAS;YACV,OAAO,uBAAa,CAAC;QACzB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAjDD,kDAiDC"}
@@ -2,7 +2,6 @@ import { DateDifUnitParam } from '../../constants/interfaces';
2
2
  export declare function toDate(value: string): string;
3
3
  export declare const setTimezoneToColumnDate: string;
4
4
  export declare const dateFormatScript: string;
5
- export declare const subStringScript: string;
6
5
  export declare const dayScript: (value: any) => string;
7
6
  export declare const monthScript: (value: any) => string;
8
7
  export declare const yearScript: (value: any) => string;
@@ -13,3 +12,18 @@ export declare function dateDif(start: any, end: any, unit: DateDifUnitParam): s
13
12
  export declare const getValueScript = "def GET_VALUE(def c){return (c.empty ? null : c.value)}";
14
13
  export declare const isNullScript = "def IS_NULL_SCRIPT(def value, def replacement) { return value ?: replacement; }";
15
14
  export declare const properScript = "String PROPER_STRING(String input) {\n if (input == null) return null;\n def str = input.toLowerCase();\n def builder = new StringBuilder(str);\n \n def chartLists = [\" \", \"!\", \"\\\"\", \"#\", \"$\", \"%\", \"&\", \"'\", \"(\", \")\", \"*\", \"+\", \",\", \"-\", \".\", \"/\", \":\", \";\", \"<\", \"=\", \">\", \"?\", \"@\", \"[\", \"\\\\\", \"]\", \"^\", \"_\", \"`\", \"{\", \"|\", \"}\", \"~\"];\n \n boolean flag = true;\n \n for(int i = 0; i < builder.length(); i++) {\n String ch = builder.charAt(i).toString();\n if (flag) { \n builder.replace(i, i + 1, ch.toUpperCase());\n flag = false;\n }\n flag = chartLists.contains(ch);\n }\n return builder.toString();\n }";
15
+ export declare const greatestScript = "def GREATEST(def numbers) {\n def max;\n if (numbers[0] instanceof ZonedDateTime) {\n max = numbers[0];\n if (max === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n def current = numbers[i];\n if (current.isAfter(max)) {\n max = current;\n }\n }\n return max;\n } else {\n max = numbers[0];\n if (max === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n if (numbers[i] > max) {\n max = numbers[i];\n }\n }\n return max;\n }\n}";
16
+ export declare const leastScript = "def LEAST(def numbers) {\n def min;\n if (numbers[0] instanceof ZonedDateTime) {\n min = numbers[0];\n if (min === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n def current = numbers[i];\n if (current.isBefore(min)) {\n min = current;\n }\n }\n return min;\n } else {\n min = numbers[0];\n if (min === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n if (numbers[i] < min) {\n min = numbers[i];\n }\n }\n return min;\n }\n}";
17
+ export declare const lengthScript = "def LENGTH(def str){return str != null ? str.length() : 0}";
18
+ export declare const sqrtScript = "def SQRT(def num){return num == null || num < 0 ? null : Math.sqrt(num) }";
19
+ export declare const expScript = "def EXP(def num){return num != null ? Math.exp(num) : null}";
20
+ export declare const replaceScript = "def REPLACE(def str, def target, def replacement) {\n if (str == null || target == null || replacement == null) return null;\n if (target == '') return str;\n return str.replace(target, replacement);\n}";
21
+ export declare const includeScript = "def INCLUDE(def str, def targetSearch) { if (str == null || targetSearch == null) return null; return str.contains(targetSearch);}";
22
+ export declare const evenScript = "def EVEN(def value) {\n if (value == null) return null;\n def _value = Math.abs(value);\n def sign = value < 0 ? -1 : 1;\n return ((long) Math.ceil(_value / 2.0) * 2) * sign;\n}";
23
+ export declare const logScript = "def LOG(def base, def value) {\n if (base == null || value == null) return null;\n if (base <= 1 || value <= 0) return null;\n return (Math.log(value) / Math.log(base));\n}";
24
+ export declare const oddScript = "def ODD(def value) {\n if (value == null) return null;\n def _value = Math.abs(value);\n def sign = value < 0 ? -1 : 1;\n return ((long) Math.ceil((_value + 1)/ 2.0) * 2 - 1) * sign;\n}";
25
+ export declare const powerScript = "def POWER(def value, def numberToRaise) {\n if (value == null || numberToRaise == null) return null;\n if (value == 0 && numberToRaise < 0) return null;\n return Math.pow(value, numberToRaise);\n}";
26
+ export declare const roundDownScript = "def ROUNDDOWN(def value, def places) {\n if (value == null || places == null) return null; \n if (places > 10) places = 10;\n if (places < 0) places = 0;\n def _value = Math.abs(value);\n def sign = value < 0 ? -1 : 1;\n def scale = Math.pow(10, places);\n return (Math.floor(_value * scale) / scale) * sign;\n}";
27
+ export declare const roundScript: string;
28
+ export declare const roundUpScript: string;
29
+ export declare const subStringScript: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.properScript = exports.isNullScript = exports.getValueScript = exports.dateDif = exports.secondScript = exports.minuteScript = exports.hourScript = exports.yearScript = exports.monthScript = exports.dayScript = exports.subStringScript = exports.dateFormatScript = exports.setTimezoneToColumnDate = exports.toDate = void 0;
3
+ exports.subStringScript = exports.roundUpScript = exports.roundScript = exports.roundDownScript = exports.powerScript = exports.oddScript = exports.logScript = exports.evenScript = exports.includeScript = exports.replaceScript = exports.expScript = exports.sqrtScript = exports.lengthScript = exports.leastScript = exports.greatestScript = exports.properScript = exports.isNullScript = exports.getValueScript = exports.dateDif = exports.secondScript = exports.minuteScript = exports.hourScript = exports.yearScript = exports.monthScript = exports.dayScript = exports.dateFormatScript = exports.setTimezoneToColumnDate = exports.toDate = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  function toDate(value) {
6
6
  return `ZonedDateTime.parse("${value}")`;
@@ -29,22 +29,6 @@ String ${constants_1.ELASTICSEARCH_SCRIPT_NAMES.dateFormat}(def date_value, Stri
29
29
  return DateTimeFormatter.ofPattern(format).format(date_value)
30
30
  }
31
31
  `;
32
- exports.subStringScript = `
33
- String ${constants_1.ELASTICSEARCH_SCRIPT_NAMES.subString}(String text, int start, int end) {
34
- int first = 0;
35
- if (end < 0 || (start * -1 > text.length())) return "";
36
- if (start < 0) {
37
- first = (int) Math.max(text.length() + start, 0);
38
- } else if (start == 0) {
39
- first = 0;
40
- } else {
41
- first = (int) Math.min(start - 1, text.length())
42
- }
43
-
44
- int last = (int) Math.min(first + end, text.length());
45
- return text.substring(first, last);
46
- }
47
- `;
48
32
  function dateFormatToInt(value, format) {
49
33
  return `Integer.parseInt(${constants_1.ELASTICSEARCH_SCRIPT_NAMES.dateFormat}(${value}, '${format}'))`;
50
34
  }
@@ -91,4 +75,134 @@ exports.properScript = `String PROPER_STRING(String input) {
91
75
  }
92
76
  return builder.toString();
93
77
  }`;
78
+ exports.greatestScript = `def GREATEST(def numbers) {
79
+ def max;
80
+ if (numbers[0] instanceof ZonedDateTime) {
81
+ max = numbers[0];
82
+ if (max === null) return null;
83
+ for (int i = 1; i < numbers.length; i++) {
84
+ if (numbers[i] === null) return null;
85
+ def current = numbers[i];
86
+ if (current.isAfter(max)) {
87
+ max = current;
88
+ }
89
+ }
90
+ return max;
91
+ } else {
92
+ max = numbers[0];
93
+ if (max === null) return null;
94
+ for (int i = 1; i < numbers.length; i++) {
95
+ if (numbers[i] === null) return null;
96
+ if (numbers[i] > max) {
97
+ max = numbers[i];
98
+ }
99
+ }
100
+ return max;
101
+ }
102
+ }`;
103
+ exports.leastScript = `def LEAST(def numbers) {
104
+ def min;
105
+ if (numbers[0] instanceof ZonedDateTime) {
106
+ min = numbers[0];
107
+ if (min === null) return null;
108
+ for (int i = 1; i < numbers.length; i++) {
109
+ if (numbers[i] === null) return null;
110
+ def current = numbers[i];
111
+ if (current.isBefore(min)) {
112
+ min = current;
113
+ }
114
+ }
115
+ return min;
116
+ } else {
117
+ min = numbers[0];
118
+ if (min === null) return null;
119
+ for (int i = 1; i < numbers.length; i++) {
120
+ if (numbers[i] === null) return null;
121
+ if (numbers[i] < min) {
122
+ min = numbers[i];
123
+ }
124
+ }
125
+ return min;
126
+ }
127
+ }`;
128
+ exports.lengthScript = `def LENGTH(def str){return str != null ? str.length() : 0}`;
129
+ exports.sqrtScript = `def SQRT(def num){return num == null || num < 0 ? null : Math.sqrt(num) }`;
130
+ exports.expScript = `def EXP(def num){return num != null ? Math.exp(num) : null}`;
131
+ exports.replaceScript = `def REPLACE(def str, def target, def replacement) {
132
+ if (str == null || target == null || replacement == null) return null;
133
+ if (target == '') return str;
134
+ return str.replace(target, replacement);
135
+ }`;
136
+ exports.includeScript = `def INCLUDE(def str, def targetSearch) { if (str == null || targetSearch == null) return null; return str.contains(targetSearch);}`;
137
+ exports.evenScript = `def EVEN(def value) {
138
+ if (value == null) return null;
139
+ def _value = Math.abs(value);
140
+ def sign = value < 0 ? -1 : 1;
141
+ return ((long) Math.ceil(_value / 2.0) * 2) * sign;
142
+ }`;
143
+ exports.logScript = `def LOG(def base, def value) {
144
+ if (base == null || value == null) return null;
145
+ if (base <= 1 || value <= 0) return null;
146
+ return (Math.log(value) / Math.log(base));
147
+ }`;
148
+ exports.oddScript = `def ODD(def value) {
149
+ if (value == null) return null;
150
+ def _value = Math.abs(value);
151
+ def sign = value < 0 ? -1 : 1;
152
+ return ((long) Math.ceil((_value + 1)/ 2.0) * 2 - 1) * sign;
153
+ }`;
154
+ exports.powerScript = `def POWER(def value, def numberToRaise) {
155
+ if (value == null || numberToRaise == null) return null;
156
+ if (value == 0 && numberToRaise < 0) return null;
157
+ return Math.pow(value, numberToRaise);
158
+ }`;
159
+ exports.roundDownScript = `def ROUNDDOWN(def value, def places) {
160
+ if (value == null || places == null) return null;
161
+ if (places > 10) places = 10;
162
+ if (places < 0) places = 0;
163
+ def _value = Math.abs(value);
164
+ def sign = value < 0 ? -1 : 1;
165
+ def scale = Math.pow(10, places);
166
+ return (Math.floor(_value * scale) / scale) * sign;
167
+ }`;
168
+ exports.roundScript = `${exports.roundDownScript}
169
+ def ROUND(def value, def places) {
170
+ if (value == null || places == null) return null;
171
+ if (places > 10) places = 10;
172
+ if (places < 0) places = 0;
173
+ def _value = Math.abs(value);
174
+ def sign = value < 0 ? -1 : 1;
175
+ def scale = Math.pow(10, places);
176
+ return (Math.round(_value * scale) / scale) * sign;
177
+ }`;
178
+ exports.roundUpScript = `${exports.roundDownScript}
179
+ def ROUNDUP(def value, def places) {
180
+ if (value == null || places == null) return null;
181
+ if (places > 10) places = 10;
182
+ if (places < 0) places = 0;
183
+ def _value = Math.abs(value);
184
+ def sign = value < 0 ? -1 : 1;
185
+ def scale = Math.pow(10, places);
186
+ return (Math.ceil(_value * scale) / scale) * sign;
187
+ }`;
188
+ exports.subStringScript = `${exports.roundDownScript}
189
+ String ${constants_1.ELASTICSEARCH_SCRIPT_NAMES.subString}(def text, def start, def end) {
190
+ if (text == null || start == null || end == null) return null;
191
+ text = (String) text;
192
+ start = ROUNDDOWN(start, 0);
193
+ end = ROUNDDOWN(end, 0);
194
+ int first = 0;
195
+ if (end < 0 || (start * -1 > text.length())) return "";
196
+ if (start < 0) {
197
+ first = (int) Math.max(text.length() + start, 0);
198
+ } else if (start == 0) {
199
+ first = 0;
200
+ } else {
201
+ first = (int) Math.min(start - 1, text.length())
202
+ }
203
+
204
+ int last = (int) Math.min(first + end, text.length());
205
+ return text.substring(first, last);
206
+ }
207
+ `;
94
208
  //# sourceMappingURL=scripts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":";;;AACA,+CAA6E;AAE7E,SAAgB,MAAM,CAAC,KAAa;IAChC,OAAO,wBAAwB,KAAK,IAAI,CAAC;AAC7C,CAAC;AAFD,wBAEC;AAEY,QAAA,uBAAuB,GAAG;MACjC,sCAAY,CAAC,WAAW;;;;;;;;;;;CAW7B,CAAC;AAEW,QAAA,gBAAgB,GAAG;SACvB,sCAAY,CAAC,UAAU;;;;;;;;CAQ/B,CAAC;AAEW,QAAA,eAAe,GAAG;SACtB,sCAAY,CAAC,SAAS;;;;;;;;;;;;;;CAc9B,CAAC;AAEF,SAAS,eAAe,CAAC,KAAU,EAAE,MAAc;IAC/C,OAAO,oBAAoB,sCAAY,CAAC,UAAU,IAAI,KAAK,MAAM,MAAM,KAAK,CAAC;AACjF,CAAC;AAEM,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAAzD,QAAA,SAAS,aAAgD;AAE/D,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA3D,QAAA,WAAW,eAAgD;AAEjE,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAA5D,QAAA,UAAU,cAAkD;AAElE,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA1D,QAAA,UAAU,cAAgD;AAEhE,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA5D,QAAA,YAAY,gBAAgD;AAElE,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA5D,QAAA,YAAY,gBAAgD;AAEzE,SAAgB,OAAO,CAAC,KAAU,EAAE,GAAQ,EAAE,IAAsB;IAChE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,MAAM;KACZ,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,cAAc,WAAW,YAAY,KAAK,KAAK,GAAG,GAAG,CAAC;AACjE,CAAC;AARD,0BAQC;AAEY,QAAA,cAAc,GAAG,yDAAyD,CAAC;AAE3E,QAAA,YAAY,GAAG,iFAAiF,CAAC;AAEjG,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;IAkBxB,CAAC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":";;;AACA,+CAA6E;AAE7E,SAAgB,MAAM,CAAC,KAAa;IAChC,OAAO,wBAAwB,KAAK,IAAI,CAAC;AAC7C,CAAC;AAFD,wBAEC;AAEY,QAAA,uBAAuB,GAAG;MACjC,sCAAY,CAAC,WAAW;;;;;;;;;;;CAW7B,CAAC;AAEW,QAAA,gBAAgB,GAAG;SACvB,sCAAY,CAAC,UAAU;;;;;;;;CAQ/B,CAAC;AAEF,SAAS,eAAe,CAAC,KAAU,EAAE,MAAc;IAC/C,OAAO,oBAAoB,sCAAY,CAAC,UAAU,IAAI,KAAK,MAAM,MAAM,KAAK,CAAC;AACjF,CAAC;AAEM,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAAzD,QAAA,SAAS,aAAgD;AAE/D,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA3D,QAAA,WAAW,eAAgD;AAEjE,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAA5D,QAAA,UAAU,cAAkD;AAElE,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA1D,QAAA,UAAU,cAAgD;AAEhE,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA5D,QAAA,YAAY,gBAAgD;AAElE,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAA5D,QAAA,YAAY,gBAAgD;AAEzE,SAAgB,OAAO,CAAC,KAAU,EAAE,GAAQ,EAAE,IAAsB;IAChE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,MAAM;KACZ,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,cAAc,WAAW,YAAY,KAAK,KAAK,GAAG,GAAG,CAAC;AACjE,CAAC;AARD,0BAQC;AAEY,QAAA,cAAc,GAAG,yDAAyD,CAAC;AAE3E,QAAA,YAAY,GAAG,iFAAiF,CAAC;AAEjG,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;IAkBxB,CAAC;AAEQ,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwB5B,CAAC;AAEU,QAAA,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwBzB,CAAC;AAEU,QAAA,YAAY,GAAG,4DAA4D,CAAC;AAE5E,QAAA,UAAU,GAAG,2EAA2E,CAAC;AAEzF,QAAA,SAAS,GAAG,6DAA6D,CAAC;AAE1E,QAAA,aAAa,GAAG;;;;EAI3B,CAAC;AAEU,QAAA,aAAa,GAAG,oIAAoI,CAAC;AAErJ,QAAA,UAAU,GAAG;;;;;EAKxB,CAAC;AAEU,QAAA,SAAS,GAAG;;;;EAIvB,CAAC;AAEU,QAAA,SAAS,GAAG;;;;;EAKvB,CAAC;AAEU,QAAA,WAAW,GAAG;;;;EAIzB,CAAC;AAEU,QAAA,eAAe,GAAG;;;;;;;;EAQ7B,CAAC;AAEU,QAAA,WAAW,GAAG,GAAG,uBAAe;;;;;;;;;EAS3C,CAAC;AAEU,QAAA,aAAa,GAAG,GAAG,uBAAe;;;;;;;;;EAS7C,CAAC;AAEU,QAAA,eAAe,GAAG,GAAG,uBAAe;SACxC,sCAAY,CAAC,SAAS;;;;;;;;;;;;;;;;;;CAkB9B,CAAC"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.escapeCharacters = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const escapeCharacters = (inputString, engine) => {
6
+ if (typeof inputString === 'number')
7
+ return inputString; // In the context if pass a number instead, return.
6
8
  let value = inputString.replace(
7
9
  // eslint-disable-next-line no-control-regex
8
10
  /[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => {
@@ -1 +1 @@
1
- {"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAEhC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,4BAA4B,EAC5B,CAAC,IAAY,EAAE,EAAE;QACb,QAAQ,IAAI,EAAE;YACV,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,uEAAuE;gBACvE,OAAO,IAAI,GAAG,IAAI,CAAC;YACvB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC,CACJ,CAAC;IACF,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;IACrB,IAAI,MAAM,KAAK,mBAAO,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,KAAK,EAAE,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAtCW,QAAA,gBAAgB,oBAsC3B"}
1
+ {"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAEhC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,mDAAmD;IAC5G,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,4BAA4B,EAC5B,CAAC,IAAY,EAAE,EAAE;QACb,QAAQ,IAAI,EAAE;YACV,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,uEAAuE;gBACvE,OAAO,IAAI,GAAG,IAAI,CAAC;YACvB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC,CACJ,CAAC;IACF,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;IACrB,IAAI,MAAM,KAAK,mBAAO,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,KAAK,EAAE,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAvCW,QAAA,gBAAgB,oBAuC3B"}
@@ -0,0 +1,3 @@
1
+ import { CommonValueAST, ProcessNodeResult } from '../constants/interfaces';
2
+ export declare function getNumberFromLiteral(value: string, argument: ProcessNodeResult | CommonValueAST): number | null;
3
+ export declare function getNumericValueFromArgument(param: string | number, argument: ProcessNodeResult | CommonValueAST): string | number;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNumericValueFromArgument = exports.getNumberFromLiteral = void 0;
4
+ const constants_1 = require("../constants");
5
+ function getNumberFromLiteral(value, argument) {
6
+ if (argument.type === constants_1.AST_TYPES.literal &&
7
+ (argument.dataType === constants_1.AST_PRIMITIVES.NUMBER ||
8
+ argument.primitive === constants_1.AST_PRIMITIVES.NUMBER)) {
9
+ const _value = value.replace('L', '');
10
+ return Number(_value);
11
+ }
12
+ return null;
13
+ }
14
+ exports.getNumberFromLiteral = getNumberFromLiteral;
15
+ function getNumericValueFromArgument(param, argument) {
16
+ var _a;
17
+ const numberValue = getNumberFromLiteral(String(param), argument);
18
+ if (numberValue !== null)
19
+ return numberValue;
20
+ const isUnaryExpression = argument.type === constants_1.AST_TYPES.unaryExpression; // Negative numbers arrive as unary expression
21
+ if (isUnaryExpression) {
22
+ const unaryExp = ('node' in argument ? argument.node : argument);
23
+ const isNegative = unaryExp.operator === '-';
24
+ const isNumber = unaryExp.right.type === constants_1.AST_TYPES.literal &&
25
+ unaryExp.right.dataType === constants_1.AST_PRIMITIVES.NUMBER;
26
+ if (isNumber)
27
+ return (((_a = getNumberFromLiteral(String(unaryExp.right.value), unaryExp.right)) !== null && _a !== void 0 ? _a : 0) * (isNegative ? -1 : 1));
28
+ }
29
+ return param;
30
+ }
31
+ exports.getNumericValueFromArgument = getNumericValueFromArgument;
32
+ //# sourceMappingURL=getNumericValueFromArgument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNumericValueFromArgument.js","sourceRoot":"","sources":["../../../src/utils/getNumericValueFromArgument.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAQzD,SAAgB,oBAAoB,CAChC,KAAa,EACb,QAA4C;IAE5C,IACI,QAAQ,CAAC,IAAI,KAAK,qBAAS,CAAC,OAAO;QACnC,CAAE,QAA8B,CAAC,QAAQ,KAAK,0BAAc,CAAC,MAAM;YAC9D,QAA2B,CAAC,SAAS,KAAK,0BAAc,CAAC,MAAM,CAAC,EACvE;QACE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAbD,oDAaC;AAED,SAAgB,2BAA2B,CACvC,KAAsB,EACtB,QAA4C;;IAE5C,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC;IAC7C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,KAAK,qBAAS,CAAC,eAAe,CAAC,CAAC,8CAA8C;IACrH,IAAI,iBAAiB,EAAE;QACnB,MAAM,QAAQ,GAAG,CACb,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAC1B,CAAC;QACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC;QAC7C,MAAM,QAAQ,GACV,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,OAAO;YACxC,QAAQ,CAAC,KAAoB,CAAC,QAAQ,KAAK,0BAAc,CAAC,MAAM,CAAC;QAEtE,IAAI,QAAQ;YACR,OAAO,CACH,CAAC,MAAA,oBAAoB,CACjB,MAAM,CAAE,QAAQ,CAAC,KAAoB,CAAC,KAAK,CAAC,EAC5C,QAAQ,CAAC,KAAuB,CACnC,mCAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC;KACT;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAzBD,kEAyBC"}
@@ -0,0 +1,3 @@
1
+ import { AST_PRIMITIVES } from '../constants';
2
+ import { CommonAST } from '../constants/interfaces';
3
+ export declare function getValidDataTypeParam(args: CommonAST[], validDataTypes: AST_PRIMITIVES[]): AST_PRIMITIVES;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getValidDataTypeParam = void 0;
4
+ const constants_1 = require("../constants");
5
+ function getValidDataTypeParam(args, validDataTypes) {
6
+ var _a;
7
+ return (((_a = args.find((_arg) => validDataTypes.includes(_arg.primitive))) === null || _a === void 0 ? void 0 : _a.primitive) || constants_1.AST_PRIMITIVES.UNKNOWN);
8
+ }
9
+ exports.getValidDataTypeParam = getValidDataTypeParam;
10
+ //# sourceMappingURL=getValidDataTypeParam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValidDataTypeParam.js","sourceRoot":"","sources":["../../../src/utils/getValidDataTypeParam.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C,SAAgB,qBAAqB,CACjC,IAAiB,EACjB,cAAgC;;IAEhC,OAAO,CACH,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAA2B,CAAC,CAC5D,0CAAE,SAA4B,KAAI,0BAAc,CAAC,OAAO,CAC5D,CAAC;AACN,CAAC;AATD,sDASC"}
@@ -0,0 +1,3 @@
1
+ import { Primitive } from '../constants';
2
+ import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
3
+ export declare function greaterThanOrEqualToReference(compareReference: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.greaterThanOrEqualToReference = void 0;
4
+ const dictionary_1 = require("../errors/dictionary");
5
+ const getNumericValueFromArgument_1 = require("./getNumericValueFromArgument");
6
+ function greaterThanOrEqualToReference(compareReference) {
7
+ return (param, _dataType, context) => {
8
+ const arg = context.argument;
9
+ const numericValue = (0, getNumericValueFromArgument_1.getNumericValueFromArgument)(param, arg);
10
+ const valid = typeof numericValue !== 'number' ||
11
+ numericValue >= compareReference;
12
+ if (valid)
13
+ return { valid };
14
+ return Object.assign(Object.assign({ valid }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.matchRange]), { info: {
15
+ greaterThanOrEqualTo: compareReference,
16
+ } });
17
+ };
18
+ }
19
+ exports.greaterThanOrEqualToReference = greaterThanOrEqualToReference;
20
+ //# sourceMappingURL=greaterThanOrEqualToReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greaterThanOrEqualToReference.js","sourceRoot":"","sources":["../../../src/utils/greaterThanOrEqualToReference.ts"],"names":[],"mappings":";;;AAKA,qDAAoE;AACpE,+EAA4E;AAE5E,SAAgB,6BAA6B,CAAC,gBAAwB;IAClE,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAA,yDAA2B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,IAAI,gBAAgB,CAAC;QACrC,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,6BAAgB,CAAC,uBAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,oBAAoB,EAAE,gBAAgB;aACzC,IACH;IACN,CAAC,CAAC;AACN,CAAC;AApBD,sEAoBC"}
@@ -0,0 +1,3 @@
1
+ import { Primitive } from '../constants';
2
+ import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
3
+ export declare function greaterThanReference(compareReference: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.greaterThanReference = void 0;
4
+ const dictionary_1 = require("../errors/dictionary");
5
+ const getNumericValueFromArgument_1 = require("./getNumericValueFromArgument");
6
+ function greaterThanReference(compareReference) {
7
+ return (param, _dataType, context) => {
8
+ const arg = context.argument;
9
+ const numericValue = (0, getNumericValueFromArgument_1.getNumericValueFromArgument)(param, arg);
10
+ const valid = typeof numericValue !== 'number' || numericValue > compareReference;
11
+ if (valid)
12
+ return { valid };
13
+ return Object.assign(Object.assign({ valid }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.matchRange]), { info: {
14
+ greaterThan: compareReference,
15
+ } });
16
+ };
17
+ }
18
+ exports.greaterThanReference = greaterThanReference;
19
+ //# sourceMappingURL=greaterThanReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greaterThanReference.js","sourceRoot":"","sources":["../../../src/utils/greaterThanReference.ts"],"names":[],"mappings":";;;AAKA,qDAAoE;AACpE,+EAA4E;AAE5E,SAAgB,oBAAoB,CAAC,gBAAwB;IACzD,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAA,yDAA2B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,GAAG,gBAAgB,CAAC;QACxE,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,6BAAgB,CAAC,uBAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,WAAW,EAAE,gBAAgB;aAChC,IACH;IACN,CAAC,CAAC;AACN,CAAC;AAnBD,oDAmBC"}
@@ -0,0 +1,3 @@
1
+ import { Primitive } from '../constants';
2
+ import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
3
+ export declare function isAValidPower(param: any, dataType: Primitive | undefined, context: ValidatorParameterContext): ValidatorResponse;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAValidPower = void 0;
4
+ const constants_1 = require("../constants");
5
+ const getNumericValueFromArgument_1 = require("./getNumericValueFromArgument");
6
+ const greaterThanOrEqualToReference_1 = require("./greaterThanOrEqualToReference");
7
+ function isAValidPower(param, dataType, context) {
8
+ const first_argument = context.fnNode.arguments[0];
9
+ const validArgumentTypes = [constants_1.AST_TYPES.unaryExpression, constants_1.AST_TYPES.literal];
10
+ const isNotAValidArgumentType = !validArgumentTypes.includes(first_argument.type);
11
+ if (isNotAValidArgumentType)
12
+ return { valid: true };
13
+ const number_1 = (0, getNumericValueFromArgument_1.getNumericValueFromArgument)(first_argument.value, first_argument);
14
+ if (typeof number_1 !== 'number')
15
+ return { valid: true };
16
+ if (number_1 == 0)
17
+ return (0, greaterThanOrEqualToReference_1.greaterThanOrEqualToReference)(0)(param, dataType, context);
18
+ return { valid: true };
19
+ }
20
+ exports.isAValidPower = isAValidPower;
21
+ //# sourceMappingURL=isAValidPower.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAValidPower.js","sourceRoot":"","sources":["../../../src/utils/isAValidPower.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AAMpD,+EAA4E;AAC5E,mFAAgF;AAEhF,SAAgB,aAAa,CACzB,KAAU,EACV,QAA+B,EAC/B,OAAkC;IAElC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAmB,CAAC;IACrE,MAAM,kBAAkB,GAAG,CAAC,qBAAS,CAAC,eAAe,EAAE,qBAAS,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CACxD,cAAc,CAAC,IAAI,CACtB,CAAC;IACF,IAAI,uBAAuB;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEpD,MAAM,QAAQ,GAAG,IAAA,yDAA2B,EACxC,cAAc,CAAC,KAAwB,EACvC,cAAc,CACjB,CAAC;IAEF,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEzD,IAAI,QAAQ,IAAI,CAAC;QACb,OAAO,IAAA,6DAA6B,EAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAtBD,sCAsBC"}
@@ -0,0 +1,3 @@
1
+ import { Primitive } from '../constants';
2
+ import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
3
+ export declare function isBetweenInclusiveRange(number1: number, number2: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBetweenInclusiveRange = void 0;
4
+ const dictionary_1 = require("../errors/dictionary");
5
+ const getNumericValueFromArgument_1 = require("./getNumericValueFromArgument");
6
+ function isBetweenInclusiveRange(number1, number2) {
7
+ return (param, _dataType, context) => {
8
+ const arg = context.argument;
9
+ const numericValue = (0, getNumericValueFromArgument_1.getNumericValueFromArgument)(param, arg);
10
+ const valid = typeof numericValue !== 'number' ||
11
+ (numericValue >= number1 && numericValue <= number2);
12
+ if (valid)
13
+ return { valid };
14
+ return Object.assign(Object.assign({ valid }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.matchRange]), { info: {
15
+ greaterThanOrEqualTo: number1,
16
+ lessThanOrEqualTo: number2,
17
+ } });
18
+ };
19
+ }
20
+ exports.isBetweenInclusiveRange = isBetweenInclusiveRange;
21
+ //# sourceMappingURL=isBetweenInclusiveRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBetweenInclusiveRange.js","sourceRoot":"","sources":["../../../src/utils/isBetweenInclusiveRange.ts"],"names":[],"mappings":";;;AAKA,qDAAoE;AACpE,+EAA4E;AAE5E,SAAgB,uBAAuB,CAAC,OAAe,EAAE,OAAe;IACpE,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAA,yDAA2B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ;YAChC,CAAC,YAAY,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC;QACzD,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,6BAAgB,CAAC,uBAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,oBAAoB,EAAE,OAAO;gBAC7B,iBAAiB,EAAE,OAAO;aAC7B,IACH;IACN,CAAC,CAAC;AACN,CAAC;AArBD,0DAqBC"}
@@ -0,0 +1,3 @@
1
+ import { Primitive } from '../constants';
2
+ import { ValidatorResponse, ValidatorParameterContext } from '../constants/interfaces';
3
+ export declare function isInteger(param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext): ValidatorResponse;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isInteger = void 0;
4
+ const dictionary_1 = require("../errors/dictionary");
5
+ const constants_1 = require("../constants");
6
+ const getNumericValueFromArgument_1 = require("./getNumericValueFromArgument");
7
+ function isInteger(param, _dataType, context) {
8
+ const isLiteral = context.argument.type === constants_1.AST_TYPES.literal;
9
+ if (!isLiteral)
10
+ return { valid: true };
11
+ const numberValue = (0, getNumericValueFromArgument_1.getNumberFromLiteral)(String(param), context.argument);
12
+ const valid = numberValue !== null && Number.isInteger(numberValue);
13
+ const baseResponse = {
14
+ valid,
15
+ };
16
+ if (!valid)
17
+ return Object.assign(Object.assign(Object.assign({}, baseResponse), dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.integerNumber]), { mismatchData: {
18
+ primitive: constants_1.AST_PRIMITIVES.NUMBER,
19
+ customPrimitive: constants_1.CUSTOM_PRIMITIVE.INTEGER,
20
+ customReceived: constants_1.CUSTOM_PRIMITIVE.DECIMAL,
21
+ } });
22
+ return baseResponse;
23
+ }
24
+ exports.isInteger = isInteger;
25
+ //# sourceMappingURL=isInteger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isInteger.js","sourceRoot":"","sources":["../../../src/utils/isInteger.ts"],"names":[],"mappings":";;;AAAA,qDAAoE;AACpE,4CAKsB;AAKtB,+EAAqE;AAErE,SAAgB,SAAS,CACrB,KAAU,EACV,SAAgC,EAChC,OAAkC;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAS,CAAC,OAAO,CAAC;IAC9D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,IAAA,kDAAoB,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG;QACjB,KAAK;KACR,CAAC;IACF,IAAI,CAAC,KAAK;QACN,qDACO,YAAY,GACZ,6BAAgB,CAAC,uBAAU,CAAC,aAAa,CAAC,KAC7C,YAAY,EAAE;gBACV,SAAS,EAAE,0BAAc,CAAC,MAAM;gBAChC,eAAe,EAAE,4BAAgB,CAAC,OAAO;gBACzC,cAAc,EAAE,4BAAgB,CAAC,OAAO;aAC3C,IACH;IACN,OAAO,YAAY,CAAC;AACxB,CAAC;AAzBD,8BAyBC"}
@@ -5,7 +5,8 @@ function isLongNumber(value) {
5
5
  //Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/number.html
6
6
  const maxIntNumber = 2 ** 31 - 1;
7
7
  const minIntNumber = (-2) ** 31;
8
- return value >= maxIntNumber || value <= minIntNumber;
8
+ return (Number.isInteger(value) &&
9
+ (value >= maxIntNumber || value <= minIntNumber));
9
10
  }
10
11
  exports.isLongNumber = isLongNumber;
11
12
  //# sourceMappingURL=isLongLiteralNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isLongLiteralNumber.js","sourceRoot":"","sources":["../../../src/utils/isLongLiteralNumber.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,KAAa;IACtC,4FAA4F;IAC5F,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,KAAK,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,CAAC;AAC1D,CAAC;AALD,oCAKC"}
1
+ {"version":3,"file":"isLongLiteralNumber.js","sourceRoot":"","sources":["../../../src/utils/isLongLiteralNumber.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,KAAa;IACtC,4FAA4F;IAC5F,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,CACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvB,CAAC,KAAK,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,CAAC,CACnD,CAAC;AACN,CAAC;AARD,oCAQC"}
@@ -0,0 +1,3 @@
1
+ import { AST_PRIMITIVES, Primitive } from '../constants';
2
+ import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
3
+ export declare function isSameAndValidRecursiveDataType(validDataTypes: AST_PRIMITIVES[]): (_param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSameAndValidRecursiveDataType = void 0;
4
+ const constants_1 = require("../constants");
5
+ const dictionary_1 = require("../errors/dictionary");
6
+ const getValidDataTypeParam_1 = require("../utils/getValidDataTypeParam");
7
+ const primitiveFunctions_1 = require("../utils/primitiveFunctions");
8
+ function isSameAndValidRecursiveDataType(validDataTypes) {
9
+ return (_param, _dataType, context) => {
10
+ const args = context.fnNode.arguments;
11
+ const dataTypePrimitive = (0, getValidDataTypeParam_1.getValidDataTypeParam)(args, validDataTypes);
12
+ const isValidDataTypePrimitive = dataTypePrimitive !== constants_1.AST_PRIMITIVES.UNKNOWN;
13
+ const expectedDataTypePrimitive = isValidDataTypePrimitive
14
+ ? dataTypePrimitive
15
+ : validDataTypes;
16
+ const valid = isValidDataTypePrimitive &&
17
+ (0, primitiveFunctions_1.isSinglePrimitive)((0, primitiveFunctions_1.inferPrimitive)(...args.map((_arg) => _arg.primitive)));
18
+ if (valid) {
19
+ return {
20
+ valid,
21
+ mismatchData: {
22
+ primitive: expectedDataTypePrimitive,
23
+ },
24
+ };
25
+ }
26
+ return Object.assign(Object.assign({ valid }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.inferredPrimitive]), { mismatchData: {
27
+ primitive: expectedDataTypePrimitive,
28
+ } });
29
+ };
30
+ }
31
+ exports.isSameAndValidRecursiveDataType = isSameAndValidRecursiveDataType;
32
+ //# sourceMappingURL=isSameAndValidRecursiveDataType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isSameAndValidRecursiveDataType.js","sourceRoot":"","sources":["../../../src/utils/isSameAndValidRecursiveDataType.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAKzD,qDAAoE;AACpE,0EAAuE;AACvE,oEAAgF;AAEhF,SAAgB,+BAA+B,CAC3C,cAAgC;IAEhC,OAAO,CACH,MAAW,EACX,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACtC,MAAM,iBAAiB,GAAG,IAAA,6CAAqB,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtE,MAAM,wBAAwB,GAC1B,iBAAiB,KAAK,0BAAc,CAAC,OAAO,CAAC;QACjD,MAAM,yBAAyB,GAAG,wBAAwB;YACtD,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,cAAc,CAAC;QACrB,MAAM,KAAK,GACP,wBAAwB;YACxB,IAAA,sCAAiB,EACb,IAAA,mCAAc,EAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACxD,CAAC;QACN,IAAI,KAAK,EAAE;YACP,OAAO;gBACH,KAAK;gBACL,YAAY,EAAE;oBACV,SAAS,EAAE,yBAAyB;iBACvC;aACJ,CAAC;SACL;QACD,qCACI,KAAK,IACF,6BAAgB,CAAC,uBAAU,CAAC,iBAAiB,CAAC,KACjD,YAAY,EAAE;gBACV,SAAS,EAAE,yBAAyB;aACvC,IACH;IACN,CAAC,CAAC;AACN,CAAC;AApCD,0EAoCC"}
@@ -4,3 +4,6 @@ export declare function primitiveIsIncluded(primitive: Primitive, ...allowedPrim
4
4
  export declare function getFunctionPrimitive(definition: FunctionDefinition, args: CommonAST[]): Primitive;
5
5
  export declare function inferPrimitive(...primitives: Primitive[]): Primitive;
6
6
  export declare function isSinglePrimitive(primitive: Primitive): primitive is AST_PRIMITIVES;
7
+ export declare function getPrimitiveAsValue(primitive: Primitive, options?: {
8
+ separator: string;
9
+ }): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSinglePrimitive = exports.inferPrimitive = exports.getFunctionPrimitive = exports.primitiveIsIncluded = void 0;
3
+ exports.getPrimitiveAsValue = exports.isSinglePrimitive = exports.inferPrimitive = exports.getFunctionPrimitive = exports.primitiveIsIncluded = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  function primitiveIsIncluded(primitive, ...allowedPrimitives) {
6
6
  const primitives = Array.isArray(primitive) ? primitive : [primitive];
@@ -40,4 +40,10 @@ function isSinglePrimitive(primitive) {
40
40
  return !Array.isArray(primitive);
41
41
  }
42
42
  exports.isSinglePrimitive = isSinglePrimitive;
43
+ function getPrimitiveAsValue(primitive, options = { separator: '/' }) {
44
+ if (!Array.isArray(primitive))
45
+ return primitive;
46
+ return primitive.join(options.separator);
47
+ }
48
+ exports.getPrimitiveAsValue = getPrimitiveAsValue;
43
49
  //# sourceMappingURL=primitiveFunctions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitiveFunctions.js","sourceRoot":"","sources":["../../../src/utils/primitiveFunctions.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAGzD,SAAgB,mBAAmB,CAC/B,SAAoB,EACpB,GAAG,iBAAmC;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAND,kDAMC;AAED,SAAgB,oBAAoB,CAChC,UAA8B,EAC9B,IAAiB;IAEjB,IAAI,OAAO,UAAU,CAAC,eAAe,KAAK,UAAU;QAChD,OAAO,UAAU,CAAC,eAAe,CAAC;IAEtC,OAAO,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AARD,oDAQC;AAED,SAAS,cAAc,CAAC,GAAG,UAAuB;IAC9C,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,gBAAgB,CAAC;IACzC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACtB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa;gBAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,SAAgB,cAAc,CAAC,GAAG,UAAuB;IACrD,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,UAAU,CAAC,CAAC;IACxD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,0BAAc,CAAC,OAAO,CAAC;IAClE,OAAO,iBAAiB,CAAC,MAAM,KAAK,CAAC;QACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,iBAAiB,CAAC;AAC5B,CAAC;AAND,wCAMC;AAED,SAAgB,iBAAiB,CAC7B,SAAoB;IAEpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAJD,8CAIC"}
1
+ {"version":3,"file":"primitiveFunctions.js","sourceRoot":"","sources":["../../../src/utils/primitiveFunctions.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAGzD,SAAgB,mBAAmB,CAC/B,SAAoB,EACpB,GAAG,iBAAmC;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAND,kDAMC;AAED,SAAgB,oBAAoB,CAChC,UAA8B,EAC9B,IAAiB;IAEjB,IAAI,OAAO,UAAU,CAAC,eAAe,KAAK,UAAU;QAChD,OAAO,UAAU,CAAC,eAAe,CAAC;IAEtC,OAAO,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AARD,oDAQC;AAED,SAAS,cAAc,CAAC,GAAG,UAAuB;IAC9C,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,gBAAgB,CAAC;IACzC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACtB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa;gBAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,SAAgB,cAAc,CAAC,GAAG,UAAuB;IACrD,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,UAAU,CAAC,CAAC;IACxD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,0BAAc,CAAC,OAAO,CAAC;IAClE,OAAO,iBAAiB,CAAC,MAAM,KAAK,CAAC;QACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,iBAAiB,CAAC;AAC5B,CAAC;AAND,wCAMC;AAED,SAAgB,iBAAiB,CAC7B,SAAoB;IAEpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAJD,8CAIC;AAED,SAAgB,mBAAmB,CAC/B,SAAoB,EACpB,OAAO,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAND,kDAMC"}