@qrvey/formula-lang 0.8.14-internal → 0.9.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 +54 -0
- package/dist/cjs/functions/isNull.js +1 -1
- package/dist/cjs/grammar/generated/qformula.lang.js +8 -8
- package/dist/cjs/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/cjs/transpiler/index.js +7 -4
- package/dist/cjs/transpiler/index.js.map +1 -1
- package/dist/cjs/utils/elasticsearch/index.js +1 -1
- package/dist/cjs/utils/elasticsearch/scripts.d.ts +1 -1
- package/dist/cjs/utils/elasticsearch/scripts.js +2 -2
- package/dist/module/functions/isNull.js +1 -1
- package/dist/module/grammar/generated/qformula.lang.js +8 -8
- package/dist/module/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/module/transpiler/index.js +8 -5
- package/dist/module/transpiler/index.js.map +1 -1
- package/dist/module/utils/elasticsearch/index.js +2 -2
- package/dist/module/utils/elasticsearch/scripts.d.ts +1 -1
- package/dist/module/utils/elasticsearch/scripts.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,57 @@
|
|
|
1
|
+
<a name="0.9.0"></a>
|
|
2
|
+
# [0.9.0](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.12...v0.9.0) (2023-05-29)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* **unknown error:** remove Unknown error, not needed ([4a5cd9b](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4a5cd9b))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **ifnull:** add if null function ([3dd6e7f](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/3dd6e7f))
|
|
13
|
+
* **ifnull:** add support of null in dummy data ([79b3846](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/79b3846))
|
|
14
|
+
* **ifnull:** add validation of data types and refactor ([026b86b](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/026b86b))
|
|
15
|
+
* **isnull:** add argument index to InvalidArgumentError ([c037909](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c037909))
|
|
16
|
+
* **isnull:** add error when the arguments does not have the same data type ([acc7294](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/acc7294))
|
|
17
|
+
* **isnull:** add validations to only allow column as value and no columns in the replacement ([4894bc2](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/4894bc2))
|
|
18
|
+
* **isnull:** fix function description ([2d83660](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/2d83660))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<a name="0.8.12"></a>
|
|
23
|
+
## [0.8.12](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.11...v0.8.12) (2023-05-29)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **value:** fix null validation when value 0 is pass it ([7af8bd6](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/7af8bd6))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<a name="0.8.11"></a>
|
|
33
|
+
## [0.8.11](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.10...v0.8.11) (2023-05-24)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* **getvaluees:** fix get_value of columns in ES ([ab68e6c](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/ab68e6c))
|
|
39
|
+
* **if:** if function third param mandatory ([fd14c2b](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/fd14c2b))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
<a name="0.8.10"></a>
|
|
44
|
+
## [0.8.10](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.9...v0.8.10) (2023-05-24)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Bug Fixes
|
|
48
|
+
|
|
49
|
+
* **conditionals:** accept only boolean expressio in first argument ([48ceb27](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/48ceb27))
|
|
50
|
+
* **ifs:** fix IF/IFS function args ([c34ef71](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/c34ef71))
|
|
51
|
+
* **redshift diff:** fix datedif with Y (year) in redshift ([da95ef9](https://bitbucket.org/qrvey/qrvey_formula_lang/commits/da95ef9))
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
1
55
|
<a name="0.8.9"></a>
|
|
2
56
|
## [0.8.9](https://bitbucket.org/qrvey/qrvey_formula_lang/compare/v0.8.8...v0.8.9) (2023-05-19)
|
|
3
57
|
|
|
@@ -40,7 +40,7 @@ exports.ISNULL = {
|
|
|
40
40
|
},
|
|
41
41
|
};
|
|
42
42
|
function elasticsearch(value, replacement) {
|
|
43
|
-
return `
|
|
43
|
+
return `IS_NULL_SCRIPT(${value}, ${replacement})`;
|
|
44
44
|
}
|
|
45
45
|
function sql(value, replacement) {
|
|
46
46
|
return `COALESCE(${value}, ${replacement})`;
|
|
@@ -5,19 +5,19 @@ const lr_1 = require("@lezer/lr");
|
|
|
5
5
|
const language_1 = require("@codemirror/language");
|
|
6
6
|
const highlight_1 = require("@lezer/highlight");
|
|
7
7
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
8
|
-
const spec_identifier = { __proto__: null, true:
|
|
8
|
+
const spec_identifier = { __proto__: null, true: 14, false: 14 };
|
|
9
9
|
const parser = lr_1.LRParser.deserialize({
|
|
10
10
|
version: 14,
|
|
11
|
-
states: "%QO]QPOOOOQO'#
|
|
12
|
-
stateData: "%T~
|
|
13
|
-
goto: "#
|
|
14
|
-
nodeNames: "⚠
|
|
11
|
+
states: "%QO]QPOOOOQO'#C_'#C_OOQO'#Ce'#CeOwQPO'#CdO|QQO'#CgO]QPO'#ChQ!RQPOOO]QPO'#CoOOQO'#C^'#C^O!dQPO,59OO!kQPO,59ROOQO,59S,59SO]QPO,59UO]QPO,59UO]QPO,59UO]QPO,59UO!pQPO,59ZO!wQPO'#CyOOQO'#Cf'#CfO#RQPO1G.jOOQO1G.m1G.mOOQO1G.p1G.pO#oQPO1G.pO#vQPO1G.pO#}QPO1G.pOOQO1G.u1G.uO]QPO'#CpO$iQPO,59eOOQO7+$U7+$UO$qQPO,59[OOQO-E6n-E6n",
|
|
12
|
+
stateData: "%T~OgOShOSiOS~OSPOTPOUPOVPO]TOjQOlVOpSO~OlXO~OqYO~O]]O_[O`[Oa^Ob_O~OkmP~P]OodO~OkiO~P!ROnjOkmX~P!ROklO~O_[O`[Oa^ib^ie^ik^in^i~O]^i~P#WO]]O~P#WO]]O_[O`[Oa^Ob^ie^ik^in^i~OnjOkma~Okdanda~P!ROTUighj_~",
|
|
13
|
+
goto: "#OnPPo![PPPP![!g!r![![P![PPPP![!uPPPPPPPP!{QUOQZTQ`VQaXQe[Qf]Qg^Qh_RmjcWOTVX[]^_jcROTVX[]^_jRcXQkaRnkRbX",
|
|
14
|
+
nodeNames: "⚠ Program Expression Value Number Date String Boolean Function FunctionIdentifier FunctionArguments Variable UnaryExpression ArithOp BinaryExpression ArithOp ArithOp LogicOp LogicOp ParenthesizedExpression",
|
|
15
15
|
maxTerm: 33,
|
|
16
|
-
skippedNodes: [0
|
|
16
|
+
skippedNodes: [0],
|
|
17
17
|
repeatNodeCount: 1,
|
|
18
|
-
tokenData: "=T~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`<O!`!a<T!c!}<]!}#O<y#P#Q=O#R#S8h#T#o<]$f$g#V#BY#BZ#V$IS$I_#V$I|$I}#z$I}$JO#z$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~#[
|
|
18
|
+
tokenData: "=T~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`<O!`!a<T!c!}<]!}#O<y#P#Q=O#R#S8h#T#o<]$f$g#V#BY#BZ#V$IS$I_#V$I|$I}#z$I}$JO#z$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~#[Yg~XY#VZ[#Vpq#V$f$g#V#BY#BZ#V$IS$I_#V$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~$POh~~$SZOr$urs%_s!Q$u!Q!R&c!R!S6r!S![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~$xVOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~%dOU~~%gRO;'S$u;'S;=`%p;=`O$u~%sWOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&];=`<%l$u<%lO$u~&`P;=`<%l$u~&fYOr$urs%_s!P$u!P!Q'U!Q![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~'X]Or$urs%_s!Q$u!Q!R(Q!R!S(Q!S!T(Q!T!U(Q!U![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(TYOr$urs%_s!P$u!P!Q(s!Q![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(vXOr$urs%_s!Q$u!Q![)c![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~)fXOr$urs%_s!Q$u!Q![*R![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*UXOr$urs%_s!Q$u!Q![*q![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*tXOr$urs%_s!Q$u!Q![+a![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~+dkOX$uX^-X^p$upq-Xqr$urs4gs#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~-[pOX$uX^-X^p$upq-Xqr$urs%_s!Q$u!Q!R/`!R!S/`!S!T4n!T![0R![#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~/cYOr$urs%_s!Q$u!Q![0R![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0UXOr$urs%_s![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0tXOr$urs%_s!Q$u!Q!W1a!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~1dXOr$urs%_s!Q$u!Q![2P![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2SXOr$urs%_s![$u![!]2o!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2rXOr$urs%_s!Q$u!Q!W3_!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~3bXOr$urs%_s!Q$u!Q![3}![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4QVOr$urs4gs#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4nOT~U~~4qZOr$urs%_s!Q$u!Q!U0R!U![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~5gXOr$urs%_s!P$u!P!Q(s!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6VXOr$urs%_s!P$u!P!Q'U!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6u[Or$urs%_s!P$u!P!Q'U!Q!R6S!R!S6S!S!T6S!T#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~7pOl~~7uOk~~7zO`~R8RV]PqQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8hQ8mVqQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8h~9XOn~R9^VqQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S8h#T#o8hR9zVSPqQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S9s#T#o8h~:fP_~!P!Q:i~:nSi~OY:iZ;'S:i;'S;=`:z<%lO:i~:}P;=`<%l:iR;XVSPqQ{|8h}!O8h!O!P9s!Q![;Q!c!}8h#R#S;Q#T#o8h~;sQa~!_!`;y!`!a;y~<OOa~~<TOb~~<YPa~!_!`;yR<dVqQjP{|8h}!O8h!O!P8h!Q![<]!c!}<]#R#S<]#T#o<]~=OOp~~=TOo~",
|
|
19
19
|
tokenizers: [0, 1],
|
|
20
|
-
topRules: { "Program": [0,
|
|
20
|
+
topRules: { "Program": [0, 1] },
|
|
21
21
|
specialized: [{ term: 26, get: value => spec_identifier[value] || -1 }],
|
|
22
22
|
tokenPrec: 181
|
|
23
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qformula.lang.js","sourceRoot":"","sources":["../../../../src/grammar/generated/qformula.lang.js"],"names":[],"mappings":";;;AAAA,kCAAqC;AACrC,mDAAmE;AACnE,gDAAmD;AAEnD,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAC,CAAC;AAC3D,MAAM,MAAM,GAAG,aAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,8TAA8T;IACtU,SAAS,EAAE,sMAAsM;IACjN,IAAI,EAAE,0GAA0G;IAChH,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"qformula.lang.js","sourceRoot":"","sources":["../../../../src/grammar/generated/qformula.lang.js"],"names":[],"mappings":";;;AAAA,kCAAqC;AACrC,mDAAmE;AACnE,gDAAmD;AAEnD,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAC,CAAC;AAC3D,MAAM,MAAM,GAAG,aAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,8TAA8T;IACtU,SAAS,EAAE,sMAAsM;IACjN,IAAI,EAAE,0GAA0G;IAChH,SAAS,EAAE,+MAA+M;IAC1N,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,CAAC,CAAC,CAAC;IACjB,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,w2EAAw2E;IACn3E,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC;IAC3B,WAAW,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC;IACrE,SAAS,EAAE,GAAG;CACf,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE;YACH,IAAA,qBAAS,EAAC;gBACN,OAAO,EAAE,gBAAI,CAAC,IAAI;gBAClB,MAAM,EAAE,gBAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,gBAAI,CAAC,MAAM;gBACjB,MAAM,EAAE,gBAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,gBAAI,CAAC,OAAO;gBACtB,WAAW,EAAE,gBAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,gBAAI,CAAC,WAAW;gBACpC,KAAK,EAAE,gBAAI,CAAC,KAAK;aACpB,CAAC;SACL;KACJ,CAAC;IACF,YAAY,EAAE;QACV,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KAChC;CACJ,CAAC;AAMiB,0DAAuB;AAL1C,MAAM,YAAY,GAAG,qBAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAKpB,oCAAY;AAJxD,SAAS,QAAQ;IACb,OAAO,IAAI,0BAAe,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAEQ,4BAAQ"}
|
|
@@ -49,14 +49,17 @@ class Transpiler {
|
|
|
49
49
|
[constants_1.AST_TYPES.binaryExpression]: this.binaryExpression,
|
|
50
50
|
[constants_1.AST_TYPES.functionCall]: this.functionCall,
|
|
51
51
|
};
|
|
52
|
-
if (!nodes[type])
|
|
53
|
-
|
|
54
|
-
}
|
|
52
|
+
if (!nodes[type])
|
|
53
|
+
return { value: null, type, dataType: constants_1.AST_PRIMITIVES.UNKNOWN };
|
|
55
54
|
return nodes[type].call(this, expression);
|
|
56
55
|
}
|
|
57
56
|
catch (error) {
|
|
58
57
|
this.formulaErrorList.push(error);
|
|
59
|
-
return {
|
|
58
|
+
return {
|
|
59
|
+
value: '',
|
|
60
|
+
type: constants_1.AST_TYPES.unknown,
|
|
61
|
+
dataType: constants_1.AST_PRIMITIVES.UNKNOWN,
|
|
62
|
+
};
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
conversionFromColumnToLiteral(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpiler/index.ts"],"names":[],"mappings":";;;AAAA,4CAKsB;AActB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpiler/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,4 @@ export declare const minuteScript: (value: any) => string;
|
|
|
11
11
|
export declare const secondScript: (value: any) => string;
|
|
12
12
|
export declare function dateDif(start: any, end: any, unit: DateDifUnitParam): string;
|
|
13
13
|
export declare const getValueScript = "def GET_VALUE(def c){return (c.empty ? null : c.value)}";
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const isNullScript = "def IS_NULL_SCRIPT(def value, def replacement) { return value ?: replacement; }";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isNullScript = exports.getValueScript = exports.dateDif = exports.secondScript = exports.minuteScript = exports.hourScript = exports.yearScript = exports.monthScript = exports.dayScript = exports.subStringScript = exports.dateFormatScript = exports.setTimezoneToColumnDate = exports.toDate = void 0;
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
5
|
function toDate(value) {
|
|
6
6
|
return `ZonedDateTime.parse("${value}")`;
|
|
@@ -66,5 +66,5 @@ function dateDif(start, end, unit) {
|
|
|
66
66
|
}
|
|
67
67
|
exports.dateDif = dateDif;
|
|
68
68
|
exports.getValueScript = `def GET_VALUE(def c){return (c.empty ? null : c.value)}`;
|
|
69
|
-
exports.
|
|
69
|
+
exports.isNullScript = `def IS_NULL_SCRIPT(def value, def replacement) { return value ?: replacement; }`;
|
|
70
70
|
//# sourceMappingURL=scripts.js.map
|
|
@@ -37,7 +37,7 @@ export const ISNULL = {
|
|
|
37
37
|
},
|
|
38
38
|
};
|
|
39
39
|
function elasticsearch(value, replacement) {
|
|
40
|
-
return `
|
|
40
|
+
return `IS_NULL_SCRIPT(${value}, ${replacement})`;
|
|
41
41
|
}
|
|
42
42
|
function sql(value, replacement) {
|
|
43
43
|
return `COALESCE(${value}, ${replacement})`;
|
|
@@ -2,19 +2,19 @@ import { LRParser } from '@lezer/lr';
|
|
|
2
2
|
import { LRLanguage, LanguageSupport } from '@codemirror/language';
|
|
3
3
|
import { styleTags, tags } from '@lezer/highlight';
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
|
-
const spec_identifier = { __proto__: null, true:
|
|
5
|
+
const spec_identifier = { __proto__: null, true: 14, false: 14 };
|
|
6
6
|
const parser = LRParser.deserialize({
|
|
7
7
|
version: 14,
|
|
8
|
-
states: "%QO]QPOOOOQO'#
|
|
9
|
-
stateData: "%T~
|
|
10
|
-
goto: "#
|
|
11
|
-
nodeNames: "⚠
|
|
8
|
+
states: "%QO]QPOOOOQO'#C_'#C_OOQO'#Ce'#CeOwQPO'#CdO|QQO'#CgO]QPO'#ChQ!RQPOOO]QPO'#CoOOQO'#C^'#C^O!dQPO,59OO!kQPO,59ROOQO,59S,59SO]QPO,59UO]QPO,59UO]QPO,59UO]QPO,59UO!pQPO,59ZO!wQPO'#CyOOQO'#Cf'#CfO#RQPO1G.jOOQO1G.m1G.mOOQO1G.p1G.pO#oQPO1G.pO#vQPO1G.pO#}QPO1G.pOOQO1G.u1G.uO]QPO'#CpO$iQPO,59eOOQO7+$U7+$UO$qQPO,59[OOQO-E6n-E6n",
|
|
9
|
+
stateData: "%T~OgOShOSiOS~OSPOTPOUPOVPO]TOjQOlVOpSO~OlXO~OqYO~O]]O_[O`[Oa^Ob_O~OkmP~P]OodO~OkiO~P!ROnjOkmX~P!ROklO~O_[O`[Oa^ib^ie^ik^in^i~O]^i~P#WO]]O~P#WO]]O_[O`[Oa^Ob^ie^ik^in^i~OnjOkma~Okdanda~P!ROTUighj_~",
|
|
10
|
+
goto: "#OnPPo![PPPP![!g!r![![P![PPPP![!uPPPPPPPP!{QUOQZTQ`VQaXQe[Qf]Qg^Qh_RmjcWOTVX[]^_jcROTVX[]^_jRcXQkaRnkRbX",
|
|
11
|
+
nodeNames: "⚠ Program Expression Value Number Date String Boolean Function FunctionIdentifier FunctionArguments Variable UnaryExpression ArithOp BinaryExpression ArithOp ArithOp LogicOp LogicOp ParenthesizedExpression",
|
|
12
12
|
maxTerm: 33,
|
|
13
|
-
skippedNodes: [0
|
|
13
|
+
skippedNodes: [0],
|
|
14
14
|
repeatNodeCount: 1,
|
|
15
|
-
tokenData: "=T~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`<O!`!a<T!c!}<]!}#O<y#P#Q=O#R#S8h#T#o<]$f$g#V#BY#BZ#V$IS$I_#V$I|$I}#z$I}$JO#z$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~#[
|
|
15
|
+
tokenData: "=T~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`<O!`!a<T!c!}<]!}#O<y#P#Q=O#R#S8h#T#o<]$f$g#V#BY#BZ#V$IS$I_#V$I|$I}#z$I}$JO#z$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~#[Yg~XY#VZ[#Vpq#V$f$g#V#BY#BZ#V$IS$I_#V$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~$POh~~$SZOr$urs%_s!Q$u!Q!R&c!R!S6r!S![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~$xVOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~%dOU~~%gRO;'S$u;'S;=`%p;=`O$u~%sWOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&];=`<%l$u<%lO$u~&`P;=`<%l$u~&fYOr$urs%_s!P$u!P!Q'U!Q![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~'X]Or$urs%_s!Q$u!Q!R(Q!R!S(Q!S!T(Q!T!U(Q!U![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(TYOr$urs%_s!P$u!P!Q(s!Q![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(vXOr$urs%_s!Q$u!Q![)c![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~)fXOr$urs%_s!Q$u!Q![*R![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*UXOr$urs%_s!Q$u!Q![*q![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*tXOr$urs%_s!Q$u!Q![+a![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~+dkOX$uX^-X^p$upq-Xqr$urs4gs#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~-[pOX$uX^-X^p$upq-Xqr$urs%_s!Q$u!Q!R/`!R!S/`!S!T4n!T![0R![#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~/cYOr$urs%_s!Q$u!Q![0R![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0UXOr$urs%_s![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0tXOr$urs%_s!Q$u!Q!W1a!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~1dXOr$urs%_s!Q$u!Q![2P![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2SXOr$urs%_s![$u![!]2o!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2rXOr$urs%_s!Q$u!Q!W3_!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~3bXOr$urs%_s!Q$u!Q![3}![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4QVOr$urs4gs#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4nOT~U~~4qZOr$urs%_s!Q$u!Q!U0R!U![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~5gXOr$urs%_s!P$u!P!Q(s!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6VXOr$urs%_s!P$u!P!Q'U!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6u[Or$urs%_s!P$u!P!Q'U!Q!R6S!R!S6S!S!T6S!T#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~7pOl~~7uOk~~7zO`~R8RV]PqQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8hQ8mVqQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8h~9XOn~R9^VqQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S8h#T#o8hR9zVSPqQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S9s#T#o8h~:fP_~!P!Q:i~:nSi~OY:iZ;'S:i;'S;=`:z<%lO:i~:}P;=`<%l:iR;XVSPqQ{|8h}!O8h!O!P9s!Q![;Q!c!}8h#R#S;Q#T#o8h~;sQa~!_!`;y!`!a;y~<OOa~~<TOb~~<YPa~!_!`;yR<dVqQjP{|8h}!O8h!O!P8h!Q![<]!c!}<]#R#S<]#T#o<]~=OOp~~=TOo~",
|
|
16
16
|
tokenizers: [0, 1],
|
|
17
|
-
topRules: { "Program": [0,
|
|
17
|
+
topRules: { "Program": [0, 1] },
|
|
18
18
|
specialized: [{ term: 26, get: value => spec_identifier[value] || -1 }],
|
|
19
19
|
tokenPrec: 181
|
|
20
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qformula.lang.js","sourceRoot":"","sources":["../../../../src/grammar/generated/qformula.lang.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAC,CAAC;AAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,8TAA8T;IACtU,SAAS,EAAE,sMAAsM;IACjN,IAAI,EAAE,0GAA0G;IAChH,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"qformula.lang.js","sourceRoot":"","sources":["../../../../src/grammar/generated/qformula.lang.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE,EAAC,CAAC;AAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,8TAA8T;IACtU,SAAS,EAAE,sMAAsM;IACjN,IAAI,EAAE,0GAA0G;IAChH,SAAS,EAAE,+MAA+M;IAC1N,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,CAAC,CAAC,CAAC;IACjB,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,w2EAAw2E;IACn3E,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClB,QAAQ,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC;IAC3B,WAAW,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC;IACrE,SAAS,EAAE,GAAG;CACf,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE;YACH,SAAS,CAAC;gBACN,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,WAAW;gBACpC,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC;SACL;KACJ,CAAC;IACF,YAAY,EAAE;QACV,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KAChC;CACJ,CAAC;AACF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAChE,SAAS,QAAQ;IACb,OAAO,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ENGINES, AST_TYPES, CustomOperators, AST_PRIMITIVES, } from '../constants';
|
|
2
|
-
import {
|
|
2
|
+
import { UnknownFunctionError } from '../errors/definitions';
|
|
3
3
|
import { functionList } from '../functions';
|
|
4
4
|
import { customFunction as customFunctionUtil, customDateCast, customTimezone, } from '../utils';
|
|
5
5
|
import { validateFuncStructure } from './validateFuncStructure';
|
|
@@ -46,14 +46,17 @@ export class Transpiler {
|
|
|
46
46
|
[AST_TYPES.binaryExpression]: this.binaryExpression,
|
|
47
47
|
[AST_TYPES.functionCall]: this.functionCall,
|
|
48
48
|
};
|
|
49
|
-
if (!nodes[type])
|
|
50
|
-
|
|
51
|
-
}
|
|
49
|
+
if (!nodes[type])
|
|
50
|
+
return { value: null, type, dataType: AST_PRIMITIVES.UNKNOWN };
|
|
52
51
|
return nodes[type].call(this, expression);
|
|
53
52
|
}
|
|
54
53
|
catch (error) {
|
|
55
54
|
this.formulaErrorList.push(error);
|
|
56
|
-
return {
|
|
55
|
+
return {
|
|
56
|
+
value: '',
|
|
57
|
+
type: AST_TYPES.unknown,
|
|
58
|
+
dataType: AST_PRIMITIVES.UNKNOWN,
|
|
59
|
+
};
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
conversionFromColumnToLiteral(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EACP,SAAS,EACT,eAAe,EACf,cAAc,GACjB,MAAM,cAAc,CAAC;AActB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpiler/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dateFormatScript,
|
|
1
|
+
import { dateFormatScript, isNullScript, subStringScript } from './scripts';
|
|
2
2
|
export { toDate, setTimezoneToColumnDate } from './scripts';
|
|
3
3
|
export function customFunctionsList(func) {
|
|
4
4
|
switch (func) {
|
|
@@ -12,7 +12,7 @@ export function customFunctionsList(func) {
|
|
|
12
12
|
case 'MID':
|
|
13
13
|
return subStringScript;
|
|
14
14
|
case 'ISNULL':
|
|
15
|
-
return
|
|
15
|
+
return isNullScript;
|
|
16
16
|
default:
|
|
17
17
|
return false;
|
|
18
18
|
}
|
|
@@ -11,4 +11,4 @@ export declare const minuteScript: (value: any) => string;
|
|
|
11
11
|
export declare const secondScript: (value: any) => string;
|
|
12
12
|
export declare function dateDif(start: any, end: any, unit: DateDifUnitParam): string;
|
|
13
13
|
export declare const getValueScript = "def GET_VALUE(def c){return (c.empty ? null : c.value)}";
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const isNullScript = "def IS_NULL_SCRIPT(def value, def replacement) { return value ?: replacement; }";
|
|
@@ -55,5 +55,5 @@ export function dateDif(start, end, unit) {
|
|
|
55
55
|
return `ChronoUnit.${currentUnit}.between(${start}, ${end})`;
|
|
56
56
|
}
|
|
57
57
|
export const getValueScript = `def GET_VALUE(def c){return (c.empty ? null : c.value)}`;
|
|
58
|
-
export const
|
|
58
|
+
export const isNullScript = `def IS_NULL_SCRIPT(def value, def replacement) { return value ?: replacement; }`;
|
|
59
59
|
//# sourceMappingURL=scripts.js.map
|