@qrvey/formula-lang 0.11.1 → 0.11.3

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 (104) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/constants/interfaces.d.ts +15 -6
  3. package/dist/cjs/errors/definitions.d.ts +19 -17
  4. package/dist/cjs/errors/definitions.js +31 -26
  5. package/dist/cjs/errors/definitions.js.map +1 -1
  6. package/dist/cjs/errors/dictionary.d.ts +1 -4
  7. package/dist/cjs/errors/dictionary.js +4 -19
  8. package/dist/cjs/errors/dictionary.js.map +1 -1
  9. package/dist/cjs/errors/mismatch.d.ts +12 -11
  10. package/dist/cjs/errors/mismatch.js +33 -15
  11. package/dist/cjs/errors/mismatch.js.map +1 -1
  12. package/dist/cjs/functions/datedif.js +3 -3
  13. package/dist/cjs/functions/datedif.js.map +1 -1
  14. package/dist/cjs/functions/if.js +26 -3
  15. package/dist/cjs/functions/if.js.map +1 -1
  16. package/dist/cjs/functions/ifs.js +35 -9
  17. package/dist/cjs/functions/ifs.js.map +1 -1
  18. package/dist/cjs/functions/isNull.js +56 -4
  19. package/dist/cjs/functions/isNull.js.map +1 -1
  20. package/dist/cjs/functions/mid.js +33 -1
  21. package/dist/cjs/functions/mid.js.map +1 -1
  22. package/dist/cjs/grammar/generated/qformula.lang.js +14 -12
  23. package/dist/cjs/grammar/generated/qformula.lang.js.map +1 -1
  24. package/dist/cjs/grammar/generated/qformula.lang.terms.d.ts +20 -20
  25. package/dist/cjs/grammar/generated/qformula.lang.terms.js +1 -1
  26. package/dist/cjs/grammar/generated/qformula.lang.terms.js.map +1 -1
  27. package/dist/cjs/parser/json-parser.js +7 -5
  28. package/dist/cjs/parser/json-parser.js.map +1 -1
  29. package/dist/cjs/transpiler/validateFuncStructure.d.ts +1 -1
  30. package/dist/cjs/transpiler/validateFuncStructure.js +54 -58
  31. package/dist/cjs/transpiler/validateFuncStructure.js.map +1 -1
  32. package/dist/cjs/utils/isAColumn.d.ts +2 -3
  33. package/dist/cjs/utils/isAColumn.js +2 -6
  34. package/dist/cjs/utils/isAColumn.js.map +1 -1
  35. package/dist/cjs/utils/isALiteral.d.ts +2 -0
  36. package/dist/cjs/utils/isALiteral.js +9 -0
  37. package/dist/cjs/utils/isALiteral.js.map +1 -0
  38. package/dist/cjs/utils/isBooleanExpression.d.ts +1 -1
  39. package/dist/cjs/utils/isBooleanExpression.js +9 -5
  40. package/dist/cjs/utils/isBooleanExpression.js.map +1 -1
  41. package/dist/cjs/utils/isDateParam.js +8 -2
  42. package/dist/cjs/utils/isDateParam.js.map +1 -1
  43. package/dist/cjs/utils/isNumberParam.js +8 -2
  44. package/dist/cjs/utils/isNumberParam.js.map +1 -1
  45. package/dist/cjs/utils/isStringParam.js +8 -2
  46. package/dist/cjs/utils/isStringParam.js.map +1 -1
  47. package/dist/cjs/utils/primitiveFunctions.d.ts +1 -0
  48. package/dist/cjs/utils/primitiveFunctions.js +5 -1
  49. package/dist/cjs/utils/primitiveFunctions.js.map +1 -1
  50. package/dist/module/constants/interfaces.d.ts +15 -6
  51. package/dist/module/errors/definitions.d.ts +19 -17
  52. package/dist/module/errors/definitions.js +27 -22
  53. package/dist/module/errors/definitions.js.map +1 -1
  54. package/dist/module/errors/dictionary.d.ts +1 -4
  55. package/dist/module/errors/dictionary.js +4 -19
  56. package/dist/module/errors/dictionary.js.map +1 -1
  57. package/dist/module/errors/mismatch.d.ts +12 -11
  58. package/dist/module/errors/mismatch.js +35 -17
  59. package/dist/module/errors/mismatch.js.map +1 -1
  60. package/dist/module/functions/datedif.js +3 -3
  61. package/dist/module/functions/datedif.js.map +1 -1
  62. package/dist/module/functions/if.js +27 -4
  63. package/dist/module/functions/if.js.map +1 -1
  64. package/dist/module/functions/ifs.js +36 -10
  65. package/dist/module/functions/ifs.js.map +1 -1
  66. package/dist/module/functions/isNull.js +57 -5
  67. package/dist/module/functions/isNull.js.map +1 -1
  68. package/dist/module/functions/mid.js +34 -2
  69. package/dist/module/functions/mid.js.map +1 -1
  70. package/dist/module/grammar/generated/qformula.lang.js +14 -12
  71. package/dist/module/grammar/generated/qformula.lang.js.map +1 -1
  72. package/dist/module/grammar/generated/qformula.lang.terms.d.ts +20 -20
  73. package/dist/module/grammar/generated/qformula.lang.terms.js +1 -1
  74. package/dist/module/grammar/generated/qformula.lang.terms.js.map +1 -1
  75. package/dist/module/parser/json-parser.js +7 -5
  76. package/dist/module/parser/json-parser.js.map +1 -1
  77. package/dist/module/transpiler/validateFuncStructure.d.ts +1 -1
  78. package/dist/module/transpiler/validateFuncStructure.js +55 -59
  79. package/dist/module/transpiler/validateFuncStructure.js.map +1 -1
  80. package/dist/module/utils/isAColumn.d.ts +2 -3
  81. package/dist/module/utils/isAColumn.js +2 -6
  82. package/dist/module/utils/isAColumn.js.map +1 -1
  83. package/dist/module/utils/isALiteral.d.ts +2 -0
  84. package/dist/module/utils/isALiteral.js +5 -0
  85. package/dist/module/utils/isALiteral.js.map +1 -0
  86. package/dist/module/utils/isBooleanExpression.d.ts +1 -1
  87. package/dist/module/utils/isBooleanExpression.js +9 -5
  88. package/dist/module/utils/isBooleanExpression.js.map +1 -1
  89. package/dist/module/utils/isDateParam.js +8 -2
  90. package/dist/module/utils/isDateParam.js.map +1 -1
  91. package/dist/module/utils/isNumberParam.js +8 -2
  92. package/dist/module/utils/isNumberParam.js.map +1 -1
  93. package/dist/module/utils/isStringParam.js +8 -2
  94. package/dist/module/utils/isStringParam.js.map +1 -1
  95. package/dist/module/utils/primitiveFunctions.d.ts +1 -0
  96. package/dist/module/utils/primitiveFunctions.js +3 -0
  97. package/dist/module/utils/primitiveFunctions.js.map +1 -1
  98. package/package.json +1 -1
  99. package/dist/cjs/utils/isNotAColumn.d.ts +0 -3
  100. package/dist/cjs/utils/isNotAColumn.js +0 -13
  101. package/dist/cjs/utils/isNotAColumn.js.map +0 -1
  102. package/dist/module/utils/isNotAColumn.d.ts +0 -3
  103. package/dist/module/utils/isNotAColumn.js +0 -9
  104. package/dist/module/utils/isNotAColumn.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ <a name="0.11.3"></a>
