@freelog/freelog-cg-collection 1.2.11 → 1.2.13

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.
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyMapper = void 0;
4
+ const fs = require("fs");
5
+ class PolicyMapper {
6
+ static compileResult4Old2New(compileResult) {
7
+ let eventConfigs = JSON.parse(fs.readFileSync("./resources/context_config/event_configs.json", "utf-8"));
8
+ let eventNameMap = new Map([["TransactionEvent", "Pay"], ["RelativeTimeEvent", "Relative"], ["TimeEvent", "Schedule"]]);
9
+ let compileResultNew = {
10
+ audienceSection: {
11
+ conditions: [],
12
+ audiences: compileResult["audiences"].map(a => {
13
+ return a["name"].toUpperCase();
14
+ })
15
+ },
16
+ contractDeclarationSection: { contractDeclarations: [] },
17
+ varDeclarationList: [],
18
+ stateMachine: []
19
+ };
20
+ for (let stateData of Object.entries(compileResult["states"])) {
21
+ let stateInfo = { stateName: stateData[0], serviceStateSection: {}, events: [] };
22
+ if (stateInfo.stateName == "initial") {
23
+ stateInfo.stateName = "Initial";
24
+ }
25
+ if (stateData[1]["serviceStates"].includes("active")) {
26
+ stateInfo.serviceStateSection["serviceState"] = "Permit";
27
+ }
28
+ if (stateData[1]["transitions"].length != 0) {
29
+ for (let transitionInfo of stateData[1]["transitions"]) {
30
+ let eventConfig = eventConfigs.find(ec => ec["name"] == eventNameMap.get(transitionInfo["name"]));
31
+ if (eventConfig == null) {
32
+ continue;
33
+ }
34
+ let eventInfo = {
35
+ type: "normal",
36
+ eventName: eventConfig["name"],
37
+ eventPath: eventConfig["path"],
38
+ eventParamList: [],
39
+ toState: transitionInfo["toState"]
40
+ };
41
+ // 参数处理
42
+ for (let paramConfig of eventConfig["paramList"]) {
43
+ let paramValue = transitionInfo["args"][paramConfig["name"]];
44
+ if (paramValue != null) {
45
+ switch (paramConfig["type"]) {
46
+ case "number":
47
+ eventInfo.eventParamList.push({
48
+ // paramName: paramConfig["name"],
49
+ paramValueObj: { expType: "number", value: Number(paramValue) }
50
+ });
51
+ break;
52
+ case "string":
53
+ eventInfo.eventParamList.push({
54
+ paramValueObj: { expType: "string", value: paramValue }
55
+ });
56
+ break;
57
+ case "boolean":
58
+ eventInfo.eventParamList.push({
59
+ paramValueObj: { expType: "boolean", value: paramValue == "true" }
60
+ });
61
+ break;
62
+ }
63
+ }
64
+ }
65
+ // 特殊事件参数处理
66
+ if (eventInfo.eventName == "Pay") {
67
+ eventInfo.eventParamList.push({ paramValueObj: { expType: "number", value: 1 } });
68
+ }
69
+ stateInfo.events.push(eventInfo);
70
+ }
71
+ }
72
+ else {
73
+ stateInfo.events.push({ type: "terminate", eventName: "terminate" });
74
+ }
75
+ compileResultNew.stateMachine.push(stateInfo);
76
+ }
77
+ return compileResultNew;
78
+ }
79
+ }
80
+ exports.PolicyMapper = PolicyMapper;
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9saWN5TWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xzL1BvbGljeU1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFFekIsTUFBYSxZQUFZO0lBRXJCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhO1FBQ3RDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQywrQ0FBK0MsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLElBQUksWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4SCxJQUFJLGdCQUFnQixHQUFHO1lBQ25CLGVBQWUsRUFBRTtnQkFDYixVQUFVLEVBQUUsRUFBRTtnQkFDZCxTQUFTLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25DLENBQUMsQ0FBQzthQUNMO1lBQ0QsMEJBQTBCLEVBQUUsRUFBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQUM7WUFDdEQsa0JBQWtCLEVBQUUsRUFBRTtZQUN0QixZQUFZLEVBQUUsRUFBRTtTQUNuQixDQUFDO1FBQ0YsS0FBSyxJQUFJLFNBQVMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDNUQsSUFBSSxTQUFTLEdBQUcsRUFBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFB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
package/index.js CHANGED
@@ -20,6 +20,8 @@ const {GetPostHelper} = require("./dist/helper/GetPostHelper");
20
20
  const {ContractStateMachine} = require("./dist/state-machine/ContractStateMachine");
