@qrvey/formula-lang 2.0.1-rc.537 → 2.0.1-rc.565
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/dist/cjs/errors/analyzer/elasticsearch.js +12 -0
- package/dist/cjs/errors/analyzer/elasticsearch.js.map +1 -1
- package/dist/cjs/functions/hour.js +3 -3
- package/dist/cjs/functions/hour.js.map +1 -1
- package/dist/cjs/main.js +5 -4
- package/dist/cjs/main.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/validateFuncStructure.js +5 -2
- package/dist/cjs/transpiler/validateFuncStructure.js.map +1 -1
- package/dist/cjs/utils/escapeCharacters.js +4 -1
- package/dist/cjs/utils/escapeCharacters.js.map +1 -1
- package/dist/module/errors/analyzer/elasticsearch.js +12 -0
- package/dist/module/errors/analyzer/elasticsearch.js.map +1 -1
- package/dist/module/functions/hour.js +3 -3
- package/dist/module/functions/hour.js.map +1 -1
- package/dist/module/main.js +5 -4
- package/dist/module/main.js.map +1 -1
- package/dist/module/transpiler/columnTranspilation.js +1 -1
- package/dist/module/transpiler/columnTranspilation.js.map +1 -1
- package/dist/module/transpiler/validateFuncStructure.js +6 -3
- package/dist/module/transpiler/validateFuncStructure.js.map +1 -1
- package/dist/module/utils/escapeCharacters.js +4 -1
- package/dist/module/utils/escapeCharacters.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,14 @@ const errorList = [
|
|
|
19
19
|
regex: /.* Cannot apply .* operation to types .* and .*/,
|
|
20
20
|
value: dictionary_1.ERROR_LIST.unknownToken,
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
regex: /cannot apply the .* operator .* to the types .* and .*/,
|
|
24
|
+
value: dictionary_1.ERROR_LIST.nulls,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
regex: /Cannot cast from .* to .*/,
|
|
28
|
+
value: dictionary_1.ERROR_LIST.nulls,
|
|
29
|
+
},
|
|
22
30
|
{
|
|
23
31
|
regex: /.* document doesn't have a value .* Use .*size\(\)==0 to check if a document is missing a field.*/,
|
|
24
32
|
value: dictionary_1.ERROR_LIST.nulls,
|
|
@@ -35,6 +43,10 @@ const errorList = [
|
|
|
35
43
|
regex: /Invalid int constant .*/,
|
|
36
44
|
value: dictionary_1.ERROR_LIST.invalidCastNumber,
|
|
37
45
|
},
|
|
46
|
+
{
|
|
47
|
+
regex: /.* Cannot cast from .* to .*/,
|
|
48
|
+
value: dictionary_1.ERROR_LIST.unknownToken,
|
|
49
|
+
},
|
|
38
50
|
{
|
|
39
51
|
regex: /null_pointer_exception/,
|
|
40
52
|
value: dictionary_1.ERROR_LIST.nulls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAZD,0BAYC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,uBAAU,CAAC,UAAU;KAC/B;IACD;QACI,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,uBAAU,CAAC,iBAAiB;KACtC;IACD;QACI,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":";;;AAAA,8CAA2C;AAE3C,SAAgB,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAZD,0BAYC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,wDAAwD;QAC/D,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,2BAA2B;QAClC,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,uBAAU,CAAC,UAAU;KAC/B;IACD;QACI,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,uBAAU,CAAC,iBAAiB;KACtC;IACD;QACI,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,uBAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,uBAAU,CAAC,KAAK;KAC1B;CACJ,CAAC"}
|
|
@@ -38,14 +38,14 @@ function elasticsearch(value, timeFormat) {
|
|
|
38
38
|
function SQL(value, timeFormat) {
|
|
39
39
|
if ((0, utils_1.removeQuotes)(timeFormat !== null && timeFormat !== void 0 ? timeFormat : '') === '12h') {
|
|
40
40
|
return `(CASE
|
|
41
|
-
WHEN DATE_PART(HOUR, ${value})::INTEGER % 12 = 0 THEN
|
|
41
|
+
WHEN DATE_PART('HOUR', ${value})::INTEGER % 12 = 0 THEN
|
|
42
42
|
12
|
|
43
43
|
ELSE
|
|
44
|
-
DATE_PART(HOUR, ${value})::INTEGER % 12
|
|
44
|
+
DATE_PART('HOUR', ${value})::INTEGER % 12
|
|
45
45
|
END)`;
|
|
46
46
|
}
|
|
47
47
|
else {
|
|
48
|
-
return `DATE_PART('
|
|
48
|
+
return `DATE_PART('HOUR', ${value})`;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
function snowflake(value, timeFormat) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hour.js","sourceRoot":"","sources":["../../../src/functions/hour.ts"],"names":[],"mappings":";;;AACA,4DAA4D;AAC5D,oCAAoE;AACpE,4CAA8C;AAC9C,gEAA6D;AAE7D;;GAEG;AACU,QAAA,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,mBAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAa,EAAE,IAAA,mCAAgB,EAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC/D;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa,EAAE,UAAmB;IACrD,OAAO,IAAA,oBAAU,EAAC,KAAK,EAAE,IAAA,oBAAY,EAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,UAAmB;IAC3C,IAAI,IAAA,oBAAY,EAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,KAAK,KAAK,EAAE;QAC1C,OAAO;
|
|
1
|
+
{"version":3,"file":"hour.js","sourceRoot":"","sources":["../../../src/functions/hour.ts"],"names":[],"mappings":";;;AACA,4DAA4D;AAC5D,oCAAoE;AACpE,4CAA8C;AAC9C,gEAA6D;AAE7D;;GAEG;AACU,QAAA,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,0BAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,mBAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,0BAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,qBAAa,EAAE,IAAA,mCAAgB,EAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC/D;KACJ;IACD,UAAU,EAAE;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,UAAU;KACb;IACD,eAAe,EAAE,0BAAc,CAAC,MAAM;CACzC,CAAC;AAEF,SAAS,aAAa,CAAC,KAAa,EAAE,UAAmB;IACrD,OAAO,IAAA,oBAAU,EAAC,KAAK,EAAE,IAAA,oBAAY,EAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,UAAmB;IAC3C,IAAI,IAAA,oBAAY,EAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,KAAK,KAAK,EAAE;QAC1C,OAAO;qCACsB,KAAK;;;oCAGN,KAAK;eAC1B,CAAC;KACX;SAAM;QACH,OAAO,qBAAqB,KAAK,GAAG,CAAC;KACxC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,UAAmB;IACjD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,UAAmB;IAChD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,UAAmB;IAClD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/cjs/main.js
CHANGED
|
@@ -4,11 +4,12 @@ const _1 = require(".");
|
|
|
4
4
|
const qformula_grammar_1 = require("./grammar/qformula.grammar");
|
|
5
5
|
customElements.whenDefined('q-codemirror-test').then(load);
|
|
6
6
|
window.formulaSetting = {
|
|
7
|
-
domain: 'https://manualqastg.qrvey.com',
|
|
8
|
-
apiKey: 'xtwLW2ZLa4rAcZPef9dD3BOQReBnx5klXPqBKGjm',
|
|
9
7
|
domainTest: 'http://localhost:3000',
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
// Set information to test. NO Commit!
|
|
9
|
+
domain: '',
|
|
10
|
+
apiKey: '',
|
|
11
|
+
userId: '',
|
|
12
|
+
appId: '',
|
|
12
13
|
};
|
|
13
14
|
function load() {
|
|
14
15
|
const quiFormulaEditor = document.querySelector('q-codemirror-integrated-test');
|
package/dist/cjs/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;AAAA,wBAA+C;AAC/C,iEAA0D;AAE1D,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAc,CAAC,cAAc,GAAG;IAC7B,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;AAAA,wBAA+C;AAC/C,iEAA0D;AAE1D,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAc,CAAC,cAAc,GAAG;IAC7B,UAAU,EAAE,uBAAuB;IACnC,sCAAsC;IACtC,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACZ,CAAC;AAEF,SAAS,IAAI;IACT,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAC3C,8BAA8B,CACjC,CAAC;IACF,IAAI,gBAAgB,EAAE;QACjB,gBAAwB,CAAC,KAAK,GAAG,OAAO,CAAC;QACzC,gBAAwB,CAAC,WAAW,GAAG;YACpC,kBAAkB,EAAE,eAAY;YAChC,kBAAkB,EAAE,eAAY;YAChC,cAAc,EAAE,+BAAY;SAC/B,CAAC;KACL;AACL,CAAC"}
|
|
@@ -33,7 +33,7 @@ function elasticsearch(context, globalContext) {
|
|
|
33
33
|
return `${constants_1.ELASTICSEARCH_SCRIPT_NAMES.setTimezone}(${value}, '${offset}')`;
|
|
34
34
|
}
|
|
35
35
|
else if ((context === null || context === void 0 ? void 0 : context.type) === constants_1.AST_PRIMITIVES.NUMBER) {
|
|
36
|
-
return `(double) ${value}`;
|
|
36
|
+
return `(${value} !== null) ? (double) ${value} : ${value}`;
|
|
37
37
|
}
|
|
38
38
|
return value;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnTranspilation.js","sourceRoot":"","sources":["../../../src/transpiler/columnTranspilation.ts"],"names":[],"mappings":";;;AAAA,4CAKsB;AAQtB,SAAgB,mBAAmB,CAC/B,MAAe,EACf,UAAuB,EACvB,aAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACtC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;QAChC,OAAO;YACH,KAAK;YACL,IAAI,EAAE,qBAAS,CAAC,MAAM;YACtB,QAAQ,EAAE,0BAAc,CAAC,OAAO;YAChC,IAAI,EAAE,UAAU;SACnB,CAAC;IACN,MAAM,eAAe,GAAG;QACpB,CAAC,mBAAO,CAAC,aAAa,CAAC,EAAE,aAAa;QACtC,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,GAAG;QACxB,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,GAAG;QACvB,CAAC,mBAAO,CAAC,UAAU,CAAC,EAAE,GAAG;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,OAAO;QACH,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,IAAI,EAAE,UAAU;KACnB,CAAC;AACN,CAAC;AA1BD,kDA0BC;AAED,SAAS,aAAa,CAClB,OAAkC,EAClC,aAA8B;IAE9B,MAAM,KAAK,GAAG,kBAAkB,OAAO,CAAC,WAAW,KAAK,CAAC;IACzD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,0BAAc,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,sCAA0B,CAAC,WAAW,IAAI,KAAK,MAAM,MAAM,IAAI,CAAC;KAC7E;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,0BAAc,CAAC,MAAM,EAAE;QAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"columnTranspilation.js","sourceRoot":"","sources":["../../../src/transpiler/columnTranspilation.ts"],"names":[],"mappings":";;;AAAA,4CAKsB;AAQtB,SAAgB,mBAAmB,CAC/B,MAAe,EACf,UAAuB,EACvB,aAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACtC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;QAChC,OAAO;YACH,KAAK;YACL,IAAI,EAAE,qBAAS,CAAC,MAAM;YACtB,QAAQ,EAAE,0BAAc,CAAC,OAAO;YAChC,IAAI,EAAE,UAAU;SACnB,CAAC;IACN,MAAM,eAAe,GAAG;QACpB,CAAC,mBAAO,CAAC,aAAa,CAAC,EAAE,aAAa;QACtC,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,GAAG;QACxB,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,GAAG;QACvB,CAAC,mBAAO,CAAC,UAAU,CAAC,EAAE,GAAG;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,OAAO;QACH,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,IAAI,EAAE,UAAU;KACnB,CAAC;AACN,CAAC;AA1BD,kDA0BC;AAED,SAAS,aAAa,CAClB,OAAkC,EAClC,aAA8B;IAE9B,MAAM,KAAK,GAAG,kBAAkB,OAAO,CAAC,WAAW,KAAK,CAAC;IACzD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,0BAAc,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,sCAA0B,CAAC,WAAW,IAAI,KAAK,MAAM,MAAM,IAAI,CAAC;KAC7E;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,0BAAc,CAAC,MAAM,EAAE;QAChD,OAAO,IAAI,KAAK,yBAAyB,KAAK,MAAM,KAAK,EAAE,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,GAAG,CAAC,OAAkC;IAC3C,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC;IACzC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,0BAAc,CAAC,MAAM,EAAE;QACzC,OAAO,GAAG,KAAK,UAAU,CAAC;KAC7B;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -20,11 +20,14 @@ function validateFuncStructure(definition, args, node) {
|
|
|
20
20
|
while (parameterIndex < parameters.length) {
|
|
21
21
|
const parameter = parameters[parameterIndex];
|
|
22
22
|
const { value, dataType } = (_a = args[argumentIndex]) !== null && _a !== void 0 ? _a : {};
|
|
23
|
-
if ((0, isNull_1.isNull)(value) && parameter.optional) {
|
|
23
|
+
if ((0, isNull_1.isNull)(value) && (0, isNull_1.isNull)(dataType) && parameter.optional) {
|
|
24
24
|
incrementCounter();
|
|
25
25
|
continue;
|
|
26
26
|
}
|
|
27
|
-
if
|
|
27
|
+
// Valid if the parameter is required or if it is optional but needs to be specified ex RIGHT("Text",)
|
|
28
|
+
if ((0, isNull_1.isNull)(value) &&
|
|
29
|
+
(!parameter.optional ||
|
|
30
|
+
(parameter.optional && dataType === constants_1.AST_PRIMITIVES.UNKNOWN))) {
|
|
28
31
|
invalidValidator = true;
|
|
29
32
|
hasMismatch = true;
|
|
30
33
|
execValidators.push(Object.assign(Object.assign({ valid: false, source: constants_1.RESPONSE_LEVEL.function }, dictionary_1.ERROR_DICTIONARY[dictionary_1.ERROR_LIST.missingArg]), { parameter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateFuncStructure.js","sourceRoot":"","sources":["../../../src/transpiler/validateFuncStructure.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"validateFuncStructure.js","sourceRoot":"","sources":["../../../src/transpiler/validateFuncStructure.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ const escapeCharacters = (inputString, engine) => {
|
|
|
7
7
|
return inputString; // In the context if pass a number instead, return.
|
|
8
8
|
let value = inputString.replace(
|
|
9
9
|
// eslint-disable-next-line no-control-regex
|
|
10
|
-
/[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => {
|
|
10
|
+
/(\\")|(\\')|[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => {
|
|
11
11
|
switch (char) {
|
|
12
12
|
case '\0':
|
|
13
13
|
return '\\\\0';
|
|
@@ -27,6 +27,9 @@ const escapeCharacters = (inputString, engine) => {
|
|
|
27
27
|
case '%':
|
|
28
28
|
// prepends a backslash to backslash, percent, and double/single quotes
|
|
29
29
|
return '\\' + char;
|
|
30
|
+
case '\\"':
|
|
31
|
+
case `\\'`:
|
|
32
|
+
return char;
|
|
30
33
|
default:
|
|
31
34
|
return '';
|
|
32
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAEhC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,mDAAmD;IAC5G,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,
|
|
1
|
+
{"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAEhC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,mDAAmD;IAC5G,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,wCAAwC,EACxC,CAAC,IAAY,EAAE,EAAE;QACb,QAAQ,IAAI,EAAE;YACV,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,uEAAuE;gBACvE,OAAO,IAAI,GAAG,IAAI,CAAC;YACvB,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACN,OAAO,IAAI,CAAC;YAChB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC,CACJ,CAAC;IACF,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;IACrB,IAAI,MAAM,KAAK,mBAAO,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,KAAK,EAAE,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AA1CW,QAAA,gBAAgB,oBA0C3B"}
|
|
@@ -15,6 +15,14 @@ const errorList = [
|
|
|
15
15
|
regex: /.* Cannot apply .* operation to types .* and .*/,
|
|
16
16
|
value: ERROR_LIST.unknownToken,
|
|
17
17
|
},
|
|
18
|
+
{
|
|
19
|
+
regex: /cannot apply the .* operator .* to the types .* and .*/,
|
|
20
|
+
value: ERROR_LIST.nulls,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
regex: /Cannot cast from .* to .*/,
|
|
24
|
+
value: ERROR_LIST.nulls,
|
|
25
|
+
},
|
|
18
26
|
{
|
|
19
27
|
regex: /.* document doesn't have a value .* Use .*size\(\)==0 to check if a document is missing a field.*/,
|
|
20
28
|
value: ERROR_LIST.nulls,
|
|
@@ -31,6 +39,10 @@ const errorList = [
|
|
|
31
39
|
regex: /Invalid int constant .*/,
|
|
32
40
|
value: ERROR_LIST.invalidCastNumber,
|
|
33
41
|
},
|
|
42
|
+
{
|
|
43
|
+
regex: /.* Cannot cast from .* to .*/,
|
|
44
|
+
value: ERROR_LIST.unknownToken,
|
|
45
|
+
},
|
|
34
46
|
{
|
|
35
47
|
regex: /null_pointer_exception/,
|
|
36
48
|
value: ERROR_LIST.nulls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,UAAU,CAAC,UAAU;KAC/B;IACD;QACI,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,UAAU,CAAC,iBAAiB;KACtC;IACD;QACI,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"elasticsearch.js","sourceRoot":"","sources":["../../../../src/errors/analyzer/elasticsearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,QAAa;IACjC,IAAI,EACA,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GACpC,GAAG,QAAQ,CAAC;IACb,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxB,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG;IACd;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,wDAAwD;QAC/D,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,2BAA2B;QAClC,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,mGAAmG;QAC1G,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;IACD;QACI,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,UAAU,CAAC,UAAU;KAC/B;IACD;QACI,KAAK,EAAE,0BAA0B;QACjC,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,UAAU,CAAC,iBAAiB;KACtC;IACD;QACI,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,UAAU,CAAC,YAAY;KACjC;IACD;QACI,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,UAAU,CAAC,KAAK;KAC1B;CACJ,CAAC"}
|
|
@@ -35,14 +35,14 @@ function elasticsearch(value, timeFormat) {
|
|
|
35
35
|
function SQL(value, timeFormat) {
|
|
36
36
|
if (removeQuotes(timeFormat !== null && timeFormat !== void 0 ? timeFormat : '') === '12h') {
|
|
37
37
|
return `(CASE
|
|
38
|
-
WHEN DATE_PART(HOUR, ${value})::INTEGER % 12 = 0 THEN
|
|
38
|
+
WHEN DATE_PART('HOUR', ${value})::INTEGER % 12 = 0 THEN
|
|
39
39
|
12
|
|
40
40
|
ELSE
|
|
41
|
-
DATE_PART(HOUR, ${value})::INTEGER % 12
|
|
41
|
+
DATE_PART('HOUR', ${value})::INTEGER % 12
|
|
42
42
|
END)`;
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
return `DATE_PART('
|
|
45
|
+
return `DATE_PART('HOUR', ${value})`;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
function snowflake(value, timeFormat) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hour.js","sourceRoot":"","sources":["../../../src/functions/hour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC/D;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,EAAE,UAAmB;IACrD,OAAO,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,UAAmB;IAC3C,IAAI,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,KAAK,KAAK,EAAE;QAC1C,OAAO;
|
|
1
|
+
{"version":3,"file":"hour.js","sourceRoot":"","sources":["../../../src/functions/hour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAuB;IACpC,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE;QACR;YACI,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,cAAc,CAAC,IAAI;YACtC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;QACD;YACI,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC/D;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,EAAE,UAAmB;IACrD,OAAO,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,UAAmB;IAC3C,IAAI,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,KAAK,KAAK,EAAE;QAC1C,OAAO;qCACsB,KAAK;;;oCAGN,KAAK;eAC1B,CAAC;KACX;SAAM;QACH,OAAO,qBAAqB,KAAK,GAAG,CAAC;KACxC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,UAAmB;IACjD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,UAAmB;IAChD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,UAAmB;IAClD,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/module/main.js
CHANGED
|
@@ -2,11 +2,12 @@ import { TranspileAST, calculateAST } from '.';
|
|
|
2
2
|
import { QFormulaLang } from './grammar/qformula.grammar';
|
|
3
3
|
customElements.whenDefined('q-codemirror-test').then(load);
|
|
4
4
|
window.formulaSetting = {
|
|
5
|
-
domain: 'https://manualqastg.qrvey.com',
|
|
6
|
-
apiKey: 'xtwLW2ZLa4rAcZPef9dD3BOQReBnx5klXPqBKGjm',
|
|
7
5
|
domainTest: 'http://localhost:3000',
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
// Set information to test. NO Commit!
|
|
7
|
+
domain: '',
|
|
8
|
+
apiKey: '',
|
|
9
|
+
userId: '',
|
|
10
|
+
appId: '',
|
|
10
11
|
};
|
|
11
12
|
function load() {
|
|
12
13
|
const quiFormulaEditor = document.querySelector('q-codemirror-integrated-test');
|
package/dist/module/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAc,CAAC,cAAc,GAAG;IAC7B,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAc,CAAC,cAAc,GAAG;IAC7B,UAAU,EAAE,uBAAuB;IACnC,sCAAsC;IACtC,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACZ,CAAC;AAEF,SAAS,IAAI;IACT,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAC3C,8BAA8B,CACjC,CAAC;IACF,IAAI,gBAAgB,EAAE;QACjB,gBAAwB,CAAC,KAAK,GAAG,OAAO,CAAC;QACzC,gBAAwB,CAAC,WAAW,GAAG;YACpC,kBAAkB,EAAE,YAAY;YAChC,kBAAkB,EAAE,YAAY;YAChC,cAAc,EAAE,YAAY;SAC/B,CAAC;KACL;AACL,CAAC"}
|
|
@@ -29,7 +29,7 @@ function elasticsearch(context, globalContext) {
|
|
|
29
29
|
return `${ELASTICSEARCH_SCRIPT_NAMES.setTimezone}(${value}, '${offset}')`;
|
|
30
30
|
}
|
|
31
31
|
else if ((context === null || context === void 0 ? void 0 : context.type) === AST_PRIMITIVES.NUMBER) {
|
|
32
|
-
return `(double) ${value}`;
|
|
32
|
+
return `(${value} !== null) ? (double) ${value} : ${value}`;
|
|
33
33
|
}
|
|
34
34
|
return value;
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnTranspilation.js","sourceRoot":"","sources":["../../../src/transpiler/columnTranspilation.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,0BAA0B,EAC1B,cAAc,EACd,SAAS,EACT,OAAO,GACV,MAAM,cAAc,CAAC;AAQtB,MAAM,UAAU,mBAAmB,CAC/B,MAAe,EACf,UAAuB,EACvB,aAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACtC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;QAChC,OAAO;YACH,KAAK;YACL,IAAI,EAAE,SAAS,CAAC,MAAM;YACtB,QAAQ,EAAE,cAAc,CAAC,OAAO;YAChC,IAAI,EAAE,UAAU;SACnB,CAAC;IACN,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;QACvB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,OAAO;QACH,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,IAAI,EAAE,UAAU;KACnB,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAClB,OAAkC,EAClC,aAA8B;IAE9B,MAAM,KAAK,GAAG,kBAAkB,OAAO,CAAC,WAAW,KAAK,CAAC;IACzD,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;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC,MAAM,EAAE;QAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"columnTranspilation.js","sourceRoot":"","sources":["../../../src/transpiler/columnTranspilation.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,0BAA0B,EAC1B,cAAc,EACd,SAAS,EACT,OAAO,GACV,MAAM,cAAc,CAAC;AAQtB,MAAM,UAAU,mBAAmB,CAC/B,MAAe,EACf,UAAuB,EACvB,aAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACtC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;QAChC,OAAO;YACH,KAAK;YACL,IAAI,EAAE,SAAS,CAAC,MAAM;YACtB,QAAQ,EAAE,cAAc,CAAC,OAAO;YAChC,IAAI,EAAE,UAAU;SACnB,CAAC;IACN,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;QACvB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,OAAO;QACH,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,IAAI,EAAE,UAAU;KACnB,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAClB,OAAkC,EAClC,aAA8B;IAE9B,MAAM,KAAK,GAAG,kBAAkB,OAAO,CAAC,WAAW,KAAK,CAAC;IACzD,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;SAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC,MAAM,EAAE;QAChD,OAAO,IAAI,KAAK,yBAAyB,KAAK,MAAM,KAAK,EAAE,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,GAAG,CAAC,OAAkC;IAC3C,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC;IACzC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC,MAAM,EAAE;QACzC,OAAO,GAAG,KAAK,UAAU,CAAC;KAC7B;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RESPONSE_LEVEL } from '../constants';
|
|
1
|
+
import { AST_PRIMITIVES, RESPONSE_LEVEL } from '../constants';
|
|
2
2
|
import { isNull } from '../utils/isNull';
|
|
3
3
|
import { validateParameters, FunctionArgumentsMismatch, ArgumentValidatorError, } from '../errors';
|
|
4
4
|
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
@@ -17,11 +17,14 @@ export function validateFuncStructure(definition, args, node) {
|
|
|
17
17
|
while (parameterIndex < parameters.length) {
|
|
18
18
|
const parameter = parameters[parameterIndex];
|
|
19
19
|
const { value, dataType } = (_a = args[argumentIndex]) !== null && _a !== void 0 ? _a : {};
|
|
20
|
-
if (isNull(value) && parameter.optional) {
|
|
20
|
+
if (isNull(value) && isNull(dataType) && parameter.optional) {
|
|
21
21
|
incrementCounter();
|
|
22
22
|
continue;
|
|
23
23
|
}
|
|
24
|
-
if
|
|
24
|
+
// Valid if the parameter is required or if it is optional but needs to be specified ex RIGHT("Text",)
|
|
25
|
+
if (isNull(value) &&
|
|
26
|
+
(!parameter.optional ||
|
|
27
|
+
(parameter.optional && dataType === AST_PRIMITIVES.UNKNOWN))) {
|
|
25
28
|
invalidValidator = true;
|
|
26
29
|
hasMismatch = true;
|
|
27
30
|
execValidators.push(Object.assign(Object.assign({ valid: false, source: RESPONSE_LEVEL.function }, ERROR_DICTIONARY[ERROR_LIST.missingArg]), { parameter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateFuncStructure.js","sourceRoot":"","sources":["../../../src/transpiler/validateFuncStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"validateFuncStructure.js","sourceRoot":"","sources":["../../../src/transpiler/validateFuncStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,GACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,UAAU,qBAAqB,CACjC,UAA8B,EAC9B,IAA8B,EAC9B,IAAqB;;IAErB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,cAAc,IAAI,CAAC,CAAC;QACpB,aAAa,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,cAAc,GAAiC,EAAE,CAAC;IACxD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,OAAO,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE;QACvC,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC;QAEtD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE;YACzD,gBAAgB,EAAE,CAAC;YACnB,SAAS;SACZ;QACD,sGAAsG;QACtG,IACI,MAAM,CAAC,KAAK,CAAC;YACb,CAAC,CAAC,SAAS,CAAC,QAAQ;gBAChB,CAAC,SAAS,CAAC,QAAQ,IAAI,QAAQ,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC,EAClE;YACE,gBAAgB,GAAG,IAAI,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC;YACnB,cAAc,CAAC,IAAI,+BACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,CAAC,QAAQ,IAC5B,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAC1C,SAAS;gBACT,aAAa,IACf,CAAC;SACN;QAED,MAAM,gBAAgB,GAAG;YACrB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,MAAA,IAAI,CAAC,aAAa,CAAC,mCAAI,EAAE;SACtC,CAAC;QAEF,KAAK,MAAM,iBAAiB,IAAI,SAAS,CAAC,SAAS,EAAE;YACjD,MAAM,SAAS,GAAG,iBAAiB,CAC/B,KAAK,EACL,QAAQ,EACR,gBAAgB,CACnB,CAAC;YACF,cAAc,CAAC,IAAI,iCACZ,SAAS,KACZ,SAAS;gBACT,aAAa,IACf,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;gBAClB,IAAI,SAAS,CAAC,YAAY,IAAI,CAAC,WAAW;oBAAE,WAAW,GAAG,IAAI,CAAC;gBAC/D,IAAI,CAAC,gBAAgB;oBAAE,gBAAgB,GAAG,IAAI,CAAC;gBAC/C,MAAM;aACT;SACJ;QAED,gBAAgB,EAAE,CAAC;QACnB,MAAM,sBAAsB,GAAG,cAAc,KAAK,UAAU,CAAC,MAAM,CAAC;QACpE,MAAM,gBAAgB,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACrD,MAAM,WAAW,GAAG,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,gBAAgB,CAAA,KAAK,QAAQ,CAAC;QACrE,IAAI,sBAAsB,IAAI,gBAAgB,IAAI,WAAW,EAAE;YAC3D,cAAc,GAAG,UAAU,CAAC,gBAA0B,CAAC;SAC1D;KACJ;IAED,IAAI,gBAAgB,EAAE;QAClB,IAAI,WAAW,EAAE;YACb,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1C,UAAU,EAAE,cAAc;aAC7B,CAAC,CAAC;SACN;aAAM;YACH,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,eAAe;gBAAE,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SAClE;KACJ;IAED,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE;QAC7B,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,UAAU,CAAC,gBAAgB;SACrC,CAAC,CAAC;KACN;AACL,CAAC;AAED,SAAS,qBAAqB,CAC1B,UAA8B,EAC9B,IAA8B,EAC9B,IAAqB,EACrB,aAGC,EACD,SAA6B;;IAE7B,MAAM,aAAa,mBACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,CAAC,QAAQ,IAC5B,gBAAgB,CAAC,MAAA,aAAa,CAAC,KAAK,mCAAI,UAAU,CAAC,OAAO,CAAC,CACjE,CAAC;IACF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CACxD,UAAU,EACV,IAAI,EACJ,aAAa,CAAC,UAAU,CAC3B,CAAC;IAEF,MAAM,IAAI,yBAAyB,CAAC;QAChC,IAAI;QACJ,SAAS;QACT,SAAS,EAAE,SAAS,IAAI,aAAa;QACrC,QAAQ;QACR,QAAQ;KACX,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CACvB,IAAqB,EACrB,SAAqC;IAErC,MAAM,IAAI,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -4,7 +4,7 @@ export const escapeCharacters = (inputString, engine) => {
|
|
|
4
4
|
return inputString; // In the context if pass a number instead, return.
|
|
5
5
|
let value = inputString.replace(
|
|
6
6
|
// eslint-disable-next-line no-control-regex
|
|
7
|
-
/[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => {
|
|
7
|
+
/(\\")|(\\')|[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => {
|
|
8
8
|
switch (char) {
|
|
9
9
|
case '\0':
|
|
10
10
|
return '\\\\0';
|
|
@@ -24,6 +24,9 @@ export const escapeCharacters = (inputString, engine) => {
|
|
|
24
24
|
case '%':
|
|
25
25
|
// prepends a backslash to backslash, percent, and double/single quotes
|
|
26
26
|
return '\\' + char;
|
|
27
|
+
case '\\"':
|
|
28
|
+
case `\\'`:
|
|
29
|
+
return char;
|
|
27
30
|
default:
|
|
28
31
|
return '';
|
|
29
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,mDAAmD;IAC5G,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,
|
|
1
|
+
{"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,mDAAmD;IAC5G,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,wCAAwC,EACxC,CAAC,IAAY,EAAE,EAAE;QACb,QAAQ,IAAI,EAAE;YACV,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,uEAAuE;gBACvE,OAAO,IAAI,GAAG,IAAI,CAAC;YACvB,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACN,OAAO,IAAI,CAAC;YAChB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC,CACJ,CAAC;IACF,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;IACrB,IAAI,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,KAAK,EAAE,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|