@qrvey/formula-lang 1.1.0 → 2.0.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.
- package/CHANGELOG.md +89 -0
- package/README.md +32 -0
- package/dist/cjs/constants/index.d.ts +5 -0
- package/dist/cjs/constants/index.js +10 -1
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/interfaces.d.ts +6 -3
- package/dist/cjs/errors/dictionary.d.ts +2 -1
- package/dist/cjs/errors/dictionary.js +9 -4
- package/dist/cjs/errors/dictionary.js.map +1 -1
- package/dist/cjs/errors/mismatch.d.ts +2 -5
- package/dist/cjs/errors/mismatch.js +10 -18
- package/dist/cjs/errors/mismatch.js.map +1 -1
- package/dist/cjs/functions/abs.js +1 -0
- package/dist/cjs/functions/abs.js.map +1 -1
- package/dist/cjs/functions/and.js +3 -0
- package/dist/cjs/functions/and.js.map +1 -1
- package/dist/cjs/functions/concatenate.js +4 -1
- package/dist/cjs/functions/concatenate.js.map +1 -1
- package/dist/cjs/functions/dateadd.js +33 -25
- package/dist/cjs/functions/dateadd.js.map +1 -1
- package/dist/cjs/functions/datedif.js +7 -2
- package/dist/cjs/functions/datedif.js.map +1 -1
- package/dist/cjs/functions/datesubtract.d.ts +5 -0
- package/dist/cjs/functions/datesubtract.js +114 -0
- package/dist/cjs/functions/datesubtract.js.map +1 -0
- package/dist/cjs/functions/day.js +1 -0
- package/dist/cjs/functions/day.js.map +1 -1
- package/dist/cjs/functions/dayofweek.js +2 -0
- package/dist/cjs/functions/dayofweek.js.map +1 -1
- package/dist/cjs/functions/even.d.ts +5 -0
- package/dist/cjs/functions/even.js +46 -0
- package/dist/cjs/functions/even.js.map +1 -0
- package/dist/cjs/functions/exp.d.ts +5 -0
- package/dist/cjs/functions/exp.js +42 -0
- package/dist/cjs/functions/exp.js.map +1 -0
- package/dist/cjs/functions/hour.js +1 -0
- package/dist/cjs/functions/hour.js.map +1 -1
- package/dist/cjs/functions/if.js +1 -0
- package/dist/cjs/functions/if.js.map +1 -1
- package/dist/cjs/functions/ifs.js +1 -0
- package/dist/cjs/functions/ifs.js.map +1 -1
- package/dist/cjs/functions/include.d.ts +5 -0
- package/dist/cjs/functions/include.js +48 -0
- package/dist/cjs/functions/include.js.map +1 -0
- package/dist/cjs/functions/index.js +32 -0
- package/dist/cjs/functions/index.js.map +1 -1
- package/dist/cjs/functions/left.js +12 -4
- package/dist/cjs/functions/left.js.map +1 -1
- package/dist/cjs/functions/length.d.ts +5 -0
- package/dist/cjs/functions/length.js +45 -0
- package/dist/cjs/functions/length.js.map +1 -0
- package/dist/cjs/functions/log.d.ts +5 -0
- package/dist/cjs/functions/log.js +59 -0
- package/dist/cjs/functions/log.js.map +1 -0
- package/dist/cjs/functions/lower.js +1 -0
- package/dist/cjs/functions/lower.js.map +1 -1
- package/dist/cjs/functions/max.d.ts +5 -0
- package/dist/cjs/functions/max.js +60 -0
- package/dist/cjs/functions/max.js.map +1 -0
- package/dist/cjs/functions/mid.js +22 -10
- package/dist/cjs/functions/mid.js.map +1 -1
- package/dist/cjs/functions/min.d.ts +5 -0
- package/dist/cjs/functions/min.js +60 -0
- package/dist/cjs/functions/min.js.map +1 -0
- package/dist/cjs/functions/minute.js +1 -0
- package/dist/cjs/functions/minute.js.map +1 -1
- package/dist/cjs/functions/month.js +1 -0
- package/dist/cjs/functions/month.js.map +1 -1
- package/dist/cjs/functions/odd.d.ts +5 -0
- package/dist/cjs/functions/odd.js +46 -0
- package/dist/cjs/functions/odd.js.map +1 -0
- package/dist/cjs/functions/or.js +3 -0
- package/dist/cjs/functions/or.js.map +1 -1
- package/dist/cjs/functions/power.d.ts +5 -0
- package/dist/cjs/functions/power.js +53 -0
- package/dist/cjs/functions/power.js.map +1 -0
- package/dist/cjs/functions/proper.js +1 -0
- package/dist/cjs/functions/proper.js.map +1 -1
- package/dist/cjs/functions/random.d.ts +5 -0
- package/dist/cjs/functions/random.js +34 -0
- package/dist/cjs/functions/random.js.map +1 -0
- package/dist/cjs/functions/replace.d.ts +5 -0
- package/dist/cjs/functions/replace.js +54 -0
- package/dist/cjs/functions/replace.js.map +1 -0
- package/dist/cjs/functions/right.js +12 -4
- package/dist/cjs/functions/right.js.map +1 -1
- package/dist/cjs/functions/round.d.ts +5 -0
- package/dist/cjs/functions/round.js +59 -0
- package/dist/cjs/functions/round.js.map +1 -0
- package/dist/cjs/functions/rounddown.d.ts +5 -0
- package/dist/cjs/functions/rounddown.js +59 -0
- package/dist/cjs/functions/rounddown.js.map +1 -0
- package/dist/cjs/functions/roundup.d.ts +5 -0
- package/dist/cjs/functions/roundup.js +59 -0
- package/dist/cjs/functions/roundup.js.map +1 -0
- package/dist/cjs/functions/second.js +1 -0
- package/dist/cjs/functions/second.js.map +1 -1
- package/dist/cjs/functions/sqrt.d.ts +5 -0
- package/dist/cjs/functions/sqrt.js +46 -0
- package/dist/cjs/functions/sqrt.js.map +1 -0
- package/dist/cjs/functions/trim.js +1 -0
- package/dist/cjs/functions/trim.js.map +1 -1
- package/dist/cjs/functions/upper.js +1 -0
- package/dist/cjs/functions/upper.js.map +1 -1
- package/dist/cjs/functions/year.js +1 -0
- package/dist/cjs/functions/year.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/parser/json-parser.js +2 -1
- package/dist/cjs/parser/json-parser.js.map +1 -1
- package/dist/cjs/transpiler/columnTranspilation.js +8 -1
- package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
- package/dist/cjs/transpiler/index.js +7 -1
- package/dist/cjs/transpiler/index.js.map +1 -1
- package/dist/cjs/utils/addDecimalPointIfNeeded.d.ts +3 -0
- package/dist/cjs/utils/addDecimalPointIfNeeded.js +19 -0
- package/dist/cjs/utils/addDecimalPointIfNeeded.js.map +1 -0
- package/dist/cjs/utils/cleanInvalidItemsInContext.d.ts +1 -1
- package/dist/cjs/utils/cleanInvalidItemsInContext.js +2 -1
- package/dist/cjs/utils/cleanInvalidItemsInContext.js.map +1 -1
- package/dist/cjs/utils/elasticsearch/index.js +29 -0
- package/dist/cjs/utils/elasticsearch/index.js.map +1 -1
- package/dist/cjs/utils/elasticsearch/scripts.d.ts +15 -1
- package/dist/cjs/utils/elasticsearch/scripts.js +131 -17
- package/dist/cjs/utils/elasticsearch/scripts.js.map +1 -1
- package/dist/cjs/utils/escapeCharacters.js +2 -0
- package/dist/cjs/utils/escapeCharacters.js.map +1 -1
- package/dist/cjs/utils/getNumericValueFromArgument.d.ts +3 -0
- package/dist/cjs/utils/getNumericValueFromArgument.js +32 -0
- package/dist/cjs/utils/getNumericValueFromArgument.js.map +1 -0
- package/dist/cjs/utils/getValidDataTypeParam.d.ts +3 -0
- package/dist/cjs/utils/getValidDataTypeParam.js +10 -0
- package/dist/cjs/utils/getValidDataTypeParam.js.map +1 -0
- package/dist/cjs/utils/greaterThanOrEqualToReference.d.ts +3 -0
- package/dist/cjs/utils/greaterThanOrEqualToReference.js +20 -0
- package/dist/cjs/utils/greaterThanOrEqualToReference.js.map +1 -0
- package/dist/cjs/utils/greaterThanReference.d.ts +3 -0
- package/dist/cjs/utils/greaterThanReference.js +19 -0
- package/dist/cjs/utils/greaterThanReference.js.map +1 -0
- package/dist/cjs/utils/isAValidPower.d.ts +3 -0
- package/dist/cjs/utils/isAValidPower.js +21 -0
- package/dist/cjs/utils/isAValidPower.js.map +1 -0
- package/dist/cjs/utils/isBetweenInclusiveRange.d.ts +3 -0
- package/dist/cjs/utils/isBetweenInclusiveRange.js +21 -0
- package/dist/cjs/utils/isBetweenInclusiveRange.js.map +1 -0
- package/dist/cjs/utils/isInteger.d.ts +3 -0
- package/dist/cjs/utils/isInteger.js +25 -0
- package/dist/cjs/utils/isInteger.js.map +1 -0
- package/dist/cjs/utils/isLongLiteralNumber.js +2 -1
- package/dist/cjs/utils/isLongLiteralNumber.js.map +1 -1
- package/dist/cjs/utils/isSameAndValidRecursiveDataType.d.ts +3 -0
- package/dist/cjs/utils/isSameAndValidRecursiveDataType.js +32 -0
- package/dist/cjs/utils/isSameAndValidRecursiveDataType.js.map +1 -0
- package/dist/cjs/utils/primitiveFunctions.d.ts +3 -0
- package/dist/cjs/utils/primitiveFunctions.js +7 -1
- package/dist/cjs/utils/primitiveFunctions.js.map +1 -1
- package/dist/module/constants/index.d.ts +5 -0
- package/dist/module/constants/index.js +9 -0
- package/dist/module/constants/index.js.map +1 -1
- package/dist/module/constants/interfaces.d.ts +6 -3
- package/dist/module/errors/dictionary.d.ts +2 -1
- package/dist/module/errors/dictionary.js +9 -4
- package/dist/module/errors/dictionary.js.map +1 -1
- package/dist/module/errors/mismatch.d.ts +2 -5
- package/dist/module/errors/mismatch.js +10 -18
- package/dist/module/errors/mismatch.js.map +1 -1
- package/dist/module/functions/abs.js +1 -0
- package/dist/module/functions/abs.js.map +1 -1
- package/dist/module/functions/and.js +3 -0
- package/dist/module/functions/and.js.map +1 -1
- package/dist/module/functions/concatenate.js +4 -1
- package/dist/module/functions/concatenate.js.map +1 -1
- package/dist/module/functions/dateadd.js +33 -25
- package/dist/module/functions/dateadd.js.map +1 -1
- package/dist/module/functions/datedif.js +7 -2
- package/dist/module/functions/datedif.js.map +1 -1
- package/dist/module/functions/datesubtract.d.ts +5 -0
- package/dist/module/functions/datesubtract.js +111 -0
- package/dist/module/functions/datesubtract.js.map +1 -0
- package/dist/module/functions/day.js +1 -0
- package/dist/module/functions/day.js.map +1 -1
- package/dist/module/functions/dayofweek.js +2 -0
- package/dist/module/functions/dayofweek.js.map +1 -1
- package/dist/module/functions/even.d.ts +5 -0
- package/dist/module/functions/even.js +43 -0
- package/dist/module/functions/even.js.map +1 -0
- package/dist/module/functions/exp.d.ts +5 -0
- package/dist/module/functions/exp.js +39 -0
- package/dist/module/functions/exp.js.map +1 -0
- package/dist/module/functions/hour.js +1 -0
- package/dist/module/functions/hour.js.map +1 -1
- package/dist/module/functions/if.js +1 -0
- package/dist/module/functions/if.js.map +1 -1
- package/dist/module/functions/ifs.js +1 -0
- package/dist/module/functions/ifs.js.map +1 -1
- package/dist/module/functions/include.d.ts +5 -0
- package/dist/module/functions/include.js +45 -0
- package/dist/module/functions/include.js.map +1 -0
- package/dist/module/functions/index.js +32 -0
- package/dist/module/functions/index.js.map +1 -1
- package/dist/module/functions/left.js +12 -4
- package/dist/module/functions/left.js.map +1 -1
- package/dist/module/functions/length.d.ts +5 -0
- package/dist/module/functions/length.js +42 -0
- package/dist/module/functions/length.js.map +1 -0
- package/dist/module/functions/log.d.ts +5 -0
- package/dist/module/functions/log.js +56 -0
- package/dist/module/functions/log.js.map +1 -0
- package/dist/module/functions/lower.js +1 -0
- package/dist/module/functions/lower.js.map +1 -1
- package/dist/module/functions/max.d.ts +5 -0
- package/dist/module/functions/max.js +57 -0
- package/dist/module/functions/max.js.map +1 -0
- package/dist/module/functions/mid.js +22 -10
- package/dist/module/functions/mid.js.map +1 -1
- package/dist/module/functions/min.d.ts +5 -0
- package/dist/module/functions/min.js +57 -0
- package/dist/module/functions/min.js.map +1 -0
- package/dist/module/functions/minute.js +1 -0
- package/dist/module/functions/minute.js.map +1 -1
- package/dist/module/functions/month.js +1 -0
- package/dist/module/functions/month.js.map +1 -1
- package/dist/module/functions/odd.d.ts +5 -0
- package/dist/module/functions/odd.js +43 -0
- package/dist/module/functions/odd.js.map +1 -0
- package/dist/module/functions/or.js +3 -0
- package/dist/module/functions/or.js.map +1 -1
- package/dist/module/functions/power.d.ts +5 -0
- package/dist/module/functions/power.js +50 -0
- package/dist/module/functions/power.js.map +1 -0
- package/dist/module/functions/proper.js +1 -0
- package/dist/module/functions/proper.js.map +1 -1
- package/dist/module/functions/random.d.ts +5 -0
- package/dist/module/functions/random.js +31 -0
- package/dist/module/functions/random.js.map +1 -0
- package/dist/module/functions/replace.d.ts +5 -0
- package/dist/module/functions/replace.js +51 -0
- package/dist/module/functions/replace.js.map +1 -0
- package/dist/module/functions/right.js +12 -4
- package/dist/module/functions/right.js.map +1 -1
- package/dist/module/functions/round.d.ts +5 -0
- package/dist/module/functions/round.js +56 -0
- package/dist/module/functions/round.js.map +1 -0
- package/dist/module/functions/rounddown.d.ts +5 -0
- package/dist/module/functions/rounddown.js +56 -0
- package/dist/module/functions/rounddown.js.map +1 -0
- package/dist/module/functions/roundup.d.ts +5 -0
- package/dist/module/functions/roundup.js +56 -0
- package/dist/module/functions/roundup.js.map +1 -0
- package/dist/module/functions/second.js +1 -0
- package/dist/module/functions/second.js.map +1 -1
- package/dist/module/functions/sqrt.d.ts +5 -0
- package/dist/module/functions/sqrt.js +43 -0
- package/dist/module/functions/sqrt.js.map +1 -0
- package/dist/module/functions/trim.js +1 -0
- package/dist/module/functions/trim.js.map +1 -1
- package/dist/module/functions/upper.js +1 -0
- package/dist/module/functions/upper.js.map +1 -1
- package/dist/module/functions/year.js +1 -0
- package/dist/module/functions/year.js.map +1 -1
- package/dist/module/index.d.ts +1 -0
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/parser/json-parser.js +2 -1
- package/dist/module/parser/json-parser.js.map +1 -1
- package/dist/module/transpiler/columnTranspilation.js +8 -1
- package/dist/module/transpiler/columnTranspilation.js.map +1 -1
- package/dist/module/transpiler/index.js +7 -1
- package/dist/module/transpiler/index.js.map +1 -1
- package/dist/module/utils/addDecimalPointIfNeeded.d.ts +3 -0
- package/dist/module/utils/addDecimalPointIfNeeded.js +15 -0
- package/dist/module/utils/addDecimalPointIfNeeded.js.map +1 -0
- package/dist/module/utils/cleanInvalidItemsInContext.d.ts +1 -1
- package/dist/module/utils/cleanInvalidItemsInContext.js +2 -1
- package/dist/module/utils/cleanInvalidItemsInContext.js.map +1 -1
- package/dist/module/utils/elasticsearch/index.js +30 -1
- package/dist/module/utils/elasticsearch/index.js.map +1 -1
- package/dist/module/utils/elasticsearch/scripts.d.ts +15 -1
- package/dist/module/utils/elasticsearch/scripts.js +130 -16
- package/dist/module/utils/elasticsearch/scripts.js.map +1 -1
- package/dist/module/utils/escapeCharacters.js +2 -0
- package/dist/module/utils/escapeCharacters.js.map +1 -1
- package/dist/module/utils/getNumericValueFromArgument.d.ts +3 -0
- package/dist/module/utils/getNumericValueFromArgument.js +27 -0
- package/dist/module/utils/getNumericValueFromArgument.js.map +1 -0
- package/dist/module/utils/getValidDataTypeParam.d.ts +3 -0
- package/dist/module/utils/getValidDataTypeParam.js +6 -0
- package/dist/module/utils/getValidDataTypeParam.js.map +1 -0
- package/dist/module/utils/greaterThanOrEqualToReference.d.ts +3 -0
- package/dist/module/utils/greaterThanOrEqualToReference.js +16 -0
- package/dist/module/utils/greaterThanOrEqualToReference.js.map +1 -0
- package/dist/module/utils/greaterThanReference.d.ts +3 -0
- package/dist/module/utils/greaterThanReference.js +15 -0
- package/dist/module/utils/greaterThanReference.js.map +1 -0
- package/dist/module/utils/isAValidPower.d.ts +3 -0
- package/dist/module/utils/isAValidPower.js +17 -0
- package/dist/module/utils/isAValidPower.js.map +1 -0
- package/dist/module/utils/isBetweenInclusiveRange.d.ts +3 -0
- package/dist/module/utils/isBetweenInclusiveRange.js +17 -0
- package/dist/module/utils/isBetweenInclusiveRange.js.map +1 -0
- package/dist/module/utils/isInteger.d.ts +3 -0
- package/dist/module/utils/isInteger.js +21 -0
- package/dist/module/utils/isInteger.js.map +1 -0
- package/dist/module/utils/isLongLiteralNumber.js +2 -1
- package/dist/module/utils/isLongLiteralNumber.js.map +1 -1
- package/dist/module/utils/isSameAndValidRecursiveDataType.d.ts +3 -0
- package/dist/module/utils/isSameAndValidRecursiveDataType.js +28 -0
- package/dist/module/utils/isSameAndValidRecursiveDataType.js.map +1 -0
- package/dist/module/utils/primitiveFunctions.d.ts +3 -0
- package/dist/module/utils/primitiveFunctions.js +5 -0
- package/dist/module/utils/primitiveFunctions.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/utils/greaterThanZero.d.ts +0 -3
- package/dist/cjs/utils/greaterThanZero.js +0 -38
- package/dist/cjs/utils/greaterThanZero.js.map +0 -1
- package/dist/module/utils/greaterThanZero.d.ts +0 -3
- package/dist/module/utils/greaterThanZero.js +0 -34
- package/dist/module/utils/greaterThanZero.js.map +0 -1
|
@@ -25,22 +25,6 @@ String ${SCRIPT_NAMES.dateFormat}(def date_value, String format) {
|
|
|
25
25
|
return DateTimeFormatter.ofPattern(format).format(date_value)
|
|
26
26
|
}
|
|
27
27
|
`;
|
|
28
|
-
export const subStringScript = `
|
|
29
|
-
String ${SCRIPT_NAMES.subString}(String text, int start, int end) {
|
|
30
|
-
int first = 0;
|
|
31
|
-
if (end < 0 || (start * -1 > text.length())) return "";
|
|
32
|
-
if (start < 0) {
|
|
33
|
-
first = (int) Math.max(text.length() + start, 0);
|
|
34
|
-
} else if (start == 0) {
|
|
35
|
-
first = 0;
|
|
36
|
-
} else {
|
|
37
|
-
first = (int) Math.min(start - 1, text.length())
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
int last = (int) Math.min(first + end, text.length());
|
|
41
|
-
return text.substring(first, last);
|
|
42
|
-
}
|
|
43
|
-
`;
|
|
44
28
|
function dateFormatToInt(value, format) {
|
|
45
29
|
return `Integer.parseInt(${SCRIPT_NAMES.dateFormat}(${value}, '${format}'))`;
|
|
46
30
|
}
|
|
@@ -80,4 +64,134 @@ export const properScript = `String PROPER_STRING(String input) {
|
|
|
80
64
|
}
|
|
81
65
|
return builder.toString();
|
|
82
66
|
}`;
|
|
67
|
+
export const greatestScript = `def GREATEST(def numbers) {
|
|
68
|
+
def max;
|
|
69
|
+
if (numbers[0] instanceof ZonedDateTime) {
|
|
70
|
+
max = numbers[0];
|
|
71
|
+
if (max === null) return null;
|
|
72
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
73
|
+
if (numbers[i] === null) return null;
|
|
74
|
+
def current = numbers[i];
|
|
75
|
+
if (current.isAfter(max)) {
|
|
76
|
+
max = current;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return max;
|
|
80
|
+
} else {
|
|
81
|
+
max = numbers[0];
|
|
82
|
+
if (max === null) return null;
|
|
83
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
84
|
+
if (numbers[i] === null) return null;
|
|
85
|
+
if (numbers[i] > max) {
|
|
86
|
+
max = numbers[i];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return max;
|
|
90
|
+
}
|
|
91
|
+
}`;
|
|
92
|
+
export const leastScript = `def LEAST(def numbers) {
|
|
93
|
+
def min;
|
|
94
|
+
if (numbers[0] instanceof ZonedDateTime) {
|
|
95
|
+
min = numbers[0];
|
|
96
|
+
if (min === null) return null;
|
|
97
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
98
|
+
if (numbers[i] === null) return null;
|
|
99
|
+
def current = numbers[i];
|
|
100
|
+
if (current.isBefore(min)) {
|
|
101
|
+
min = current;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return min;
|
|
105
|
+
} else {
|
|
106
|
+
min = numbers[0];
|
|
107
|
+
if (min === null) return null;
|
|
108
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
109
|
+
if (numbers[i] === null) return null;
|
|
110
|
+
if (numbers[i] < min) {
|
|
111
|
+
min = numbers[i];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return min;
|
|
115
|
+
}
|
|
116
|
+
}`;
|
|
117
|
+
export const lengthScript = `def LENGTH(def str){return str != null ? str.length() : 0}`;
|
|
118
|
+
export const sqrtScript = `def SQRT(def num){return num == null || num < 0 ? null : Math.sqrt(num) }`;
|
|
119
|
+
export const expScript = `def EXP(def num){return num != null ? Math.exp(num) : null}`;
|
|
120
|
+
export const replaceScript = `def REPLACE(def str, def target, def replacement) {
|
|
121
|
+
if (str == null || target == null || replacement == null) return null;
|
|
122
|
+
if (target == '') return str;
|
|
123
|
+
return str.replace(target, replacement);
|
|
124
|
+
}`;
|
|
125
|
+
export const includeScript = `def INCLUDE(def str, def targetSearch) { if (str == null || targetSearch == null) return null; return str.contains(targetSearch);}`;
|
|
126
|
+
export const evenScript = `def EVEN(def value) {
|
|
127
|
+
if (value == null) return null;
|
|
128
|
+
def _value = Math.abs(value);
|
|
129
|
+
def sign = value < 0 ? -1 : 1;
|
|
130
|
+
return ((long) Math.ceil(_value / 2.0) * 2) * sign;
|
|
131
|
+
}`;
|
|
132
|
+
export const logScript = `def LOG(def base, def value) {
|
|
133
|
+
if (base == null || value == null) return null;
|
|
134
|
+
if (base <= 1 || value <= 0) return null;
|
|
135
|
+
return (Math.log(value) / Math.log(base));
|
|
136
|
+
}`;
|
|
137
|
+
export const oddScript = `def ODD(def value) {
|
|
138
|
+
if (value == null) return null;
|
|
139
|
+
def _value = Math.abs(value);
|
|
140
|
+
def sign = value < 0 ? -1 : 1;
|
|
141
|
+
return ((long) Math.ceil((_value + 1)/ 2.0) * 2 - 1) * sign;
|
|
142
|
+
}`;
|
|
143
|
+
export const powerScript = `def POWER(def value, def numberToRaise) {
|
|
144
|
+
if (value == null || numberToRaise == null) return null;
|
|
145
|
+
if (value == 0 && numberToRaise < 0) return null;
|
|
146
|
+
return Math.pow(value, numberToRaise);
|
|
147
|
+
}`;
|
|
148
|
+
export const roundDownScript = `def ROUNDDOWN(def value, def places) {
|
|
149
|
+
if (value == null || places == null) return null;
|
|
150
|
+
if (places > 10) places = 10;
|
|
151
|
+
if (places < 0) places = 0;
|
|
152
|
+
def _value = Math.abs(value);
|
|
153
|
+
def sign = value < 0 ? -1 : 1;
|
|
154
|
+
def scale = Math.pow(10, places);
|
|
155
|
+
return (Math.floor(_value * scale) / scale) * sign;
|
|
156
|
+
}`;
|
|
157
|
+
export const roundScript = `${roundDownScript}
|
|
158
|
+
def ROUND(def value, def places) {
|
|
159
|
+
if (value == null || places == null) return null;
|
|
160
|
+
if (places > 10) places = 10;
|
|
161
|
+
if (places < 0) places = 0;
|
|
162
|
+
def _value = Math.abs(value);
|
|
163
|
+
def sign = value < 0 ? -1 : 1;
|
|
164
|
+
def scale = Math.pow(10, places);
|
|
165
|
+
return (Math.round(_value * scale) / scale) * sign;
|
|
166
|
+
}`;
|
|
167
|
+
export const roundUpScript = `${roundDownScript}
|
|
168
|
+
def ROUNDUP(def value, def places) {
|
|
169
|
+
if (value == null || places == null) return null;
|
|
170
|
+
if (places > 10) places = 10;
|
|
171
|
+
if (places < 0) places = 0;
|
|
172
|
+
def _value = Math.abs(value);
|
|
173
|
+
def sign = value < 0 ? -1 : 1;
|
|
174
|
+
def scale = Math.pow(10, places);
|
|
175
|
+
return (Math.ceil(_value * scale) / scale) * sign;
|
|
176
|
+
}`;
|
|
177
|
+
export const subStringScript = `${roundDownScript}
|
|
178
|
+
String ${SCRIPT_NAMES.subString}(def text, def start, def end) {
|
|
179
|
+
if (text == null || start == null || end == null) return null;
|
|
180
|
+
text = (String) text;
|
|
181
|
+
start = ROUNDDOWN(start, 0);
|
|
182
|
+
end = ROUNDDOWN(end, 0);
|
|
183
|
+
int first = 0;
|
|
184
|
+
if (end < 0 || (start * -1 > text.length())) return "";
|
|
185
|
+
if (start < 0) {
|
|
186
|
+
first = (int) Math.max(text.length() + start, 0);
|
|
187
|
+
} else if (start == 0) {
|
|
188
|
+
first = 0;
|
|
189
|
+
} else {
|
|
190
|
+
first = (int) Math.min(start - 1, text.length())
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
int last = (int) Math.min(first + end, text.length());
|
|
194
|
+
return text.substring(first, last);
|
|
195
|
+
}
|
|
196
|
+
`;
|
|
83
197
|
//# sourceMappingURL=scripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,wBAAwB,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;MACjC,YAAY,CAAC,WAAW;;;;;;;;;;;CAW7B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;SACvB,YAAY,CAAC,UAAU;;;;;;;;CAQ/B,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,wBAAwB,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;MACjC,YAAY,CAAC,WAAW;;;;;;;;;;;CAW7B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;SACvB,YAAY,CAAC,UAAU;;;;;;;;CAQ/B,CAAC;AAEF,SAAS,eAAe,CAAC,KAAU,EAAE,MAAc;IAC/C,OAAO,oBAAoB,YAAY,CAAC,UAAU,IAAI,KAAK,MAAM,MAAM,KAAK,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,OAAO,CAAC,KAAU,EAAE,GAAQ,EAAE,IAAsB;IAChE,MAAM,KAAK,GAAG;QACV,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,MAAM;KACZ,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,cAAc,WAAW,YAAY,KAAK,KAAK,GAAG,GAAG,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,yDAAyD,CAAC;AAExF,MAAM,CAAC,MAAM,YAAY,GAAG,iFAAiF,CAAC;AAE9G,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;IAkBxB,CAAC;AAEL,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwB5B,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwBzB,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,4DAA4D,CAAC;AAEzF,MAAM,CAAC,MAAM,UAAU,GAAG,2EAA2E,CAAC;AAEtG,MAAM,CAAC,MAAM,SAAS,GAAG,6DAA6D,CAAC;AAEvF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;EAI3B,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,oIAAoI,CAAC;AAElK,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;EAKxB,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;EAIvB,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;EAKvB,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;EAIzB,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;EAQ7B,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,eAAe;;;;;;;;;EAS3C,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,eAAe;;;;;;;;;EAS7C,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,eAAe;SACxC,YAAY,CAAC,SAAS;;;;;;;;;;;;;;;;;;CAkB9B,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ENGINES } from '../constants';
|
|
2
2
|
export const escapeCharacters = (inputString, engine) => {
|
|
3
|
+
if (typeof inputString === 'number')
|
|
4
|
+
return inputString; // In the context if pass a number instead, return.
|
|
3
5
|
let value = inputString.replace(
|
|
4
6
|
// eslint-disable-next-line no-control-regex
|
|
5
7
|
/[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,4BAA4B,EAC5B,CAAC,IAAY,EAAE,EAAE;QACb,QAAQ,IAAI,EAAE;YACV,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,uEAAuE;gBACvE,OAAO,IAAI,GAAG,IAAI,CAAC;YACvB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC,CACJ,CAAC;IACF,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;IACrB,IAAI,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,KAAK,EAAE,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,mDAAmD;IAC5G,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,4BAA4B,EAC5B,CAAC,IAAY,EAAE,EAAE;QACb,QAAQ,IAAI,EAAE;YACV,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,uEAAuE;gBACvE,OAAO,IAAI,GAAG,IAAI,CAAC;YACvB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC,CACJ,CAAC;IACF,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;IACrB,IAAI,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,KAAK,EAAE,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { CommonValueAST, ProcessNodeResult } from '../constants/interfaces';
|
|
2
|
+
export declare function getNumberFromLiteral(value: string, argument: ProcessNodeResult | CommonValueAST): number | null;
|
|
3
|
+
export declare function getNumericValueFromArgument(param: string | number, argument: ProcessNodeResult | CommonValueAST): string | number;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AST_PRIMITIVES, AST_TYPES } from '../constants';
|
|
2
|
+
export function getNumberFromLiteral(value, argument) {
|
|
3
|
+
if (argument.type === AST_TYPES.literal &&
|
|
4
|
+
(argument.dataType === AST_PRIMITIVES.NUMBER ||
|
|
5
|
+
argument.primitive === AST_PRIMITIVES.NUMBER)) {
|
|
6
|
+
const _value = value.replace('L', '');
|
|
7
|
+
return Number(_value);
|
|
8
|
+
}
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
export function getNumericValueFromArgument(param, argument) {
|
|
12
|
+
var _a;
|
|
13
|
+
const numberValue = getNumberFromLiteral(String(param), argument);
|
|
14
|
+
if (numberValue !== null)
|
|
15
|
+
return numberValue;
|
|
16
|
+
const isUnaryExpression = argument.type === AST_TYPES.unaryExpression; // Negative numbers arrive as unary expression
|
|
17
|
+
if (isUnaryExpression) {
|
|
18
|
+
const unaryExp = ('node' in argument ? argument.node : argument);
|
|
19
|
+
const isNegative = unaryExp.operator === '-';
|
|
20
|
+
const isNumber = unaryExp.right.type === AST_TYPES.literal &&
|
|
21
|
+
unaryExp.right.dataType === AST_PRIMITIVES.NUMBER;
|
|
22
|
+
if (isNumber)
|
|
23
|
+
return (((_a = getNumberFromLiteral(String(unaryExp.right.value), unaryExp.right)) !== null && _a !== void 0 ? _a : 0) * (isNegative ? -1 : 1));
|
|
24
|
+
}
|
|
25
|
+
return param;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=getNumericValueFromArgument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getNumericValueFromArgument.js","sourceRoot":"","sources":["../../../src/utils/getNumericValueFromArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzD,MAAM,UAAU,oBAAoB,CAChC,KAAa,EACb,QAA4C;IAE5C,IACI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO;QACnC,CAAE,QAA8B,CAAC,QAAQ,KAAK,cAAc,CAAC,MAAM;YAC9D,QAA2B,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM,CAAC,EACvE;QACE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,KAAsB,EACtB,QAA4C;;IAE5C,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC;IAC7C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,8CAA8C;IACrH,IAAI,iBAAiB,EAAE;QACnB,MAAM,QAAQ,GAAG,CACb,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAC1B,CAAC;QACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC;QAC7C,MAAM,QAAQ,GACV,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO;YACxC,QAAQ,CAAC,KAAoB,CAAC,QAAQ,KAAK,cAAc,CAAC,MAAM,CAAC;QAEtE,IAAI,QAAQ;YACR,OAAO,CACH,CAAC,MAAA,oBAAoB,CACjB,MAAM,CAAE,QAAQ,CAAC,KAAoB,CAAC,KAAK,CAAC,EAC5C,QAAQ,CAAC,KAAuB,CACnC,mCAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC;KACT;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AST_PRIMITIVES } from '../constants';
|
|
2
|
+
export function getValidDataTypeParam(args, validDataTypes) {
|
|
3
|
+
var _a;
|
|
4
|
+
return (((_a = args.find((_arg) => validDataTypes.includes(_arg.primitive))) === null || _a === void 0 ? void 0 : _a.primitive) || AST_PRIMITIVES.UNKNOWN);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=getValidDataTypeParam.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getValidDataTypeParam.js","sourceRoot":"","sources":["../../../src/utils/getValidDataTypeParam.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,UAAU,qBAAqB,CACjC,IAAiB,EACjB,cAAgC;;IAEhC,OAAO,CACH,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAA2B,CAAC,CAC5D,0CAAE,SAA4B,KAAI,cAAc,CAAC,OAAO,CAC5D,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Primitive } from '../constants';
|
|
2
|
+
import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
|
|
3
|
+
export declare function greaterThanOrEqualToReference(compareReference: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
2
|
+
import { getNumericValueFromArgument } from './getNumericValueFromArgument';
|
|
3
|
+
export function greaterThanOrEqualToReference(compareReference) {
|
|
4
|
+
return (param, _dataType, context) => {
|
|
5
|
+
const arg = context.argument;
|
|
6
|
+
const numericValue = getNumericValueFromArgument(param, arg);
|
|
7
|
+
const valid = typeof numericValue !== 'number' ||
|
|
8
|
+
numericValue >= compareReference;
|
|
9
|
+
if (valid)
|
|
10
|
+
return { valid };
|
|
11
|
+
return Object.assign(Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.matchRange]), { info: {
|
|
12
|
+
greaterThanOrEqualTo: compareReference,
|
|
13
|
+
} });
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=greaterThanOrEqualToReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greaterThanOrEqualToReference.js","sourceRoot":"","sources":["../../../src/utils/greaterThanOrEqualToReference.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,UAAU,6BAA6B,CAAC,gBAAwB;IAClE,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,IAAI,gBAAgB,CAAC;QACrC,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,oBAAoB,EAAE,gBAAgB;aACzC,IACH;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Primitive } from '../constants';
|
|
2
|
+
import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
|
|
3
|
+
export declare function greaterThanReference(compareReference: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
2
|
+
import { getNumericValueFromArgument } from './getNumericValueFromArgument';
|
|
3
|
+
export function greaterThanReference(compareReference) {
|
|
4
|
+
return (param, _dataType, context) => {
|
|
5
|
+
const arg = context.argument;
|
|
6
|
+
const numericValue = getNumericValueFromArgument(param, arg);
|
|
7
|
+
const valid = typeof numericValue !== 'number' || numericValue > compareReference;
|
|
8
|
+
if (valid)
|
|
9
|
+
return { valid };
|
|
10
|
+
return Object.assign(Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.matchRange]), { info: {
|
|
11
|
+
greaterThan: compareReference,
|
|
12
|
+
} });
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=greaterThanReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greaterThanReference.js","sourceRoot":"","sources":["../../../src/utils/greaterThanReference.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,UAAU,oBAAoB,CAAC,gBAAwB;IACzD,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,GAAG,gBAAgB,CAAC;QACxE,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,WAAW,EAAE,gBAAgB;aAChC,IACH;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AST_TYPES } from '../constants';
|
|
2
|
+
import { getNumericValueFromArgument } from './getNumericValueFromArgument';
|
|
3
|
+
import { greaterThanOrEqualToReference } from './greaterThanOrEqualToReference';
|
|
4
|
+
export function isAValidPower(param, dataType, context) {
|
|
5
|
+
const first_argument = context.fnNode.arguments[0];
|
|
6
|
+
const validArgumentTypes = [AST_TYPES.unaryExpression, AST_TYPES.literal];
|
|
7
|
+
const isNotAValidArgumentType = !validArgumentTypes.includes(first_argument.type);
|
|
8
|
+
if (isNotAValidArgumentType)
|
|
9
|
+
return { valid: true };
|
|
10
|
+
const number_1 = getNumericValueFromArgument(first_argument.value, first_argument);
|
|
11
|
+
if (typeof number_1 !== 'number')
|
|
12
|
+
return { valid: true };
|
|
13
|
+
if (number_1 == 0)
|
|
14
|
+
return greaterThanOrEqualToReference(0)(param, dataType, context);
|
|
15
|
+
return { valid: true };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=isAValidPower.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isAValidPower.js","sourceRoot":"","sources":["../../../src/utils/isAValidPower.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AAMpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,UAAU,aAAa,CACzB,KAAU,EACV,QAA+B,EAC/B,OAAkC;IAElC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAmB,CAAC;IACrE,MAAM,kBAAkB,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CACxD,cAAc,CAAC,IAAI,CACtB,CAAC;IACF,IAAI,uBAAuB;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEpD,MAAM,QAAQ,GAAG,2BAA2B,CACxC,cAAc,CAAC,KAAwB,EACvC,cAAc,CACjB,CAAC;IAEF,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEzD,IAAI,QAAQ,IAAI,CAAC;QACb,OAAO,6BAA6B,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Primitive } from '../constants';
|
|
2
|
+
import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
|
|
3
|
+
export declare function isBetweenInclusiveRange(number1: number, number2: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
2
|
+
import { getNumericValueFromArgument } from './getNumericValueFromArgument';
|
|
3
|
+
export function isBetweenInclusiveRange(number1, number2) {
|
|
4
|
+
return (param, _dataType, context) => {
|
|
5
|
+
const arg = context.argument;
|
|
6
|
+
const numericValue = getNumericValueFromArgument(param, arg);
|
|
7
|
+
const valid = typeof numericValue !== 'number' ||
|
|
8
|
+
(numericValue >= number1 && numericValue <= number2);
|
|
9
|
+
if (valid)
|
|
10
|
+
return { valid };
|
|
11
|
+
return Object.assign(Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.matchRange]), { info: {
|
|
12
|
+
greaterThanOrEqualTo: number1,
|
|
13
|
+
lessThanOrEqualTo: number2,
|
|
14
|
+
} });
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=isBetweenInclusiveRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isBetweenInclusiveRange.js","sourceRoot":"","sources":["../../../src/utils/isBetweenInclusiveRange.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,OAAe;IACpE,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ;YAChC,CAAC,YAAY,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC,CAAC;QACzD,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,oBAAoB,EAAE,OAAO;gBAC7B,iBAAiB,EAAE,OAAO;aAC7B,IACH;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ERROR_LIST, ERROR_DICTIONARY } from '../errors/dictionary';
|
|
2
|
+
import { AST_PRIMITIVES, AST_TYPES, CUSTOM_PRIMITIVE, } from '../constants';
|
|
3
|
+
import { getNumberFromLiteral } from './getNumericValueFromArgument';
|
|
4
|
+
export function isInteger(param, _dataType, context) {
|
|
5
|
+
const isLiteral = context.argument.type === AST_TYPES.literal;
|
|
6
|
+
if (!isLiteral)
|
|
7
|
+
return { valid: true };
|
|
8
|
+
const numberValue = getNumberFromLiteral(String(param), context.argument);
|
|
9
|
+
const valid = numberValue !== null && Number.isInteger(numberValue);
|
|
10
|
+
const baseResponse = {
|
|
11
|
+
valid,
|
|
12
|
+
};
|
|
13
|
+
if (!valid)
|
|
14
|
+
return Object.assign(Object.assign(Object.assign({}, baseResponse), ERROR_DICTIONARY[ERROR_LIST.integerNumber]), { mismatchData: {
|
|
15
|
+
primitive: AST_PRIMITIVES.NUMBER,
|
|
16
|
+
customPrimitive: CUSTOM_PRIMITIVE.INTEGER,
|
|
17
|
+
customReceived: CUSTOM_PRIMITIVE.DECIMAL,
|
|
18
|
+
} });
|
|
19
|
+
return baseResponse;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=isInteger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isInteger.js","sourceRoot":"","sources":["../../../src/utils/isInteger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACH,cAAc,EACd,SAAS,EACT,gBAAgB,GAEnB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,UAAU,SAAS,CACrB,KAAU,EACV,SAAgC,EAChC,OAAkC;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC;IAC9D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG;QACjB,KAAK;KACR,CAAC;IACF,IAAI,CAAC,KAAK;QACN,qDACO,YAAY,GACZ,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,KAC7C,YAAY,EAAE;gBACV,SAAS,EAAE,cAAc,CAAC,MAAM;gBAChC,eAAe,EAAE,gBAAgB,CAAC,OAAO;gBACzC,cAAc,EAAE,gBAAgB,CAAC,OAAO;aAC3C,IACH;IACN,OAAO,YAAY,CAAC;AACxB,CAAC"}
|
|
@@ -2,6 +2,7 @@ export function isLongNumber(value) {
|
|
|
2
2
|
//Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/number.html
|
|
3
3
|
const maxIntNumber = 2 ** 31 - 1;
|
|
4
4
|
const minIntNumber = (-2) ** 31;
|
|
5
|
-
return value
|
|
5
|
+
return (Number.isInteger(value) &&
|
|
6
|
+
(value >= maxIntNumber || value <= minIntNumber));
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=isLongLiteralNumber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isLongLiteralNumber.js","sourceRoot":"","sources":["../../../src/utils/isLongLiteralNumber.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,4FAA4F;IAC5F,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,KAAK,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"isLongLiteralNumber.js","sourceRoot":"","sources":["../../../src/utils/isLongLiteralNumber.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,4FAA4F;IAC5F,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,CACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvB,CAAC,KAAK,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,CAAC,CACnD,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AST_PRIMITIVES, Primitive } from '../constants';
|
|
2
|
+
import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
|
|
3
|
+
export declare function isSameAndValidRecursiveDataType(validDataTypes: AST_PRIMITIVES[]): (_param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AST_PRIMITIVES } from '../constants';
|
|
2
|
+
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
3
|
+
import { getValidDataTypeParam } from '../utils/getValidDataTypeParam';
|
|
4
|
+
import { inferPrimitive, isSinglePrimitive } from '../utils/primitiveFunctions';
|
|
5
|
+
export function isSameAndValidRecursiveDataType(validDataTypes) {
|
|
6
|
+
return (_param, _dataType, context) => {
|
|
7
|
+
const args = context.fnNode.arguments;
|
|
8
|
+
const dataTypePrimitive = getValidDataTypeParam(args, validDataTypes);
|
|
9
|
+
const isValidDataTypePrimitive = dataTypePrimitive !== AST_PRIMITIVES.UNKNOWN;
|
|
10
|
+
const expectedDataTypePrimitive = isValidDataTypePrimitive
|
|
11
|
+
? dataTypePrimitive
|
|
12
|
+
: validDataTypes;
|
|
13
|
+
const valid = isValidDataTypePrimitive &&
|
|
14
|
+
isSinglePrimitive(inferPrimitive(...args.map((_arg) => _arg.primitive)));
|
|
15
|
+
if (valid) {
|
|
16
|
+
return {
|
|
17
|
+
valid,
|
|
18
|
+
mismatchData: {
|
|
19
|
+
primitive: expectedDataTypePrimitive,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return Object.assign(Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.inferredPrimitive]), { mismatchData: {
|
|
24
|
+
primitive: expectedDataTypePrimitive,
|
|
25
|
+
} });
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=isSameAndValidRecursiveDataType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameAndValidRecursiveDataType.js","sourceRoot":"","sources":["../../../src/utils/isSameAndValidRecursiveDataType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AAKzD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhF,MAAM,UAAU,+BAA+B,CAC3C,cAAgC;IAEhC,OAAO,CACH,MAAW,EACX,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACtC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtE,MAAM,wBAAwB,GAC1B,iBAAiB,KAAK,cAAc,CAAC,OAAO,CAAC;QACjD,MAAM,yBAAyB,GAAG,wBAAwB;YACtD,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,cAAc,CAAC;QACrB,MAAM,KAAK,GACP,wBAAwB;YACxB,iBAAiB,CACb,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACxD,CAAC;QACN,IAAI,KAAK,EAAE;YACP,OAAO;gBACH,KAAK;gBACL,YAAY,EAAE;oBACV,SAAS,EAAE,yBAAyB;iBACvC;aACJ,CAAC;SACL;QACD,qCACI,KAAK,IACF,gBAAgB,CAAC,UAAU,CAAC,iBAAiB,CAAC,KACjD,YAAY,EAAE;gBACV,SAAS,EAAE,yBAAyB;aACvC,IACH;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -4,3 +4,6 @@ export declare function primitiveIsIncluded(primitive: Primitive, ...allowedPrim
|
|
|
4
4
|
export declare function getFunctionPrimitive(definition: FunctionDefinition, args: CommonAST[]): Primitive;
|
|
5
5
|
export declare function inferPrimitive(...primitives: Primitive[]): Primitive;
|
|
6
6
|
export declare function isSinglePrimitive(primitive: Primitive): primitive is AST_PRIMITIVES;
|
|
7
|
+
export declare function getPrimitiveAsValue(primitive: Primitive, options?: {
|
|
8
|
+
separator: string;
|
|
9
|
+
}): string;
|
|
@@ -33,4 +33,9 @@ export function inferPrimitive(...primitives) {
|
|
|
33
33
|
export function isSinglePrimitive(primitive) {
|
|
34
34
|
return !Array.isArray(primitive);
|
|
35
35
|
}
|
|
36
|
+
export function getPrimitiveAsValue(primitive, options = { separator: '/' }) {
|
|
37
|
+
if (!Array.isArray(primitive))
|
|
38
|
+
return primitive;
|
|
39
|
+
return primitive.join(options.separator);
|
|
40
|
+
}
|
|
36
41
|
//# sourceMappingURL=primitiveFunctions.js.map
|
|
@@ -1 +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;AAED,MAAM,UAAU,iBAAiB,CAC7B,SAAoB;IAEpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC"}
|
|
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;AAED,MAAM,UAAU,iBAAiB,CAC7B,SAAoB;IAEpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAC/B,SAAoB,EACpB,OAAO,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.greaterThanZero = void 0;
|
|
4
|
-
const constants_1 = require("../constants");
|
|
5
|
-
const dictionary_1 = require("../errors/dictionary");
|
|
6
|
-
function greaterThanZero(param, _dataType, context) {
|
|
7
|
-
return greaterThanReference(param, context.argument, 0);
|
|
8
|
-
}
|
|
9
|
-
exports.greaterThanZero = greaterThanZero;
|
|
10
|
-
function greaterThanReference(param, arg, compareReference) {
|
|
11
|
-
const numericValue = getNumericValueFromArgument(param, arg);
|
|
12
|
-
const valid = typeof numericValue !== 'number' ||
|
|
13
|
-
compareValueWithReference(numericValue, compareReference);
|
|
14
|
-
if (!valid)
|
|
15
|
-
return Object.assign(Object.assign({ valid }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.greaterThan]), { info: {
|
|
16
|
-
greaterThan: compareReference,
|
|
17
|
-
} });
|
|
18
|
-
return { valid };
|
|
19
|
-
}
|
|
20
|
-
function getNumericValueFromArgument(param, argument) {
|
|
21
|
-
if (typeof param === 'number')
|
|
22
|
-
return param;
|
|
23
|
-
const isUnaryExpression = argument.type === constants_1.AST_TYPES.unaryExpression; // Negative numbers arrive as unary expression
|
|
24
|
-
if (isUnaryExpression) {
|
|
25
|
-
const unaryExp = argument.node;
|
|
26
|
-
const isNegative = unaryExp.operator === '-';
|
|
27
|
-
const isNumber = unaryExp.right.type === constants_1.AST_TYPES.literal &&
|
|
28
|
-
unaryExp.right.dataType === constants_1.AST_PRIMITIVES.NUMBER;
|
|
29
|
-
if (isNumber)
|
|
30
|
-
return (unaryExp.right.value *
|
|
31
|
-
(isNegative ? -1 : 1));
|
|
32
|
-
}
|
|
33
|
-
return param;
|
|
34
|
-
}
|
|
35
|
-
function compareValueWithReference(value, reference) {
|
|
36
|
-
return value >= reference;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=greaterThanZero.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"greaterThanZero.js","sourceRoot":"","sources":["../../../src/utils/greaterThanZero.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAQpE,qDAAoE;AAEpE,SAAgB,eAAe,CAC3B,KAAU,EACV,SAAgC,EAChC,OAAkC;IAElC,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAND,0CAMC;AAED,SAAS,oBAAoB,CACzB,KAAsB,EACtB,GAAsB,EACtB,gBAAwB;IAExB,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ;QAChC,yBAAyB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QACN,qCACI,KAAK,IACF,6BAAgB,CAAC,uBAAU,CAAC,WAAW,CAAC,KAC3C,IAAI,EAAE;gBACF,WAAW,EAAE,gBAAgB;aAChC,IACH;IACN,OAAO,EAAE,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,2BAA2B,CAChC,KAAsB,EACtB,QAA2B;IAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,KAAK,qBAAS,CAAC,eAAe,CAAC,CAAC,8CAA8C;IACrH,IAAI,iBAAiB,EAAE;QACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAA0B,CAAC;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC;QAC7C,MAAM,QAAQ,GACV,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,OAAO;YACxC,QAAQ,CAAC,KAAoB,CAAC,QAAQ,KAAK,0BAAc,CAAC,MAAM,CAAC;QAEtE,IAAI,QAAQ;YACR,OAAO,CACD,QAAQ,CAAC,KAAoB,CAAC,KAAgB;gBAChD,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;KACT;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa,EAAE,SAAiB;IAC/D,OAAO,KAAK,IAAI,SAAS,CAAC;AAC9B,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { AST_PRIMITIVES, AST_TYPES } from '../constants';
|
|
2
|
-
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
3
|
-
export function greaterThanZero(param, _dataType, context) {
|
|
4
|
-
return greaterThanReference(param, context.argument, 0);
|
|
5
|
-
}
|
|
6
|
-
function greaterThanReference(param, arg, compareReference) {
|
|
7
|
-
const numericValue = getNumericValueFromArgument(param, arg);
|
|
8
|
-
const valid = typeof numericValue !== 'number' ||
|
|
9
|
-
compareValueWithReference(numericValue, compareReference);
|
|
10
|
-
if (!valid)
|
|
11
|
-
return Object.assign(Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.greaterThan]), { info: {
|
|
12
|
-
greaterThan: compareReference,
|
|
13
|
-
} });
|
|
14
|
-
return { valid };
|
|
15
|
-
}
|
|
16
|
-
function getNumericValueFromArgument(param, argument) {
|
|
17
|
-
if (typeof param === 'number')
|
|
18
|
-
return param;
|
|
19
|
-
const isUnaryExpression = argument.type === AST_TYPES.unaryExpression; // Negative numbers arrive as unary expression
|
|
20
|
-
if (isUnaryExpression) {
|
|
21
|
-
const unaryExp = argument.node;
|
|
22
|
-
const isNegative = unaryExp.operator === '-';
|
|
23
|
-
const isNumber = unaryExp.right.type === AST_TYPES.literal &&
|
|
24
|
-
unaryExp.right.dataType === AST_PRIMITIVES.NUMBER;
|
|
25
|
-
if (isNumber)
|
|
26
|
-
return (unaryExp.right.value *
|
|
27
|
-
(isNegative ? -1 : 1));
|
|
28
|
-
}
|
|
29
|
-
return param;
|
|
30
|
-
}
|
|
31
|
-
function compareValueWithReference(value, reference) {
|
|
32
|
-
return value >= reference;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=greaterThanZero.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"greaterThanZero.js","sourceRoot":"","sources":["../../../src/utils/greaterThanZero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AAQpE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,UAAU,eAAe,CAC3B,KAAU,EACV,SAAgC,EAChC,OAAkC;IAElC,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CACzB,KAAsB,EACtB,GAAsB,EACtB,gBAAwB;IAExB,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ;QAChC,yBAAyB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QACN,qCACI,KAAK,IACF,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,KAC3C,IAAI,EAAE;gBACF,WAAW,EAAE,gBAAgB;aAChC,IACH;IACN,OAAO,EAAE,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,2BAA2B,CAChC,KAAsB,EACtB,QAA2B;IAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,8CAA8C;IACrH,IAAI,iBAAiB,EAAE;QACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAA0B,CAAC;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC;QAC7C,MAAM,QAAQ,GACV,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO;YACxC,QAAQ,CAAC,KAAoB,CAAC,QAAQ,KAAK,cAAc,CAAC,MAAM,CAAC;QAEtE,IAAI,QAAQ;YACR,OAAO,CACD,QAAQ,CAAC,KAAoB,CAAC,KAAgB;gBAChD,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;KACT;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa,EAAE,SAAiB;IAC/D,OAAO,KAAK,IAAI,SAAS,CAAC;AAC9B,CAAC"}
|