2
+ ## [0.11.3](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.11.2...v0.11.3) (2023-06-20)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **mid.ts:** validate negatives on mid ([0c24e61](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/0c24e61))
8
+
9
+
10
+
1
11
  <a name="0.11.0"></a>
2
12
  # [0.11.0](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.10.0...v0.11.0) (2023-06-13)
3
13
 
@@ -6,14 +6,13 @@ interface FunctionElementDefinition {
6
6
  export interface FunctionDefinition extends FunctionElementDefinition {
7
7
  recursiveStartIn?: number;
8
8
  transpiler: EnginesFunction;
9
- parameters?: Array<FunctionParameters>;
9
+ parameters?: Array<FunctionParameter>;
10
10
  primitiveResult: Primitive | ((args: CommonAST[]) => Primitive);
11
- maxPrimitiveValues?: number;
12
11
  }
13
12
  export type EnginesFunction = {
14
13
  [key in ENGINES]: Function;
15
14
  };
16
- export interface FunctionParameters extends FunctionElementDefinition {
15
+ export interface FunctionParameter extends FunctionElementDefinition {
17
16
  optional: boolean;
18
17
  generic?: boolean;
19
18
  validator: Array<ValidatorFunctionParameter>;
@@ -24,8 +23,12 @@ export interface ProcessNodeResult {
24
23
  dataType: Primitive;
25
24
  node: CommonAST;
26
25
  }
26
+ export interface ValidatorParameterContext {
27
+ fnNode: FunctionCallAST;
28
+ argument: ProcessNodeResult;
29
+ }
27
30
  interface ValidatorFunctionParameter {
28
- (value: any, dataType: Primitive | undefined, argument: ProcessNodeResult): ValidationParameterResponse;
31
+ (value: any, dataType: Primitive | undefined, context: ValidatorParameterContext): ValidatorResponse;
29
32
  }
30
33
  export interface ValidatorResponse {
31
34
  valid: boolean;
@@ -33,9 +36,15 @@ export interface ValidatorResponse {
33
36
  source?: RESPONSE_LEVEL;
34
37
  message?: string;
35
38
  info?: any;
39
+ mismatchData?: ValidatorExpectedInfo;
40
+ }
41
+ export interface ValidatorParameterResponse extends ValidatorResponse {
42
+ parameter: FunctionParameter;
43
+ argumentIndex: number;
36
44
  }
37
- export interface ValidationParameterResponse extends ValidatorResponse {
38
- customExpectedType?: string;
45
+ export interface ValidatorExpectedInfo {
46
+ primitive: AST_PRIMITIVES;
47
+ type?: AST_TYPES;
39
48
  }
40
49
  export interface TranspilationResponse {
41
50
  valid: boolean;
@@ -1,4 +1,5 @@
1
- import { BinaryExpressionAST, CommonAST, FunctionCallAST, FunctionParameters, UnaryExpressionAST, UnknownAST, ValidatorResponse } from '../constants/interfaces';
1
+ import { ErrorDictionary } from './dictionary';
2
+ import { BinaryExpressionAST, CommonAST, FunctionCallAST, FunctionParameter, UnaryExpressionAST, UnknownAST, ValidatorParameterResponse, ValidatorResponse } from '../constants/interfaces';
2
3
  import { Primitive } from '../constants';
3
4
  export declare class BaseError extends Error {
4
5
  code: string;
@@ -10,15 +11,28 @@ export declare class BaseError extends Error {
10
11
  export declare class GenericError extends BaseError {
11
12
  constructor(message?: string);
12
13
  }
13
- export declare class UnknownFunctionError extends BaseError {
14
+ export declare class FunctionError extends BaseError {
15
+ node: FunctionCallAST;
16
+ constructor(node: FunctionCallAST, errorDict: ErrorDictionary);
17
+ }
18
+ export declare class UnknownFunctionError extends FunctionError {
14
19
  node: FunctionCallAST;
15
20
  constructor(node: FunctionCallAST);
16
21
  }
17
- export declare class MissingArgumentError extends BaseError {
22
+ export declare class ArgumentError extends FunctionError {
23
+ node: FunctionCallAST;
24
+ constructor(node: FunctionCallAST, errorDict: ErrorDictionary);
25
+ }
26
+ export declare class ArgumentValidatorError extends FunctionError {
18
27
  node: FunctionCallAST;
19
- parameter: FunctionParameters;
28
+ readonly validator: ValidatorParameterResponse;
29
+ constructor(node: FunctionCallAST, validator: ValidatorParameterResponse);
30
+ }
31
+ export declare class MissingArgumentError extends ArgumentError {
32
+ node: FunctionCallAST;
33
+ parameter: FunctionParameter;
20
34
  readonly argumentIndex: number;
21
- constructor(node: FunctionCallAST, parameter: FunctionParameters, argumentIndex: number);
35
+ constructor(node: FunctionCallAST, parameter: FunctionParameter, argumentIndex: number);
22
36
  toString(): string;
23
37
  }
24
38
  export declare class MissingParenthesisError extends BaseError {
@@ -29,10 +43,6 @@ export declare class UnknownTokenError extends BaseError {
29
43
  node: UnknownAST;
30
44
  constructor(node: UnknownAST);
31
45
  }
32
- export declare class NotAllowedExpressionError extends BaseError {
33
- node: CommonAST;
34
- constructor(node: CommonAST);
35
- }
36
46
  export declare class NotAllowedOperationError extends BaseError {
37
47
  node: UnaryExpressionAST | BinaryExpressionAST;
38
48
  constructor(node: UnaryExpressionAST | BinaryExpressionAST);
@@ -49,15 +59,7 @@ export declare class InvalidArgumentError extends BaseError {
49
59
  readonly argumentIndex: number;
50
60
  constructor(node: FunctionCallAST, validatorResponse: ValidatorResponse, argumentIndex: number);
51
61
  }
52
- export declare class UnknownExpressionError extends BaseError {
53
- expression: CommonAST;
54
- constructor(expression: CommonAST);
55
- }
56
62
  export declare class InferredPrimitiveError extends BaseError {
57
63
  expression: CommonAST;
58
64
  constructor(expression: CommonAST);
59
65
  }
60
- export declare class ArgumentsDataTypeError extends BaseError {
61
- expression: CommonAST;
62
- constructor(expression: CommonAST);
63
- }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArgumentsDataTypeError = exports.InferredPrimitiveError = exports.UnknownExpressionError = exports.InvalidArgumentError = exports.TooManyArgumentsError = exports.NotAllowedOperationError = exports.NotAllowedExpressionError = exports.UnknownTokenError = exports.MissingParenthesisError = exports.MissingArgumentError = exports.UnknownFunctionError = exports.GenericError = exports.BaseError = void 0;
3
+ exports.InferredPrimitiveError = exports.InvalidArgumentError = exports.TooManyArgumentsError = exports.NotAllowedOperationError = exports.UnknownTokenError = exports.MissingParenthesisError = exports.MissingArgumentError = exports.ArgumentValidatorError = exports.ArgumentError = exports.UnknownFunctionError = exports.FunctionError = exports.GenericError = exports.BaseError = void 0;
4
4
  const dictionary_1 = require("./dictionary");
5
5
  class BaseError extends Error {
6
6
  constructor(code, message, node) {
@@ -32,16 +32,42 @@ class GenericError extends BaseError {
32
32
  }
33
33
  }
34
34
  exports.GenericError = GenericError;
35
- class UnknownFunctionError extends BaseError {
35
+ class FunctionError extends BaseError {
36
+ constructor(node, errorDict) {
37
+ super(errorDict.code, errorDict.message, node);
38
+ this.node = node;
39
+ }
40
+ }
41
+ exports.FunctionError = FunctionError;
42
+ class UnknownFunctionError extends FunctionError {
36
43
  constructor(node) {
37
- super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.unknownFunction].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.unknownFunction].message, node);
44
+ super(node, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.unknownFunction]);
38
45
  this.node = node;
39
46
  }
40
47
  }
41
48
  exports.UnknownFunctionError = UnknownFunctionError;
42
- class MissingArgumentError extends BaseError {
49
+ class ArgumentError extends FunctionError {
50
+ constructor(node, errorDict) {
51
+ super(node, errorDict);
52
+ this.node = node;
53
+ }
54
+ }
55
+ exports.ArgumentError = ArgumentError;
56
+ class ArgumentValidatorError extends FunctionError {
57
+ constructor(node, validator) {
58
+ var _a, _b;
59
+ super(node, {
60
+ message: (_a = validator.message) !== null && _a !== void 0 ? _a : '',
61
+ code: (_b = validator.code) !== null && _b !== void 0 ? _b : dictionary_1.ERROR_LIST.unknown,
62
+ });
63
+ this.node = node;
64
+ this.validator = validator;
65
+ }
66
+ }
67
+ exports.ArgumentValidatorError = ArgumentValidatorError;
68
+ class MissingArgumentError extends ArgumentError {
43
69
  constructor(node, parameter, argumentIndex) {
44
- super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.missingArg].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.missingArg].message, node);
70
+ super(node, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.missingArg]);
45
71
  this.node = node;
46
72
  this.parameter = parameter;
47
73
  this.argumentIndex = argumentIndex;
@@ -65,13 +91,6 @@ class UnknownTokenError extends BaseError {
65
91
  }
66
92
  }
67
93
  exports.UnknownTokenError = UnknownTokenError;
68
- class NotAllowedExpressionError extends BaseError {
69
- constructor(node) {
70
- super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.notAllowedExpression].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.notAllowedExpression].message, node);
71
- this.node = node;
72
- }
73
- }
74
- exports.NotAllowedExpressionError = NotAllowedExpressionError;
75
94
  class NotAllowedOperationError extends BaseError {
76
95
  constructor(node) {
77
96
  super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.notAllowedOperation].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.notAllowedOperation].message, node);
@@ -103,13 +122,6 @@ class InvalidArgumentError extends BaseError {
103
122
  }
104
123
  }
105
124
  exports.InvalidArgumentError = InvalidArgumentError;
106
- class UnknownExpressionError extends BaseError {
107
- constructor(expression) {
108
- super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.unknownExpression].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.unknownExpression].message, expression);
109
- this.expression = expression;
110
- }
111
- }
112
- exports.UnknownExpressionError = UnknownExpressionError;
113
125
  class InferredPrimitiveError extends BaseError {
114
126
  constructor(expression) {
115
127
  super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.inferredPrimitive].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.inferredPrimitive].message, expression);
