@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
|
@@ -28,6 +28,10 @@ export declare enum AST_PRIMITIVES {
|
|
|
28
28
|
BOOLEAN = "boolean",
|
|
29
29
|
UNKNOWN = "unknown"
|
|
30
30
|
}
|
|
31
|
+
export declare enum CUSTOM_PRIMITIVE {
|
|
32
|
+
INTEGER = "INTEGER",
|
|
33
|
+
DECIMAL = "DECIMAL"
|
|
34
|
+
}
|
|
31
35
|
export type Primitive = AST_PRIMITIVES | AST_PRIMITIVES[];
|
|
32
36
|
export type CustomEngineOperators = {
|
|
33
37
|
[key in ENGINES]?: {
|
|
@@ -40,3 +44,4 @@ export declare enum ELASTICSEARCH_SCRIPT_NAMES {
|
|
|
40
44
|
setTimezone = "SET_TIMEZONE_SCRIPT",
|
|
41
45
|
subString = "SUBSTRING_SCRIPT"
|
|
42
46
|
}
|
|
47
|
+
export declare const DATE_AND_NUMBERS_DATA_TYPES: AST_PRIMITIVES[];
|
|
@@ -32,6 +32,11 @@ export var AST_PRIMITIVES;
|
|
|
32
32
|
AST_PRIMITIVES["BOOLEAN"] = "boolean";
|
|
33
33
|
AST_PRIMITIVES["UNKNOWN"] = "unknown";
|
|
34
34
|
})(AST_PRIMITIVES || (AST_PRIMITIVES = {}));
|
|
35
|
+
export var CUSTOM_PRIMITIVE;
|
|
36
|
+
(function (CUSTOM_PRIMITIVE) {
|
|
37
|
+
CUSTOM_PRIMITIVE["INTEGER"] = "INTEGER";
|
|
38
|
+
CUSTOM_PRIMITIVE["DECIMAL"] = "DECIMAL";
|
|
39
|
+
})(CUSTOM_PRIMITIVE || (CUSTOM_PRIMITIVE = {}));
|
|
35
40
|
export const CustomOperators = {
|
|
36
41
|
[ENGINES.ELASTICSEARCH]: {
|
|
37
42
|
'=': '==',
|
|
@@ -44,4 +49,8 @@ export var ELASTICSEARCH_SCRIPT_NAMES;
|
|
|
44
49
|
ELASTICSEARCH_SCRIPT_NAMES["setTimezone"] = "SET_TIMEZONE_SCRIPT";
|
|
45
50
|
ELASTICSEARCH_SCRIPT_NAMES["subString"] = "SUBSTRING_SCRIPT";
|
|
46
51
|
})(ELASTICSEARCH_SCRIPT_NAMES || (ELASTICSEARCH_SCRIPT_NAMES = {}));
|
|
52
|
+
export const DATE_AND_NUMBERS_DATA_TYPES = [
|
|
53
|
+
AST_PRIMITIVES.DATE,
|
|
54
|
+
AST_PRIMITIVES.NUMBER,
|
|
55
|
+
];
|
|
47
56
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;IACrB,oCAAyB,CAAA;AAC7B,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;AACzB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,4DAA+C,CAAA;IAC/C,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;AACvC,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAED,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAQD,MAAM,CAAC,MAAM,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,MAAM,CAAN,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,4DAA8B,CAAA;AAClC,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,QAIrC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACf,0CAA+B,CAAA;IAC/B,kCAAuB,CAAA;IACvB,gCAAqB,CAAA;IACrB,oCAAyB,CAAA;AAC7B,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;AACzB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,4DAA+C,CAAA;IAC/C,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;AACvC,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAED,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACvB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;AACvB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAQD,MAAM,CAAC,MAAM,eAAe,GAA0B;IAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QACrB,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACb;CACJ,CAAC;AAEF,MAAM,CAAN,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IAClC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,4DAA8B,CAAA;AAClC,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,QAIrC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,cAAc,CAAC,IAAI;IACnB,cAAc,CAAC,MAAM;CACxB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ENGINES, AST_TYPES, RESPONSE_LEVEL, AST_PRIMITIVES, Primitive } from '.';
|
|
1
|
+
import { ENGINES, AST_TYPES, RESPONSE_LEVEL, AST_PRIMITIVES, CUSTOM_PRIMITIVE, Primitive } from '.';
|
|
2
2
|
import { BaseError } from '../errors';
|
|
3
3
|
interface FunctionElementDefinition {
|
|
4
4
|
identifier: string;
|
|
@@ -15,6 +15,7 @@ export type EnginesFunction = {
|
|
|
15
15
|
export interface FunctionParameter extends FunctionElementDefinition {
|
|
16
16
|
optional: boolean;
|
|
17
17
|
generic?: boolean;
|
|
18
|
+
expectedPrimitive?: AST_PRIMITIVES;
|
|
18
19
|
validator: Array<ValidatorFunctionParameter>;
|
|
19
20
|
}
|
|
20
21
|
export interface ProcessNodeResult {
|
|
@@ -27,7 +28,7 @@ export interface ValidatorParameterContext {
|
|
|
27
28
|
fnNode: FunctionCallAST;
|
|
28
29
|
argument: ProcessNodeResult;
|
|
29
30
|
}
|
|
30
|
-
interface ValidatorFunctionParameter {
|
|
31
|
+
export interface ValidatorFunctionParameter {
|
|
31
32
|
(value: any, dataType: Primitive | undefined, context: ValidatorParameterContext): ValidatorResponse;
|
|
32
33
|
}
|
|
33
34
|
export interface ValidatorResponse {
|
|
@@ -43,7 +44,9 @@ export interface ValidatorParameterResponse extends ValidatorResponse {
|
|
|
43
44
|
argumentIndex: number;
|
|
44
45
|
}
|
|
45
46
|
export interface ValidatorExpectedInfo {
|
|
46
|
-
primitive:
|
|
47
|
+
primitive: Primitive;
|
|
48
|
+
customPrimitive?: CUSTOM_PRIMITIVE;
|
|
49
|
+
customReceived?: CUSTOM_PRIMITIVE;
|
|
47
50
|
type?: AST_TYPES;
|
|
48
51
|
}
|
|
49
52
|
export interface TranspilationResponse {
|
|
@@ -5,7 +5,8 @@ export declare enum ERROR_LIST {
|
|
|
5
5
|
missingString = "missingString",
|
|
6
6
|
missingNumber = "missingNumber",
|
|
7
7
|
missingDate = "missingDate",
|
|
8
|
-
|
|
8
|
+
matchRange = "matchRange",
|
|
9
|
+
integerNumber = "integerNumber",
|
|
9
10
|
missingArg = "missingArg",
|
|
10
11
|
missingParenthesis = "missingParenthesis",
|
|
11
12
|
unknownFunction = "unknownFunction",
|
|
@@ -6,7 +6,8 @@ export var ERROR_LIST;
|
|
|
6
6
|
ERROR_LIST["missingString"] = "missingString";
|
|
7
7
|
ERROR_LIST["missingNumber"] = "missingNumber";
|
|
8
8
|
ERROR_LIST["missingDate"] = "missingDate";
|
|
9
|
-
ERROR_LIST["
|
|
9
|
+
ERROR_LIST["matchRange"] = "matchRange";
|
|
10
|
+
ERROR_LIST["integerNumber"] = "integerNumber";
|
|
10
11
|
ERROR_LIST["missingArg"] = "missingArg";
|
|
11
12
|
ERROR_LIST["missingParenthesis"] = "missingParenthesis";
|
|
12
13
|
ERROR_LIST["unknownFunction"] = "unknownFunction";
|
|
@@ -49,9 +50,13 @@ export const ERROR_DICTIONARY = {
|
|
|
49
50
|
message: 'Element has to be a Date',
|
|
50
51
|
code: 'MISSING_DATE',
|
|
51
52
|
},
|
|
52
|
-
[ERROR_LIST.
|
|
53
|
-
message: 'Element
|
|
54
|
-
code: '
|
|
53
|
+
[ERROR_LIST.matchRange]: {
|
|
54
|
+
message: 'Element does not match with a valid range',
|
|
55
|
+
code: 'MATCH_RANGE',
|
|
56
|
+
},
|
|
57
|
+
[ERROR_LIST.integerNumber]: {
|
|
58
|
+
message: 'Element has to be a integer Number',
|
|
59
|
+
code: 'INTEGER_NUMBER',
|
|
55
60
|
},
|
|
56
61
|
[ERROR_LIST.missingArg]: {
|
|
57
62
|
message: 'Missing arguments',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/errors/dictionary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FunctionCallAST, FunctionDefinition, FunctionParameter, ProcessNodeResult, ValidatorParameterResponse, ValidatorResponse } from '../constants/interfaces';
|
|
1
|
+
import { FunctionCallAST, FunctionDefinition, FunctionParameter, ProcessNodeResult, ValidatorExpectedInfo, ValidatorParameterResponse, ValidatorResponse } from '../constants/interfaces';
|
|
3
2
|
import { FunctionError } from './definitions';
|
|
4
|
-
interface MismatchDetail {
|
|
5
|
-
primitive: AST_PRIMITIVES;
|
|
6
|
-
type?: AST_TYPES;
|
|
3
|
+
interface MismatchDetail extends ValidatorExpectedInfo {
|
|
7
4
|
from?: number;
|
|
8
5
|
to?: number;
|
|
9
6
|
optional?: boolean;
|
|
@@ -25,6 +25,14 @@ export function validateParameters(definition, args, validators = []) {
|
|
|
25
25
|
const param = parameters[parameterCount];
|
|
26
26
|
const paramValidators = validators.filter((fv) => fv.argumentIndex === argumentIndex);
|
|
27
27
|
const expectedPrimitive = transformParamInMismatchExpected(param, paramValidators, recursiveOptionals);
|
|
28
|
+
if (expectedPrimitive.customReceived) {
|
|
29
|
+
const currentReceived = received[argumentIndex];
|
|
30
|
+
if (currentReceived) {
|
|
31
|
+
currentReceived.customPrimitive =
|
|
32
|
+
expectedPrimitive.customReceived;
|
|
33
|
+
}
|
|
34
|
+
delete expectedPrimitive.customReceived;
|
|
35
|
+
}
|
|
28
36
|
expected.push(expectedPrimitive);
|
|
29
37
|
parameterCount++;
|
|
30
38
|
argumentIndex++;
|
|
@@ -55,26 +63,10 @@ function getExpectedInfoFromParam(param, paramValidators) {
|
|
|
55
63
|
if (firstExpected)
|
|
56
64
|
return firstExpected.mismatchData;
|
|
57
65
|
const primitive = getParamTypeFromMap(param);
|
|
58
|
-
return { primitive };
|
|
66
|
+
return { primitive: primitive };
|
|
59
67
|
}
|
|
60
68
|
function getParamTypeFromMap(param) {
|
|
61
|
-
if (param.validator.length === 0) {
|
|
62
|
-
return AST_PRIMITIVES.UNKNOWN;
|
|
63
|
-
}
|
|
64
|
-
const primitiveArray = param.validator.map((validator) => {
|
|
65
|
-
const name = validator.name;
|
|
66
|
-
return mapParamValidator(name);
|
|
67
|
-
});
|
|
68
|
-
return primitiveArray[0];
|
|
69
|
-
}
|
|
70
|
-
function mapParamValidator(name) {
|
|
71
69
|
var _a;
|
|
72
|
-
return (_a =
|
|
70
|
+
return (_a = param.expectedPrimitive) !== null && _a !== void 0 ? _a : AST_PRIMITIVES.UNKNOWN;
|
|
73
71
|
}
|
|
74
|
-
const FUNCTION_PRIMITIVE_MAPPER = {
|
|
75
|
-
isStringParam: AST_PRIMITIVES.STRING,
|
|
76
|
-
isNumberParam: AST_PRIMITIVES.NUMBER,
|
|
77
|
-
isDateParam: AST_PRIMITIVES.DATE,
|
|
78
|
-
isBooleanExpression: AST_PRIMITIVES.BOOLEAN,
|
|
79
|
-
};
|
|
80
72
|
//# sourceMappingURL=mismatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mismatch.js","sourceRoot":"","sources":["../../../src/errors/mismatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"mismatch.js","sourceRoot":"","sources":["../../../src/errors/mismatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abs.js","sourceRoot":"","sources":["../../../src/functions/abs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,KAAK,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"abs.js","sourceRoot":"","sources":["../../../src/functions/abs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,KAAK,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,OAAO,KAAK,GAAG,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -10,16 +10,19 @@ export const AND = {
|
|
|
10
10
|
{
|
|
11
11
|
identifier: 'LOGICAL_EXPRESSION',
|
|
12
12
|
optional: false,
|
|
13
|
+
expectedPrimitive: AST_PRIMITIVES.BOOLEAN,
|
|
13
14
|
validator: [isBooleanExpression],
|
|
14
15
|
},
|
|
15
16
|
{
|
|
16
17
|
identifier: 'LOGICAL_EXPRESSION',
|
|
17
18
|
optional: false,
|
|
19
|
+
expectedPrimitive: AST_PRIMITIVES.BOOLEAN,
|
|
18
20
|
validator: [isBooleanExpression],
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
identifier: 'LOGICAL_EXPRESSION',
|
|
22
24
|
optional: true,
|
|
25
|
+
expectedPrimitive: AST_PRIMITIVES.BOOLEAN,
|
|
23
26
|
validator: [isBooleanExpression],
|
|
24
27
|
},
|
|
25
28
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/functions/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;QACD;YACI,UAAU,EAAE,oBAAoB;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,OAAO;YACzC,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACnC;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,OAAO;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -10,16 +10,19 @@ export const CONCATENATE = {
|
|
|
10
10
|
{
|
|
11
11
|
identifier: 'STRING_1',
|
|
12
12
|
optional: false,
|
|
13
|
+
expectedPrimitive: AST_PRIMITIVES.STRING,
|
|
13
14
|
validator: [isStringParam],
|
|
14
15
|
},
|
|
15
16
|
{
|
|
16
17
|
identifier: 'STRING_2',
|
|
17
18
|
optional: false,
|
|
19
|
+
expectedPrimitive: AST_PRIMITIVES.STRING,
|
|
18
20
|
validator: [isStringParam],
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
identifier: 'STRING_N',
|
|
22
24
|
optional: true,
|
|
25
|
+
expectedPrimitive: AST_PRIMITIVES.STRING,
|
|
23
26
|
validator: [isStringParam],
|
|
24
27
|
},
|
|
25
28
|
],
|
|
@@ -29,7 +32,7 @@ export const CONCATENATE = {
|
|
|
29
32
|
redshift,
|
|
30
33
|
postgresql,
|
|
31
34
|
},
|
|
32
|
-
primitiveResult: AST_PRIMITIVES.
|
|
35
|
+
primitiveResult: AST_PRIMITIVES.STRING,
|
|
33
36
|
};
|
|
34
37
|
function elasticsearch(...args) {
|
|
35
38
|
return `(${args.join(' + ')})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concatenate.js","sourceRoot":"","sources":["../../../src/functions/concatenate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAuB;IAC3C,UAAU,EAAE,aAAa;IACzB,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"concatenate.js","sourceRoot":"","sources":["../../../src/functions/concatenate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAuB;IAC3C,UAAU,EAAE,aAAa;IACzB,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,CAAC;SAC7B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,GAAG,IAAW;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AACnC,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAW;IACvB,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC7B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,2GAA2G;AAC3G,SAAS,QAAQ,CAAC,GAAG,IAAW;IAC5B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,IAAW;IAC9B,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { AST_PRIMITIVES } from '../constants';
|
|
2
2
|
import { isDateParam, isNumberParam, isStringParam, removeQuotes, } from '../utils';
|
|
3
|
-
import {
|
|
3
|
+
import { greaterThanOrEqualToReference } from '../utils/greaterThanOrEqualToReference';
|
|
4
4
|
import { isAnAllowedValue } from '../utils/isAnAllowedValue';
|
|
5
|
+
import { isInteger } from '../utils/isInteger';
|
|
5
6
|
/**
|
|
6
7
|
* `DATEADD` Adds a specific date part value to a given date.
|
|
7
8
|
*/
|
|
@@ -11,11 +12,13 @@ export const DATEADD = {
|
|
|
11
12
|
{
|
|
12
13
|
identifier: 'DATE',
|
|
13
14
|
optional: false,
|
|
15
|
+
expectedPrimitive: AST_PRIMITIVES.DATE,
|
|
14
16
|
validator: [isDateParam],
|
|
15
17
|
},
|
|
16
18
|
{
|
|
17
19
|
identifier: 'UNIT',
|
|
18
20
|
optional: false,
|
|
21
|
+
expectedPrimitive: AST_PRIMITIVES.STRING,
|
|
19
22
|
validator: [
|
|
20
23
|
isStringParam,
|
|
21
24
|
isAnAllowedValue(['Y', 'M', 'D', 'H', 'MI', 'S']),
|
|
@@ -24,7 +27,12 @@ export const DATEADD = {
|
|
|
24
27
|
{
|
|
25
28
|
identifier: 'INTERVAL',
|
|
26
29
|
optional: false,
|
|
27
|
-
|
|
30
|
+
expectedPrimitive: AST_PRIMITIVES.NUMBER,
|
|
31
|
+
validator: [
|
|
32
|
+
isNumberParam,
|
|
33
|
+
greaterThanOrEqualToReference(0),
|
|
34
|
+
isInteger,
|
|
35
|
+
],
|
|
28
36
|
},
|
|
29
37
|
],
|
|
30
38
|
transpiler: {
|
|
@@ -39,37 +47,37 @@ function elasticsearch(date, unit, interval) {
|
|
|
39
47
|
unit = removeQuotes(unit);
|
|
40
48
|
switch (unit) {
|
|
41
49
|
case 'Y':
|
|
42
|
-
return `${date}.plusYears(${interval})`;
|
|
50
|
+
return `${date}.plusYears((long) Math.floor(${interval}))`;
|
|
43
51
|
case 'M':
|
|
44
|
-
return `${date}.plusMonths(${interval})`;
|
|
52
|
+
return `${date}.plusMonths((long) Math.floor(${interval}))`;
|
|
45
53
|
case 'D':
|
|
46
|
-
return `${date}.plusDays(${interval})`;
|
|
54
|
+
return `${date}.plusDays((long) Math.floor(${interval}))`;
|
|
47
55
|
case 'H':
|
|
48
|
-
return `${date}.plusHours(${interval})`;
|
|
56
|
+
return `${date}.plusHours((long) Math.floor(${interval}))`;
|
|
49
57
|
case 'MI':
|
|
50
|
-
return `${date}.plusMinutes(${interval})`;
|
|
58
|
+
return `${date}.plusMinutes((long) Math.floor(${interval}))`;
|
|
51
59
|
case 'S':
|
|
52
|
-
return `${date}.plusSeconds(${interval})`;
|
|
60
|
+
return `${date}.plusSeconds((long) Math.floor(${interval}))`;
|
|
53
61
|
default:
|
|
54
62
|
return '';
|
|
55
63
|
}
|
|
56
64
|
}
|
|
57
65
|
function SQL(date, unit, interval) {
|
|
58
66
|
unit = removeQuotes(unit);
|
|
59
|
-
const sqlDateAdd = (
|
|
67
|
+
const sqlDateAdd = (_date, _unit, _interval) => `DATEADD(${_unit}, FLOOR(${_interval})::INTEGER, ${_date})`;
|
|
60
68
|
switch (unit) {
|
|
61
69
|
case 'Y':
|
|
62
|
-
return sqlDateAdd(date, `${interval}
|
|
70
|
+
return sqlDateAdd(date, `month`, `${interval} * 12`); // Year to month conversion to get the same result for leap years. Redshift behavior is different for leap year example `2016-02-29` https://docs.aws.amazon.com/redshift/latest/dg/r_DATEADD_function.html
|
|
63
71
|
case 'M':
|
|
64
|
-
return sqlDateAdd(date,
|
|
72
|
+
return sqlDateAdd(date, `month`, interval);
|
|
65
73
|
case 'D':
|
|
66
|
-
return sqlDateAdd(date,
|
|
74
|
+
return sqlDateAdd(date, `day`, interval);
|
|
67
75
|
case 'H':
|
|
68
|
-
return sqlDateAdd(date,
|
|
76
|
+
return sqlDateAdd(date, `hour`, interval);
|
|
69
77
|
case 'MI':
|
|
70
|
-
return sqlDateAdd(date,
|
|
78
|
+
return sqlDateAdd(date, `minute`, interval);
|
|
71
79
|
case 'S':
|
|
72
|
-
return sqlDateAdd(date,
|
|
80
|
+
return sqlDateAdd(date, `second`, interval);
|
|
73
81
|
default:
|
|
74
82
|
return '';
|
|
75
83
|
}
|
|
@@ -78,26 +86,26 @@ function snowflake(date, unit, interval) {
|
|
|
78
86
|
return SQL(date, unit, interval);
|
|
79
87
|
}
|
|
80
88
|
function redshift(date, unit, interval) {
|
|
89
|
+
return SQL(date, unit, interval);
|
|
90
|
+
}
|
|
91
|
+
function postgresql(date, unit, interval) {
|
|
81
92
|
unit = removeQuotes(unit);
|
|
82
|
-
const sqlDateAdd = (
|
|
93
|
+
const sqlDateAdd = (_date, _unit) => `${_date} + interval ${_unit}`;
|
|
83
94
|
switch (unit) {
|
|
84
95
|
case 'Y':
|
|
85
|
-
return sqlDateAdd(date, `
|
|
96
|
+
return sqlDateAdd(date, `'1 year' * FLOOR(${interval})::INTEGER`);
|
|
86
97
|
case 'M':
|
|
87
|
-
return sqlDateAdd(date, `month
|
|
98
|
+
return sqlDateAdd(date, `'1 month' * FLOOR(${interval})::INTEGER`);
|
|
88
99
|
case 'D':
|
|
89
|
-
return sqlDateAdd(date, `day
|
|
100
|
+
return sqlDateAdd(date, `'1 day' * FLOOR(${interval})::INTEGER`);
|
|
90
101
|
case 'H':
|
|
91
|
-
return sqlDateAdd(date, `hour
|
|
102
|
+
return sqlDateAdd(date, `'1 hour' * FLOOR(${interval})::INTEGER`);
|
|
92
103
|
case 'MI':
|
|
93
|
-
return sqlDateAdd(date, `minute
|
|
104
|
+
return sqlDateAdd(date, `'1 minute' * FLOOR(${interval})::INTEGER`);
|
|
94
105
|
case 'S':
|
|
95
|
-
return sqlDateAdd(date, `second
|
|
106
|
+
return sqlDateAdd(date, `'1 second' * FLOOR(${interval})::INTEGER`);
|
|
96
107
|
default:
|
|
97
108
|
return '';
|
|
98
109
|
}
|
|
99
110
|
}
|
|
100
|
-
function postgresql(date, unit, interval) {
|
|
101
|
-
return SQL(date, unit, interval);
|
|
102
|
-
}
|
|
103
111
|
//# sourceMappingURL=dateadd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACH,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dateadd.js","sourceRoot":"","sources":["../../../src/functions/dateadd.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,16 +12,19 @@ export const DATEDIF = {
|
|
|
12
12
|
{
|
|
13
13
|
identifier: 'START_DATE',
|
|
14
14
|
optional: false,
|
|
15
|
+
expectedPrimitive: AST_PRIMITIVES.DATE,
|
|
15
16
|
validator: [isDateParam],
|
|
16
17
|
},
|
|
17
18
|
{
|
|
18
19
|
identifier: 'END_DATE',
|
|
19
20
|
optional: false,
|
|
21
|
+
expectedPrimitive: AST_PRIMITIVES.DATE,
|
|
20
22
|
validator: [isDateParam],
|
|
21
23
|
},
|
|
22
24
|
{
|
|
23
25
|
identifier: 'UNIT',
|
|
24
26
|
optional: false,
|
|
27
|
+
expectedPrimitive: AST_PRIMITIVES.STRING,
|
|
25
28
|
validator: [isStringParam, isAnAllowedValue(['Y', 'M', 'D'])],
|
|
26
29
|
},
|
|
27
30
|
],
|
|
@@ -45,10 +48,12 @@ function snowflake(start, end, unit) {
|
|
|
45
48
|
return SQL(start, end, unit);
|
|
46
49
|
}
|
|
47
50
|
function redshift(start, end, unit) {
|
|
48
|
-
|
|
51
|
+
const result = SQL(start, end, unit);
|
|
52
|
+
return `CAST(${result} AS INT)`;
|
|
49
53
|
}
|
|
50
54
|
function postgresql(start, end, unit) {
|
|
51
55
|
unit = removeQuotes(unit);
|
|
52
|
-
|
|
56
|
+
const result = dateDifPostgres(start, end, unit);
|
|
57
|
+
return `CAST(${result} AS INT)`;
|
|
53
58
|
}
|
|
54
59
|
//# sourceMappingURL=datedif.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datedif.js","sourceRoot":"","sources":["../../../src/functions/datedif.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SAChE;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAClB,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAC3D,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,UAAU,CAAC,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,
|
|
1
|
+
{"version":3,"file":"datedif.js","sourceRoot":"","sources":["../../../src/functions/datedif.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAuB;IACvC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SAChE;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAClB,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,IAAsB;IAC3D,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,OAAO,UAAU,CAAC,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,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CACf,KAAa,EACb,GAAW,EACX,IAAsB;IAEtB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAqB,CAAC;IAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,QAAQ,MAAM,UAAU,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { AST_PRIMITIVES } from '../constants';
|
|
2
|
+
import { isDateParam, isNumberParam, isStringParam, removeQuotes, } from '../utils';
|
|
3
|
+
import { greaterThanOrEqualToReference } from '../utils/greaterThanOrEqualToReference';
|
|
4
|
+
import { isAnAllowedValue } from '../utils/isAnAllowedValue';
|
|
5
|
+
import { isInteger } from '../utils/isInteger';
|
|
6
|
+
/**
|
|
7
|
+
* `DATESUBTRACT` Subtract a specific date part value to a given date.
|
|
8
|
+
*/
|
|
9
|
+
export const DATESUBTRACT = {
|
|
10
|
+
identifier: 'DATESUBTRACT',
|
|
11
|
+
parameters: [
|
|
12
|
+
{
|
|
13
|
+
identifier: 'DATE',
|
|
14
|
+
optional: false,
|
|
15
|
+
expectedPrimitive: AST_PRIMITIVES.DATE,
|
|
16
|
+
validator: [isDateParam],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
identifier: 'UNIT',
|
|
20
|
+
optional: false,
|
|
21
|
+
expectedPrimitive: AST_PRIMITIVES.STRING,
|
|
22
|
+
validator: [
|
|
23
|
+
isStringParam,
|
|
24
|
+
isAnAllowedValue(['Y', 'M', 'D', 'H', 'MI', 'S']),
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
identifier: 'INTERVAL',
|
|
29
|
+
optional: false,
|
|
30
|
+
expectedPrimitive: AST_PRIMITIVES.NUMBER,
|
|
31
|
+
validator: [
|
|
32
|
+
isNumberParam,
|
|
33
|
+
greaterThanOrEqualToReference(0),
|
|
34
|
+
isInteger,
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
transpiler: {
|
|
39
|
+
elasticsearch,
|
|
40
|
+
snowflake,
|
|
41
|
+
redshift,
|
|
42
|
+
postgresql,
|
|
43
|
+
},
|
|
44
|
+
primitiveResult: AST_PRIMITIVES.DATE,
|
|
45
|
+
};
|
|
46
|
+
function elasticsearch(date, unit, interval) {
|
|
47
|
+
unit = removeQuotes(unit);
|
|
48
|
+
switch (unit) {
|
|
49
|
+
case 'Y':
|
|
50
|
+
return `${date}.minusYears((long) Math.floor(${interval}))`;
|
|
51
|
+
case 'M':
|
|
52
|
+
return `${date}.minusMonths((long) Math.floor(${interval}))`;
|
|
53
|
+
case 'D':
|
|
54
|
+
return `${date}.minusDays((long) Math.floor(${interval}))`;
|
|
55
|
+
case 'H':
|
|
56
|
+
return `${date}.minusHours((long) Math.floor(${interval}))`;
|
|
57
|
+
case 'MI':
|
|
58
|
+
return `${date}.minusMinutes((long) Math.floor(${interval}))`;
|
|
59
|
+
case 'S':
|
|
60
|
+
return `${date}.minusSeconds((long) Math.floor(${interval}))`;
|
|
61
|
+
default:
|
|
62
|
+
return '';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function SQL(date, unit, interval) {
|
|
66
|
+
unit = removeQuotes(unit);
|
|
67
|
+
const sqlDateSubtract = (_date, _unit, _interval) => `DATEADD(${_unit}, FLOOR(${_interval})::INTEGER * -1, ${_date})`;
|
|
68
|
+
switch (unit) {
|
|
69
|
+
case 'Y':
|
|
70
|
+
return sqlDateSubtract(date, `month`, `${interval} * 12`); // Year to month conversion to get the same result for leap years. Redshift behavior is different for leap year example `2016-02-29` https://docs.aws.amazon.com/redshift/latest/dg/r_DATEADD_function.html
|
|
71
|
+
case 'M':
|
|
72
|
+
return sqlDateSubtract(date, `month`, interval);
|
|
73
|
+
case 'D':
|
|
74
|
+
return sqlDateSubtract(date, `day`, interval);
|
|
75
|
+
case 'H':
|
|
76
|
+
return sqlDateSubtract(date, `hour`, interval);
|
|
77
|
+
case 'MI':
|
|
78
|
+
return sqlDateSubtract(date, `minute`, interval);
|
|
79
|
+
case 'S':
|
|
80
|
+
return sqlDateSubtract(date, `second`, interval);
|
|
81
|
+
default:
|
|
82
|
+
return '';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function snowflake(date, unit, interval) {
|
|
86
|
+
return SQL(date, unit, interval);
|
|
87
|
+
}
|
|
88
|
+
function redshift(date, unit, interval) {
|
|
89
|
+
return SQL(date, unit, interval);
|
|
90
|
+
}
|
|
91
|
+
function postgresql(date, unit, interval) {
|
|
92
|
+
unit = removeQuotes(unit);
|
|
93
|
+
const sqlDateSubtract = (_date, _unit) => `${_date} - interval ${_unit}`;
|
|
94
|
+
switch (unit) {
|
|
95
|
+
case 'Y':
|
|
96
|
+
return sqlDateSubtract(date, `'1 year' * FLOOR(${interval})::INTEGER`);
|
|
97
|
+
case 'M':
|
|
98
|
+
return sqlDateSubtract(date, `'1 month' * FLOOR(${interval})::INTEGER`);
|
|
99
|
+
case 'D':
|
|
100
|
+
return sqlDateSubtract(date, `'1 day' * FLOOR(${interval})::INTEGER`);
|
|
101
|
+
case 'H':
|
|
102
|
+
return sqlDateSubtract(date, `'1 hour' * FLOOR(${interval})::INTEGER`);
|
|
103
|
+
case 'MI':
|
|
104
|
+
return sqlDateSubtract(date, `'1 minute' * FLOOR(${interval})::INTEGER`);
|
|
105
|
+
case 'S':
|
|
106
|
+
return sqlDateSubtract(date, `'1 second' * FLOOR(${interval})::INTEGER`);
|
|
107
|
+
default:
|
|
108
|
+
return '';
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=datesubtract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datesubtract.js","sourceRoot":"","sources":["../../../src/functions/datesubtract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"day.js","sourceRoot":"","sources":["../../../src/functions/day.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,oBAAoB,KAAK,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"day.js","sourceRoot":"","sources":["../../../src/functions/day.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAuB;IACnC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,oBAAoB,KAAK,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
|