@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.
- package/CHANGELOG.md +10 -0
- package/dist/cjs/constants/interfaces.d.ts +15 -6
- package/dist/cjs/errors/definitions.d.ts +19 -17
- package/dist/cjs/errors/definitions.js +31 -26
- package/dist/cjs/errors/definitions.js.map +1 -1
- package/dist/cjs/errors/dictionary.d.ts +1 -4
- package/dist/cjs/errors/dictionary.js +4 -19
- package/dist/cjs/errors/dictionary.js.map +1 -1
- package/dist/cjs/errors/mismatch.d.ts +12 -11
- package/dist/cjs/errors/mismatch.js +33 -15
- package/dist/cjs/errors/mismatch.js.map +1 -1
- package/dist/cjs/functions/datedif.js +3 -3
- package/dist/cjs/functions/datedif.js.map +1 -1
- package/dist/cjs/functions/if.js +26 -3
- package/dist/cjs/functions/if.js.map +1 -1
- package/dist/cjs/functions/ifs.js +35 -9
- package/dist/cjs/functions/ifs.js.map +1 -1
- package/dist/cjs/functions/isNull.js +56 -4
- package/dist/cjs/functions/isNull.js.map +1 -1
- package/dist/cjs/functions/mid.js +33 -1
- package/dist/cjs/functions/mid.js.map +1 -1
- package/dist/cjs/grammar/generated/qformula.lang.js +14 -12
- package/dist/cjs/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/cjs/grammar/generated/qformula.lang.terms.d.ts +20 -20
- package/dist/cjs/grammar/generated/qformula.lang.terms.js +1 -1
- package/dist/cjs/grammar/generated/qformula.lang.terms.js.map +1 -1
- package/dist/cjs/parser/json-parser.js +7 -5
- package/dist/cjs/parser/json-parser.js.map +1 -1
- package/dist/cjs/transpiler/validateFuncStructure.d.ts +1 -1
- package/dist/cjs/transpiler/validateFuncStructure.js +54 -58
- package/dist/cjs/transpiler/validateFuncStructure.js.map +1 -1
- package/dist/cjs/utils/isAColumn.d.ts +2 -3
- package/dist/cjs/utils/isAColumn.js +2 -6
- package/dist/cjs/utils/isAColumn.js.map +1 -1
- package/dist/cjs/utils/isALiteral.d.ts +2 -0
- package/dist/cjs/utils/isALiteral.js +9 -0
- package/dist/cjs/utils/isALiteral.js.map +1 -0
- package/dist/cjs/utils/isBooleanExpression.d.ts +1 -1
- package/dist/cjs/utils/isBooleanExpression.js +9 -5
- package/dist/cjs/utils/isBooleanExpression.js.map +1 -1
- package/dist/cjs/utils/isDateParam.js +8 -2
- package/dist/cjs/utils/isDateParam.js.map +1 -1
- package/dist/cjs/utils/isNumberParam.js +8 -2
- package/dist/cjs/utils/isNumberParam.js.map +1 -1
- package/dist/cjs/utils/isStringParam.js +8 -2
- package/dist/cjs/utils/isStringParam.js.map +1 -1
- package/dist/cjs/utils/primitiveFunctions.d.ts +1 -0
- package/dist/cjs/utils/primitiveFunctions.js +5 -1
- package/dist/cjs/utils/primitiveFunctions.js.map +1 -1
- package/dist/module/constants/interfaces.d.ts +15 -6
- package/dist/module/errors/definitions.d.ts +19 -17
- package/dist/module/errors/definitions.js +27 -22
- package/dist/module/errors/definitions.js.map +1 -1
- package/dist/module/errors/dictionary.d.ts +1 -4
- package/dist/module/errors/dictionary.js +4 -19
- package/dist/module/errors/dictionary.js.map +1 -1
- package/dist/module/errors/mismatch.d.ts +12 -11
- package/dist/module/errors/mismatch.js +35 -17
- package/dist/module/errors/mismatch.js.map +1 -1
- package/dist/module/functions/datedif.js +3 -3
- package/dist/module/functions/datedif.js.map +1 -1
- package/dist/module/functions/if.js +27 -4
- package/dist/module/functions/if.js.map +1 -1
- package/dist/module/functions/ifs.js +36 -10
- package/dist/module/functions/ifs.js.map +1 -1
- package/dist/module/functions/isNull.js +57 -5
- package/dist/module/functions/isNull.js.map +1 -1
- package/dist/module/functions/mid.js +34 -2
- package/dist/module/functions/mid.js.map +1 -1
- package/dist/module/grammar/generated/qformula.lang.js +14 -12
- package/dist/module/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/module/grammar/generated/qformula.lang.terms.d.ts +20 -20
- package/dist/module/grammar/generated/qformula.lang.terms.js +1 -1
- package/dist/module/grammar/generated/qformula.lang.terms.js.map +1 -1
- package/dist/module/parser/json-parser.js +7 -5
- package/dist/module/parser/json-parser.js.map +1 -1
- package/dist/module/transpiler/validateFuncStructure.d.ts +1 -1
- package/dist/module/transpiler/validateFuncStructure.js +55 -59
- package/dist/module/transpiler/validateFuncStructure.js.map +1 -1
- package/dist/module/utils/isAColumn.d.ts +2 -3
- package/dist/module/utils/isAColumn.js +2 -6
- package/dist/module/utils/isAColumn.js.map +1 -1
- package/dist/module/utils/isALiteral.d.ts +2 -0
- package/dist/module/utils/isALiteral.js +5 -0
- package/dist/module/utils/isALiteral.js.map +1 -0
- package/dist/module/utils/isBooleanExpression.d.ts +1 -1
- package/dist/module/utils/isBooleanExpression.js +9 -5
- package/dist/module/utils/isBooleanExpression.js.map +1 -1
- package/dist/module/utils/isDateParam.js +8 -2
- package/dist/module/utils/isDateParam.js.map +1 -1
- package/dist/module/utils/isNumberParam.js +8 -2
- package/dist/module/utils/isNumberParam.js.map +1 -1
- package/dist/module/utils/isStringParam.js +8 -2
- package/dist/module/utils/isStringParam.js.map +1 -1
- package/dist/module/utils/primitiveFunctions.d.ts +1 -0
- package/dist/module/utils/primitiveFunctions.js +3 -0
- package/dist/module/utils/primitiveFunctions.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/utils/isNotAColumn.d.ts +0 -3
- package/dist/cjs/utils/isNotAColumn.js +0 -13
- package/dist/cjs/utils/isNotAColumn.js.map +0 -1
- package/dist/module/utils/isNotAColumn.d.ts +0 -3
- package/dist/module/utils/isNotAColumn.js +0 -9
- 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<
|
|
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
|
|
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,
|
|
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
|
|
38
|
-
|
|
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 {
|
|
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
|
|
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
|
|
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
|
-
|
|
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:
|
|
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.
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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,
|
|
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
|
-
|
|
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["
|
|
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.
|
|
58
|
-
message: 'Element has to be greater than
|
|
59
|
-
code: '
|
|
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":";;;AAAA,IAAY,
|
|
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
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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:
|
|
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:
|
|
15
|
+
node: FunctionCallAST;
|
|
16
16
|
validator: ValidatorResponse;
|
|
17
|
-
parameter?:
|
|
17
|
+
parameter?: FunctionParameter;
|
|
18
18
|
expected: Array<MissmatchExpected>;
|
|
19
19
|
received: Array<MissmatchDetail>;
|
|
20
20
|
}
|
|
21
|
-
export declare class FunctionArgumentsMismatch extends
|
|
21
|
+
export declare class FunctionArgumentsMismatch extends FunctionError implements Mismatch {
|
|
22
22
|
constructor(mismatch: Mismatch);
|
|
23
23
|
validator: ValidatorResponse;
|
|
24
|
-
parameter:
|
|
24
|
+
parameter: FunctionParameter | undefined;
|
|
25
25
|
expected: Array<MissmatchExpected>;
|
|
26
26
|
received: Array<MissmatchDetail>;
|
|
27
|
-
node:
|
|
27
|
+
node: FunctionCallAST;
|
|
28
28
|
}
|
|
29
|
-
export declare function validateParameters(definition: FunctionDefinition, args: Array<ProcessNodeResult>,
|
|
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.
|
|
8
|
+
class FunctionArgumentsMismatch extends definitions_1.FunctionError {
|
|
8
9
|
constructor(mismatch) {
|
|
9
|
-
super(
|
|
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,
|
|
15
|
+
function validateParameters(definition, args, validators = []) {
|
|
15
16
|
const received = args.map((arg) => {
|
|
16
17
|
const { from, to, primitive } = arg.node;
|
|
17
|
-
|
|
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
|
|
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
|
-
|
|
43
|
+
const validator = validators.find((val) => !val.valid);
|
|
44
|
+
return { expected, received, validator };
|
|
35
45
|
}
|
|
36
46
|
exports.validateParameters = validateParameters;
|
|
37
|
-
function transformParamInMissmatchExpected(param,
|
|
38
|
-
const result = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
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
|
|
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":";;;AAAA,
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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,
|
|
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"}
|
package/dist/cjs/functions/if.js
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"if.js","sourceRoot":"","sources":["../../../src/functions/if.ts"],"names":[],"mappings":"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"}
|