@@ -117,11 +129,4 @@ class InferredPrimitiveError extends BaseError {
117
129
  }
118
130
  }
119
131
  exports.InferredPrimitiveError = InferredPrimitiveError;
120
- class ArgumentsDataTypeError extends BaseError {
121
- constructor(expression) {
122
- super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.argumentsDataType].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.argumentsDataType].message, expression);
123
- this.expression = expression;
124
- }
125
- }
126
- exports.ArgumentsDataTypeError = ArgumentsDataTypeError;
127
132
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/errors/definitions.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAY5D,MAAa,SAAU,SAAQ,KAAK;IAChC,YACW,IAAY,EACZ,OAAe,EACf,IAA8C;QAErD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAA0C;QAGrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,QAAQ;;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;SAC1C;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC5B,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE,CAAC;SAC7D;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC5B,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE,CAAC;SAC7D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AArBD,8BAqBC;AAED,MAAa,YAAa,SAAQ,SAAS;IACvC,YAAY,OAAO,GAAG,6BAAgB,CAAC,uBAAU,CAAC,OAAO,CAAC,CAAC,OAAO;QAC9D,KAAK,CAAC,6BAAgB,CAAC,uBAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;CACJ;AAJD,oCAIC;AAED,MAAa,oBAAqB,SAAQ,SAAS;IAC/C,YAAmB,IAAqB;QACpC,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,eAAe,CAAC,CAAC,IAAI,EACjD,6BAAgB,CAAC,uBAAU,CAAC,eAAe,CAAC,CAAC,OAAO,EACpD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAAiB;IAMxC,CAAC;CACJ;AARD,oDAQC;AAED,MAAa,oBAAqB,SAAQ,SAAS;IAC/C,YACW,IAAqB,EACrB,SAA6B,EACpB,aAAqB;QAErC,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,UAAU,CAAC,CAAC,IAAI,EAC5C,6BAAgB,CAAC,uBAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAC/C,IAAI,CACP,CAAC;QARK,SAAI,GAAJ,IAAI,CAAiB;QACrB,cAAS,GAAT,SAAS,CAAoB;QACpB,kBAAa,GAAb,aAAa,CAAQ;IAOzC,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC;CACJ;AAhBD,oDAgBC;AAED,MAAa,uBAAwB,SAAQ,SAAS;IAClD,YAAmB,IAAiC;QAChD,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,kBAAkB,CAAC,CAAC,IAAI,EACpD,6BAAgB,CAAC,uBAAU,CAAC,kBAAkB,CAAC,CAAC,OAAO,EACvD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAA6B;IAMpD,CAAC;CACJ;AARD,0DAQC;AAED,MAAa,iBAAkB,SAAQ,SAAS;IAC5C,YAAmB,IAAgB;QAC/B,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAC9C,6BAAgB,CAAC,uBAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EACjD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAAY;IAMnC,CAAC;CACJ;AARD,8CAQC;AAED,MAAa,yBAA0B,SAAQ,SAAS;IACpD,YAAmB,IAAe;QAC9B,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,oBAAoB,CAAC,CAAC,IAAI,EACtD,6BAAgB,CAAC,uBAAU,CAAC,oBAAoB,CAAC,CAAC,OAAO,EACzD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAAW;IAMlC,CAAC;CACJ;AARD,8DAQC;AAED,MAAa,wBAAyB,SAAQ,SAAS;IACnD,YAAmB,IAA8C;QAC7D,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,mBAAmB,CAAC,CAAC,IAAI,EACrD,6BAAgB,CAAC,uBAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,EACxD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAA0C;IAMjE,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAC,IAAI,CAAC,IAA4B,CAAC,IAAI,0CAAE,SAAS,CAAC;IAC9D,CAAC;IAED,IAAI,cAAc;;QACd,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAC;IACtC,CAAC;CACJ;AAhBD,4DAgBC;AAED,MAAa,qBAAsB,SAAQ,SAAS;IAChD,YAAmB,IAAqB;QACpC,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAClD,6BAAgB,CAAC,uBAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,EACrD,IAAI,CACP,CAAC;QALa,SAAI,GAAJ,IAAI,CAAiB;IAMxC,CAAC;CACJ;AARD,sDAQC;AAED,MAAa,oBAAqB,SAAQ,SAAS;IAC/C,YACW,IAAqB,EACrB,iBAAoC,EAC3B,aAAqB;QAErC,KAAK,CACD,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,KAAI,EAAE,EAC7B,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,KAAI,EAAE,EAChC,IAAI,CACP,CAAC;QARK,SAAI,GAAJ,IAAI,CAAiB;QACrB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC3B,kBAAa,GAAb,aAAa,CAAQ;IAOzC,CAAC;CACJ;AAZD,oDAYC;AAED,MAAa,sBAAuB,SAAQ,SAAS;IACjD,YAAmB,UAAqB;QACpC,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,EACnD,6BAAgB,CAAC,uBAAU,CAAC,iBAAiB,CAAC,CAAC,OAAO,EACtD,UAAU,CACb,CAAC;QALa,eAAU,GAAV,UAAU,CAAW;IAMxC,CAAC;CACJ;AARD,wDAQC;AAED,MAAa,sBAAuB,SAAQ,SAAS;IACjD,YAAmB,UAAqB;QACpC,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,EACnD,6BAAgB,CAAC,uBAAU,CAAC,iBAAiB,CAAC,CAAC,OAAO,EACtD,UAAU,CACb,CAAC;QALa,eAAU,GAAV,UAAU,CAAW;IAMxC,CAAC;CACJ;AARD,wDAQC;AAED,MAAa,sBAAuB,SAAQ,SAAS;IACjD,YAAmB,UAAqB;QACpC,KAAK,CACD,6BAAgB,CAAC,uBAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,EACnD,6BAAgB,CAAC,uBAAU,CAAC,iBAAiB,CAAC,CAAC,OAAO,EACtD,UAAU,CACb,CAAC;QALa,eAAU,GAAV,UAAU,CAAW;IAMxC,CAAC;CACJ;AARD,wDAQC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/errors/definitions.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,14 @@ export declare enum ERROR_LIST {
5
5
  missingString = "missingString",
6
6
  missingNumber = "missingNumber",
7
7
  missingDate = "missingDate",
8
- greaterThanZero = "greaterThanZero",
8
+ greaterThan = "greaterThan",
9
9
  missingArg = "missingArg",
10
10
  missingParenthesis = "missingParenthesis",
11
11
  unknownFunction = "unknownFunction",
12
12
  unknown = "unknown",
13
13
  customDateDifParams = "customDateDifParams",
14
14
  tooManyArguments = "tooManyArguments",
15
- unknownExpression = "unknownExpression",
16
15
  unknownToken = "unknownToken",
17
- notAllowedExpression = "notAllowedExpression",
18
16
  notAllowedOperation = "notAllowedOperation",
19
17
  outOfRange = "outOfRange",
20
18
  invalidCastNumber = "invalidCastNumber",
@@ -22,7 +20,6 @@ export declare enum ERROR_LIST {
22
20
  booleanExpression = "booleanExpression",
23
21
  missingColumnExpression = "missingColumnExpression",
24
22
  noColumnExpression = "noColumnExpression",
25
- argumentsDataType = "argumentsDataType",
26
23
  functionArgumentsMismatch = "functionArgumentsMismatch"
27
24
  }
28
25
  type ErrorsType = {
@@ -9,16 +9,14 @@ var ERROR_LIST;
9
9
  ERROR_LIST["missingString"] = "missingString";
10
10
  ERROR_LIST["missingNumber"] = "missingNumber";
11
11
  ERROR_LIST["missingDate"] = "missingDate";
12
- ERROR_LIST["greaterThanZero"] = "greaterThanZero";
12
+ ERROR_LIST["greaterThan"] = "greaterThan";
13
13
  ERROR_LIST["missingArg"] = "missingArg";
14
14
  ERROR_LIST["missingParenthesis"] = "missingParenthesis";
15
15
  ERROR_LIST["unknownFunction"] = "unknownFunction";
16
16
  ERROR_LIST["unknown"] = "unknown";
17
17
  ERROR_LIST["customDateDifParams"] = "customDateDifParams";
18
18
  ERROR_LIST["tooManyArguments"] = "tooManyArguments";
19
- ERROR_LIST["unknownExpression"] = "unknownExpression";
20
19
  ERROR_LIST["unknownToken"] = "unknownToken";
21
- ERROR_LIST["notAllowedExpression"] = "notAllowedExpression";
22
20
  ERROR_LIST["notAllowedOperation"] = "notAllowedOperation";
23
21
  ERROR_LIST["outOfRange"] = "outOfRange";
24
22
  ERROR_LIST["invalidCastNumber"] = "invalidCastNumber";
@@ -26,7 +24,6 @@ var ERROR_LIST;
26
24
  ERROR_LIST["booleanExpression"] = "booleanExpression";
27
25
  ERROR_LIST["missingColumnExpression"] = "missingColumnExpression";
28
26
  ERROR_LIST["noColumnExpression"] = "noColumnExpression";
29
- ERROR_LIST["argumentsDataType"] = "argumentsDataType";
30
27
  ERROR_LIST["functionArgumentsMismatch"] = "functionArgumentsMismatch";
31
28
  })(ERROR_LIST = exports.ERROR_LIST || (exports.ERROR_LIST = {}));
