js-gei 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Evaluator/ExpresionLogicService.ts +669 -0
- package/Evaluator/Parser/AddLeadZerosParse.ts +70 -0
- package/Evaluator/Parser/AppearParse.ts +67 -0
- package/Evaluator/Parser/BaseParse.ts +93 -0
- package/Evaluator/Parser/CalcDateParse.ts +73 -0
- package/Evaluator/Parser/CheckParse.ts +99 -0
- package/Evaluator/Parser/CommaParser.ts +17 -0
- package/Evaluator/Parser/ConcatParse.ts +34 -0
- package/Evaluator/Parser/CountParse.ts +26 -0
- package/Evaluator/Parser/EmptyParse.ts +41 -0
- package/Evaluator/Parser/ExistParse.ts +69 -0
- package/Evaluator/Parser/IfParse.ts +388 -0
- package/Evaluator/Parser/IfStategment.ts +345 -0
- package/Evaluator/Parser/InDetailParse.ts +109 -0
- package/Evaluator/Parser/InListParse.ts +57 -0
- package/Evaluator/Parser/LiteralValueParse.ts +36 -0
- package/Evaluator/Parser/LogicalOperatorParse.ts +16 -0
- package/Evaluator/Parser/OnlyExpressionParse.ts +137 -0
- package/Evaluator/Parser/OperatorParse.ts +17 -0
- package/Evaluator/Parser/StartsParse.ts +36 -0
- package/Evaluator/Parser/SubstrParse.ts +110 -0
- package/Evaluator/Parser/SumParse.ts +15 -0
- package/Evaluator/Parser/ToNullParser.ts +0 -0
- package/Evaluator/Parser/TrimParse.ts +30 -0
- package/Evaluator/Parser/UpperLoverParse.ts +41 -0
- package/Evaluator/Parser/ValueFromObjParse.ts +37 -0
- package/Evaluator/Parser/ValueParse.ts +61 -0
- package/HelperSessionStorage.ts +13 -0
- package/Interfaces/SchemaStruct.ts +28 -0
- package/Library/jsonrpc-2.0.js +869 -0
- package/Structure/InvoiceObj.ts +691 -0
- package/Structure/RecordArray.ts +145 -0
- package/Structure/RecordSingle.ts +1076 -0
- package/Structure/TableLevel.ts +248 -0
- package/dist/Evaluator/ExpresionLogicService.js +505 -0
- package/dist/Evaluator/Parser/AddLeadZerosParse.js +55 -0
- package/dist/Evaluator/Parser/AppearParse.js +48 -0
- package/dist/Evaluator/Parser/BaseParse.js +89 -0
- package/dist/Evaluator/Parser/CalcDateParse.js +54 -0
- package/dist/Evaluator/Parser/CheckParse.js +80 -0
- package/dist/Evaluator/Parser/CommaParser.js +13 -0
- package/dist/Evaluator/Parser/ConcatParse.js +29 -0
- package/dist/Evaluator/Parser/CountParse.js +23 -0
- package/dist/Evaluator/Parser/EmptyParse.js +35 -0
- package/dist/Evaluator/Parser/ExistParse.js +57 -0
- package/dist/Evaluator/Parser/IfParse.js +296 -0
- package/dist/Evaluator/Parser/IfStategment.js +287 -0
- package/dist/Evaluator/Parser/InDetailParse.js +79 -0
- package/dist/Evaluator/Parser/InListParse.js +40 -0
- package/dist/Evaluator/Parser/LiteralValueParse.js +26 -0
- package/dist/Evaluator/Parser/LogicalOperatorParse.js +13 -0
- package/dist/Evaluator/Parser/OnlyExpressionParse.js +106 -0
- package/dist/Evaluator/Parser/OperatorParse.js +13 -0
- package/dist/Evaluator/Parser/StartsParse.js +30 -0
- package/dist/Evaluator/Parser/SubstrParse.js +83 -0
- package/dist/Evaluator/Parser/SumParse.js +13 -0
- package/dist/Evaluator/Parser/ToNullParser.js +1 -0
- package/dist/Evaluator/Parser/TrimParse.js +25 -0
- package/dist/Evaluator/Parser/UpperLoverParse.js +32 -0
- package/dist/Evaluator/Parser/ValueFromObjParse.js +29 -0
- package/dist/Evaluator/Parser/ValueParse.js +59 -0
- package/dist/HelperSessionStorage.js +12 -0
- package/dist/Interfaces/SchemaStruct.js +2 -0
- package/dist/Structure/InvoiceObj.js +610 -0
- package/dist/Structure/RecordArray.js +102 -0
- package/dist/Structure/RecordSingle.js +950 -0
- package/dist/Structure/TableLevel.js +162 -0
- package/dist/index.js +19 -0
- package/index.ts +20 -0
- package/package.json +20 -0
- package/tsconfig.json +103 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SumParse = void 0;
|
|
4
|
+
const BaseParse_1 = require("./BaseParse");
|
|
5
|
+
class SumParse extends BaseParse_1.BaseParse {
|
|
6
|
+
constructor(valueExpression, funname) {
|
|
7
|
+
super(valueExpression, funname);
|
|
8
|
+
}
|
|
9
|
+
Evaluate(obj, critm, record, item) {
|
|
10
|
+
return obj.SumByKey(this.Expression);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SumParse = SumParse;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrimParse = void 0;
|
|
4
|
+
const BaseParse_1 = require("./BaseParse");
|
|
5
|
+
const ExpresionLogicService_1 = require("../ExpresionLogicService");
|
|
6
|
+
class TrimParse extends BaseParse_1.BaseParse {
|
|
7
|
+
constructor(valueExpression, funname) {
|
|
8
|
+
super(valueExpression, funname);
|
|
9
|
+
}
|
|
10
|
+
Evaluate(obj, critm, record, item) {
|
|
11
|
+
var express = ExpresionLogicService_1.ExpresionLogicService.GetExpressions(this.Expression, this);
|
|
12
|
+
if (express == null) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
if (express.length == 1) {
|
|
16
|
+
var value = express[0].Evaluate(obj, critm, record, item);
|
|
17
|
+
if (typeof value == "string") {
|
|
18
|
+
return value.trim();
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
return express.length;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.TrimParse = TrimParse;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpperLowerParse = void 0;
|
|
4
|
+
const BaseParse_1 = require("./BaseParse");
|
|
5
|
+
const ExpresionLogicService_1 = require("../ExpresionLogicService");
|
|
6
|
+
class UpperLowerParse extends BaseParse_1.BaseParse {
|
|
7
|
+
constructor(valueExpression, funname) {
|
|
8
|
+
super(valueExpression, funname);
|
|
9
|
+
this.lower = true;
|
|
10
|
+
if (funname.toLowerCase() == "upper(") {
|
|
11
|
+
this.lower = false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
Evaluate(obj, critm, record, item) {
|
|
15
|
+
var express = ExpresionLogicService_1.ExpresionLogicService.GetExpressions(this.Expression, this);
|
|
16
|
+
if (express == null) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
var value = ExpresionLogicService_1.ExpresionLogicService.ConcatValues(express, obj, critm, record, item);
|
|
20
|
+
if (value == null) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
if (typeof value == "string") {
|
|
24
|
+
if (this.lower) {
|
|
25
|
+
return value.toLowerCase();
|
|
26
|
+
}
|
|
27
|
+
return value.toUpperCase();
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.UpperLowerParse = UpperLowerParse;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValueFromObjParse = void 0;
|
|
4
|
+
const BaseParse_1 = require("./BaseParse");
|
|
5
|
+
const ExpresionLogicService_1 = require("../ExpresionLogicService");
|
|
6
|
+
class ValueFromObjParse extends BaseParse_1.BaseParse {
|
|
7
|
+
constructor(valueExpression, numeric) {
|
|
8
|
+
super(valueExpression, null);
|
|
9
|
+
this.Numeric = false;
|
|
10
|
+
this.Numeric = numeric;
|
|
11
|
+
}
|
|
12
|
+
Evaluate(obj, critm, record, item) {
|
|
13
|
+
var value = ExpresionLogicService_1.ExpresionLogicService.ValueExpresion(item, this.Expression, obj, critm);
|
|
14
|
+
if (value == null) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
if (this.Numeric) {
|
|
18
|
+
if (typeof value == "string") {
|
|
19
|
+
return parseFloat(value);
|
|
20
|
+
}
|
|
21
|
+
if (typeof value == "number") {
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
throw "Value is " + typeof value + " isn't number type!";
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.ValueFromObjParse = ValueFromObjParse;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValueParse = void 0;
|
|
4
|
+
const BaseParse_1 = require("./BaseParse");
|
|
5
|
+
class ValueParse extends BaseParse_1.BaseParse {
|
|
6
|
+
constructor(valueExpression, numeric) {
|
|
7
|
+
super(valueExpression, null);
|
|
8
|
+
this.Table = "";
|
|
9
|
+
this.FieldName = "";
|
|
10
|
+
this.Position = "";
|
|
11
|
+
var outerSplit = this.Expression.split(",");
|
|
12
|
+
var position = "first";
|
|
13
|
+
if (outerSplit.length == 2) {
|
|
14
|
+
position = outerSplit[1];
|
|
15
|
+
}
|
|
16
|
+
var split = outerSplit[0].split(".");
|
|
17
|
+
this.Table = split[0];
|
|
18
|
+
this.FieldName = split[1];
|
|
19
|
+
this.Position = position;
|
|
20
|
+
}
|
|
21
|
+
Evaluate(obj, critm, record, item) {
|
|
22
|
+
var tablelevel = obj.FindTableLevel(this.Table);
|
|
23
|
+
if (tablelevel == null) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
let validRecord = null;
|
|
27
|
+
if (tablelevel.Record != null) {
|
|
28
|
+
validRecord = tablelevel.Record;
|
|
29
|
+
}
|
|
30
|
+
else if (tablelevel.Records != null) {
|
|
31
|
+
var rec = tablelevel.Records;
|
|
32
|
+
if (rec.Records.length == 0) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
if (this.Position.toLowerCase() == "first") {
|
|
36
|
+
validRecord = rec.Records[0].Record;
|
|
37
|
+
}
|
|
38
|
+
else if (this.Position.toLowerCase() == "first") {
|
|
39
|
+
validRecord = rec.Records[rec.Records.length - 1].Record;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (validRecord == null) {
|
|
43
|
+
throw "Can't find valid record for " + this.Table + "!";
|
|
44
|
+
}
|
|
45
|
+
if (validRecord[this.FieldName] == null) {
|
|
46
|
+
throw "Value not defined for fieldname " + this.FieldName + "!";
|
|
47
|
+
}
|
|
48
|
+
var value = validRecord[this.FieldName];
|
|
49
|
+
if (value == null) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
if (typeof value == "number") {
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
return value.ToString();
|
|
56
|
+
;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.ValueParse = ValueParse;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
class HelperSessionStorage {
|
|
3
|
+
static hasKey(key) {
|
|
4
|
+
return this.getFromSessionStorage(key) != null;
|
|
5
|
+
}
|
|
6
|
+
static getFromSessionStorage(key) {
|
|
7
|
+
return localStorage.getItem(key);
|
|
8
|
+
}
|
|
9
|
+
static setToSessionStorage(key, value) {
|
|
10
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
11
|
+
}
|
|
12
|
+
}
|