@qrvey/formula-lang 0.6.0 → 0.8.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 (134) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/cjs/constants/index.d.ts +12 -0
  3. package/dist/cjs/constants/index.js +14 -1
  4. package/dist/cjs/constants/index.js.map +1 -1
  5. package/dist/cjs/constants/interfaces.d.ts +15 -5
  6. package/dist/cjs/errors/analyzer/elasticsearch.js +6 -1
  7. package/dist/cjs/errors/analyzer/elasticsearch.js.map +1 -1
  8. package/dist/cjs/errors/analyzer/index.js +2 -1
  9. package/dist/cjs/errors/analyzer/index.js.map +1 -1
  10. package/dist/cjs/functions/abs.js +3 -1
  11. package/dist/cjs/functions/abs.js.map +1 -1
  12. package/dist/cjs/functions/datedif.js +5 -3
  13. package/dist/cjs/functions/datedif.js.map +1 -1
  14. package/dist/cjs/functions/day.js +3 -1
  15. package/dist/cjs/functions/day.js.map +1 -1
  16. package/dist/cjs/functions/hour.js +3 -1
  17. package/dist/cjs/functions/hour.js.map +1 -1
  18. package/dist/cjs/functions/if.js +8 -0
  19. package/dist/cjs/functions/if.js.map +1 -1
  20. package/dist/cjs/functions/ifs.js +10 -0
  21. package/dist/cjs/functions/ifs.js.map +1 -1
  22. package/dist/cjs/functions/mid.js +6 -4
  23. package/dist/cjs/functions/mid.js.map +1 -1
  24. package/dist/cjs/functions/minute.js +3 -1
  25. package/dist/cjs/functions/minute.js.map +1 -1
  26. package/dist/cjs/functions/month.js +3 -1
  27. package/dist/cjs/functions/month.js.map +1 -1
  28. package/dist/cjs/functions/second.js +3 -1
  29. package/dist/cjs/functions/second.js.map +1 -1
  30. package/dist/cjs/functions/year.js +3 -1
  31. package/dist/cjs/functions/year.js.map +1 -1
  32. package/dist/cjs/grammar/generated/qformula.lang.js +10 -10
  33. package/dist/cjs/grammar/generated/qformula.lang.js.map +1 -1
  34. package/dist/cjs/index.d.ts +1 -1
  35. package/dist/cjs/index.js +2 -1
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/main.js +9 -54
  38. package/dist/cjs/main.js.map +1 -1
  39. package/dist/cjs/parser/json-parser.js +65 -37
  40. package/dist/cjs/parser/json-parser.js.map +1 -1
  41. package/dist/cjs/parser/syntax-errors.js +1 -0
  42. package/dist/cjs/parser/syntax-errors.js.map +1 -1
  43. package/dist/cjs/transpiler/columnTranspilation.js +2 -2
  44. package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
  45. package/dist/cjs/transpiler/index.d.ts +1 -0
  46. package/dist/cjs/transpiler/index.js +17 -8
  47. package/dist/cjs/transpiler/index.js.map +1 -1
  48. package/dist/cjs/utils/index.d.ts +0 -1
  49. package/dist/cjs/utils/index.js +0 -1
  50. package/dist/cjs/utils/index.js.map +1 -1
  51. package/dist/cjs/utils/isDateParam.d.ts +2 -1
  52. package/dist/cjs/utils/isDateParam.js +2 -1
  53. package/dist/cjs/utils/isDateParam.js.map +1 -1
  54. package/dist/cjs/utils/isNumberParam.d.ts +2 -1
  55. package/dist/cjs/utils/isNumberParam.js +4 -2
  56. package/dist/cjs/utils/isNumberParam.js.map +1 -1
  57. package/dist/cjs/utils/isStringParam.d.ts +2 -1
  58. package/dist/cjs/utils/isStringParam.js +4 -2
  59. package/dist/cjs/utils/isStringParam.js.map +1 -1
  60. package/dist/cjs/utils/primitiveFunctions.d.ts +5 -0
  61. package/dist/cjs/utils/primitiveFunctions.js +39 -0
  62. package/dist/cjs/utils/primitiveFunctions.js.map +1 -0
  63. package/dist/cjs/utils/sql/scripts.js +9 -6
  64. package/dist/cjs/utils/sql/scripts.js.map +1 -1
  65. package/dist/module/constants/index.d.ts +12 -0
  66. package/dist/module/constants/index.js +13 -0
  67. package/dist/module/constants/index.js.map +1 -1
  68. package/dist/module/constants/interfaces.d.ts +15 -5
  69. package/dist/module/errors/analyzer/elasticsearch.js +6 -1
  70. package/dist/module/errors/analyzer/elasticsearch.js.map +1 -1
  71. package/dist/module/errors/analyzer/index.js +2 -1
  72. package/dist/module/errors/analyzer/index.js.map +1 -1
  73. package/dist/module/functions/abs.js +3 -1
  74. package/dist/module/functions/abs.js.map +1 -1
  75. package/dist/module/functions/datedif.js +5 -3
  76. package/dist/module/functions/datedif.js.map +1 -1
  77. package/dist/module/functions/day.js +3 -1
  78. package/dist/module/functions/day.js.map +1 -1
  79. package/dist/module/functions/hour.js +3 -1
  80. package/dist/module/functions/hour.js.map +1 -1
  81. package/dist/module/functions/if.js +8 -0
  82. package/dist/module/functions/if.js.map +1 -1
  83. package/dist/module/functions/ifs.js +10 -0
  84. package/dist/module/functions/ifs.js.map +1 -1
  85. package/dist/module/functions/mid.js +7 -5
  86. package/dist/module/functions/mid.js.map +1 -1
  87. package/dist/module/functions/minute.js +3 -1
  88. package/dist/module/functions/minute.js.map +1 -1
  89. package/dist/module/functions/month.js +3 -1
  90. package/dist/module/functions/month.js.map +1 -1
  91. package/dist/module/functions/second.js +3 -1
  92. package/dist/module/functions/second.js.map +1 -1
  93. package/dist/module/functions/year.js +3 -1
  94. package/dist/module/functions/year.js.map +1 -1
  95. package/dist/module/grammar/generated/qformula.lang.js +10 -10
  96. package/dist/module/grammar/generated/qformula.lang.js.map +1 -1
  97. package/dist/module/index.d.ts +1 -1
  98. package/dist/module/index.js +1 -1
  99. package/dist/module/index.js.map +1 -1
  100. package/dist/module/main.js +9 -54
  101. package/dist/module/main.js.map +1 -1
  102. package/dist/module/parser/json-parser.js +68 -40
  103. package/dist/module/parser/json-parser.js.map +1 -1
  104. package/dist/module/parser/syntax-errors.js +2 -1
  105. package/dist/module/parser/syntax-errors.js.map +1 -1
  106. package/dist/module/transpiler/columnTranspilation.js +3 -3
  107. package/dist/module/transpiler/columnTranspilation.js.map +1 -1
  108. package/dist/module/transpiler/index.d.ts +1 -0
  109. package/dist/module/transpiler/index.js +18 -9
  110. package/dist/module/transpiler/index.js.map +1 -1
  111. package/dist/module/utils/index.d.ts +0 -1
  112. package/dist/module/utils/index.js +0 -1
  113. package/dist/module/utils/index.js.map +1 -1
  114. package/dist/module/utils/isDateParam.d.ts +2 -1
  115. package/dist/module/utils/isDateParam.js +2 -1
  116. package/dist/module/utils/isDateParam.js.map +1 -1
  117. package/dist/module/utils/isNumberParam.d.ts +2 -1
  118. package/dist/module/utils/isNumberParam.js +4 -2
  119. package/dist/module/utils/isNumberParam.js.map +1 -1
  120. package/dist/module/utils/isStringParam.d.ts +2 -1
  121. package/dist/module/utils/isStringParam.js +4 -2
  122. package/dist/module/utils/isStringParam.js.map +1 -1
  123. package/dist/module/utils/primitiveFunctions.d.ts +5 -0
  124. package/dist/module/utils/primitiveFunctions.js +33 -0
  125. package/dist/module/utils/primitiveFunctions.js.map +1 -0
  126. package/dist/module/utils/sql/scripts.js +9 -6
  127. package/dist/module/utils/sql/scripts.js.map +1 -1
  128. package/package.json +4 -4
  129. package/dist/cjs/utils/isPositiveNumberParam.d.ts +0 -2
  130. package/dist/cjs/utils/isPositiveNumberParam.js +0 -12
  131. package/dist/cjs/utils/isPositiveNumberParam.js.map +0 -1
  132. package/dist/module/utils/isPositiveNumberParam.d.ts +0 -2
  133. package/dist/module/utils/isPositiveNumberParam.js +0 -8
  134. package/dist/module/utils/isPositiveNumberParam.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mid.js","sourceRoot":"","sources":["../../../src/functions/mid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/E;;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,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAqB,CAAC;SACrC;QACD;YACI,UAAU,EAAE,gBAAgB;YAC5B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;CACJ,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,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,5 +1,6 @@