21
21
  const {ContractFsmHook} = require("./dist/state-machine/ContractFsmHook");
22
22
  const {DynamicFunctionExecutor} = require("./dist/function-executor/DynamicFunctionExecutor");
23
+ const {PolicyDecompiler} = require("./dist/tools/PolicyDecompiler");
24
+ const {PolicyMapper} = require("./dist/tools/PolicyMapper");
23
25
 
24
26
  exports.PolicyHelper = PolicyHelper;
25
27
  exports.FunctionHelper = FunctionHelper
@@ -37,6 +39,9 @@ exports.GetPostHelper = GetPostHelper;
37
39
  exports.ContractStateMachine = ContractStateMachine;
38
40
  exports.ContractFsmHook = ContractFsmHook;
39
41
 
42
+ exports.PolicyDecompiler = PolicyDecompiler;
43
+ exports.PolicyMapper = PolicyMapper;
44
+
40
45
  exports.compile = async function (serviceName, policyText) {
41
46
  let chars = new antlr4.InputStream(policyText);
42
47
 
@@ -71,8 +76,6 @@ exports.compile = async function (serviceName, policyText) {
71
76
  let visitor = new CollectionPolicyCustomVisitor(serviceName);
72
77
  visitor.setPolicyData(dataVisitor.getData());
73
78
  visitor.visit(tree);
74
- // await visitor.verify();
75
- // visitor.combine();
76
79
 
77
80
  return {
78
81
  audienceSection: visitor.audienceSection,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@freelog/freelog-cg-collection",
3
- "version": "1.2.11",
3
+ "version": "1.2.13",
4
4
  "main": "index.js",
5
5
  "dependencies": {
6
6
  "antlr4": "4.8.0",
@@ -51,7 +51,62 @@
51
51
  ]
52
52
  },
53
53
  "contractDeclarationSection": {
54
- "contractDeclarations": []
54
+ "contractDeclarations": [
55
+ {
56
+ "type": "contractDeclaration",
57
+ "content": "USE&Contract(subject=Echo.<连载小说的会员>,policyId=echoCorePolicyId,licensee=contract.licensee)ASmembership",
58
+ "keywords": [
59
+ "USE"
60
+ ],
61
+ "varValueObj": {
62
+ "expType": "varContractDeclaration",
63
+ "keyword": "USE",
64
+ "type": "Contract",
65
+ "conditions": [
66
+ {
67
+ "paramValue": "Echo.<连载小说的会员>",
68
+ "paramValueObj": {
69
+ "expType": "entity",
70
+ "entityType": "Echo",
71
+ "entityName": "连载小说的会员",
72
+ "variableChainList": []
73
+ },
74
+ "content": "subject=Echo.<连载小说的会员>",
75
+ "paramName": "subject"
76
+ },
77
+ {
78
+ "paramValue": "echoCorePolicyId",
79
+ "paramValueObj": {
80
+ "expType": "variableChain",
81
+ "varType": "normal",
82
+ "content": "echoCorePolicyId",
83
+ "variableChainList": [
84
+ "echoCorePolicyId"
85
+ ]
86
+ },
87
+ "content": "policyId=echoCorePolicyId",
88
+ "paramName": "policyId"
89
+ },
90
+ {
91
+ "paramValue": "contract.licensee",
92
+ "paramValueObj": {
93
+ "expType": "variableChain",
94
+ "varType": "normal",
95
+ "content": "contract.licensee",
96
+ "variableChainList": [
97
+ "contract.licensee"
98
+ ]
99
+ },
100
+ "content": "licensee=contract.licensee",
101
+ "paramName": "licensee"
102
+ }
103
+ ],
104
+ "varName": "membership",
105
+ "varValue": "USE&Contract(subject=Echo.<连载小说的会员>,policyId=echoCorePolicyId,licensee=contract.licensee)",
106
+ "varValueType": "any"
107
+ }
108
+ }
109
+ ]
55
110
  },
56
111
  "varDeclarationList": [
57
112
  {
@@ -136,12 +191,19 @@
136
191
  },
137
192
  {
138
193
  "type": "varMacro",
139
- "content": "unitPrice<-1",
194
+ "content": "unitPrice<-(+1)",
140
195
  "varName": "unitPrice",
141
- "varValue": "1",
196
+ "varValue": "(+1)",
142
197
  "varValueObj": {
143
- "expType": "number",
144
- "value": "1",
198
+ "expType": "expParen",
199
+ "var1": {
200
+ "expType": "expSigned",
201
+ "var1": {
202
+ "expType": "number",
203
+ "value": "1"
204
+ },
205
+ "symbol": "+"
206
+ },
145
207
  "variableChainList": []
146
208
  },
147
209
  "varValueType": "number"
@@ -181,6 +243,147 @@
181
243
  "variableChainList": []
182
244
  },
183
245
  "varValueType": "array"
246
+ },
247
+ {
248
+ "type": "expCustom",
249
+ "content": "defExprs2CalculateExpr(sumAmounts,discount1,discount2)=[sumAmountsgreater10000:discount1*(sumAmounts-10000)+discount2*7500,sumAmountsgreater2500andsumAmountslessOrEqual10000:discount2*(sumAmounts-2500),0]",
250
+ "varName": "s2CalculateExpr",
251
+ "varValue": "[sumAmountsgreater10000:discount1*(sumAmounts-10000)+discount2*7500,sumAmountsgreater2500andsumAmountslessOrEqual10000:discount2*(sumAmounts-2500),0]",
252
+ "varValueObj": {
253
+ "expType": "expCondition",
254
+ "paramList": [
255
+ {
256
+ "paramValue": "discount1*(sumAmounts-10000)+discount2*7500",
257
+ "paramValueObj": {
258
+ "expType": "expOp",
259
+ "var1": {
260
+ "expType": "expOp",
261
+ "var1": {
262
+ "expType": "variableChain",
263
+ "varType": "normal",
264
+ "content": "discount1"
265
+ },
266
+ "var2": {
267
+ "expType": "expParen",
268
+ "var1": {
269
+ "expType": "expOp",
270
+ "var1": {
271
+ "expType": "variableChain",
272
+ "varType": "normal",
273
+ "content": "sumAmounts"
274
+ },
275
+ "var2": {
276
+ "expType": "number",
277
+ "value": "10000"
278
+ },
279
+ "op": "-"
280
+ }
281
+ },
282
+ "op": "*"
283
+ },
284
+ "var2": {
285
+ "expType": "expOp",
286
+ "var1": {
287
+ "expType": "variableChain",
288
+ "varType": "normal",
289
+ "content": "discount2"
290
+ },
291
+ "var2": {
292
+ "expType": "number",
293
+ "value": "7500"
294
+ },
295
+ "op": "*"
296
+ },
297
+ "op": "+"
298
+ },
299
+ "paramCondition": "sumAmountsgreater10000",
300
+ "paramConditionObj": {
301
+ "expType": "expBooleanOpCompare",
302
+ "var1": {
303
+ "expType": "variableChain",
304
+ "varType": "normal",
305
+ "content": "sumAmounts"
306
+ },
307
+ "var2": {
308
+ "expType": "number",
309
+ "value": "10000"
310
+ },
311
+ "op": "greater"
312
+ }
313
+ },
314
+ {
315
+ "paramValue": "discount2*(sumAmounts-2500)",
316
+ "paramValueObj": {
317
+ "expType": "expOp",
318
+ "var1": {
319
+ "expType": "variableChain",
320
+ "varType": "normal",
321
+ "content": "discount2"
322
+ },
323
+ "var2": {
324
+ "expType": "expParen",
325
+ "var1": {
326
+ "expType": "expOp",
327
+ "var1": {
328
+ "expType": "variableChain",
329
+ "varType": "normal",
330
+ "content": "sumAmounts"
331
+ },
332
+ "var2": {
333
+ "expType": "number",
334
+ "value": "2500"
335
+ },
336
+ "op": "-"
337
+ }
338
+ },
339
+ "op": "*"
340
+ },
341
+ "paramCondition": "sumAmountsgreater2500andsumAmountslessOrEqual10000",
342
+ "paramConditionObj": {
343
+ "expType": "expBooleanOpLogic",
344
+ "var1": {
345
+ "expType": "expBooleanOpCompare",
346
+ "var1": {
347
+ "expType": "variableChain",
348
+ "varType": "normal",
349
+ "content": "sumAmounts"
350
+ },
351
+ "var2": {
352
+ "expType": "number",
353
+ "value": "2500"
354
+ },
355
+ "op": "greater"
356
+ },
357
+ "var2": {
358
+ "expType": "expBooleanOpCompare",
359
+ "var1": {
360
+ "expType": "variableChain",
361
+ "varType": "normal",
362
+ "content": "sumAmounts"
363
+ },
364
+ "var2": {
365
+ "expType": "number",
366
+ "value": "10000"
367
+ },
368
+ "op": "lessOrEqual"
369
+ },
370
+ "op": "and"
371
+ }
372
+ },
373
+ {
374
+ "paramValue": "0",
375
+ "paramValueObj": {
376
+ "expType": "number",
377
+ "value": "0"
378
+ }
379
+ }
380
+ ]
381
+ },
382
+ "paramList": [
383
+ "sumAmounts",
384
+ "discount1",
385
+ "discount2"
386
+ ]
184
387
  }
185
388
  ],
186
389
  "stateMachine": [
@@ -321,87 +524,6 @@
321
524
  ],
322
525
  "eventCode": "V101",
323
526
  "eventId": "b3449b02"
324
- },
325
- {
326
- "type": "normal",
327
- "content": "Event.Time.Relative(1,\"minute\")->AUTH_MEMBER{fun.setLabel({\"label\":\"vip1\",\"ttl\":1800})}",
328
- "config_params": [
329
- {
330
- "name": "elapsed",
331
- "type": "number"
332
- },
333
- {
334
- "name": "timeUnit",
335
- "type": "string"
336
- }
337
- ],
338
- "eventName": "Relative",
339
- "variableChainList": [],
340
- "eventParamList": [
341
- {
342
- "paramValue": "1",
343
- "paramValueObj": {
344
- "expType": "number",
345
- "value": "1",
346
- "variableChainList": []
347
- },
348
- "content": "1"
349
- },
350
- {
351
- "paramValue": "\"minute\"",
352
- "paramValueObj": {
353
- "expType": "string",
354
- "value": "minute",
355
- "variableChainList": []
356
- },
357
- "content": "\"minute\""
358
- }
359
- ],
360
- "toState": "AUTH_MEMBER",
361
- "stateContextArgs": [],
362
- "actions": [
363
- {
364
- "type": "functionCall",
365
- "content": "fun.setLabel({\"label\":\"vip1\",\"ttl\":1800})",
366
- "actionObj": {
367
- "funcName": "setLabel",
368
- "variableChainList": [],
369
- "paramList": [
370
- {
371
- "paramValue": "{\"label\":\"vip1\",\"ttl\":1800}",
372
- "paramValueObj": {
373
- "expType": "expArgsGroup",
374
- "paramList": [
375
- {
376
- "paramName": "label",
377
- "paramValue": "\"vip1\"",
378
- "paramValueObj": {
379
- "expType": "string",
380
- "value": "vip1"
381
- }
382
- },
383
- {
384
- "paramName": "ttl",
385
- "paramValue": "1800",
386
- "paramValueObj": {
387
- "expType": "number",
388
- "value": "1800"
389
- }
390
- }
391
- ],
392
- "variableChainList": []
393
- },
394
- "content": "{\"label\":\"vip1\",\"ttl\":1800}"
395
- }
396
- ],
397
- "expType": "functionCall",
398
- "varChain": "fun"
399
- }
400
- }
401
- ],
402
- "eventPath": "Time",
403
- "eventCode": "T201",
404
- "eventId": "04e9cfdc"
405
527
  }
