@qrvey/formula-lang 0.8.7 → 0.8.9

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 (44) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/constants/index.d.ts +2 -1
  3. package/dist/cjs/constants/index.js +1 -0
  4. package/dist/cjs/constants/index.js.map +1 -1
  5. package/dist/cjs/errors/analyzer/elasticsearch.js +8 -0
  6. package/dist/cjs/errors/analyzer/elasticsearch.js.map +1 -1
  7. package/dist/cjs/errors/analyzer/redshift.js +6 -1
  8. package/dist/cjs/errors/analyzer/redshift.js.map +1 -1
  9. package/dist/cjs/errors/analyzer/snowflake.js +4 -0
  10. package/dist/cjs/errors/analyzer/snowflake.js.map +1 -1
  11. package/dist/cjs/errors/dictionary.d.ts +2 -1
  12. package/dist/cjs/errors/dictionary.js +5 -0
  13. package/dist/cjs/errors/dictionary.js.map +1 -1
  14. package/dist/cjs/functions/mid.js +1 -1
  15. package/dist/cjs/functions/mid.js.map +1 -1
  16. package/dist/cjs/utils/elasticsearch/index.js +2 -0
  17. package/dist/cjs/utils/elasticsearch/index.js.map +1 -1
  18. package/dist/cjs/utils/elasticsearch/scripts.d.ts +1 -0
  19. package/dist/cjs/utils/elasticsearch/scripts.js +13 -2
  20. package/dist/cjs/utils/elasticsearch/scripts.js.map +1 -1
  21. package/dist/cjs/utils/sql/scripts.js +4 -13
  22. package/dist/cjs/utils/sql/scripts.js.map +1 -1
  23. package/dist/module/constants/index.d.ts +2 -1
  24. package/dist/module/constants/index.js +1 -0
  25. package/dist/module/constants/index.js.map +1 -1
  26. package/dist/module/errors/analyzer/elasticsearch.js +8 -0
  27. package/dist/module/errors/analyzer/elasticsearch.js.map +1 -1
  28. package/dist/module/errors/analyzer/redshift.js +6 -1
  29. package/dist/module/errors/analyzer/redshift.js.map +1 -1
  30. package/dist/module/errors/analyzer/snowflake.js +4 -0
  31. package/dist/module/errors/analyzer/snowflake.js.map +1 -1
  32. package/dist/module/errors/dictionary.d.ts +2 -1
  33. package/dist/module/errors/dictionary.js +5 -0
  34. package/dist/module/errors/dictionary.js.map +1 -1
  35. package/dist/module/functions/mid.js +2 -2
  36. package/dist/module/functions/mid.js.map +1 -1
  37. package/dist/module/utils/elasticsearch/index.js +3 -1
  38. package/dist/module/utils/elasticsearch/index.js.map +1 -1
  39. package/dist/module/utils/elasticsearch/scripts.d.ts +1 -0
  40. package/dist/module/utils/elasticsearch/scripts.js +12 -1
  41. package/dist/module/utils/elasticsearch/scripts.js.map +1 -1
  42. package/dist/module/utils/sql/scripts.js +4 -13
  43. package/dist/module/utils/sql/scripts.js.map +1 -1
  44. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ <a name="0.8.9"></a>
2
+ ## [0.8.9](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.8...v0.8.9) (2023-05-19)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **mid:** fix mid in ES ([0de9f14](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/0de9f14))
8
+
9
+
10
+
11
+ <a name="0.8.8"></a>
12
+ ## [0.8.8](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.7...v0.8.8) (2023-05-17)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **datedif y:** fix datedif for Year in SQL Engines ([bd11671](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/bd11671))
18
+ * **erroranalyzer:** add Invalid cast number exception ([91cb729](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/91cb729))
19
+ * **errors:** adding errors for bad implementation ([bde3b04](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/bde3b04))
20
+ * **mid:** fix mid function in ElasticSearch ([be0bf7b](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/be0bf7b))
21
+ * **timezone:** add def ([e3a6d4d](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/e3a6d4d))
22
+
23
+
24
+
1
25
  <a name="0.8.7"></a>
2
26
  ## [0.8.7](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.6...v0.8.7) (2023-05-15)
3
27
 