1
1
  import { minuteScript } from '../utils/elasticsearch/scripts';
2
2
  import { isDateParam } from '../utils';
3
+ import { AST_PRIMITIVES } from '../constants';
3
4
  /**
4
5
  * Returns the number of the MINUTE in a Date.
5
6
  */
@@ -10,7 +11,7 @@ export const MINUTE = {
10
11
  {
11
12
  identifier: 'DATE',
12
13
  name: 'date',
13
- type: 'Date',
14
+ type: AST_PRIMITIVES.DATE,
14
15
  optional: false,
15
16
  validator: [isDateParam],
16
17
  },
@@ -20,6 +21,7 @@ export const MINUTE = {
20
21
  snowflake,
21
22
  redshift,
22
23
  },
24
+ primitiveResult: AST_PRIMITIVES.NUMBER,
23
25
  };
24
26
  function elasticsearch(value) {
25
27
  return minuteScript(value);
@@ -1 +1 @@
1
- {"version":3,"file":"minute.js","sourceRoot":"","sources":["../../../src/functions/minute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,uBAAuB,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"minute.js","sourceRoot":"","sources":["../../../src/functions/minute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,uBAAuB,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { monthScript } from '../utils/elasticsearch/scripts';
2
2
  import { isDateParam } from '../utils';
3
+ import { AST_PRIMITIVES } from '../constants';
3
4
  /**
4
5
  * Returns the number of the MONTH in a Date.
5
6
  */
@@ -10,7 +11,7 @@ export const MONTH = {
10
11
  {
11
12
  identifier: 'DATE',
12
13
  name: 'date',
13
- type: 'Date',
14
+ type: AST_PRIMITIVES.DATE,
14
15
  optional: false,
15
16
  validator: [isDateParam],
16
17
  },
@@ -20,6 +21,7 @@ export const MONTH = {
20
21
  snowflake,
21
22
  redshift,
22
23
  },
24
+ primitiveResult: AST_PRIMITIVES.NUMBER,
23
25
  };
24
26
  function elasticsearch(value) {
25
27
  return monthScript(value);
@@ -1 +1 @@
1
- {"version":3,"file":"month.js","sourceRoot":"","sources":["../../../src/functions/month.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAuB;IACrC,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,sBAAsB,KAAK,GAAG,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"month.js","sourceRoot":"","sources":["../../../src/functions/month.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAuB;IACrC,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,sBAAsB,KAAK,GAAG,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { secondScript } from '../utils/elasticsearch/scripts';
2
2
  import { isDateParam } from '../utils';
3
+ import { AST_PRIMITIVES } from '../constants';
3
4
  /**
4
5
  * Returns the number of the SECOND in a Date.
5
6
  */
@@ -10,7 +11,7 @@ export const SECOND = {
10
11
  {
11
12
  identifier: 'DATE',
12
13
  name: 'date',
13
- type: 'Date',
14
+ type: AST_PRIMITIVES.DATE,
14
15
  optional: false,
15
16
  validator: [isDateParam],
16
17
  },
@@ -20,6 +21,7 @@ export const SECOND = {
20
21
  snowflake,
21
22
  redshift,
22
23
  },
24
+ primitiveResult: AST_PRIMITIVES.NUMBER,
23
25
  };
24
26
  function elasticsearch(value) {
25
27
  return secondScript(value);
@@ -1 +1 @@
1
- {"version":3,"file":"second.js","sourceRoot":"","sources":["../../../src/functions/second.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,uBAAuB,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"second.js","sourceRoot":"","sources":["../../../src/functions/second.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,uBAAuB,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { yearScript } from '../utils/elasticsearch/scripts';
2
2
  import { isDateParam } from '../utils';
3
+ import { AST_PRIMITIVES } from '../constants';
3
4
  /**
4
5
  * Returns the number of the YEAR in a Date.
5
6
  */
@@ -10,7 +11,7 @@ export const YEAR = {
10
11
  {
11
12
  identifier: 'DATE',
12
13
  name: 'date',
13
- type: 'Date',
14
+ type: AST_PRIMITIVES.DATE,
14
15
  optional: false,
15
16
  validator: [isDateParam],
16
17
  },
@@ -20,6 +21,7 @@ export const YEAR = {
20
21
  snowflake,
21
22
  redshift,
22
23
  },
24
+ primitiveResult: AST_PRIMITIVES.NUMBER,
23
25
  };
24
26
  function elasticsearch(value) {
25
27
  return yearScript(value);
@@ -1 +1 @@
1
- {"version":3,"file":"year.js","sourceRoot":"","sources":["../../../src/functions/year.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,qBAAqB,KAAK,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"year.js","sourceRoot":"","sources":["../../../src/functions/year.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,qBAAqB,KAAK,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -5,18 +5,18 @@ import { styleTags, tags } from '@lezer/highlight';
5
5
  const spec_identifier = { __proto__: null, true: 16, false: 16, null: 18 };
6
6
  const parser = LRParser.deserialize({
7
7
  version: 14,
8
- states: "%vO]QPOOO!cQPO'#CfOOQO'#C`'#C`OOQO'#Ch'#ChO!jQPO'#CgO!oQQO'#CjO]QPO'#CkQ!tQSOOO]QPO'#CqOOQO'#C_'#C_O#SQPO'#C{O#[QPO,59QO#aQPO,59RO#hQPO,59UOOQO,59V,59VO]QPO,59XO]QPO,59XO]QPO,59XO#mQSO,59]O$OQPO'#CrO$YQPO,59gOOQO1G.l1G.lO$bQSO'#DPOOQO'#Ci'#CiO$vQPO1G.mOOQO1G.p1G.pOOQO1G.s1G.sO%^QSO1G.sO%hQSO1G.sOOQO1G.w1G.wOOQO,59^,59^OOQO-E6p-E6pO%rQPO'#CsO%|QPO,59kOOQO7+$X7+$XO&UQSO,59_OOQO-E6q-E6q",
9
- stateData: "&r~OjOSkOSPOS~OTQOUQOVQOWQOXQO`UOlROnPOrWOuTO~OTQOUQOVQOWQOXQOnPO~OmoP~P}Or[O~Ov]O~O`aOb_Oc`Od`O~OpcOmoX~OmeO~OqsP~P]OtiO~O`aOb_Oc`Od`OqmO~OmfXpfX~P}OpcOmoa~O`aOb_Oc`Od`OppOqsX~OqrO~Ob_O`aihaiqaipai~Ocaidai~P${Oc`Od`O~P${OpgXqgX~P]OppOqsa~O`aOb_Oc`Od`Opgaqga~OUVPjklc~",
10
- goto: "#vtPPPu!_PPPPP!o!{#V#a!{!{P!{PPP!{#d#jPPPPPPP#pPPP#sQVOQ^UQbWQf[Qj_Qk`QlaRsp`XOUW[_`apQYPRnceQOPUW[_`acpaXOUW[_`apaSOUW[_`apRh[QdYRodQqfRtqRZPRg[",
11
- nodeNames: "⚠ LineComment Program Expression Value Number Date String Boolean Null Array Function FunctionIdentifier FunctionArguments Variable UnaryExpression ArithOp BinaryExpression LogicOp ArithOp ArithOp ParenthesizedExpression",
12
- maxTerm: 38,
8
+ states: "$tO]QPOOOOQO'#C`'#C`OOQO'#Cg'#CgOzQPO'#CfO!PQQO'#CiO]QPO'#CjQ!UQPOOO]QPO'#CpOOQO'#C_'#C_O!dQPO,59QO!kQPO,59TOOQO,59U,59UO]QPO,59WO]QPO,59WO]QPO,59WO!pQPO,59[O#RQPO'#CyOOQO'#Ch'#ChO#gQPO1G.lOOQO1G.o1G.oOOQO1G.r1G.rO#}QPO1G.rO$XQPO1G.rOOQO1G.v1G.vO$cQPO'#CqO$mQPO,59eOOQO7+$W7+$WO$uQPO,59]OOQO-E6o-E6o",
9
+ stateData: "%c~OhOSiOSPOS~OTPOUPOVPOWPOXPO_TOjQOlVOpSO~OlXO~OqYO~O_^Oa[Ob]Oc]O~OkmP~P]OocO~O_^Oa[Ob]Oc]OkgO~O_^Oa[Ob]Oc]OnhOkmX~OkjO~Oa[O_`if`ik`in`i~Ob`ic`i~P#lOb]Oc]O~P#lOkeXneX~P]OnhOkma~O_^Oa[Ob]Oc]Okeanea~OUVPhijb~",
10
+ goto: "!ynPPPo!XPPPPP!X!c!m!X!XP!XPPP!X!pPPPPPPP!vQUOQZTQ_VQ`XQd[Qe]Qf^RkhaWOTVX[]^haROTVX[]^hRbXQi`RliRaX",
11
+ nodeNames: "⚠ LineComment Program Expression Value Number Date String Boolean Null Function FunctionIdentifier FunctionArguments Variable UnaryExpression ArithOp BinaryExpression LogicOp ArithOp ArithOp ParenthesizedExpression",
12
+ maxTerm: 33,
13
13
  skippedNodes: [0, 1],
14
- repeatNodeCount: 2,
15
- tokenData: "=S~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`;{!`!a<Q!c!}<[!}#O<x#P#Q<}#R#S8h#T#o<[$f$g#V#BY#BZ#V$IS$I_#V$I|$I}#z$I}$JO#z$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~#[Yj~XY#VZ[#Vpq#V$f$g#V#BY#BZ#V$IS$I_#V$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~$POk~~$SZOr$urs%_s!Q$u!Q!R&c!R!S6r!S![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~$xVOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~%dOV~~%gRO;'S$u;'S;=`%p;=`O$u~%sWOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&];=`<%l$u<%lO$u~&`P;=`<%l$u~&fYOr$urs%_s!P$u!P!Q'U!Q![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~'X]Or$urs%_s!Q$u!Q!R(Q!R!S(Q!S!T(Q!T!U(Q!U![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(TYOr$urs%_s!P$u!P!Q(s!Q![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(vXOr$urs%_s!Q$u!Q![)c![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~)fXOr$urs%_s!Q$u!Q![*R![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*UXOr$urs%_s!Q$u!Q![*q![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*tXOr$urs%_s!Q$u!Q![+a![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~+dkOX$uX^-X^p$upq-Xqr$urs4gs#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~-[pOX$uX^-X^p$upq-Xqr$urs%_s!Q$u!Q!R/`!R!S/`!S!T4n!T![0R![#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~/cYOr$urs%_s!Q$u!Q![0R![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0UXOr$urs%_s![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0tXOr$urs%_s!Q$u!Q!W1a!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~1dXOr$urs%_s!Q$u!Q![2P![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2SXOr$urs%_s![$u![!]2o!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2rXOr$urs%_s!Q$u!Q!W3_!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~3bXOr$urs%_s!Q$u!Q![3}![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4QVOr$urs4gs#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4nOU~V~~4qZOr$urs%_s!Q$u!Q!U0R!U![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~5gXOr$urs%_s!P$u!P!Q(s!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6VXOr$urs%_s!P$u!P!Q'U!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6u[Or$urs%_s!P$u!P!Q'U!Q!R6S!R!S6S!S!T6S!T#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~7pOr~~7uOq~~7zOd~V8RV`TvQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8hQ8mVvQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8h~9XOp~R9^VvQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S8h#T#o8hR9zVTPvQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S9s#T#o8h~:fPc~!P!Q:i~:nSP~OY:iZ;'S:i;'S;=`:z<%lO:i~:}P;=`<%l:iR;XVTPvQ{|8h}!O8h!O!P9s!Q![;Q!c!}8h#R#S;Q#T#o8hT;uQnPbS!_!`;{!`!a;{S<QObST<XPmPbS!_!`;{R<cVvQlP{|8h}!O8h!O!P8h!Q![<[!c!}<[#R#S<[#T#o<[~<}Ou~~=SOt~",
16
- tokenizers: [0, 1, 2],
14
+ repeatNodeCount: 1,
15
+ tokenData: "=O~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`;y!`!a<O!c!}<W!}#O<t#P#Q<y#R#S8h#T#o<W$f$g#V#BY#BZ#V$IS$I_#V$I|$I}#z$I}$JO#z$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~#[Yh~XY#VZ[#Vpq#V$f$g#V#BY#BZ#V$IS$I_#V$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~$POi~~$SZOr$urs%_s!Q$u!Q!R&c!R!S6r!S![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~$xVOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~%dOV~~%gRO;'S$u;'S;=`%p;=`O$u~%sWOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&];=`<%l$u<%lO$u~&`P;=`<%l$u~&fYOr$urs%_s!P$u!P!Q'U!Q![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~'X]Or$urs%_s!Q$u!Q!R(Q!R!S(Q!S!T(Q!T!U(Q!U![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(TYOr$urs%_s!P$u!P!Q(s!Q![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(vXOr$urs%_s!Q$u!Q![)c![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~)fXOr$urs%_s!Q$u!Q![*R![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*UXOr$urs%_s!Q$u!Q![*q![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*tXOr$urs%_s!Q$u!Q![+a![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~+dkOX$uX^-X^p$upq-Xqr$urs4gs#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~-[pOX$uX^-X^p$upq-Xqr$urs%_s!Q$u!Q!R/`!R!S/`!S!T4n!T![0R![#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~/cYOr$urs%_s!Q$u!Q![0R![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0UXOr$urs%_s![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0tXOr$urs%_s!Q$u!Q!W1a!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~1dXOr$urs%_s!Q$u!Q![2P![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2SXOr$urs%_s![$u![!]2o!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2rXOr$urs%_s!Q$u!Q!W3_!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~3bXOr$urs%_s!Q$u!Q![3}![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4QVOr$urs4gs#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4nOU~V~~4qZOr$urs%_s!Q$u!Q!U0R!U![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~5gXOr$urs%_s!P$u!P!Q(s!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6VXOr$urs%_s!P$u!P!Q'U!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6u[Or$urs%_s!P$u!P!Q'U!Q!R6S!R!S6S!S!T6S!T#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~7pOl~~7uOk~~7zOc~R8RV_PqQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8hQ8mVqQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8h~9XOn~R9^VqQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S8h#T#o8hR9zVTPqQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S9s#T#o8h~:fPb~!P!Q:i~:nSP~OY:iZ;'S:i;'S;=`:z<%lO:i~:}P;=`<%l:iR;XVTPqQ{|8h}!O8h!O!P9s!Q![;Q!c!}8h#R#S;Q#T#o8h~;sQa~!_!`;y!`!a;y~<OOa~~<TPa~!_!`;yR<_VqQjP{|8h}!O8h!O!P8h!Q![<W!c!}<W#R#S<W#T#o<W~<yOp~~=OOo~",
16
+ tokenizers: [0, 1],
17
17
  topRules: { "Program": [0, 2] },
18
- specialized: [{ term: 28, get: value => spec_identifier[value] || -1 }],
19
- tokenPrec: 256
18
+ specialized: [{ term: 26, get: value => spec_identifier[value] || -1 }],
19
+ tokenPrec: 195
20
20
  });
21
21
  const QFormulaHighlightConfig = {
22
22
  parser: parser.configure({
@@ -1 +1 @@
1
- {"version":3,"file":"qformula.lang.js","sourceRoot":"","sources":["../../../../src/grammar/generated/qformula.lang.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAE,IAAI,EAAC,EAAE,EAAC,CAAC;AACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,oYAAoY;IAC5Y,SAAS,EAAE,8QAA8Q;IACzR,IAAI,EAAE,mJAAmJ;IACzJ,SAAS,EAAE,8NAA8N;IACzO,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,s2EAAs2E;IACj3E,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrB,QAAQ,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC;IAC3B,WAAW,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC;IACrE,SAAS,EAAE,GAAG;CACf,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE;YACH,SAAS,CAAC;gBACN,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,WAAW;gBACpC,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC;SACL;KACJ,CAAC;IACF,YAAY,EAAE;QACV,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KAChC;CACJ,CAAC;AACF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAChE,SAAS,QAAQ;IACb,OAAO,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"qformula.lang.js","sourceRoot":"","sources":["../../../../src/grammar/generated/qformula.lang.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAE,IAAI,EAAC,EAAE,EAAC,CAAC;AACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,6SAA6S;IACrT,SAAS,EAAE,iNAAiN;IAC5N,IAAI,EAAE,qGAAqG;IAC3G,SAAS,EAAE,wNAAwN;IACnO,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,k2EAAk2E;IAC72E,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC;IAC3B,WAAW,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC;IACrE,SAAS,EAAE,GAAG;CACf,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE;YACH,SAAS,CAAC;gBACN,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,WAAW;gBACpC,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC;SACL;KACJ,CAAC;IACF,YAAY,EAAE;QACV,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KAChC;CACJ,CAAC;AACF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAChE,SAAS,QAAQ;IACb,OAAO,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC"}
@@ -2,7 +2,7 @@ import { ENGINES } from './constants/index';
2
2
  import { FormulaContext, TranspilationResponse } from './constants/interfaces';
3
3
  export { QFormula as FormulaHighlight, QFormulaLang as FormulaLang, QFormulaHighlightConfig as FormulaHightConfig, } from './grammar/qformula.grammar';
4
4
  export { calculateAST } from './parser/json-parser';
5
- export { ENGINES } from './constants/index';
5
+ export { ENGINES, AST_PRIMITIVES } from './constants/index';
6
6
  export { FUNCTION_LIST, getFunctionDetail } from './functions/index';
7
7
  export { TranspileAST } from './transpiler/index';
8
8
  export { ProgramAST, TranspilationResponse, FormulaContext, } from './constants/interfaces';
@@ -3,7 +3,7 @@ import { calculateAST } from './parser/json-parser';
3
3
  import { TranspileAST } from './transpiler/index';
4
4
  export { QFormula as FormulaHighlight, QFormulaLang as FormulaLang, QFormulaHighlightConfig as FormulaHightConfig, } from './grammar/qformula.grammar';
5
5
  export { calculateAST } from './parser/json-parser';
6
- export { ENGINES } from './constants/index';
6
+ export { ENGINES, AST_PRIMITIVES } from './constants/index';
7
7
  export { FUNCTION_LIST, getFunctionDetail } from './functions/index';
8
8
  export { TranspileAST } from './transpiler/index';
9
9
  export { BaseError, errorAnalyzer } from './errors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACH,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,IAAI,WAAW,EAC3B,uBAAuB,IAAI,kBAAkB,GAChD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,UAAU,SAAS,CACrB,OAAe,EACf,MAAe,EACf,OAAwB;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACH,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,IAAI,WAAW,EAC3B,uBAAuB,IAAI,kBAAkB,GAChD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,UAAU,SAAS,CACrB,OAAe,EACf,MAAe,EACf,OAAwB;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,63 +1,18 @@
1
1
  import { TranspileAST, calculateAST } from '.';
2
2
  customElements.whenDefined('q-codemirror-test').then(load);
3
- const context = {
4
- model: [
5
- {
6
- id: 'idColumn1',
7
- replacement: 'Date_Origin_Column1',
8
- label: 'Date',
9
- type: 'date',
10
- },
11
- {
12
- id: 'idColumn2',
13
- replacement: 'Date_Origin_Column2',
14
- label: 'DateTime',
15
- type: 'date',
16
- },
17
- {
18
- id: 'idColumn3',
19
- replacement: 'Date_Origin_Column3',
20
- label: 'Donations',
21
- type: 'string',
22
- },
23
- {
24
- id: 'idColumn4',
25
- replacement: 'Date_Origin_Column4',
26
- label: 'Duration',
27
- type: 'number',
28
- },
29
- {
30
- id: 'idColumn5',
31
- replacement: 'Date_Origin_Column5',
32
- label: 'City',
33
- type: 'string',
34
- },
35
- {
36
- id: 'idColumn6',
37
- replacement: 'Date_Origin_Column6',
38
- label: 'City New',
39
- type: 'string',
40
- },
41
- {
42
- id: 'idColumn7',
43
- replacement: 'Date_Origin_Column7',
44
- label: 'City New Country',
45
- type: 'string',
46
- },
47
- {
48
- id: 'idColumn8',
49
- replacement: 'Date_Origin_Column8',
50
- label: 'Country',
51
- type: 'string',
52
- },
53
- ],
3
+ window.formulaSetting = {
4
+ domain: 'https://postqa2.qrveyapp.com',
5
+ apiKey: 'VXlA8eZmrJUaCk8OlAxP3KUpR6S79UO2xgawf1tX',
6
+ userId: 'iduDnkZPS',
7
+ appId: 'XqsfiPaxO',
54
8
  };
55
9
  function load() {
56
- const quiFormulaEditor = document.querySelector('q-codemirror-test');
10
+ const quiFormulaEditor = document.querySelector('q-codemirror-integrated-test');
57
11
  if (quiFormulaEditor) {
58
12
  // (quiFormulaEditor as any).value = 'DATEDIF([idColumn1], "11/02/2021 10:22:30", "Y") + 1 + MONTH([idColumn1]) + DAY([idColumn1])';
59
- quiFormulaEditor.value = 'ABS()';
60
- quiFormulaEditor.context = context;
13
+ // (quiFormulaEditor as any).value = 'ABS()';
14
+ quiFormulaEditor.value =
15
+ 'DATEDIF([mIXvWLlAw], "11/02/2021 10:22:30", "Y") + 1 + MONTH([mIXvWLlAw]) + DAY([mIXvWLlAw])';
61
16
  quiFormulaEditor.langSupport = {
62
17
  customCalculateAST: calculateAST,
63
18
  customTranspileAST: TranspileAST,
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AAE/C,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,MAAM,OAAO,GAAG;IACZ,KAAK,EAAE;QACH;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM;SACf;QACD;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,MAAM;SACf;QACD;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;SACjB;QACD;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;SACjB;QACD;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;SACjB;QACD;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;SACjB;QACD;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,QAAQ;SACjB;QACD;YACI,EAAE,EAAE,WAAW;YACf,WAAW,EAAE,qBAAqB;YAClC,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC;AAEF,SAAS,IAAI;IACT,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACrE,IAAI,gBAAgB,EAAE;QAClB,oIAAoI;QACnI,gBAAwB,CAAC,KAAK,GAAG,OAAO,CAAC;QACzC,gBAAwB,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3C,gBAAwB,CAAC,WAAW,GAAG;YACpC,kBAAkB,EAAE,YAAY;YAChC,kBAAkB,EAAE,YAAY;SACnC,CAAC;KACL;AACL,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AAE/C,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAc,CAAC,cAAc,GAAG;IAC7B,MAAM,EAAE,8BAA8B;IACtC,MAAM,EAAE,0CAA0C;IAClD,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,WAAW;CACrB,CAAC;AAEF,SAAS,IAAI;IACT,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAC3C,8BAA8B,CACjC,CAAC;IACF,IAAI,gBAAgB,EAAE;QAClB,oIAAoI;QACpI,6CAA6C;QAC5C,gBAAwB,CAAC,KAAK;YAC3B,8FAA8F,CAAC;QAClG,gBAAwB,CAAC,WAAW,GAAG;YACpC,kBAAkB,EAAE,YAAY;YAChC,kBAAkB,EAAE,YAAY;SACnC,CAAC;KACL;AACL,CAAC"}
@@ -1,35 +1,45 @@
1
- import { AST_TYPES } from '../constants';
1
+ import { AST_PRIMITIVES, AST_TYPES } from '../constants';
2
2
  import { getNodeValue, getMonthMaxDayAllowed, isValidDate, getVariableType, getVariableContext, } from '../utils';
3
3
  import { calculateNodeSyntaxErrors } from './syntax-errors';
4
- import { MissingParenthesisError, NotAllowedExpressionError, } from '../errors';
5
- import { FUNCTION_LIST } from '../functions';
4
+ import { MissingParenthesisError, NotAllowedExpressionError } from '../errors';
5
+ import { FUNCTION_LIST, getFunctionDetail } from '../functions';
6
+ import { getFunctionPrimitive, primitiveIsIncluded, } from '../utils/primitiveFunctions';
6
7
  const PARSER_VERSION = '0.0.0';
7
8
  const LANG_NAME = 'QrveyLang';
8
9
  export function calculateAST(program, startNode, context) {
10
+ var _a;
9
11
  if (!startNode)
10
12
  return;
11
13
  const syntaxErrors = calculateNodeSyntaxErrors(program, startNode);
14
+ const inference = {
15
+ errorList: syntaxErrors,
16
+ formulaVariables: [],
17
+ };
18
+ const body = transformNode(program, startNode, inference, context);
19
+ const { errorList: errors, formulaVariables: variables } = inference;
12
20
  return {
13
21
  type: AST_TYPES.program,
14
22
  exp: program,
15
23
  lang: LANG_NAME,
16
24
  version: PARSER_VERSION,
17
- body: transformNode(program, startNode, syntaxErrors, context),
25
+ body,
18
26
  from: startNode.from,
19
27
  to: startNode.to,
20
- errors: syntaxErrors,
28
+ errors,
29
+ variables,
30
+ primitive: (_a = body === null || body === void 0 ? void 0 : body.primitive) !== null && _a !== void 0 ? _a : AST_PRIMITIVES.UNKNOWN,
21
31
  };
22
32
  }
23
- function transformNode(program, node, errorList, context) {
33
+ function transformNode(program, node, inference, context) {
24
34
  if (!node)
25
35
  return undefined;
26
36
  switch (node.name) {
27
37
  case 'BinaryExpression':
28
- return transformBinaryExpression(program, node, errorList, context);
38
+ return transformBinaryExpression(program, node, inference, context);
29
39
  case 'UnaryExpression':
30
- return transformUnaryExpression(program, node, errorList, context);
40
+ return transformUnaryExpression(program, node, inference, context);
31
41
  case 'Function':
32
- return transformFunctionExpression(program, node, errorList, context);
42
+ return transformFunctionExpression(program, node, inference, context);
33
43
  case 'Number':
34
44
  return transformNumberValue(program, node);
35
45
  case 'Date':
@@ -40,26 +50,27 @@ function transformNode(program, node, errorList, context) {
40
50
  return transformBooleanValue(program, node);
41
51
  case 'Null':
42
52
  return transformNullValue(program, node);
43
- case 'Array':
44
- return transformArrayValue(program, node, errorList, context);
45
53
  case 'Variable':
46
- return transformVariableValue(program, node, context);
54
+ return transformVariableValue(program, node, inference, context);
47
55
  default:
48
56
  return node.firstChild
49
- ? transformNode(program, node.firstChild, errorList, context)
57
+ ? transformNode(program, node.firstChild, inference, context)
50
58
  : undefined;
51
59
  }
52
60
  }
53
- function transformBinaryExpression(program, node, errorList, context) {
61
+ function transformBinaryExpression(program, node, inference, context) {
54
62
  const [leftNode, rightNode] = node.getChildren('Expression');
55
63
  const logicOperator = node.getChild('LogicOp');
56
64
  const arithOperator = node.getChild('ArithOp');
57
- const left = transformNode(program, leftNode, errorList, context);
58
- const right = transformNode(program, rightNode, errorList, context);
65
+ const left = transformNode(program, leftNode, inference, context);
66
+ const right = transformNode(program, rightNode, inference, context);
59
67
  const leftIsNotAValidNumber = (left === null || left === void 0 ? void 0 : left.type) === AST_TYPES.literal &&
60
68
  left.dataType !== 'number';
61
69
  const rightIsNotAValidNumber = (right === null || right === void 0 ? void 0 : right.type) === AST_TYPES.literal &&
62
70
  right.dataType !== 'number';
71
+ const primitive = left.primitive === (right === null || right === void 0 ? void 0 : right.primitive)
72
+ ? left.primitive
73
+ : AST_PRIMITIVES.UNKNOWN;
63
74
  const binaryAST = {
64
75
  operator: getNodeValue(program, (logicOperator !== null && logicOperator !== void 0 ? logicOperator : arithOperator)),
65
76
  type: AST_TYPES.binaryExpression,
@@ -67,42 +78,49 @@ function transformBinaryExpression(program, node, errorList, context) {
67
78
  right,
68
79
  from: node.from,
69
80
  to: node.to,
81
+ primitive,
70
82
  };
71
83
  if (!leftNode ||
72
84
  !rightNode ||
85
+ (!arithOperator && !logicOperator) ||
73
86
  (arithOperator && (leftIsNotAValidNumber || rightIsNotAValidNumber))) {
74
- errorList.push(new NotAllowedExpressionError(binaryAST));
87
+ inference.errorList.push(new NotAllowedExpressionError(binaryAST));
75
88
  }
76
89
  return binaryAST;
77
90
  }
78
- function transformUnaryExpression(program, node, errorList, context) {
91
+ function transformUnaryExpression(program, node, inference, context) {
79
92
  const [rightNode] = node.getChildren('Expression');
80
93
  const operator = node.getChild('ArithOp');
94
+ const right = transformNode(program, rightNode, inference, context);
95
+ const primitive = primitiveIsIncluded(right === null || right === void 0 ? void 0 : right.primitive, AST_PRIMITIVES.NUMBER, AST_PRIMITIVES.BOOLEAN)
96
+ ? right.primitive
97
+ : AST_PRIMITIVES.UNKNOWN;
81
98
  const unaryAST = {
82
99
  operator: getNodeValue(program, operator),
83
100
  type: AST_TYPES.unaryExpression,
84
- right: transformNode(program, rightNode, errorList, context),
101
+ right,
85
102
  from: node.from,
86
103
  to: node.to,
104
+ primitive,
87
105
  };
88
106
  if (!rightNode) {
89
- errorList.push(new NotAllowedExpressionError(unaryAST));
107
+ inference.errorList.push(new NotAllowedExpressionError(unaryAST));
90
108
  }
91
109
  return unaryAST;
92
110
  }
93
- function transformFunctionExpression(program, node, errorList, context) {
111
+ function transformFunctionExpression(program, node, inference, context) {
94
112
  const args = node.getChild('FunctionArguments');
95
113
  const fnIdentifier = node.getChild('FunctionIdentifier');
96
114
  const fnName = getNodeValue(program, fnIdentifier);
97
115
  const fnString = getNodeValue(program, node);
98
116
  const parenthesisIsNotOpen = fnString.slice(fnName.length, fnName.length + 1) !== '(';
99
117
  const parenthesisIsNotClosed = fnString.slice(-1) !== ')';
100
- const resultNode = {
118
+ const baseNode = {
101
119
  type: AST_TYPES.functionCall,
102
120
  name: getNodeValue(program, fnIdentifier),
103
121
  arguments: args
104
122
  ? args.getChildren('Expression').map((childNode) => {
105
- const nodeResult = transformNode(program, childNode, errorList, context);
123
+ const nodeResult = transformNode(program, childNode, inference, context);
106
124
  return (nodeResult !== null && nodeResult !== void 0 ? nodeResult : createUnknownValue(childNode, getNodeValue(program, childNode)));
107
125
  })
108
126
  : [],
@@ -110,8 +128,15 @@ function transformFunctionExpression(program, node, errorList, context) {
110
128
  to: node.to,
111
129
  };
112
130
  const functionExists = FUNCTION_LIST.includes(fnName);
131
+ const functionDetail = functionExists
132
+ ? getFunctionDetail(fnName)
133
+ : undefined;
134
+ const primitive = functionDetail
135
+ ? getFunctionPrimitive(functionDetail, baseNode.arguments)
136
+ : AST_PRIMITIVES.UNKNOWN;
137
+ const resultNode = Object.assign(Object.assign({}, baseNode), { primitive });
113
138
  if (functionExists && (parenthesisIsNotOpen || parenthesisIsNotClosed)) {
114
- errorList.push(new MissingParenthesisError(resultNode));
139
+ inference.errorList.push(new MissingParenthesisError(resultNode));
115
140
  }
116
141
  return resultNode;
117
142
  }
@@ -122,6 +147,7 @@ function createLiteralValue({ from, to }, dataType, value) {
122
147
  value,
123
148
  from,
124
149
  to,
150
+ primitive: dataType,
125
151
  };
126
152
  }
127
153
  function createUnknownValue({ from, to }, text) {
@@ -130,6 +156,7 @@ function createUnknownValue({ from, to }, text) {
130
156
  from,
131
157
  to,
132
158
  text,
159
+ primitive: AST_PRIMITIVES.UNKNOWN,
133
160
  };
134
161
  }
135
162
  // "MM/DD/YYYY" or "MM/DD/YYYY HH:mm:ss"
@@ -157,45 +184,46 @@ function transformDateValue(program, node) {
157
184
  if (!isValidDate(dateValue))
158
185
  return transformStringValue(program, node);
159
186
  const value = dateValue.toISOString();
160
- return createLiteralValue(node, 'date', value);
187
+ return createLiteralValue(node, AST_PRIMITIVES.DATE, value);
161
188
  }
162
189
  function transformStringValue(program, node) {
163
190
  const value = getNodeValue(program, node).slice(1, -1);
164
- return createLiteralValue(node, 'string', value);
191
+ return createLiteralValue(node, AST_PRIMITIVES.STRING, value);
165
192
  }
166
193
  function transformNumberValue(program, node) {
167
194
  const value = parseFloat(getNodeValue(program, node));
168
- return createLiteralValue(node, 'number', value);
195
+ return createLiteralValue(node, AST_PRIMITIVES.NUMBER, value);
169
196
  }
170
197
  function transformBooleanValue(program, node) {
171
198
  const value = getNodeValue(program, node) === 'true';
172
- return createLiteralValue(node, 'boolean', value);
199
+ return createLiteralValue(node, AST_PRIMITIVES.BOOLEAN, value);
173
200
  }
174
201
  function transformNullValue(_program, node) {
175
- return createLiteralValue(node, 'null', null);
176
- }
177
- function transformArrayValue(program, node, errorList, context) {
178
- const childValue = node.getChildren('Value');
179
- const value = childValue
180
- ? childValue.map((childNode) => {
181
- const nodeResult = transformNode(program, childNode, errorList, context);
182
- return (nodeResult !== null && nodeResult !== void 0 ? nodeResult : createUnknownValue(childNode, getNodeValue(program, childNode)));
183
- })
184
- : [];
185
- return createLiteralValue(node, 'array', value);
202
+ return createLiteralValue(node, AST_PRIMITIVES.NULL, null);
186
203
  }
187
- function transformVariableValue(program, node, context) {
204
+ function transformVariableValue(program, node, inference, context) {
205
+ var _a;
188
206
  let variableValue = getNodeValue(program, node).slice(1, -1);
189
207
  const variableContext = getVariableContext(variableValue, context);
190
208
  const variableType = getVariableType(variableContext);
191
209
  if (variableType === 'Token')
192
210
  variableValue = `{{${variableValue}}}`;
211
+ const variableExistInInference = inference.formulaVariables
212
+ .map((v) => v.id)
213
+ .includes(variableValue);
214
+ if (!variableExistInInference)
215
+ inference.formulaVariables.push(variableContext !== null && variableContext !== void 0 ? variableContext : {
216
+ id: variableValue,
217
+ label: variableValue,
218
+ type: AST_PRIMITIVES.STRING,
219
+ });
193
220
  return {
194
221
  type: variableType,
195
222
  value: variableValue,
196
223
  context: variableContext,
197
224
  from: node.from,
198
225
  to: node.to,
226
+ primitive: (_a = variableContext === null || variableContext === void 0 ? void 0 : variableContext.type) !== null && _a !== void 0 ? _a : AST_PRIMITIVES.UNKNOWN,
199
227
  };
200
228
  }
201
229
  //# sourceMappingURL=json-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-parser.js","sourceRoot":"","sources":["../../../src/parser/json-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-parser.js","sourceRoot":"","sources":["../../../src/parser/json-parser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { UnknownTokenError } from '../errors';
2
2
  import { getNodeValue } from '../utils';
3
- import { AST_TYPES } from '../constants';
3
+ import { AST_PRIMITIVES, AST_TYPES } from '../constants';
4
4
  export function calculateNodeSyntaxErrors(program, node) {
5
5
  const text = getNodeValue(program, node);
6
6
  if (text === '')
@@ -15,6 +15,7 @@ export function calculateNodeSyntaxErrors(program, node) {
15
15
  from: n.from,
16
16
  to: n.to,
17
17
  text: textError,
18
+ primitive: AST_PRIMITIVES.UNKNOWN,
18
19
  }));
19
20
  }
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-errors.js","sourceRoot":"","sources":["../../../src/parser/syntax-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,yBAAyB,CACrC,OAAe,EACf,IAAgB;IAEhB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAe,CAAC,CAAC;YACzD,IAAI,SAAS,KAAK,EAAE,EAAE;gBAClB,SAAS,CAAC,IAAI,CACV,IAAI,iBAAiB,CAAC;oBAClB,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,SAAS;iBAClB,CAAC,CACL,CAAC;aACL;SACJ;IACL,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"syntax-errors.js","sourceRoot":"","sources":["../../../src/parser/syntax-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,yBAAyB,CACrC,OAAe,EACf,IAAgB;IAEhB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAe,CAAC,CAAC;YACzD,IAAI,SAAS,KAAK,EAAE,EAAE;gBAClB,SAAS,CAAC,IAAI,CACV,IAAI,iBAAiB,CAAC;oBAClB,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,cAAc,CAAC,OAAO;iBACpC,CAAC,CACL,CAAC;aACL;SACJ;IACL,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACrB,CAAC"}