406
528
  ],
407
529
  "serviceStateSection": {
@@ -765,45 +887,109 @@
765
887
  },
766
888
  {
767
889
  "type": "normal",
768
- "content": "Event.Time.Relative(2,\"minute\")->FINISH",
890
+ "content": "Event.Time.Schedule(Time.AddTime(Time.GetTime(Time.Now(),\"day\"),1,\"day\"))->AUTH_MEMBER{fun.clearElems(setTemp)}",
769
891
  "config_params": [
770
892
  {
771
- "name": "elapsed",
772
- "type": "number"
773
- },
774
- {
775
- "name": "timeUnit",
893
+ "name": "dateTime",
776
894
  "type": "string"
777
895
  }
778
896
  ],
779
- "eventName": "Relative",
897
+ "eventName": "Schedule",
780
898
  "variableChainList": [],
781
899
  "eventParamList": [
782
900
  {
783
- "paramValue": "2",
784
- "paramValueObj": {
785
- "expType": "number",
786
- "value": "2",
787
- "variableChainList": []
788
- },
789
- "content": "2"
790
- },
791
- {
792
- "paramValue": "\"minute\"",
901
+ "paramValue": "Time.AddTime(Time.GetTime(Time.Now(),\"day\"),1,\"day\")",
793
902
  "paramValueObj": {
794
- "expType": "string",
795
- "value": "minute",
796
- "variableChainList": []
903
+ "funcName": "AddTime",
904
+ "variableChainList": [],
905
+ "paramList": [
906
+ {
907
+ "paramValue": "Time.GetTime(Time.Now(),\"day\")",
908
+ "paramValueObj": {
909
+ "funcName": "GetTime",
910
+ "variableChainList": [],
911
+ "paramList": [
912
+ {
913
+ "paramValue": "Time.Now()",
914
+ "paramValueObj": {
915
+ "funcName": "Now",
916
+ "variableChainList": [],
917
+ "paramList": [],
918
+ "expType": "functionCall",
919
+ "varChain": "Time"
920
+ },
921
+ "content": "Time.Now()"
922
+ },
923
+ {
924
+ "paramValue": "\"day\"",
925
+ "paramValueObj": {
926
+ "expType": "string",
927
+ "value": "day"
928
+ },
929
+ "content": "\"day\""
930
+ }
931
+ ],
932
+ "expType": "functionCall",
933
+ "varChain": "Time"
934
+ },
935
+ "content": "Time.GetTime(Time.Now(),\"day\")"
936
+ },
937
+ {
938
+ "paramValue": "1",
939
+ "paramValueObj": {
940
+ "expType": "number",
941
+ "value": "1"
942
+ },
943
+ "content": "1"
944
+ },
945
+ {
946
+ "paramValue": "\"day\"",
947
+ "paramValueObj": {
948
+ "expType": "string",
949
+ "value": "day"
950
+ },
951
+ "content": "\"day\""
952
+ }
953
+ ],
954
+ "expType": "functionCall",
955
+ "varChain": "Time"
797
956
  },
798
- "content": "\"minute\""
957
+ "content": "Time.AddTime(Time.GetTime(Time.Now(),\"day\"),1,\"day\")"
799
958
  }
800
959
  ],
801
- "toState": "FINISH",
960
+ "toState": "AUTH_MEMBER",
802
961
  "stateContextArgs": [],
803
- "actions": [],
962
+ "actions": [
963
+ {
964
+ "type": "functionCall",
965
+ "content": "fun.clearElems(setTemp)",
966
+ "actionObj": {
967
+ "funcName": "clearElems",
968
+ "variableChainList": [
969
+ "setTemp"
970
+ ],
971
+ "paramList": [
972
+ {
973
+ "paramValue": "setTemp",
974
+ "paramValueObj": {
975
+ "expType": "variableChain",
976
+ "varType": "normal",
977
+ "content": "setTemp",
978
+ "variableChainList": [
979
+ "setTemp"
980
+ ]
981
+ },
982
+ "content": "setTemp"
983
+ }
984
+ ],
985
+ "expType": "functionCall",
986
+ "varChain": "fun"
987
+ }
988
+ }
989
+ ],
804
990
  "eventPath": "Time",
805
- "eventCode": "T201",
806
- "eventId": "51f53f20"
991
+ "eventCode": "T202",
992
+ "eventId": "490d5f83"
807
993
  }
808
994
  ],
809
995
  "serviceStateSection": {
@@ -841,6 +1027,18 @@
841
1027
  "variableChainList": []
842
1028
  },
843
1029
  "varValueType": "array"
1030
+ },
1031
+ {
1032
+ "type": "varAssigment",
1033
+ "content": "a=3",
1034
+ "varName": "a",
1035
+ "varValue": "3",
1036
+ "varValueObj": {
1037
+ "expType": "number",
1038
+ "value": "3",
1039
+ "variableChainList": []
1040
+ },
1041
+ "varValueType": "number"
844
1042
  }
845
1043
  ],
846
1044
  "events": [
@@ -1755,7 +1953,7 @@
1755
1953
  ]
1756
1954
  },
1757
1955
  {
1758
- "stateName": "FINISH",
1956
+ "stateName": "ABC",
1759
1957
  "assignments": [],
1760
1958
  "events": [
1761
1959
  {