@@ -34,5 +34,6 @@ export type CustomEngineOperators = {
34
34
  export declare const CustomOperators: CustomEngineOperators;
35
35
  export declare enum ELASTICSEARCH_SCRIPT_NAMES {
36
36
  dateFormat = "DATE_FORMAT_SCRIPT",
37
- setTimezone = "SET_TIMEZONE_SCRIPT"
37
+ setTimezone = "SET_TIMEZONE_SCRIPT",
38
+ subString = "SUBSTRING_SCRIPT"
38
39
  }
@@ -42,5 +42,6 @@ var ELASTICSEARCH_SCRIPT_NAMES;
42
42
  (function (ELASTICSEARCH_SCRIPT_NAMES) {
43
43
  ELASTICSEARCH_SCRIPT_NAMES["dateFormat"] = "DATE_FORMAT_SCRIPT";
44
44
  ELASTICSEARCH_SCRIPT_NAMES["setTimezone"] = "SET_TIMEZONE_SCRIPT";
45
+ ELASTICSEARCH_SCRIPT_NAMES["subString"] = "SUBSTRING_SCRIPT";
45
46
  })(ELASTICSEARCH_SCRIPT_NAMES = exports.ELASTICSEARCH_SCRIPT_NAMES || (exports.ELASTICSEARCH_SCRIPT_NAMES = {}));
46
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;AACzB,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB;AAED,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,qCAAmB,CAAA;AACvB,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAED,IAAY,SAUX;AAVD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACvB,CAAC,EAVW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAUpB;AAED,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAPW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAOzB;AAQY,QAAA,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;AACvC,CAAC,EAHW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAGrC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;AACzB,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB;AAED,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,qCAAmB,CAAA;AACvB,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAED,IAAY,SAUX;AAVD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACvB,CAAC,EAVW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAUpB;AAED,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAPW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAOzB;AAQY,QAAA,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,4DAA8B,CAAA;AAClC,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC"}
@@ -27,5 +27,13 @@ const errorList = [
27
27
  regex: /string_index_out_of_bounds_exception/,
28
28
  value: dictionary_1.ERROR_LIST.outOfRange,
29
29
  },
30
+ {
31
+ regex: /cannot resolve symbol .*/,
32
+ value: dictionary_1.ERROR_LIST.unknownToken,
33
+ },
34
+ {
35
+ regex: /Invalid int constant .* If you want a long constant then change it to .*/,
36
+ value: dictionary_1.ERROR_LIST.invalidCastNumber,
37
+ },
30
38
  ];
31
39
  //# sourceMappingURL=elasticsearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAZD,0BAYC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,uBAAU,CAAC,UAAU;KAC/B;CACJ,CAAC"}
1
+ {"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAZD,0BAYC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,uBAAU,CAAC,UAAU;KAC/B;IACD;QACI,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,0EAA0E;QACjF,KAAK,EAAE,uBAAU,CAAC,iBAAiB;KACtC;CACJ,CAAC"}
@@ -4,8 +4,9 @@ exports.getInfo = void 0;
4
4
  const dictionary_1 = require("../dictionary");
