@qrvey/formula-lang 0.7.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 (112) hide show
  1. package/CHANGELOG.md +17 -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 +13 -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 +5 -3
  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/parser/json-parser.js +65 -37
  38. package/dist/cjs/parser/json-parser.js.map +1 -1
  39. package/dist/cjs/parser/syntax-errors.js +1 -0
  40. package/dist/cjs/parser/syntax-errors.js.map +1 -1
  41. package/dist/cjs/transpiler/columnTranspilation.js +1 -1
  42. package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
  43. package/dist/cjs/transpiler/index.js +10 -8
  44. package/dist/cjs/transpiler/index.js.map +1 -1
  45. package/dist/cjs/utils/isDateParam.d.ts +2 -1
  46. package/dist/cjs/utils/isDateParam.js +2 -1
  47. package/dist/cjs/utils/isDateParam.js.map +1 -1
  48. package/dist/cjs/utils/isNumberParam.d.ts +2 -1
  49. package/dist/cjs/utils/isNumberParam.js +3 -1
  50. package/dist/cjs/utils/isNumberParam.js.map +1 -1
  51. package/dist/cjs/utils/isStringParam.d.ts +2 -1
  52. package/dist/cjs/utils/isStringParam.js +3 -2
  53. package/dist/cjs/utils/isStringParam.js.map +1 -1
  54. package/dist/cjs/utils/primitiveFunctions.d.ts +5 -0
  55. package/dist/cjs/utils/primitiveFunctions.js +39 -0
  56. package/dist/cjs/utils/primitiveFunctions.js.map +1 -0
  57. package/dist/module/constants/index.d.ts +12 -0
  58. package/dist/module/constants/index.js +13 -0
  59. package/dist/module/constants/index.js.map +1 -1
  60. package/dist/module/constants/interfaces.d.ts +13 -5
  61. package/dist/module/errors/analyzer/elasticsearch.js +6 -1
  62. package/dist/module/errors/analyzer/elasticsearch.js.map +1 -1
  63. package/dist/module/errors/analyzer/index.js +2 -1
  64. package/dist/module/errors/analyzer/index.js.map +1 -1
  65. package/dist/module/functions/abs.js +3 -1
  66. package/dist/module/functions/abs.js.map +1 -1
  67. package/dist/module/functions/datedif.js +5 -3
  68. package/dist/module/functions/datedif.js.map +1 -1
  69. package/dist/module/functions/day.js +3 -1
  70. package/dist/module/functions/day.js.map +1 -1
  71. package/dist/module/functions/hour.js +3 -1
  72. package/dist/module/functions/hour.js.map +1 -1
  73. package/dist/module/functions/if.js +8 -0
  74. package/dist/module/functions/if.js.map +1 -1
  75. package/dist/module/functions/ifs.js +10 -0
  76. package/dist/module/functions/ifs.js.map +1 -1
  77. package/dist/module/functions/mid.js +5 -3
  78. package/dist/module/functions/mid.js.map +1 -1
  79. package/dist/module/functions/minute.js +3 -1
  80. package/dist/module/functions/minute.js.map +1 -1
  81. package/dist/module/functions/month.js +3 -1
  82. package/dist/module/functions/month.js.map +1 -1
  83. package/dist/module/functions/second.js +3 -1
  84. package/dist/module/functions/second.js.map +1 -1
  85. package/dist/module/functions/year.js +3 -1
  86. package/dist/module/functions/year.js.map +1 -1
  87. package/dist/module/grammar/generated/qformula.lang.js +10 -10
  88. package/dist/module/grammar/generated/qformula.lang.js.map +1 -1
  89. package/dist/module/index.d.ts +1 -1
  90. package/dist/module/index.js +1 -1
  91. package/dist/module/index.js.map +1 -1
  92. package/dist/module/parser/json-parser.js +68 -40
  93. package/dist/module/parser/json-parser.js.map +1 -1
  94. package/dist/module/parser/syntax-errors.js +2 -1
  95. package/dist/module/parser/syntax-errors.js.map +1 -1
  96. package/dist/module/transpiler/columnTranspilation.js +2 -2
  97. package/dist/module/transpiler/columnTranspilation.js.map +1 -1
  98. package/dist/module/transpiler/index.js +11 -9
  99. package/dist/module/transpiler/index.js.map +1 -1
  100. package/dist/module/utils/isDateParam.d.ts +2 -1
  101. package/dist/module/utils/isDateParam.js +2 -1
  102. package/dist/module/utils/isDateParam.js.map +1 -1
  103. package/dist/module/utils/isNumberParam.d.ts +2 -1
  104. package/dist/module/utils/isNumberParam.js +3 -1
  105. package/dist/module/utils/isNumberParam.js.map +1 -1
  106. package/dist/module/utils/isStringParam.d.ts +2 -1
  107. package/dist/module/utils/isStringParam.js +3 -2
  108. package/dist/module/utils/isStringParam.js.map +1 -1
  109. package/dist/module/utils/primitiveFunctions.d.ts +5 -0
  110. package/dist/module/utils/primitiveFunctions.js +33 -0
  111. package/dist/module/utils/primitiveFunctions.js.map +1 -0
  112. package/package.json +1 -1