32
29
  exports.ERROR_DICTIONARY = {
@@ -54,9 +51,9 @@ exports.ERROR_DICTIONARY = {
54
51
  message: 'Element has to be a Date',
55
52
  code: 'MISSING_DATE',
56
53
  },
57
- [ERROR_LIST.greaterThanZero]: {
58
- message: 'Element has to be greater than 0',
59
- code: 'GREATER_THAN_ZERO',
54
+ [ERROR_LIST.greaterThan]: {
55
+ message: 'Element has to be greater than',
56
+ code: 'GREATER_THAN',
60
57
  },
61
58
  [ERROR_LIST.missingArg]: {
62
59
  message: 'Missing arguments',
@@ -86,14 +83,6 @@ exports.ERROR_DICTIONARY = {
86
83
  message: 'Unit param have to be equal to: "Y", "M", "D"',
87
84
  code: 'DATE_DIF_UNIT_PARAM',
88
85
  },
89
- [ERROR_LIST.unknownExpression]: {
90
- message: 'Unknown expression',
91
- code: 'UNKNOWN_EXPRESSION',
92
- },
93
- [ERROR_LIST.notAllowedExpression]: {
94
- message: 'Expression not allowed',
95
- code: 'NOT_ALLOWED_EXPRESSION',
96
- },
97
86
  [ERROR_LIST.notAllowedOperation]: {
98
87
  message: 'Operation not allowed',
99
88
  code: 'NOT_ALLOWED_OPERATION',
@@ -122,10 +111,6 @@ exports.ERROR_DICTIONARY = {
122
111
  message: 'Argument cannot be a column.',
123
112
  code: 'NO_COLUMN_EXPRESSION',
124
113
  },
125
- [ERROR_LIST.argumentsDataType]: {
126
- message: 'Arguments should have the same data type.',
127
- code: 'ARGUMENTS_DATATYPE_ERROR',
128
- },
129
114
  [ERROR_LIST.functionArgumentsMismatch]: {
130
115
  message: 'Function arguments mismatch.',
131
116
  code: 'FUNCTION_ARGUMENTS_MISMATCH',
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,34 @@
1
- import { AST_PRIMITIVES, AST_TYPES, Primitive } from '../constants';
2
- import { CommonAST, FunctionDefinition, FunctionParameters, ProcessNodeResult, ValidatorResponse } from '../constants/interfaces';
3
- import { BaseError } from './definitions';
1
+ import { AST_PRIMITIVES, AST_TYPES } from '../constants';
2
+ import { FunctionCallAST, FunctionDefinition, FunctionParameter, ProcessNodeResult, ValidatorParameterResponse, ValidatorResponse } from '../constants/interfaces';
3
+ import { FunctionError } from './definitions';
4
4
  interface MissmatchDetail {
5
- primitive: Primitive | AST_TYPES | string;
5
+ primitive: AST_PRIMITIVES;
6
+ type?: AST_TYPES;
6
7
  from?: number;
7
8
  to?: number;
8
9
  optional?: boolean;
9
10
  }
10
11
  interface MissmatchExpected extends MissmatchDetail {
11
- custom?: boolean;
12
12
  generic?: boolean;
13
13
  }
14
14
  interface Mismatch {
15
- node: CommonAST | undefined;
15
+ node: FunctionCallAST;
16
16
  validator: ValidatorResponse;
17
- parameter?: FunctionParameters;
17
+ parameter?: FunctionParameter;
18
18
  expected: Array<MissmatchExpected>;
19
19
  received: Array<MissmatchDetail>;
20
20
  }
21
- export declare class FunctionArgumentsMismatch extends BaseError implements Mismatch {
21
+ export declare class FunctionArgumentsMismatch extends FunctionError implements Mismatch {
22
22
  constructor(mismatch: Mismatch);
23
23
  validator: ValidatorResponse;
24
- parameter: FunctionParameters | undefined;
24
+ parameter: FunctionParameter | undefined;
25
25
  expected: Array<MissmatchExpected>;
26
26
  received: Array<MissmatchDetail>;
27
- node: CommonAST | undefined;
27
+ node: FunctionCallAST;
28
28
  }
29
- export declare function validateParameters(definition: FunctionDefinition, args: Array<ProcessNodeResult>, genericType?: AST_PRIMITIVES | AST_TYPES | string): {
29
+ export declare function validateParameters(definition: FunctionDefinition, args: Array<ProcessNodeResult>, validators?: ValidatorParameterResponse[]): {
30
30
  expected: Array<MissmatchExpected>;
31
31
  received: Array<MissmatchDetail>;
32
+ validator?: ValidatorParameterResponse;
32
33
  };
33
34
  export {};
@@ -2,47 +2,67 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateParameters = exports.FunctionArgumentsMismatch = void 0;
4
4
  const constants_1 = require("../constants");
5
+ const primitiveFunctions_1 = require("../utils/primitiveFunctions");
5
6
  const definitions_1 = require("./definitions");
6
7
  const dictionary_1 = require("./dictionary");
7
- class FunctionArgumentsMismatch extends definitions_1.BaseError {
8
+ class FunctionArgumentsMismatch extends definitions_1.FunctionError {
8
9
  constructor(mismatch) {
9
- super(dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.functionArgumentsMismatch].code, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.functionArgumentsMismatch].message, mismatch.node);
10
+ super(mismatch.node, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.functionArgumentsMismatch]);
10
11
  Object.assign(this, mismatch); // Expose mismatch params to `this` class
11
12
  }
12
13
  }
13
14
  exports.FunctionArgumentsMismatch = FunctionArgumentsMismatch;
14
- function validateParameters(definition, args, genericType) {
15
+ function validateParameters(definition, args, validators = []) {
15
16
  const received = args.map((arg) => {
16
17
  const { from, to, primitive } = arg.node;
17
- return { from, to, primitive };
18
+ const singlePrimitive = (0, primitiveFunctions_1.isSinglePrimitive)(primitive)
19
+ ? primitive
20
+ : constants_1.AST_PRIMITIVES.UNKNOWN;
21
+ return { from, to, primitive: singlePrimitive };
18
22
  });
19
23
  const parameters = definition.parameters || [];
20
24
  const expected = [];
21
25
  let parameterCount = 0;
26
+ let argumentIndex = 0;
27
+ let recursiveOptionals = false;
22
28
  while (parameterCount < parameters.length) {
23
29
  const param = parameters[parameterCount];
24
- const expectedPrimitive = transformParamInMissmatchExpected(param, genericType);
30
+ const paramValidators = validators.filter((fv) => fv.argumentIndex === argumentIndex);
31
+ const expectedPrimitive = transformParamInMissmatchExpected(param, paramValidators, recursiveOptionals);
25
32
  expected.push(expectedPrimitive);
26
33
  parameterCount++;
34
+ argumentIndex++;
27
35
  const parameterListCompleted = parameterCount === parameters.length;
28
36
  const hasMoreArguments = expected.length < received.length;
29
37
  const isRecursive = typeof (definition === null || definition === void 0 ? void 0 : definition.recursiveStartIn) === 'number';
30
38
  if (parameterListCompleted && isRecursive && hasMoreArguments) {
31
39
  parameterCount = definition.recursiveStartIn;
40
+ recursiveOptionals = true;
32
41
  }
33
42
  }
34
- return { expected, received };
43
+ const validator = validators.find((val) => !val.valid);
44
+ return { expected, received, validator };
35
45
  }
36
46
  exports.validateParameters = validateParameters;
37
- function transformParamInMissmatchExpected(param, genericType) {
38
- const result = { optional: param.optional };
39
- let primitive = getExpectedPrimitiveFromParam(param);
40
- if (primitive === constants_1.AST_PRIMITIVES.UNKNOWN && genericType) {
41
- primitive = genericType;
47
+ function transformParamInMissmatchExpected(param, paramValidators, forcedOptional) {
48
+ const result = {
49
+ optional: forcedOptional === true ? forcedOptional : param.optional,
50
+ };
51
+ const expectedInfo = getExpectedInfoFromParam(param, paramValidators);
52
+ return Object.assign(Object.assign(Object.assign({}, result), expectedInfo), (param.generic && { generic: param.generic }));
53
+ }
54
+ function getExpectedInfoFromParam(param, paramValidators) {
55
+ const failedValidator = paramValidators.find((val) => !val.valid && !!val.mismatchData);
56
+ if (failedValidator) {
57
+ return failedValidator.mismatchData;
42
58
  }
43
- return Object.assign(Object.assign(Object.assign({}, result), { primitive }), (param.generic && { generic: param.generic }));
59
+ const firstExpected = paramValidators.find((val) => !!val.mismatchData);
60
+ if (firstExpected)
61
+ return firstExpected.mismatchData;
62
+ const primitive = getParamTypeFromMap(param);
63
+ return { primitive };
44
64
  }
45
- function getExpectedPrimitiveFromParam(param) {
65
+ function getParamTypeFromMap(param) {
46
66
  if (param.validator.length === 0) {
47
67
  return constants_1.AST_PRIMITIVES.UNKNOWN;
48
68
  }
@@ -61,7 +81,5 @@ const FUNCTION_PRIMITIVE_MAPPER = {
61
81
  isNumberParam: constants_1.AST_PRIMITIVES.NUMBER,
62
82
  isDateParam: constants_1.AST_PRIMITIVES.DATE,
63
83
  isBooleanExpression: constants_1.AST_PRIMITIVES.BOOLEAN,
64
- isAColumn: constants_1.AST_TYPES.column,
65
- customValidatorYMD: constants_1.AST_PRIMITIVES.STRING,
66
84
  };
67
85
  //# sourceMappingURL=mismatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mismatch.js","sourceRoot":"","sources":["../../../src/errors/mismatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mismatch.js","sourceRoot":"","sources":["../../../src/errors/mismatch.ts"],"names":[],"mappings":"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"}
@@ -41,9 +41,9 @@ function customValidatorYMD(param) {
41
41
  param = (0, utils_1.removeQuotes)(param);
42
42
  const valid = YMD_UNIT_LIST.includes(param);
43
43
  if (!valid) {
44
- const customExpectedType = YMD_UNIT_LIST.join('|');
45
- return Object.assign({ valid,
46
- customExpectedType }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.customDateDifParams]);
44
+ return Object.assign(Object.assign({ valid }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.customDateDifParams]), { info: {
45
+ allowedValues: YMD_UNIT_LIST,
46
+ } });
47
47
  }
48
48
  return { valid };
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datedif.js","sourceRoot":"","sources":["../../../src/functions/datedif.ts"],"names":[],"mappings":";;;AAKA,4CAA8C;AAC9C,qDAAoE;AACpE,4DAAsE;AACtE,kDAA8E;AAC9E,oCAAoE;AAEpE;;GAEG;AACU,QAAA,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,mBAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,mBAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAa,EAAE,kBAAkB,CAAC;SACjD;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtC,SAAS,kBAAkB,CAAC,KAAU;IAClC,KAAK,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,uBACI,KAAK;YACL,kBAAkB,IACf,6BAAgB,CAAC,uBAAU,CAAC,mBAAmB,CAAC,EACrD;KACL;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAClB,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,IAAA,iBAAS,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAC3D,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,IAAA,iBAAU,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACjE,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAChE,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"datedif.js","sourceRoot":"","sources":["../../../src/functions/datedif.ts"],"names":[],"mappings":";;;AAKA,4CAA8C;AAC9C,qDAAoE;AACpE,4DAAsE;AACtE,kDAA8E;AAC9E,oCAAoE;AAEpE;;GAEG;AACU,QAAA,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,mBAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,mBAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,qBAAa,EAAE,kBAAkB,CAAC;SACjD;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtC,SAAS,kBAAkB,CAAC,KAAU;IAClC,KAAK,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE;QACR,qCACI,KAAK,IACF,6BAAgB,CAAC,uBAAU,CAAC,mBAAmB,CAAC,KACnD,IAAI,EAAE;gBACF,aAAa,EAAE,aAAa;aAC/B,IACH;KACL;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAClB,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,IAAA,iBAAS,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAC3D,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,IAAA,iBAAU,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IACjE,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAChE,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IF = void 0;
4
4
  const constants_1 = require("../constants");
5
+ const dictionary_1 = require("../errors/dictionary");
5
6
  const isBooleanExpression_1 = require("../utils/isBooleanExpression");
6
7
  const primitiveFunctions_1 = require("../utils/primitiveFunctions");
7
8
  /**
@@ -19,13 +20,13 @@ exports.IF = {
19
20
  identifier: 'VALUE_IF_TRUE',
20
21
  optional: false,
21
22
  generic: true,
22
- validator: [],
23
+ validator: [samePrimitiveType],
23
24
  },
24
25
  {
25
26
  identifier: 'VALUE_IF_FALSE',
26
27
  optional: false,
27
28
  generic: true,
28
- validator: [],
29
+ validator: [samePrimitiveType],
29
30
  },
30
31
  ],
31
32
  transpiler: {
@@ -34,7 +35,6 @@ exports.IF = {
34
35
  redshift,
35
36
  postgresql,
36
37
  },
37
- maxPrimitiveValues: 1,
38
38
  primitiveResult(args) {
39
39
  var _a, _b, _c, _d;
40
40
  const truePrimitive = (_b = (_a = args === null || args === void 0 ? void 0 : args[1]) === null || _a === void 0 ? void 0 : _a.primitive) !== null && _b !== void 0 ? _b : constants_1.AST_PRIMITIVES.UNKNOWN;
@@ -44,6 +44,29 @@ exports.IF = {
44
44
  return (0, primitiveFunctions_1.inferPrimitive)(truePrimitive, falsePrimitive);
45
45
  },
46
46
  };
47
+ function samePrimitiveType(_param, _dataType, context) {
48
+ var _a, _b, _c, _d;
49
+ const fPrimitive = (_b = (_a = context.fnNode.arguments) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.primitive;
50
+ const firstPrimitive = fPrimitive && (0, primitiveFunctions_1.isSinglePrimitive)(fPrimitive)
51
+ ? fPrimitive
52
+ : constants_1.AST_PRIMITIVES.UNKNOWN;
53
+ const sPrimitive = (_d = (_c = context.fnNode.arguments) === null || _c === void 0 ? void 0 : _c[2]) === null || _d === void 0 ? void 0 : _d.primitive;
54
+ const secondPrimitive = sPrimitive && (0, primitiveFunctions_1.isSinglePrimitive)(sPrimitive)
55
+ ? sPrimitive
56
+ : constants_1.AST_PRIMITIVES.UNKNOWN;
57
+ const ifPrimitive = calculateIfPrimitive(firstPrimitive, secondPrimitive);
58
+ const valid = firstPrimitive === secondPrimitive;
59
+ if (!valid)
60
+ return Object.assign(Object.assign({ valid }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.inferredPrimitive]), { mismatchData: {
61
+ primitive: ifPrimitive,
62
+ } });
63
+ return { valid };
64
+ }
65
+ function calculateIfPrimitive(firstPrimitive, secondPrimitive) {
66
+ if (firstPrimitive !== constants_1.AST_PRIMITIVES.UNKNOWN)
67
+ return firstPrimitive;
68
+ return secondPrimitive;
69
+ }
47
70
  function elasticsearch(logicalExpression, valueIfTrue, valueIfFalse) {
48
71
  return `(${logicalExpression} ? ${valueIfTrue} : ${valueIfFalse})`;
49
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"if.js","sourceRoot":"","sources":["../../../src/functions/if.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAE9C,sEAAmE;AACnE,oEAA6D;AAC7D;;GAEG;AACU,QAAA,EAAE,GAAuB;IAClC,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,yCAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,eAAe;YAC3B,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAAE;SAChB;QACD;YACI,UAAU,EAAE,gBAAgB;YAC5B,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAAE;SAChB;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,kBAAkB,EAAE,CAAC;IACrB,eAAe,CAAC,IAAiB;;QAC7B,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,0CAAE,SAAS,mCAAI,0BAAc,CAAC,OAAO,CAAC;QACrE,MAAM,cAAc,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,0CAAE,SAAS,mCAAI,IAAI,CAAC;QACpD,IAAI,CAAC,cAAc;YAAE,OAAO,aAAa,CAAC;QAC1C,OAAO,IAAA,mCAAc,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;CACJ,CAAC;AAEF,SAAS,aAAa,CAClB,iBAAyB,EACzB,WAAmB,EACnB,YAAqB;IAErB,OAAO,IAAI,iBAAiB,MAAM,WAAW,MAAM,YAAY,GAAG,CAAC;AACvE,CAAC;AAED,SAAS,SAAS,CACd,iBAAyB,EACzB,WAAmB,EACnB,YAAqB;IAErB,OAAO,OAAO,iBAAiB,KAAK,WAAW,KAAK,YAAY,GAAG,CAAC;AACxE,CAAC;AAED,SAAS,GAAG,CACR,iBAAyB,EACzB,WAAmB,EACnB,YAAqB;IAErB,OAAO;;WAEA,iBAAiB,SAAS,WAAW;WACrC,YAAY;KAClB,CAAC,IAAI,EAAE,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CACb,iBAAyB,EACzB,WAAmB,EACnB,YAAqB;IAErB,OAAO,GAAG,CAAC,iBAAiB,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CACf,iBAAyB,EACzB,WAAmB,EACnB,YAAqB;IAErB,OAAO,GAAG,CAAC,iBAAiB,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"if.js","sourceRoot":"","sources":["../../../src/functions/if.ts"],"names":[],"mappings":"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"}