@qrvey/formula-lang 0.7.0 → 0.8.1
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 +17 -0
- package/dist/cjs/constants/index.d.ts +12 -0
- package/dist/cjs/constants/index.js +14 -1
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/interfaces.d.ts +18 -5
- package/dist/cjs/errors/analyzer/elasticsearch.js +13 -3
- package/dist/cjs/errors/analyzer/elasticsearch.js.map +1 -1
- package/dist/cjs/errors/analyzer/index.js +2 -1
- package/dist/cjs/errors/analyzer/index.js.map +1 -1
- package/dist/cjs/errors/dictionary.d.ts +2 -1
- package/dist/cjs/errors/dictionary.js +5 -0
- package/dist/cjs/errors/dictionary.js.map +1 -1
- package/dist/cjs/functions/abs.js +3 -1
- package/dist/cjs/functions/abs.js.map +1 -1
- package/dist/cjs/functions/datedif.js +5 -3
- package/dist/cjs/functions/datedif.js.map +1 -1
- package/dist/cjs/functions/day.js +3 -1
- package/dist/cjs/functions/day.js.map +1 -1
- package/dist/cjs/functions/hour.js +3 -1
- package/dist/cjs/functions/hour.js.map +1 -1
- package/dist/cjs/functions/if.js +8 -0
- package/dist/cjs/functions/if.js.map +1 -1
- package/dist/cjs/functions/ifs.js +10 -0
- package/dist/cjs/functions/ifs.js.map +1 -1
- package/dist/cjs/functions/mid.js +5 -3
- package/dist/cjs/functions/mid.js.map +1 -1
- package/dist/cjs/functions/minute.js +3 -1
- package/dist/cjs/functions/minute.js.map +1 -1
- package/dist/cjs/functions/month.js +3 -1
- package/dist/cjs/functions/month.js.map +1 -1
- package/dist/cjs/functions/second.js +3 -1
- package/dist/cjs/functions/second.js.map +1 -1
- package/dist/cjs/functions/year.js +3 -1
- package/dist/cjs/functions/year.js.map +1 -1
- package/dist/cjs/grammar/generated/qformula.lang.js +10 -10
- package/dist/cjs/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/parser/json-parser.js +65 -37
- package/dist/cjs/parser/json-parser.js.map +1 -1
- package/dist/cjs/parser/syntax-errors.js +1 -0
- package/dist/cjs/parser/syntax-errors.js.map +1 -1
- package/dist/cjs/transpiler/columnTranspilation.js +1 -1
- package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
- package/dist/cjs/transpiler/index.js +15 -8
- package/dist/cjs/transpiler/index.js.map +1 -1
- package/dist/cjs/utils/isDateParam.d.ts +2 -1
- package/dist/cjs/utils/isDateParam.js +2 -1
- package/dist/cjs/utils/isDateParam.js.map +1 -1
- package/dist/cjs/utils/isNumberParam.d.ts +2 -1
- package/dist/cjs/utils/isNumberParam.js +3 -1
- package/dist/cjs/utils/isNumberParam.js.map +1 -1
- package/dist/cjs/utils/isStringParam.d.ts +2 -1
- package/dist/cjs/utils/isStringParam.js +3 -2
- package/dist/cjs/utils/isStringParam.js.map +1 -1
- package/dist/cjs/utils/primitiveFunctions.d.ts +5 -0
- package/dist/cjs/utils/primitiveFunctions.js +39 -0
- package/dist/cjs/utils/primitiveFunctions.js.map +1 -0
- package/dist/module/constants/index.d.ts +12 -0
- package/dist/module/constants/index.js +13 -0
- package/dist/module/constants/index.js.map +1 -1
- package/dist/module/constants/interfaces.d.ts +18 -5
- package/dist/module/errors/analyzer/elasticsearch.js +13 -3
- package/dist/module/errors/analyzer/elasticsearch.js.map +1 -1
- package/dist/module/errors/analyzer/index.js +2 -1
- package/dist/module/errors/analyzer/index.js.map +1 -1
- package/dist/module/errors/dictionary.d.ts +2 -1
- package/dist/module/errors/dictionary.js +5 -0
- package/dist/module/errors/dictionary.js.map +1 -1
- package/dist/module/functions/abs.js +3 -1
- package/dist/module/functions/abs.js.map +1 -1
- package/dist/module/functions/datedif.js +5 -3
- package/dist/module/functions/datedif.js.map +1 -1
- package/dist/module/functions/day.js +3 -1
- package/dist/module/functions/day.js.map +1 -1
- package/dist/module/functions/hour.js +3 -1
- package/dist/module/functions/hour.js.map +1 -1
- package/dist/module/functions/if.js +8 -0
- package/dist/module/functions/if.js.map +1 -1
- package/dist/module/functions/ifs.js +10 -0
- package/dist/module/functions/ifs.js.map +1 -1
- package/dist/module/functions/mid.js +5 -3
- package/dist/module/functions/mid.js.map +1 -1
- package/dist/module/functions/minute.js +3 -1
- package/dist/module/functions/minute.js.map +1 -1
- package/dist/module/functions/month.js +3 -1
- package/dist/module/functions/month.js.map +1 -1
- package/dist/module/functions/second.js +3 -1
- package/dist/module/functions/second.js.map +1 -1
- package/dist/module/functions/year.js +3 -1
- package/dist/module/functions/year.js.map +1 -1
- package/dist/module/grammar/generated/qformula.lang.js +10 -10
- package/dist/module/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/module/index.d.ts +1 -1
- package/dist/module/index.js +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/parser/json-parser.js +68 -40
- package/dist/module/parser/json-parser.js.map +1 -1
- package/dist/module/parser/syntax-errors.js +2 -1
- package/dist/module/parser/syntax-errors.js.map +1 -1
- package/dist/module/transpiler/columnTranspilation.js +2 -2
- package/dist/module/transpiler/columnTranspilation.js.map +1 -1
- package/dist/module/transpiler/index.js +16 -9
- package/dist/module/transpiler/index.js.map +1 -1
- package/dist/module/utils/isDateParam.d.ts +2 -1
- package/dist/module/utils/isDateParam.js +2 -1
- package/dist/module/utils/isDateParam.js.map +1 -1
- package/dist/module/utils/isNumberParam.d.ts +2 -1
- package/dist/module/utils/isNumberParam.js +3 -1
- package/dist/module/utils/isNumberParam.js.map +1 -1
- package/dist/module/utils/isStringParam.d.ts +2 -1
- package/dist/module/utils/isStringParam.js +3 -2
- package/dist/module/utils/isStringParam.js.map +1 -1
- package/dist/module/utils/primitiveFunctions.d.ts +5 -0
- package/dist/module/utils/primitiveFunctions.js +33 -0
- package/dist/module/utils/primitiveFunctions.js.map +1 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"month.js","sourceRoot":"","sources":["../../../src/functions/month.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"month.js","sourceRoot":"","sources":["../../../src/functions/month.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAuB;IACrC,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,sBAAsB,KAAK,GAAG,CAAC;AAC1C,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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { secondScript } from '../utils/elasticsearch/scripts';
|
|
2
2
|
import { isDateParam } from '../utils';
|
|
3
|
+
import { AST_PRIMITIVES } from '../constants';
|
|
3
4
|
/**
|
|
4
5
|
* Returns the number of the SECOND in a Date.
|
|
5
6
|
*/
|
|
@@ -10,7 +11,7 @@ export const SECOND = {
|
|
|
10
11
|
{
|
|
11
12
|
identifier: 'DATE',
|
|
12
13
|
name: 'date',
|
|
13
|
-
type:
|
|
14
|
+
type: AST_PRIMITIVES.DATE,
|
|
14
15
|
optional: false,
|
|
15
16
|
validator: [isDateParam],
|
|
16
17
|
},
|
|
@@ -20,6 +21,7 @@ export const SECOND = {
|
|
|
20
21
|
snowflake,
|
|
21
22
|
redshift,
|
|
22
23
|
},
|
|
24
|
+
primitiveResult: AST_PRIMITIVES.NUMBER,
|
|
23
25
|
};
|
|
24
26
|
function elasticsearch(value) {
|
|
25
27
|
return secondScript(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"second.js","sourceRoot":"","sources":["../../../src/functions/second.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"second.js","sourceRoot":"","sources":["../../../src/functions/second.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuB;IACtC,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,uBAAuB,KAAK,GAAG,CAAC;AAC3C,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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { yearScript } from '../utils/elasticsearch/scripts';
|
|
2
2
|
import { isDateParam } from '../utils';
|
|
3
|
+
import { AST_PRIMITIVES } from '../constants';
|
|
3
4
|
/**
|
|
4
5
|
* Returns the number of the YEAR in a Date.
|
|
5
6
|
*/
|
|
@@ -10,7 +11,7 @@ export const YEAR = {
|
|
|
10
11
|
{
|
|
11
12
|
identifier: 'DATE',
|
|
12
13
|
name: 'date',
|
|
13
|
-
type:
|
|
14
|
+
type: AST_PRIMITIVES.DATE,
|
|
14
15
|
optional: false,
|
|
15
16
|
validator: [isDateParam],
|
|
16
17
|
},
|
|
@@ -20,6 +21,7 @@ export const YEAR = {
|
|
|
20
21
|
snowflake,
|
|
21
22
|
redshift,
|
|
22
23
|
},
|
|
24
|
+
primitiveResult: AST_PRIMITIVES.NUMBER,
|
|
23
25
|
};
|
|
24
26
|
function elasticsearch(value) {
|
|
25
27
|
return yearScript(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"year.js","sourceRoot":"","sources":["../../../src/functions/year.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"year.js","sourceRoot":"","sources":["../../../src/functions/year.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;KACX;IACD,eAAe,EAAE,cAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACtB,OAAO,qBAAqB,KAAK,GAAG,CAAC;AACzC,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"}
|
|
@@ -5,18 +5,18 @@ import { styleTags, tags } from '@lezer/highlight';
|
|
|
5
5
|
const spec_identifier = { __proto__: null, true: 16, false: 16, null: 18 };
|
|
6
6
|
const parser = LRParser.deserialize({
|
|
7
7
|
version: 14,
|
|
8
|
-
states: "
|
|
9
|
-
stateData: "
|
|
10
|
-
goto: "
|
|
11
|
-
nodeNames: "⚠ LineComment Program Expression Value Number Date String Boolean Null
|
|
12
|
-
maxTerm:
|
|
8
|
+
states: "$tO]QPOOOOQO'#C`'#C`OOQO'#Cg'#CgOzQPO'#CfO!PQQO'#CiO]QPO'#CjQ!UQPOOO]QPO'#CpOOQO'#C_'#C_O!dQPO,59QO!kQPO,59TOOQO,59U,59UO]QPO,59WO]QPO,59WO]QPO,59WO!pQPO,59[O#RQPO'#CyOOQO'#Ch'#ChO#gQPO1G.lOOQO1G.o1G.oOOQO1G.r1G.rO#}QPO1G.rO$XQPO1G.rOOQO1G.v1G.vO$cQPO'#CqO$mQPO,59eOOQO7+$W7+$WO$uQPO,59]OOQO-E6o-E6o",
|
|
9
|
+
stateData: "%c~OhOSiOSPOS~OTPOUPOVPOWPOXPO_TOjQOlVOpSO~OlXO~OqYO~O_^Oa[Ob]Oc]O~OkmP~P]OocO~O_^Oa[Ob]Oc]OkgO~O_^Oa[Ob]Oc]OnhOkmX~OkjO~Oa[O_`if`ik`in`i~Ob`ic`i~P#lOb]Oc]O~P#lOkeXneX~P]OnhOkma~O_^Oa[Ob]Oc]Okeanea~OUVPhijb~",
|
|
10
|
+
goto: "!ynPPPo!XPPPPP!X!c!m!X!XP!XPPP!X!pPPPPPPP!vQUOQZTQ_VQ`XQd[Qe]Qf^RkhaWOTVX[]^haROTVX[]^hRbXQi`RliRaX",
|
|
11
|
+
nodeNames: "⚠ LineComment Program Expression Value Number Date String Boolean Null Function FunctionIdentifier FunctionArguments Variable UnaryExpression ArithOp BinaryExpression LogicOp ArithOp ArithOp ParenthesizedExpression",
|
|
12
|
+
maxTerm: 33,
|
|
13
13
|
skippedNodes: [0, 1],
|
|
14
|
-
repeatNodeCount:
|
|
15
|
-
tokenData: "=
|
|
16
|
-
tokenizers: [0, 1
|
|
14
|
+
repeatNodeCount: 1,
|
|
15
|
+
tokenData: "=O~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`;y!`!a<O!c!}<W!}#O<t#P#Q<y#R#S8h#T#o<W$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~#[Yh~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~$POi~~$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~%dOV~~%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~4nOU~V~~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~~7zOc~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#o8hR9zVTPqQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S9s#T#o8h~:fPb~!P!Q:i~:nSP~OY:iZ;'S:i;'S;=`:z<%lO:i~:}P;=`<%l:iR;XVTPqQ{|8h}!O8h!O!P9s!Q![;Q!c!}8h#R#S;Q#T#o8h~;sQa~!_!`;y!`!a;y~<OOa~~<TPa~!_!`;yR<_VqQjP{|8h}!O8h!O!P8h!Q![<W!c!}<W#R#S<W#T#o<W~<yOp~~=OOo~",
|
|
16
|
+
tokenizers: [0, 1],
|
|
17
17
|
topRules: { "Program": [0, 2] },
|
|
18
|
-
specialized: [{ term:
|
|
19
|
-
tokenPrec:
|
|
18
|
+
specialized: [{ term: 26, get: value => spec_identifier[value] || -1 }],
|
|
19
|
+
tokenPrec: 195
|
|
20
20
|
});
|
|
21
21
|
const QFormulaHighlightConfig = {
|
|
22
22
|
parser: parser.configure({
|
|
@@ -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,EAAE,IAAI,EAAC,EAAE,EAAC,CAAC;AACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,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,EAAE,IAAI,EAAC,EAAE,EAAC,CAAC;AACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,6SAA6S;IACrT,SAAS,EAAE,iNAAiN;IAC5N,IAAI,EAAE,qGAAqG;IAC3G,SAAS,EAAE,wNAAwN;IACnO,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,k2EAAk2E;IAC72E,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"}
|
package/dist/module/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ENGINES } from './constants/index';
|
|
|
2
2
|
import { FormulaContext, TranspilationResponse } from './constants/interfaces';
|
|
3
3
|
export { QFormula as FormulaHighlight, QFormulaLang as FormulaLang, QFormulaHighlightConfig as FormulaHightConfig, } from './grammar/qformula.grammar';
|
|
4
4
|
export { calculateAST } from './parser/json-parser';
|
|
5
|
-
export { ENGINES } from './constants/index';
|
|
5
|
+
export { ENGINES, AST_PRIMITIVES } from './constants/index';
|
|
6
6
|
export { FUNCTION_LIST, getFunctionDetail } from './functions/index';
|
|
7
7
|
export { TranspileAST } from './transpiler/index';
|
|
8
8
|
export { ProgramAST, TranspilationResponse, FormulaContext, } from './constants/interfaces';
|
package/dist/module/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { calculateAST } from './parser/json-parser';
|
|
|
3
3
|
import { TranspileAST } from './transpiler/index';
|
|
4
4
|
export { QFormula as FormulaHighlight, QFormulaLang as FormulaLang, QFormulaHighlightConfig as FormulaHightConfig, } from './grammar/qformula.grammar';
|
|
5
5
|
export { calculateAST } from './parser/json-parser';
|
|
6
|
-
export { ENGINES } from './constants/index';
|
|
6
|
+
export { ENGINES, AST_PRIMITIVES } from './constants/index';
|
|
7
7
|
export { FUNCTION_LIST, getFunctionDetail } from './functions/index';
|
|
8
8
|
export { TranspileAST } from './transpiler/index';
|
|
9
9
|
export { BaseError, errorAnalyzer } from './errors';
|
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACH,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,IAAI,WAAW,EAC3B,uBAAuB,IAAI,kBAAkB,GAChD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACH,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,IAAI,WAAW,EAC3B,uBAAuB,IAAI,kBAAkB,GAChD,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,UAAU,SAAS,CACrB,OAAe,EACf,MAAe,EACf,OAAwB;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1,35 +1,45 @@
|
|
|
1
|
-
import { AST_TYPES } from '../constants';
|
|
1
|
+
import { AST_PRIMITIVES, AST_TYPES } from '../constants';
|
|
2
2
|
import { getNodeValue, getMonthMaxDayAllowed, isValidDate, getVariableType, getVariableContext, } from '../utils';
|
|
3
3
|
import { calculateNodeSyntaxErrors } from './syntax-errors';
|
|
4
|
-
import { MissingParenthesisError, NotAllowedExpressionError
|
|
5
|
-
import { FUNCTION_LIST } from '../functions';
|
|
4
|
+
import { MissingParenthesisError, NotAllowedExpressionError } from '../errors';
|
|
5
|
+
import { FUNCTION_LIST, getFunctionDetail } from '../functions';
|
|
6
|
+
import { getFunctionPrimitive, primitiveIsIncluded, } from '../utils/primitiveFunctions';
|
|
6
7
|
const PARSER_VERSION = '0.0.0';
|
|
7
8
|
const LANG_NAME = 'QrveyLang';
|
|
8
9
|
export function calculateAST(program, startNode, context) {
|
|
10
|
+
var _a;
|
|
9
11
|
if (!startNode)
|
|
10
12
|
return;
|
|
11
13
|
const syntaxErrors = calculateNodeSyntaxErrors(program, startNode);
|
|
14
|
+
const inference = {
|
|
15
|
+
errorList: syntaxErrors,
|
|
16
|
+
formulaVariables: [],
|
|
17
|
+
};
|
|
18
|
+
const body = transformNode(program, startNode, inference, context);
|
|
19
|
+
const { errorList: errors, formulaVariables: variables } = inference;
|
|
12
20
|
return {
|
|
13
21
|
type: AST_TYPES.program,
|
|
14
22
|
exp: program,
|
|
15
23
|
lang: LANG_NAME,
|
|
16
24
|
version: PARSER_VERSION,
|
|
17
|
-
body
|
|
25
|
+
body,
|
|
18
26
|
from: startNode.from,
|
|
19
27
|
to: startNode.to,
|
|
20
|
-
errors
|
|
28
|
+
errors,
|
|
29
|
+
variables,
|
|
30
|
+
primitive: (_a = body === null || body === void 0 ? void 0 : body.primitive) !== null && _a !== void 0 ? _a : AST_PRIMITIVES.UNKNOWN,
|
|
21
31
|
};
|
|
22
32
|
}
|
|
23
|
-
function transformNode(program, node,
|
|
33
|
+
function transformNode(program, node, inference, context) {
|
|
24
34
|
if (!node)
|
|
25
35
|
return undefined;
|
|
26
36
|
switch (node.name) {
|
|
27
37
|
case 'BinaryExpression':
|
|
28
|
-
return transformBinaryExpression(program, node,
|
|
38
|
+
return transformBinaryExpression(program, node, inference, context);
|
|
29
39
|
case 'UnaryExpression':
|
|
30
|
-
return transformUnaryExpression(program, node,
|
|
40
|
+
return transformUnaryExpression(program, node, inference, context);
|
|
31
41
|
case 'Function':
|
|
32
|
-
return transformFunctionExpression(program, node,
|
|
42
|
+
return transformFunctionExpression(program, node, inference, context);
|
|
33
43
|
case 'Number':
|
|
34
44
|
return transformNumberValue(program, node);
|
|
35
45
|
case 'Date':
|
|
@@ -40,26 +50,27 @@ function transformNode(program, node, errorList, context) {
|
|
|
40
50
|
return transformBooleanValue(program, node);
|
|
41
51
|
case 'Null':
|
|
42
52
|
return transformNullValue(program, node);
|
|
43
|
-
case 'Array':
|
|
44
|
-
return transformArrayValue(program, node, errorList, context);
|
|
45
53
|
case 'Variable':
|
|
46
|
-
return transformVariableValue(program, node, context);
|
|
54
|
+
return transformVariableValue(program, node, inference, context);
|
|
47
55
|
default:
|
|
48
56
|
return node.firstChild
|
|
49
|
-
? transformNode(program, node.firstChild,
|
|
57
|
+
? transformNode(program, node.firstChild, inference, context)
|
|
50
58
|
: undefined;
|
|
51
59
|
}
|
|
52
60
|
}
|
|
53
|
-
function transformBinaryExpression(program, node,
|
|
61
|
+
function transformBinaryExpression(program, node, inference, context) {
|
|
54
62
|
const [leftNode, rightNode] = node.getChildren('Expression');
|
|
55
63
|
const logicOperator = node.getChild('LogicOp');
|
|
56
64
|
const arithOperator = node.getChild('ArithOp');
|
|
57
|
-
const left = transformNode(program, leftNode,
|
|
58
|
-
const right = transformNode(program, rightNode,
|
|
65
|
+
const left = transformNode(program, leftNode, inference, context);
|
|
66
|
+
const right = transformNode(program, rightNode, inference, context);
|
|
59
67
|
const leftIsNotAValidNumber = (left === null || left === void 0 ? void 0 : left.type) === AST_TYPES.literal &&
|
|
60
68
|
left.dataType !== 'number';
|
|
61
69
|
const rightIsNotAValidNumber = (right === null || right === void 0 ? void 0 : right.type) === AST_TYPES.literal &&
|
|
62
70
|
right.dataType !== 'number';
|
|
71
|
+
const primitive = left.primitive === (right === null || right === void 0 ? void 0 : right.primitive)
|
|
72
|
+
? left.primitive
|
|
73
|
+
: AST_PRIMITIVES.UNKNOWN;
|
|
63
74
|
const binaryAST = {
|
|
64
75
|
operator: getNodeValue(program, (logicOperator !== null && logicOperator !== void 0 ? logicOperator : arithOperator)),
|
|
65
76
|
type: AST_TYPES.binaryExpression,
|
|
@@ -67,42 +78,49 @@ function transformBinaryExpression(program, node, errorList, context) {
|
|
|
67
78
|
right,
|
|
68
79
|
from: node.from,
|
|
69
80
|
to: node.to,
|
|
81
|
+
primitive,
|
|
70
82
|
};
|
|
71
83
|
if (!leftNode ||
|
|
72
84
|
!rightNode ||
|
|
85
|
+
(!arithOperator && !logicOperator) ||
|
|
73
86
|
(arithOperator && (leftIsNotAValidNumber || rightIsNotAValidNumber))) {
|
|
74
|
-
errorList.push(new NotAllowedExpressionError(binaryAST));
|
|
87
|
+
inference.errorList.push(new NotAllowedExpressionError(binaryAST));
|
|
75
88
|
}
|
|
76
89
|
return binaryAST;
|
|
77
90
|
}
|
|
78
|
-
function transformUnaryExpression(program, node,
|
|
91
|
+
function transformUnaryExpression(program, node, inference, context) {
|
|
79
92
|
const [rightNode] = node.getChildren('Expression');
|
|
80
93
|
const operator = node.getChild('ArithOp');
|
|
94
|
+
const right = transformNode(program, rightNode, inference, context);
|
|
95
|
+
const primitive = primitiveIsIncluded(right === null || right === void 0 ? void 0 : right.primitive, AST_PRIMITIVES.NUMBER, AST_PRIMITIVES.BOOLEAN)
|
|
96
|
+
? right.primitive
|
|
97
|
+
: AST_PRIMITIVES.UNKNOWN;
|
|
81
98
|
const unaryAST = {
|
|
82
99
|
operator: getNodeValue(program, operator),
|
|
83
100
|
type: AST_TYPES.unaryExpression,
|
|
84
|
-
right
|
|
101
|
+
right,
|
|
85
102
|
from: node.from,
|
|
86
103
|
to: node.to,
|
|
104
|
+
primitive,
|
|
87
105
|
};
|
|
88
106
|
if (!rightNode) {
|
|
89
|
-
errorList.push(new NotAllowedExpressionError(unaryAST));
|
|
107
|
+
inference.errorList.push(new NotAllowedExpressionError(unaryAST));
|
|
90
108
|
}
|
|
91
109
|
return unaryAST;
|
|
92
110
|
}
|
|
93
|
-
function transformFunctionExpression(program, node,
|
|
111
|
+
function transformFunctionExpression(program, node, inference, context) {
|
|
94
112
|
const args = node.getChild('FunctionArguments');
|
|
95
113
|
const fnIdentifier = node.getChild('FunctionIdentifier');
|
|
96
114
|
const fnName = getNodeValue(program, fnIdentifier);
|
|
97
115
|
const fnString = getNodeValue(program, node);
|
|
98
116
|
const parenthesisIsNotOpen = fnString.slice(fnName.length, fnName.length + 1) !== '(';
|
|
99
117
|
const parenthesisIsNotClosed = fnString.slice(-1) !== ')';
|
|
100
|
-
const
|
|
118
|
+
const baseNode = {
|
|
101
119
|
type: AST_TYPES.functionCall,
|
|
102
120
|
name: getNodeValue(program, fnIdentifier),
|
|
103
121
|
arguments: args
|
|
104
122
|
? args.getChildren('Expression').map((childNode) => {
|
|
105
|
-
const nodeResult = transformNode(program, childNode,
|
|
123
|
+
const nodeResult = transformNode(program, childNode, inference, context);
|
|
106
124
|
return (nodeResult !== null && nodeResult !== void 0 ? nodeResult : createUnknownValue(childNode, getNodeValue(program, childNode)));
|
|
107
125
|
})
|
|
108
126
|
: [],
|
|
@@ -110,8 +128,15 @@ function transformFunctionExpression(program, node, errorList, context) {
|
|
|
110
128
|
to: node.to,
|
|
111
129
|
};
|
|
112
130
|
const functionExists = FUNCTION_LIST.includes(fnName);
|
|
131
|
+
const functionDetail = functionExists
|
|
132
|
+
? getFunctionDetail(fnName)
|
|
133
|
+
: undefined;
|
|
134
|
+
const primitive = functionDetail
|
|
135
|
+
? getFunctionPrimitive(functionDetail, baseNode.arguments)
|
|
136
|
+
: AST_PRIMITIVES.UNKNOWN;
|
|
137
|
+
const resultNode = Object.assign(Object.assign({}, baseNode), { primitive });
|
|
113
138
|
if (functionExists && (parenthesisIsNotOpen || parenthesisIsNotClosed)) {
|
|
114
|
-
errorList.push(new MissingParenthesisError(resultNode));
|
|
139
|
+
inference.errorList.push(new MissingParenthesisError(resultNode));
|
|
115
140
|
}
|
|
116
141
|
return resultNode;
|
|
117
142
|
}
|
|
@@ -122,6 +147,7 @@ function createLiteralValue({ from, to }, dataType, value) {
|
|
|
122
147
|
value,
|
|
123
148
|
from,
|
|
124
149
|
to,
|
|
150
|
+
primitive: dataType,
|
|
125
151
|
};
|
|
126
152
|
}
|
|
127
153
|
function createUnknownValue({ from, to }, text) {
|
|
@@ -130,6 +156,7 @@ function createUnknownValue({ from, to }, text) {
|
|
|
130
156
|
from,
|
|
131
157
|
to,
|
|
132
158
|
text,
|
|
159
|
+
primitive: AST_PRIMITIVES.UNKNOWN,
|
|
133
160
|
};
|
|
134
161
|
}
|
|
135
162
|
// "MM/DD/YYYY" or "MM/DD/YYYY HH:mm:ss"
|
|
@@ -157,45 +184,46 @@ function transformDateValue(program, node) {
|
|
|
157
184
|
if (!isValidDate(dateValue))
|
|
158
185
|
return transformStringValue(program, node);
|
|
159
186
|
const value = dateValue.toISOString();
|
|
160
|
-
return createLiteralValue(node,
|
|
187
|
+
return createLiteralValue(node, AST_PRIMITIVES.DATE, value);
|
|
161
188
|
}
|
|
162
189
|
function transformStringValue(program, node) {
|
|
163
190
|
const value = getNodeValue(program, node).slice(1, -1);
|
|
164
|
-
return createLiteralValue(node,
|
|
191
|
+
return createLiteralValue(node, AST_PRIMITIVES.STRING, value);
|
|
165
192
|
}
|
|
166
193
|
function transformNumberValue(program, node) {
|
|
167
194
|
const value = parseFloat(getNodeValue(program, node));
|
|
168
|
-
return createLiteralValue(node,
|
|
195
|
+
return createLiteralValue(node, AST_PRIMITIVES.NUMBER, value);
|
|
169
196
|
}
|
|
170
197
|
function transformBooleanValue(program, node) {
|
|
171
198
|
const value = getNodeValue(program, node) === 'true';
|
|
172
|
-
return createLiteralValue(node,
|
|
199
|
+
return createLiteralValue(node, AST_PRIMITIVES.BOOLEAN, value);
|
|
173
200
|
}
|
|
174
201
|
function transformNullValue(_program, node) {
|
|
175
|
-
return createLiteralValue(node,
|
|
176
|
-
}
|
|
177
|
-
function transformArrayValue(program, node, errorList, context) {
|
|
178
|
-
const childValue = node.getChildren('Value');
|
|
179
|
-
const value = childValue
|
|
180
|
-
? childValue.map((childNode) => {
|
|
181
|
-
const nodeResult = transformNode(program, childNode, errorList, context);
|
|
182
|
-
return (nodeResult !== null && nodeResult !== void 0 ? nodeResult : createUnknownValue(childNode, getNodeValue(program, childNode)));
|
|
183
|
-
})
|
|
184
|
-
: [];
|
|
185
|
-
return createLiteralValue(node, 'array', value);
|
|
202
|
+
return createLiteralValue(node, AST_PRIMITIVES.NULL, null);
|
|
186
203
|
}
|
|
187
|
-
function transformVariableValue(program, node, context) {
|
|
204
|
+
function transformVariableValue(program, node, inference, context) {
|
|
205
|
+
var _a;
|
|
188
206
|
let variableValue = getNodeValue(program, node).slice(1, -1);
|
|
189
207
|
const variableContext = getVariableContext(variableValue, context);
|
|
190
208
|
const variableType = getVariableType(variableContext);
|
|
191
209
|
if (variableType === 'Token')
|
|
192
210
|
variableValue = `{{${variableValue}}}`;
|
|
211
|
+
const variableExistInInference = inference.formulaVariables
|
|
212
|
+
.map((v) => v.id)
|
|
213
|
+
.includes(variableValue);
|
|
214
|
+
if (!variableExistInInference)
|
|
215
|
+
inference.formulaVariables.push(variableContext !== null && variableContext !== void 0 ? variableContext : {
|
|
216
|
+
id: variableValue,
|
|
217
|
+
label: variableValue,
|
|
218
|
+
type: AST_PRIMITIVES.STRING,
|
|
219
|
+
});
|
|
193
220
|
return {
|
|
194
221
|
type: variableType,
|
|
195
222
|
value: variableValue,
|
|
196
223
|
context: variableContext,
|
|
197
224
|
from: node.from,
|
|
198
225
|
to: node.to,
|
|
226
|
+
primitive: (_a = variableContext === null || variableContext === void 0 ? void 0 : variableContext.type) !== null && _a !== void 0 ? _a : AST_PRIMITIVES.UNKNOWN,
|
|
199
227
|
};
|
|
200
228
|
}
|
|
201
229
|
//# sourceMappingURL=json-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-parser.js","sourceRoot":"","sources":["../../../src/parser/json-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-parser.js","sourceRoot":"","sources":["../../../src/parser/json-parser.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACH,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,kBAAkB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACH,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,6BAA6B,CAAC;AAErC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,MAAM,UAAU,YAAY,CACxB,OAAe,EACf,SAAqB,EACrB,OAAwB;;IAExB,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,MAAM,YAAY,GAAG,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG;QACd,SAAS,EAAE,YAAY;QACvB,gBAAgB,EAAE,EAAE;KACvB,CAAC;IACF,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACrE,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc;QACvB,IAAI;QACJ,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,MAAM;QACN,SAAS;QACT,SAAS,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,mCAAI,cAAc,CAAC,OAAO;KACvD,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAClB,OAAe,EACf,IAAgB,EAChB,SAA2B,EAC3B,OAAwB;IAExB,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,QAAQ,IAAI,CAAC,IAAI,EAAE;QACf,KAAK,kBAAkB;YACnB,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACxE,KAAK,iBAAiB;YAClB,OAAO,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvE,KAAK,UAAU;YACX,OAAO,2BAA2B,CAC9B,OAAO,EACP,IAAI,EACJ,SAAS,EACT,OAAO,CACV,CAAC;QACN,KAAK,QAAQ;YACT,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/C,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACT,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/C,KAAK,SAAS;YACV,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM;YACP,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7C,KAAK,UAAU;YACX,OAAO,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACrE;YACI,OAAO,IAAI,CAAC,UAAU;gBAClB,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;gBAC7D,CAAC,CAAC,SAAS,CAAC;KACvB;AACL,CAAC;AAED,SAAS,yBAAyB,CAC9B,OAAe,EACf,IAAgB,EAChB,SAA2B,EAC3B,OAAwB;IAExB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,aAAa,CACtB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,OAAO,CACG,CAAC;IACf,MAAM,KAAK,GAAG,aAAa,CACvB,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,CACG,CAAC;IAEf,MAAM,qBAAqB,GACvB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,CAAC,OAAO;QAC/B,IAAmB,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC/C,MAAM,sBAAsB,GACxB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,SAAS,CAAC,OAAO;QAChC,KAAoB,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAEhD,MAAM,SAAS,GACX,IAAI,CAAC,SAAS,MAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAA;QAC/B,CAAC,CAAC,IAAI,CAAC,SAAS;QAChB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;IACjC,MAAM,SAAS,GAAG;QACd,QAAQ,EAAE,YAAY,CAClB,OAAO,EACP,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,aAAa,CAAe,CACjD;QACD,IAAI,EAAE,SAAS,CAAC,gBAAgB;QAChC,IAAI;QACJ,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,SAAS;KACZ,CAAC;IAEF,IACI,CAAC,QAAQ;QACT,CAAC,SAAS;QACV,CAAC,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC;QAClC,CAAC,aAAa,IAAI,CAAC,qBAAqB,IAAI,sBAAsB,CAAC,CAAC,EACtE;QACE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;KACtE;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,wBAAwB,CAC7B,OAAe,EACf,IAAgB,EAChB,SAA2B,EAC3B,OAAwB;IAExB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAe,CAAC;IACxD,MAAM,KAAK,GAAG,aAAa,CACvB,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,CACG,CAAC;IACf,MAAM,SAAS,GAAG,mBAAmB,CACjC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAChB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,OAAO,CACzB;QACG,CAAC,CAAC,KAAK,CAAC,SAAS;QACjB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;IAC7B,MAAM,QAAQ,GAAG;QACb,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;QACzC,IAAI,EAAE,SAAS,CAAC,eAAe;QAC/B,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,SAAS;KACZ,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE;QACZ,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;KACrE;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAChC,OAAe,EACf,IAAgB,EAChB,SAA2B,EAC3B,OAAwB;IAExB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAe,CAAC;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,oBAAoB,GACtB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IAC7D,MAAM,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAE1D,MAAM,QAAQ,GAAG;QACb,IAAI,EAAE,SAAS,CAAC,YAAY;QAC5B,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC;QACzC,SAAS,EAAE,IAAI;YACX,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC7C,MAAM,UAAU,GAAG,aAAa,CAC5B,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,CACV,CAAC;gBACF,OAAO,CACH,UAAU,aAAV,UAAU,cAAV,UAAU,GACV,kBAAkB,CACd,SAAS,EACT,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CACnC,CACJ,CAAC;YACN,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;KACd,CAAC;IACF,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,cAAc;QACjC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GAAG,cAAc;QAC5B,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC;QAC1D,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;IAE7B,MAAM,UAAU,mCAAQ,QAAQ,KAAE,SAAS,GAAE,CAAC;IAC9C,IAAI,cAAc,IAAI,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,EAAE;QACpE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;KACrE;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CACvB,EAAE,IAAI,EAAE,EAAE,EAAc,EACxB,QAAwB,EACxB,KAAmB;IAEnB,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,QAAQ;QACR,KAAK;QACL,IAAI;QACJ,EAAE;QACF,SAAS,EAAE,QAAQ;KACtB,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CACvB,EAAE,IAAI,EAAE,EAAE,EAAc,EACxB,IAAY;IAEZ,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,SAAS,EAAE,cAAc,CAAC,OAAO;KACpC,CAAC;AACN,CAAC;AAED,wCAAwC;AACxC,MAAM,WAAW,GACb,gGAAgG,CAAC;AAErG,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAgB;IACzD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS;QAAE,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE3D,6DAA6D;IAC7D,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,GACnE,SAAS,CAAC;IAEd,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG;QAC7B,MAAM,CAAC,QAAQ,CAAC;QAChB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC;QACf,MAAM,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC;KACvB,CAAC;IAEF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,EAAE,GAAG,kBAAkB;QAAE,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAAE,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAExE,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe,EAAE,IAAgB;IAC3D,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe,EAAE,IAAgB;IAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,IAAgB;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC;IACrD,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,IAAgB;IAC1D,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,sBAAsB,CAC3B,OAAe,EACf,IAAgB,EAChB,SAA2B,EAC3B,OAAwB;;IAExB,IAAI,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,YAAY,KAAK,OAAO;QAAE,aAAa,GAAG,KAAK,aAAa,IAAI,CAAC;IAErE,MAAM,wBAAwB,GAAG,SAAS,CAAC,gBAAgB;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChB,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE7B,IAAI,CAAC,wBAAwB;QACzB,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAC3B,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI;YACf,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,cAAc,CAAC,MAAM;SAC9B,CACJ,CAAC;IAEN,OAAO;QACH,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,SAAS,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,mCAAI,cAAc,CAAC,OAAO;KAC7D,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UnknownTokenError } from '../errors';
|
|
2
2
|
import { getNodeValue } from '../utils';
|
|
3
|
-
import { AST_TYPES } from '../constants';
|
|
3
|
+
import { AST_PRIMITIVES, AST_TYPES } from '../constants';
|
|
4
4
|
export function calculateNodeSyntaxErrors(program, node) {
|
|
5
5
|
const text = getNodeValue(program, node);
|
|
6
6
|
if (text === '')
|
|
@@ -15,6 +15,7 @@ export function calculateNodeSyntaxErrors(program, node) {
|
|
|
15
15
|
from: n.from,
|
|
16
16
|
to: n.to,
|
|
17
17
|
text: textError,
|
|
18
|
+
primitive: AST_PRIMITIVES.UNKNOWN,
|
|
18
19
|
}));
|
|
19
20
|
}
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntax-errors.js","sourceRoot":"","sources":["../../../src/parser/syntax-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"syntax-errors.js","sourceRoot":"","sources":["../../../src/parser/syntax-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,yBAAyB,CACrC,OAAe,EACf,IAAgB;IAEhB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAe,CAAC,CAAC;YACzD,IAAI,SAAS,KAAK,EAAE,EAAE;gBAClB,SAAS,CAAC,IAAI,CACV,IAAI,iBAAiB,CAAC;oBAClB,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,cAAc,CAAC,OAAO;iBACpC,CAAC,CACL,CAAC;aACL;SACJ;IACL,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ENGINES } from '../constants';
|
|
2
|
-
import { ELASTICSEARCH_SCRIPT_NAMES } from '../constants';
|
|
2
|
+
import { ELASTICSEARCH_SCRIPT_NAMES, AST_PRIMITIVES } from '../constants';
|
|
3
3
|
export function columnTranspilation(engine, { value, context }, globalContext) {
|
|
4
4
|
if (!context || !context.replacement)
|
|
5
5
|
return { value };
|
|
@@ -13,7 +13,7 @@ export function columnTranspilation(engine, { value, context }, globalContext) {
|
|
|
13
13
|
}
|
|
14
14
|
function elasticsearch(context, globalContext) {
|
|
15
15
|
const value = `doc['${context.replacement}'].value`;
|
|
16
|
-
if ((context === null || context === void 0 ? void 0 : context.type) ===
|
|
16
|
+
if ((context === null || context === void 0 ? void 0 : context.type) === AST_PRIMITIVES.DATE && (globalContext === null || globalContext === void 0 ? void 0 : globalContext.timezone)) {
|
|
17
17
|
const offset = globalContext === null || globalContext === void 0 ? void 0 : globalContext.timezone.offset;
|
|
18
18
|
return `${ELASTICSEARCH_SCRIPT_NAMES.setTimezone}(${value}, '${offset}')`;
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnTranspilation.js","sourceRoot":"","sources":["../../../src/transpiler/columnTranspilation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"columnTranspilation.js","sourceRoot":"","sources":["../../../src/transpiler/columnTranspilation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ1E,MAAM,UAAU,mBAAmB,CAC/B,MAAe,EACf,EAAE,KAAK,EAAE,OAAO,EAAe,EAC/B,aAA8B;IAE9B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvD,MAAM,eAAe,GAAG;QACpB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa;QACtC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG;QACxB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG;KAC1B,CAAC;IACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,aAAa,CAClB,OAAkC,EAClC,aAA8B;IAE9B,MAAM,KAAK,GAAG,QAAQ,OAAO,CAAC,WAAW,UAAU,CAAC;IACpD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC,IAAI,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAA,EAAE;QAClE,MAAM,MAAM,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,MAAM,CAAC;QAC9C,OAAO,GAAG,0BAA0B,CAAC,WAAW,IAAI,KAAK,MAAM,MAAM,IAAI,CAAC;KAC7E;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,GAAG,CAAC,OAAkC;IAC3C,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC;AACtC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AST_TYPES, CustomOperators } from '../constants';
|
|
1
|
+
import { AST_TYPES, CustomOperators, AST_PRIMITIVES, } from '../constants';
|
|
2
2
|
import { UnknownExpressionError, UnknownFunctionError, } from '../errors/definitions';
|
|
3
3
|
import { functionList } from '../functions';
|
|
4
4
|
import { customFunction as customFunctionUtil, customDateCast, customTimezone, } from '../utils';
|
|
@@ -18,9 +18,14 @@ export class Transpiler {
|
|
|
18
18
|
const { body } = this.ast;
|
|
19
19
|
const result = body ? this.processNode(body) : undefined;
|
|
20
20
|
const expression = unshiftCustomFunctions(this.customFunctionList, result);
|
|
21
|
+
const details = {
|
|
22
|
+
script: result === null || result === void 0 ? void 0 : result.value,
|
|
23
|
+
customFunctions: Array.from(this.customFunctionList).join('\n'),
|
|
24
|
+
};
|
|
21
25
|
return {
|
|
22
26
|
valid: !this.formulaErrorList.hasErrors && body !== undefined,
|
|
23
27
|
errors: this.formulaErrorList.get(),
|
|
28
|
+
details,
|
|
24
29
|
expression: this.formulaErrorList.hasErrors
|
|
25
30
|
? undefined
|
|
26
31
|
: expression,
|
|
@@ -52,11 +57,12 @@ export class Transpiler {
|
|
|
52
57
|
}
|
|
53
58
|
conversionFromColumnToLiteral(data) {
|
|
54
59
|
var _a, _b, _c, _d, _e, _f;
|
|
55
|
-
return this.literal(Object.assign(Object.assign({}, data), { value: (_d = (((_a = this.globalContext) === null || _a === void 0 ? void 0 : _a.sampleData) || {})[(_c = (_b = data.context) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : '']) !== null && _d !== void 0 ? _d : '', dataType: (_f = (_e = data.context) === null || _e === void 0 ? void 0 : _e.type) !== null && _f !== void 0 ? _f :
|
|
60
|
+
return this.literal(Object.assign(Object.assign({}, data), { value: (_d = (((_a = this.globalContext) === null || _a === void 0 ? void 0 : _a.sampleData) || {})[(_c = (_b = data.context) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : '']) !== null && _d !== void 0 ? _d : '', dataType: (_f = (_e = data.context) === null || _e === void 0 ? void 0 : _e.type) !== null && _f !== void 0 ? _f : AST_PRIMITIVES.STRING }));
|
|
56
61
|
}
|
|
57
62
|
column(data) {
|
|
58
63
|
var _a, _b;
|
|
59
|
-
if (((_a = data === null || data === void 0 ? void 0 : data.context) === null || _a === void 0 ? void 0 : _a.type) ===
|
|
64
|
+
if (((_a = data === null || data === void 0 ? void 0 : data.context) === null || _a === void 0 ? void 0 : _a.type) === AST_PRIMITIVES.DATE &&
|
|
65
|
+
((_b = this.globalContext) === null || _b === void 0 ? void 0 : _b.timezone)) {
|
|
60
66
|
const customFunction = customTimezone(this.engine);
|
|
61
67
|
if (customFunction)
|
|
62
68
|
this.customFunctionList.add(customFunction);
|
|
@@ -64,9 +70,9 @@ export class Transpiler {
|
|
|
64
70
|
return columnTranspilation(this.engine, data, this.globalContext);
|
|
65
71
|
}
|
|
66
72
|
literal({ value, dataType }) {
|
|
67
|
-
if (dataType ===
|
|
73
|
+
if (dataType === AST_PRIMITIVES.DATE)
|
|
68
74
|
value = customDateCast(this.engine)(value);
|
|
69
|
-
if (dataType ===
|
|
75
|
+
if (dataType === AST_PRIMITIVES.STRING)
|
|
70
76
|
value = `'${value}'`;
|
|
71
77
|
return { value, dataType };
|
|
72
78
|
}
|
|
@@ -75,16 +81,17 @@ export class Transpiler {
|
|
|
75
81
|
return { value: '' };
|
|
76
82
|
const { value: rightResult } = this.processNode(expression.right);
|
|
77
83
|
const value = `(${expression.operator} ${rightResult})`;
|
|
78
|
-
return { value };
|
|
84
|
+
return { value, dataType: expression.primitive };
|
|
79
85
|
}
|
|
80
|
-
binaryExpression(
|
|
86
|
+
binaryExpression(expression) {
|
|
81
87
|
var _a, _b;
|
|
88
|
+
const { left, operator, right } = expression;
|
|
82
89
|
if (!left || !right)
|
|
83
90
|
return { value: '' };
|
|
84
91
|
const { value: leftResult } = this.processNode(left);
|
|
85
92
|
const { value: rightResult } = this.processNode(right);
|
|
86
93
|
const value = `(${leftResult} ${(_b = (_a = CustomOperators[this.engine]) === null || _a === void 0 ? void 0 : _a[operator]) !== null && _b !== void 0 ? _b : operator} ${rightResult})`;
|
|
87
|
-
return { value };
|
|
94
|
+
return { value, dataType: expression.primitive };
|
|
88
95
|
}
|
|
89
96
|
functionCall(node) {
|
|
90
97
|
const { name, arguments: args } = node;
|
|
@@ -96,7 +103,7 @@ export class Transpiler {
|
|
|
96
103
|
this.customFunctionList.add(customFunction);
|
|
97
104
|
const parameters = args.map((param) => this.processNode(param));
|
|
98
105
|
const value = this.executer(func, parameters, node);
|
|
99
|
-
return { value };
|
|
106
|
+
return { value, dataType: node.primitive };
|
|
100
107
|
}
|
|
101
108
|
executer(func, args, node) {
|
|
102
109
|
validateFuncStructure(node, func, args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transpiler/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { ValidatorResponse } from '../constants/interfaces';
|
|
2
|
-
|
|
2
|
+
import { Primitive } from '../constants';
|
|
3
|
+
export declare function isDateParam(_param: any, dataType: Primitive | undefined): ValidatorResponse;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ERROR_LIST, ERROR_DICTIONARY } from '../errors/dictionary';
|
|
2
|
+
import { AST_PRIMITIVES } from '../constants';
|
|
2
3
|
export function isDateParam(_param, dataType) {
|
|
3
|
-
const valid = dataType ===
|
|
4
|
+
const valid = dataType === AST_PRIMITIVES.DATE;
|
|
4
5
|
if (!valid)
|
|
5
6
|
return Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.missingDate]);
|
|
6
7
|
return { valid };
|