@@ -0,0 +1,33 @@
1
+ import { AST_PRIMITIVES } from '../constants';
2
+ export function primitiveIsIncluded(primitive, ...allowedPrimitives) {
3
+ const primitives = Array.isArray(primitive) ? primitive : [primitive];
4
+ return primitives.some((pr) => allowedPrimitives.includes(pr));
5
+ }
6
+ export function getFunctionPrimitive(definition, args) {
7
+ if (typeof definition.primitiveResult !== 'function')
8
+ return definition.primitiveResult;
9
+ return definition.primitiveResult.apply(definition, [args]);
10
+ }
11
+ function flatPrimitives(...primitives) {
12
+ const resultPrimitives = [];
13
+ if (!primitives)
14
+ return resultPrimitives;
15
+ primitives.forEach((pr) => {
16
+ const pushElements = Array.isArray(pr) ? pr : [pr];
17
+ pushElements.forEach((pe) => {
18
+ const existInResult = resultPrimitives.includes(pe);
19
+ if (!existInResult)
20
+ resultPrimitives.push(pe);
21
+ });
22
+ });
23
+ return resultPrimitives;
24
+ }
25
+ export function inferPrimitive(...primitives) {
26
+ const flattedPrimitives = flatPrimitives(...primitives);
27
+ if (flattedPrimitives.length === 0)
28
+ return AST_PRIMITIVES.UNKNOWN;
29
+ return flattedPrimitives.length === 1
30
+ ? flattedPrimitives[0]
31
+ : flattedPrimitives;
32
+ }
33
+ //# sourceMappingURL=primitiveFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitiveFunctions.js","sourceRoot":"","sources":["../../../src/utils/primitiveFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AAGzD,MAAM,UAAU,mBAAmB,CAC/B,SAAoB,EACpB,GAAG,iBAAmC;IAEtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,UAA8B,EAC9B,IAAiB;IAEjB,IAAI,OAAO,UAAU,CAAC,eAAe,KAAK,UAAU;QAChD,OAAO,UAAU,CAAC,eAAe,CAAC;IAEtC,OAAO,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,UAAuB;IAC9C,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,gBAAgB,CAAC;IACzC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACtB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa;gBAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAG,UAAuB;IACrD,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,UAAU,CAAC,CAAC;IACxD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC,OAAO,CAAC;IAClE,OAAO,iBAAiB,CAAC,MAAM,KAAK,CAAC;QACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,iBAAiB,CAAC;AAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/formula-lang",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "QFormula support for qrvey projects",
5
5
  "types": "dist/module/index.d.ts",
6
6
  "main": "dist/module/index.js",