5
5
  function getInfo(errorObj) {
6
6
  const messageList = [];
7
- const { hint: message } = errorObj;
7
+ const { hint: message, code } = errorObj;
8
8
  messageList.push(message);
9
+ messageList.push(code);
9
10
  return {
10
11
  errorList,
11
12
  messageList,
@@ -17,5 +18,9 @@ const errorList = [
17
18
  regex: /No operator matches the given name and argument type.*/,
18
19
  value: dictionary_1.ERROR_LIST.unknownToken,
19
20
  },
21
+ {
22
+ regex: /42703/,
23
+ value: dictionary_1.ERROR_LIST.unknownToken,
24
+ },
20
25
  ];
21
26
  //# sourceMappingURL=redshift.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redshift.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/redshift.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACnC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AARD,0BAQC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,wDAAwD;QAC/D,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
1
+ {"version":3,"file":"redshift.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/redshift.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IACzC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AATD,0BASC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,wDAAwD;QAC/D,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
@@ -21,5 +21,9 @@ const errorList = [
21
21
  regex: /Numeric value .* is not recognized/,
22
22
  value: dictionary_1.ERROR_LIST.unknownToken,
23
23
  },
24
+ {
25
+ regex: /invalid identifier .*/,
26
+ value: dictionary_1.ERROR_LIST.unknownToken,
27
+ },
24
28
  ];
25
29
  //# sourceMappingURL=snowflake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/snowflake.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AARD,0BAQC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,kCAAkC;QACzC,KAAK,EAAE,uBAAU,CAAC,aAAa;KAClC;IACD;QACI,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
1
+ {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/snowflake.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AARD,0BAQC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,kCAAkC;QACzC,KAAK,EAAE,uBAAU,CAAC,aAAa;KAClC;IACD;QACI,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
@@ -15,7 +15,8 @@ export declare enum ERROR_LIST {
15
15
  unknownExpression = "unknownExpression",
16
16
  unknownToken = "unknownToken",
17
17
  notAllowedExpression = "notAllowedExpression",
18
- outOfRange = "outOfRange"
18
+ outOfRange = "outOfRange",
19
+ invalidCastNumber = "invalidCastNumber"
19
20
  }
20
21
  type ErrorsType = {
21
22
  [key in ERROR_LIST]: ErrorDictionary;
@@ -20,6 +20,7 @@ var ERROR_LIST;
20
20
  ERROR_LIST["unknownToken"] = "unknownToken";
21
21
  ERROR_LIST["notAllowedExpression"] = "notAllowedExpression";
22
22
  ERROR_LIST["outOfRange"] = "outOfRange";
23
+ ERROR_LIST["invalidCastNumber"] = "invalidCastNumber";
23
24
  })(ERROR_LIST = exports.ERROR_LIST || (exports.ERROR_LIST = {}));
24
25
  exports.ERROR_DICTIONARY = {
25
26
  [ERROR_LIST.arguments]: {
@@ -90,5 +91,9 @@ exports.ERROR_DICTIONARY = {
90
91
  message: 'Expression out of range',
91
92
  code: 'OUT_OF_RANGE',
92
93
  },
94
+ [ERROR_LIST.invalidCastNumber]: {
95
+ message: 'Invalid cast number.',
96
+ code: 'INVALID_CAST_NUMBER',
97
+ },
93
98
  };
94
99
  //# sourceMappingURL=dictionary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAkBX;AAlBD,WAAY,UAAU;IAClB,qCAAuB,CAAA;IACvB,6BAAe,CAAA;IACf,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,yCAA2B,CAAA;IAC3B,iDAAmC,CAAA;IACnC,uCAAyB,CAAA;IACzB,uDAAyC,CAAA;IACzC,iDAAmC,CAAA;IACnC,iCAAmB,CAAA;IACnB,yDAA2C,CAAA;IAC3C,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;IACvC,2CAA6B,CAAA;IAC7B,2DAA6C,CAAA;IAC7C,uCAAyB,CAAA;AAC7B,CAAC,EAlBW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAkBrB;AAWY,QAAA,gBAAgB,GAAe;IACxC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACpB,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAChB,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,6CAA6C;QACtD,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACtB,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,cAAc;KACvB;IACD,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAC1B,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,mBAAmB;KAC5B;IACD,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC7B,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,qBAAqB;KAC9B;IACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACvB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,eAAe;KACxB;IACD,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,kBAAkB;KAC3B;IACD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAClB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,SAAS;KAClB;IACD,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAC3B,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,oBAAoB;KAC7B;IACD,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;QAC9B,OAAO,EAAE,+CAA+C;QACxD,IAAI,EAAE,qBAAqB;KAC9B;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC5B,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,oBAAoB;KAC7B;IACD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;QAC/B,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,wBAAwB;KACjC;IACD,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,cAAc;KACvB;CACJ,CAAC"}
1
+ {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ exports.MID = {
41
41
  };
42
42
  function elasticsearch(current, start, length) {
43
43
  const optional = length ? `, ${length}` : '';
44
- return `${current}.substring(${start}${optional})`;
44
+ return `${constants_1.ELASTICSEARCH_SCRIPT_NAMES.subString}(${current}, ${start}${optional})`;
45
45
  }
46
46
  function SQL(current, start, length) {
47
47
  const optional = length ? `, ${length}` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"mid.js","sourceRoot":"","sources":["../../../src/functions/mid.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAE9C,oCAAwD;AAExD;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,UAAU,EAAE;QACR;YACI,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,0BAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,0BAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,gBAAgB;YAC5B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,0BAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,GAAG,OAAO,cAAc,KAAK,GAAG,QAAQ,GAAG,CAAC;AACvD,CAAC;AAED,SAAS,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,aAAa,OAAO,KAAK,KAAK,GAAG,QAAQ,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC7D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC5D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"mid.js","sourceRoot":"","sources":["../../../src/functions/mid.ts"],"names":[],"mappings":";;;AAAA,4CAA0E;AAE1E,oCAAwD;AAExD;;GAEG;AACU,QAAA,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,UAAU,EAAE;QACR;YACI,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,0BAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,0BAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,gBAAgB;YAC5B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,0BAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,qBAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,GAAG,sCAA0B,CAAC,SAAS,IAAI,OAAO,KAAK,KAAK,GAAG,QAAQ,GAAG,CAAC;AACtF,CAAC;AAED,SAAS,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,aAAa,OAAO,KAAK,KAAK,GAAG,QAAQ,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC7D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC5D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -14,6 +14,8 @@ function customFunctionsList(func) {
14
14
  case 'MINUTE':
15
15
  case 'SECOND':
16
16
  return scripts_1.dateFormatScript;
17
+ case 'MID':
18
+ return scripts_1.subStringScript;
17
19
  default:
18
20
  return false;
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAC7C,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;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAZD,kDAYC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":";;;AAAA,uCAA8D;AAC9D,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;YACN,OAAO,yBAAe,CAAC;QAC3B;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAdD,kDAcC"}
@@ -2,6 +2,7 @@ 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;
5
6
  export declare const dayScript: (value: any) => string;
6
7
  export declare const monthScript: (value: any) => string;
7
8
  export declare const yearScript: (value: any) => string;
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dateDif = exports.secondScript = exports.minuteScript = exports.hourScript = exports.yearScript = exports.monthScript = exports.dayScript = exports.dateFormatScript = exports.setTimezoneToColumnDate = exports.toDate = void 0;
3
+ exports.dateDif = exports.secondScript = exports.minuteScript = exports.hourScript = exports.yearScript = exports.monthScript = exports.dayScript = exports.subStringScript = 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}")`;
7
7
  }
8
8
  exports.toDate = toDate;
9
9
  exports.setTimezoneToColumnDate = `
10
- ${constants_1.ELASTICSEARCH_SCRIPT_NAMES.setTimezone}(def date, String timezone) {
10
+ def ${constants_1.ELASTICSEARCH_SCRIPT_NAMES.setTimezone}(def date, String timezone) {
11
11
  if (date == null) return null;
12
12
  def value;
13
13
  if (date instanceof List) {
@@ -29,6 +29,17 @@ 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) {
34
+ return ${constants_1.ELASTICSEARCH_SCRIPT_NAMES.subString}(text, start, text.length());
35
+ }
36
+
37
+ String ${constants_1.ELASTICSEARCH_SCRIPT_NAMES.subString}(String text, int start, int end) {
38
+ int first = (int) Math.min(start - 1, text.length());
39
+ int last = (int) Math.min(start + (end - 1), text.length());
40
+ return text.substring(first, last);
41
+ }
42
+ `;
32
43
  function dateFormatToInt(value, format) {
33
44
  return `Integer.parseInt(${constants_1.ELASTICSEARCH_SCRIPT_NAMES.dateFormat}(${value}, '${format}'))`;
34
45
  }
@@ -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;EACrC,sCAAY,CAAC,WAAW;;;;;;;;;;;CAWzB,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"}
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;aAClB,sCAAY,CAAC,SAAS;;;SAG1B,sCAAY,CAAC,SAAS;;;;;CAK9B,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"}
@@ -1,16 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dateDif = exports.toDate = void 0;
4
- function datePart(value, format) {
5
- return `DATE_PART('${format}', ${value})`;
6
- }
7
4
  function toDate(value) {
8
5
  return `CAST('${value}' AS TIMESTAMP)`;
9
6
  }
10
7
  exports.toDate = toDate;
11
- function newDate(value) {
12
- return `DATE(${value})`;
13
- }
14
8
  function generalDateDif(start, end, unit) {
15
9
  const units = {
16
10
  Y: 'year',
@@ -21,15 +15,12 @@ function generalDateDif(start, end, unit) {
21
15
  return `DATEDIFF('${currentUnit}', ${start}, ${end})`;
22
16
  }
23
17
  function customDateDifYear(start, end) {
24
- const month = datePart(end, 'month');
25
- const day = datePart(end, 'day');
26
- const year = datePart(start, 'year');
27
- const parts = [year, month, day].join(` || '-' || `);
28
- const customDate = newDate(parts);
29
- const dateDifToCompare = generalDateDif(start, customDate, 'D');
18
+ const customFun = (date) => `MONTH(${date}) * 100 + DAY(${date})`;
19
+ const startComparison = customFun(start);
20
+ const endComparison = customFun(end);
30
21
  const dateDifYear = generalDateDif(start, end, 'Y');
31
22
  const result = `CASE
32
- WHEN ${dateDifToCompare} >= 0
23
+ WHEN ${startComparison} >= ${endComparison}
33
24
  THEN ${dateDifYear}
34
25
  ELSE ${dateDifYear} - 1
35
26
  END`;
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/sql/scripts.ts"],"names":[],"mappings":";;;AAEA,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAc;IAC3C,OAAO,cAAc,MAAM,MAAM,KAAK,GAAG,CAAC;AAC9C,CAAC;AAED,SAAgB,MAAM,CAAC,KAAa;IAChC,OAAO,SAAS,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAFD,wBAEC;AAED,SAAS,OAAO,CAAC,KAAa;IAC1B,OAAO,QAAQ,KAAK,GAAG,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,KAAK;KACX,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,aAAa,WAAW,MAAM,KAAK,KAAK,GAAG,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,GAAW;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG;eACJ,gBAAgB;mBACZ,WAAW;eACf,WAAW;QAClB,CAAC;IACL,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,OAAO,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;KACpB,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAPD,0BAOC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/sql/scripts.ts"],"names":[],"mappings":";;;AAEA,SAAgB,MAAM,CAAC,KAAa;IAChC,OAAO,SAAS,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAFD,wBAEC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,KAAK;KACX,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,aAAa,WAAW,MAAM,KAAK,KAAK,GAAG,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,GAAW;IACjD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,IAAI,iBAAiB,IAAI,GAAG,CAAC;IAC1E,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG;eACJ,eAAe,OAAO,aAAa;mBAC/B,WAAW;eACf,WAAW;QAClB,CAAC;IACL,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,OAAO,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;KACpB,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAPD,0BAOC"}
@@ -34,5 +34,6 @@ export type CustomEngineOperators = {
34
34
  export declare const CustomOperators: CustomEngineOperators;
35
35
  export declare enum ELASTICSEARCH_SCRIPT_NAMES {
36
36
  dateFormat = "DATE_FORMAT_SCRIPT",
37
- setTimezone = "SET_TIMEZONE_SCRIPT"
37
+ setTimezone = "SET_TIMEZONE_SCRIPT",
38
+ subString = "SUBSTRING_SCRIPT"
38
39
  }
@@ -39,5 +39,6 @@ export var ELASTICSEARCH_SCRIPT_NAMES;
39
39
  (function (ELASTICSEARCH_SCRIPT_NAMES) {
40
40
  ELASTICSEARCH_SCRIPT_NAMES["dateFormat"] = "DATE_FORMAT_SCRIPT";
41
41
  ELASTICSEARCH_SCRIPT_NAMES["setTimezone"] = "SET_TIMEZONE_SCRIPT";
42
+ ELASTICSEARCH_SCRIPT_NAMES["subString"] = "SUBSTRING_SCRIPT";
42
43
  })(ELASTICSEARCH_SCRIPT_NAMES || (ELASTICSEARCH_SCRIPT_NAMES = {}));
43
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;AACzB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,qCAAmB,CAAA;AACvB,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB;AAED,MAAM,CAAN,IAAY,SAUX;AAVD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACvB,CAAC,EAVW,SAAS,KAAT,SAAS,QAUpB;AAED,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAQD,MAAM,CAAC,MAAM,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;AACvC,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;AACzB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,qCAAmB,CAAA;AACvB,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB;AAED,MAAM,CAAN,IAAY,SAUX;AAVD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACvB,CAAC,EAVW,SAAS,KAAT,SAAS,QAUpB;AAED,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAQD,MAAM,CAAC,MAAM,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,MAAM,CAAN,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,4DAA8B,CAAA;AAClC,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,QAIrC"}
@@ -23,5 +23,13 @@ const errorList = [
23
23
  regex: /string_index_out_of_bounds_exception/,
24
24
  value: ERROR_LIST.outOfRange,
25
25
  },
26
+ {
27
+ regex: /cannot resolve symbol .*/,
28
+ value: ERROR_LIST.unknownToken,
29
+ },
30
+ {
31
+ regex: /Invalid int constant .* If you want a long constant then change it to .*/,
32
+ value: ERROR_LIST.invalidCastNumber,
33
+ },
26
34
  ];
27
35
  //# sourceMappingURL=elasticsearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,UAAU,CAAC,UAAU;KAC/B;CACJ,CAAC"}
1
+ {"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,UAAU,CAAC,UAAU;KAC/B;IACD;QACI,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,0EAA0E;QACjF,KAAK,EAAE,UAAU,CAAC,iBAAiB;KACtC;CACJ,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { ERROR_LIST } from '../dictionary';
2
2
  export function getInfo(errorObj) {
3
3
  const messageList = [];
4
- const { hint: message } = errorObj;
4
+ const { hint: message, code } = errorObj;
5
5
  messageList.push(message);
6
+ messageList.push(code);
6
7
  return {
7
8
  errorList,
8
9
  messageList,
@@ -13,5 +14,9 @@ const errorList = [
13
14
  regex: /No operator matches the given name and argument type.*/,
14
15
  value: ERROR_LIST.unknownToken,
15
16
  },
17
+ {
18
+ regex: /42703/,
19
+ value: ERROR_LIST.unknownToken,
20
+ },
16
21
  ];
17
22
  //# sourceMappingURL=redshift.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redshift.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/redshift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACnC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,wDAAwD;QAC/D,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
1
+ {"version":3,"file":"redshift.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/redshift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IACzC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,wDAAwD;QAC/D,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
@@ -17,5 +17,9 @@ const errorList = [
17
17
  regex: /Numeric value .* is not recognized/,
18
18
  value: ERROR_LIST.unknownToken,
19
19
  },
20
+ {
21
+ regex: /invalid identifier .*/,
22
+ value: ERROR_LIST.unknownToken,
23
+ },
20
24
  ];
21
25
  //# sourceMappingURL=snowflake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/snowflake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,kCAAkC;QACzC,KAAK,EAAE,UAAU,CAAC,aAAa;KAClC;IACD;QACI,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
1
+ {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/snowflake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,kCAAkC;QACzC,KAAK,EAAE,UAAU,CAAC,aAAa;KAClC;IACD;QACI,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;CACJ,CAAC"}
@@ -15,7 +15,8 @@ export declare enum ERROR_LIST {
15
15
  unknownExpression = "unknownExpression",
16
16
  unknownToken = "unknownToken",
17
17
  notAllowedExpression = "notAllowedExpression",
18
- outOfRange = "outOfRange"
18
+ outOfRange = "outOfRange",
19
+ invalidCastNumber = "invalidCastNumber"
19
20
  }
20
21
  type ErrorsType = {
21
22
  [key in ERROR_LIST]: ErrorDictionary;
@@ -17,6 +17,7 @@ export var ERROR_LIST;
17
17
  ERROR_LIST["unknownToken"] = "unknownToken";
18
18
  ERROR_LIST["notAllowedExpression"] = "notAllowedExpression";
19
19
  ERROR_LIST["outOfRange"] = "outOfRange";
20
+ ERROR_LIST["invalidCastNumber"] = "invalidCastNumber";
20
21
  })(ERROR_LIST || (ERROR_LIST = {}));
21
22
  export const ERROR_DICTIONARY = {
22
23
  [ERROR_LIST.arguments]: {
@@ -87,5 +88,9 @@ export const ERROR_DICTIONARY = {
87
88
  message: 'Expression out of range',
88
89
  code: 'OUT_OF_RANGE',
89
90
  },
91
+ [ERROR_LIST.invalidCastNumber]: {
92
+ message: 'Invalid cast number.',
93
+ code: 'INVALID_CAST_NUMBER',
94
+ },
90
95
  };
91
96
  //# sourceMappingURL=dictionary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAkBX;AAlBD,WAAY,UAAU;IAClB,qCAAuB,CAAA;IACvB,6BAAe,CAAA;IACf,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,yCAA2B,CAAA;IAC3B,iDAAmC,CAAA;IACnC,uCAAyB,CAAA;IACzB,uDAAyC,CAAA;IACzC,iDAAmC,CAAA;IACnC,iCAAmB,CAAA;IACnB,yDAA2C,CAAA;IAC3C,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;IACvC,2CAA6B,CAAA;IAC7B,2DAA6C,CAAA;IAC7C,uCAAyB,CAAA;AAC7B,CAAC,EAlBW,UAAU,KAAV,UAAU,QAkBrB;AAWD,MAAM,CAAC,MAAM,gBAAgB,GAAe;IACxC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACpB,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAChB,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,6CAA6C;QACtD,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACtB,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,cAAc;KACvB;IACD,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAC1B,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,mBAAmB;KAC5B;IACD,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC7B,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,qBAAqB;KAC9B;IACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACvB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,eAAe;KACxB;IACD,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,kBAAkB;KAC3B;IACD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAClB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,SAAS;KAClB;IACD,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAC3B,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,oBAAoB;KAC7B;IACD,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;QAC9B,OAAO,EAAE,+CAA+C;QACxD,IAAI,EAAE,qBAAqB;KAC9B;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC5B,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,oBAAoB;KAC7B;IACD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;QAC/B,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,wBAAwB;KACjC;IACD,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,cAAc;KACvB;CACJ,CAAC"}
1
+ {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAmBX;AAnBD,WAAY,UAAU;IAClB,qCAAuB,CAAA;IACvB,6BAAe,CAAA;IACf,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,yCAA2B,CAAA;IAC3B,iDAAmC,CAAA;IACnC,uCAAyB,CAAA;IACzB,uDAAyC,CAAA;IACzC,iDAAmC,CAAA;IACnC,iCAAmB,CAAA;IACnB,yDAA2C,CAAA;IAC3C,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;IACvC,2CAA6B,CAAA;IAC7B,2DAA6C,CAAA;IAC7C,uCAAyB,CAAA;IACzB,qDAAuC,CAAA;AAC3C,CAAC,EAnBW,UAAU,KAAV,UAAU,QAmBrB;AAWD,MAAM,CAAC,MAAM,gBAAgB,GAAe;IACxC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACpB,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAChB,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,6CAA6C;QACtD,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACxB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,gBAAgB;KACzB;IACD,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACtB,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,cAAc;KACvB;IACD,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAC1B,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,mBAAmB;KAC5B;IACD,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,aAAa;KACtB;IACD,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC7B,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,qBAAqB;KAC9B;IACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACvB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,eAAe;KACxB;IACD,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAC1B,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,kBAAkB;KAC3B;IACD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAClB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,SAAS;KAClB;IACD,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAC3B,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,oBAAoB;KAC7B;IACD,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;QAC9B,OAAO,EAAE,+CAA+C;QACxD,IAAI,EAAE,qBAAqB;KAC9B;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC5B,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,oBAAoB;KAC7B;IACD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;QAC/B,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,wBAAwB;KACjC;IACD,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QACrB,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,cAAc;KACvB;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC5B,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,qBAAqB;KAC9B;CACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AST_PRIMITIVES } from '../constants';
1
+ import { AST_PRIMITIVES, ELASTICSEARCH_SCRIPT_NAMES } from '../constants';
2
2
  import { isNumberParam, isStringParam } from '../utils';
3
3
  /**
4
4
  * `MID` Returns a segment of a string.
@@ -38,7 +38,7 @@ export const MID = {
38
38
  };
39
39
  function elasticsearch(current, start, length) {
40
40
  const optional = length ? `, ${length}` : '';
41
- return `${current}.substring(${start}${optional})`;
41
+ return `${ELASTICSEARCH_SCRIPT_NAMES.subString}(${current}, ${start}${optional})`;
42
42
  }
43
43
  function SQL(current, start, length) {
44
44
  const optional = length ? `, ${length}` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"mid.js","sourceRoot":"","sources":["../../../src/functions/mid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,UAAU,EAAE;QACR;YACI,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,cAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,gBAAgB;YAC5B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,cAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,GAAG,OAAO,cAAc,KAAK,GAAG,QAAQ,GAAG,CAAC;AACvD,CAAC;AAED,SAAS,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,aAAa,OAAO,KAAK,KAAK,GAAG,QAAQ,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC7D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC5D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"mid.js","sourceRoot":"","sources":["../../../src/functions/mid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,UAAU,EAAE;QACR;YACI,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,cAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,gBAAgB;YAC5B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,cAAc,CAAC,MAAM;YAC3B,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,GAAG,0BAA0B,CAAC,SAAS,IAAI,OAAO,KAAK,KAAK,GAAG,QAAQ,GAAG,CAAC;AACtF,CAAC;AAED,SAAS,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,aAAa,OAAO,KAAK,KAAK,GAAG,QAAQ,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC7D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC5D,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { dateFormatScript } from './scripts';
1
+ import { dateFormatScript, subStringScript } from './scripts';
2
2
  export { toDate, setTimezoneToColumnDate } from './scripts';
3
3
  export function customFunctionsList(func) {
4
4
  switch (func) {
@@ -9,6 +9,8 @@ export function customFunctionsList(func) {
9
9
  case 'MINUTE':
10
10
  case 'SECOND':
11
11
  return dateFormatScript;
12
+ case 'MID':
13
+ return subStringScript;
12
14
  default:
13
15
  return false;
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAE5D,MAAM,UAAU,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,gBAAgB,CAAC;QAC5B;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAE5D,MAAM,UAAU,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,gBAAgB,CAAC;QAC5B,KAAK,KAAK;YACN,OAAO,eAAe,CAAC;QAC3B;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC"}
@@ -2,6 +2,7 @@ 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;
5
6
  export declare const dayScript: (value: any) => string;
6
7
  export declare const monthScript: (value: any) => string;
7
8
  export declare const yearScript: (value: any) => string;
@@ -3,7 +3,7 @@ export function toDate(value) {
3
3
  return `ZonedDateTime.parse("${value}")`;
4
4
  }
5
5
  export const setTimezoneToColumnDate = `
6
- ${SCRIPT_NAMES.setTimezone}(def date, String timezone) {
6
+ def ${SCRIPT_NAMES.setTimezone}(def date, String timezone) {
7
7
  if (date == null) return null;
8
8
  def value;
9
9
  if (date instanceof List) {
@@ -25,6 +25,17 @@ String ${SCRIPT_NAMES.dateFormat}(def date_value, String format) {
25
25
  return DateTimeFormatter.ofPattern(format).format(date_value)
26
26
  }
27
27
  `;
28
+ export const subStringScript = `
29
+ String ${SCRIPT_NAMES.subString}(String text, int start) {
30
+ return ${SCRIPT_NAMES.subString}(text, start, text.length());
31
+ }
32
+
33
+ String ${SCRIPT_NAMES.subString}(String text, int start, int end) {
34
+ int first = (int) Math.min(start - 1, text.length());
35
+ int last = (int) Math.min(start + (end - 1), text.length());
36
+ return text.substring(first, last);
37
+ }
38
+ `;
28
39
  function dateFormatToInt(value, format) {
29
40
  return `Integer.parseInt(${SCRIPT_NAMES.dateFormat}(${value}, '${format}'))`;
30
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,wBAAwB,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;EACrC,YAAY,CAAC,WAAW;;;;;;;;;;;CAWzB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;SACvB,YAAY,CAAC,UAAU;;;;;;;;CAQ/B,CAAC;AAEF,SAAS,eAAe,CAAC,KAAU,EAAE,MAAc;IAC/C,OAAO,oBAAoB,YAAY,CAAC,UAAU,IAAI,KAAK,MAAM,MAAM,KAAK,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,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"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,wBAAwB,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;MACjC,YAAY,CAAC,WAAW;;;;;;;;;;;CAW7B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;SACvB,YAAY,CAAC,UAAU;;;;;;;;CAQ/B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;SACtB,YAAY,CAAC,SAAS;aAClB,YAAY,CAAC,SAAS;;;SAG1B,YAAY,CAAC,SAAS;;;;;CAK9B,CAAC;AAEF,SAAS,eAAe,CAAC,KAAU,EAAE,MAAc;IAC/C,OAAO,oBAAoB,YAAY,CAAC,UAAU,IAAI,KAAK,MAAM,MAAM,KAAK,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,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"}
@@ -1,12 +1,6 @@
1
- function datePart(value, format) {
2
- return `DATE_PART('${format}', ${value})`;
3
- }
4
1
  export function toDate(value) {
5
2
  return `CAST('${value}' AS TIMESTAMP)`;
6
3
  }
7
- function newDate(value) {
8
- return `DATE(${value})`;
9
- }
10
4
  function generalDateDif(start, end, unit) {
11
5
  const units = {
12
6
  Y: 'year',
@@ -17,15 +11,12 @@ function generalDateDif(start, end, unit) {
17
11
  return `DATEDIFF('${currentUnit}', ${start}, ${end})`;
18
12
  }
19
13
  function customDateDifYear(start, end) {
20
- const month = datePart(end, 'month');
21
- const day = datePart(end, 'day');
22
- const year = datePart(start, 'year');
23
- const parts = [year, month, day].join(` || '-' || `);
24
- const customDate = newDate(parts);
25
- const dateDifToCompare = generalDateDif(start, customDate, 'D');
14
+ const customFun = (date) => `MONTH(${date}) * 100 + DAY(${date})`;
15
+ const startComparison = customFun(start);
16
+ const endComparison = customFun(end);
26
17
  const dateDifYear = generalDateDif(start, end, 'Y');
27
18
  const result = `CASE
28
- WHEN ${dateDifToCompare} >= 0
19
+ WHEN ${startComparison} >= ${endComparison}
29
20
  THEN ${dateDifYear}
30
21
  ELSE ${dateDifYear} - 1
31
22
  END`;
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/sql/scripts.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAc;IAC3C,OAAO,cAAc,MAAM,MAAM,KAAK,GAAG,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,SAAS,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC1B,OAAO,QAAQ,KAAK,GAAG,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,KAAK;KACX,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,aAAa,WAAW,MAAM,KAAK,KAAK,GAAG,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,GAAW;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG;eACJ,gBAAgB;mBACZ,WAAW;eACf,WAAW;QAClB,CAAC;IACL,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;KACpB,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/sql/scripts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,SAAS,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,KAAK;KACX,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,aAAa,WAAW,MAAM,KAAK,KAAK,GAAG,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,GAAW;IACjD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,IAAI,iBAAiB,IAAI,GAAG,CAAC;IAC1E,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG;eACJ,eAAe,OAAO,aAAa;mBAC/B,WAAW;eACf,WAAW;QAClB,CAAC;IACL,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACtE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;KACpB,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/formula-lang",
3
- "version": "0.8.7",
3
+ "version": "0.8.9",
4
4
  "description": "QFormula support for qrvey projects",
5
5
  "types": "dist/module/index.d.ts",
6
6
  "main": "dist/module/index.js",