@freelog/freelog-cg-collection 1.2.13 → 1.2.14

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.
Files changed (131) hide show
  1. package/dist/resources/context_config/event_configs.json +126 -0
  2. package/dist/src/calculator/CalculatorFactory.d.ts +17 -0
  3. package/dist/src/calculator/CalculatorFactory.js +40 -0
  4. package/dist/src/calculator/CalculatorFactoryBuilder.d.ts +4 -0
  5. package/dist/src/calculator/CalculatorFactoryBuilder.js +13 -0
  6. package/dist/src/calculator/ExpArgsGroupCalculator.d.ts +12 -0
  7. package/dist/src/calculator/ExpArgsGroupCalculator.js +25 -0
  8. package/dist/src/calculator/ExpBooleanCalculator.d.ts +13 -0
  9. package/dist/src/calculator/ExpBooleanCalculator.js +81 -0
  10. package/dist/src/calculator/ExpCalculator.d.ts +17 -0
  11. package/dist/src/calculator/ExpCalculator.js +56 -0
  12. package/dist/src/calculator/ExpCollectionCalculator.d.ts +0 -0
  13. package/dist/src/calculator/ExpCollectionCalculator.js +1 -0
  14. package/dist/src/calculator/ExpConditionCalculator.d.ts +12 -0
  15. package/dist/src/calculator/ExpConditionCalculator.js +34 -0
  16. package/dist/src/contract-declaration-executor/DefaultContractDeclarationExecutor.d.ts +8 -0
  17. package/dist/src/contract-declaration-executor/DefaultContractDeclarationExecutor.js +13 -0
  18. package/dist/src/contract-declaration-executor/DynamicContractDeclarationExecutor.d.ts +7 -0
  19. package/dist/src/contract-declaration-executor/DynamicContractDeclarationExecutor.js +21 -0
  20. package/dist/src/contract-declaration-executor/USEContractDeclaration.d.ts +4 -0
  21. package/dist/src/contract-declaration-executor/USEContractDeclaration.js +23 -0
  22. package/dist/src/function-executor/ApiFunctionExecutor.d.ts +11 -0
  23. package/dist/src/function-executor/ApiFunctionExecutor.js +17 -0
  24. package/dist/src/function-executor/DefaultFunctionExecutor.d.ts +11 -0
  25. package/dist/src/function-executor/DefaultFunctionExecutor.js +19 -0
  26. package/dist/src/function-executor/DynamicFunctionExecutor.d.ts +13 -0
  27. package/dist/src/function-executor/DynamicFunctionExecutor.js +58 -0
  28. package/dist/src/function-executor/FunFunctionExecutor.d.ts +15 -0
  29. package/dist/src/function-executor/FunFunctionExecutor.js +48 -0
  30. package/dist/src/function-executor/KitFunctionExecutor.d.ts +9 -0
  31. package/dist/src/function-executor/KitFunctionExecutor.js +32 -0
  32. package/dist/src/function-executor/QueryFunctionExecutor.d.ts +40 -0
  33. package/dist/src/function-executor/QueryFunctionExecutor.js +42 -0
  34. package/dist/src/function-executor/TimeFunctionExecutor.d.ts +8 -0
  35. package/dist/src/function-executor/TimeFunctionExecutor.js +51 -0
  36. package/dist/src/helper/ContractDeclarationHelper.d.ts +7 -0
  37. package/dist/src/helper/ContractDeclarationHelper.js +28 -0
  38. package/dist/src/helper/ExpHelper.d.ts +16 -0
  39. package/dist/src/helper/ExpHelper.js +86 -0
  40. package/dist/src/helper/FunctionHelper.d.ts +41 -0
  41. package/dist/src/helper/FunctionHelper.js +161 -0
  42. package/dist/src/helper/GetPostHelper.d.ts +5 -0
  43. package/dist/src/helper/GetPostHelper.js +13 -0
  44. package/dist/src/helper/PolicyHelper.d.ts +102 -0
  45. package/dist/src/helper/PolicyHelper.js +519 -0
  46. package/dist/src/interface/Calculator.d.ts +5 -0
  47. package/dist/src/interface/Calculator.js +3 -0
  48. package/dist/src/interface/ConstantForApi.d.ts +12 -0
  49. package/dist/src/interface/ConstantForApi.js +17 -0
  50. package/dist/src/interface/ContractDeclarationExecute.d.ts +3 -0
  51. package/dist/src/interface/ContractDeclarationExecute.js +3 -0
  52. package/dist/src/interface/ExpHelperAware.d.ts +4 -0
  53. package/dist/src/interface/ExpHelperAware.js +3 -0
  54. package/dist/src/interface/FunctionHelperAware.d.ts +4 -0
  55. package/dist/src/interface/FunctionHelperAware.js +3 -0
  56. package/dist/src/interface/FunctionInvoke.d.ts +4 -0
  57. package/dist/src/interface/FunctionInvoke.js +3 -0
  58. package/dist/src/interface/GetPostInvoke.d.ts +4 -0
  59. package/dist/src/interface/GetPostInvoke.js +3 -0
  60. package/dist/src/interface/OutsideApiServiceAware.d.ts +4 -0
  61. package/dist/src/interface/OutsideApiServiceAware.js +3 -0
  62. package/dist/src/interface/VarContextCapable.d.ts +3 -0
  63. package/dist/src/interface/VarContextCapable.js +3 -0
  64. package/dist/src/model/AssignmentClauseInfo.d.ts +3 -0
  65. package/dist/src/model/AssignmentClauseInfo.js +3 -0
  66. package/dist/src/model/contract-declaration/VarContractDeclarationInfo.d.ts +17 -0
  67. package/dist/src/model/contract-declaration/VarContractDeclarationInfo.js +3 -0
  68. package/dist/src/model/exp/EntityInfo.d.ts +6 -0
  69. package/dist/src/model/exp/EntityInfo.js +3 -0
  70. package/dist/src/model/exp/Exp.d.ts +3 -0
  71. package/dist/src/model/exp/Exp.js +3 -0
  72. package/dist/src/model/exp/ExpAtom.d.ts +3 -0
  73. package/dist/src/model/exp/ExpAtom.js +3 -0
  74. package/dist/src/model/exp/ExpOp.d.ts +7 -0
  75. package/dist/src/model/exp/ExpOp.js +3 -0
  76. package/dist/src/model/exp/ExpParen.d.ts +5 -0
  77. package/dist/src/model/exp/ExpParen.js +3 -0
  78. package/dist/src/model/exp/ExpSigned.d.ts +6 -0
  79. package/dist/src/model/exp/ExpSigned.js +3 -0
  80. package/dist/src/model/exp/FunctionCallInfo.d.ts +12 -0
  81. package/dist/src/model/exp/FunctionCallInfo.js +3 -0
  82. package/dist/src/model/exp/NumberInfo.d.ts +5 -0
  83. package/dist/src/model/exp/NumberInfo.js +3 -0
  84. package/dist/src/model/exp/StringInfo.d.ts +5 -0
  85. package/dist/src/model/exp/StringInfo.js +3 -0
  86. package/dist/src/model/exp/VariableChainInfo.d.ts +6 -0
  87. package/dist/src/model/exp/VariableChainInfo.js +3 -0
  88. package/dist/src/model/exp-args-group/ExpArgsGroup.d.ts +9 -0
  89. package/dist/src/model/exp-args-group/ExpArgsGroup.js +3 -0
  90. package/dist/src/model/exp-boolean/BooleanInfo.d.ts +5 -0
  91. package/dist/src/model/exp-boolean/BooleanInfo.js +3 -0
  92. package/dist/src/model/exp-boolean/ExpBoolean.d.ts +3 -0
  93. package/dist/src/model/exp-boolean/ExpBoolean.js +3 -0
  94. package/dist/src/model/exp-boolean/ExpBooleanAtom.d.ts +3 -0
  95. package/dist/src/model/exp-boolean/ExpBooleanAtom.js +3 -0
  96. package/dist/src/model/exp-boolean/ExpBooleanOpCollection.d.ts +7 -0
  97. package/dist/src/model/exp-boolean/ExpBooleanOpCollection.js +3 -0
  98. package/dist/src/model/exp-boolean/ExpBooleanOpCompare.d.ts +7 -0
  99. package/dist/src/model/exp-boolean/ExpBooleanOpCompare.js +3 -0
  100. package/dist/src/model/exp-boolean/ExpBooleanOpLogic.d.ts +7 -0
  101. package/dist/src/model/exp-boolean/ExpBooleanOpLogic.js +3 -0
  102. package/dist/src/model/exp-boolean/ExpBooleanParen.d.ts +5 -0
  103. package/dist/src/model/exp-boolean/ExpBooleanParen.js +3 -0
  104. package/dist/src/model/exp-collection/ExpCollection.d.ts +9 -0
  105. package/dist/src/model/exp-collection/ExpCollection.js +3 -0
  106. package/dist/src/model/exp-condition/ExpCondition.d.ts +11 -0
  107. package/dist/src/model/exp-condition/ExpCondition.js +3 -0
  108. package/dist/src/model/policy/ActionInfo.d.ts +20 -0
  109. package/dist/src/model/policy/ActionInfo.js +3 -0
  110. package/dist/src/model/policy/ContractDeclarationInfo.d.ts +7 -0
  111. package/dist/src/model/policy/ContractDeclarationInfo.js +7 -0
  112. package/dist/src/model/policy/EventInfo.d.ts +27 -0
  113. package/dist/src/model/policy/EventInfo.js +3 -0
  114. package/dist/src/model/policy/PolicyInfo.d.ts +32 -0
  115. package/dist/src/model/policy/PolicyInfo.js +3 -0
  116. package/dist/src/model/policy/VarDeclarationInfo.d.ts +10 -0
  117. package/dist/src/model/policy/VarDeclarationInfo.js +3 -0
  118. package/dist/src/service/OutsideApiService.d.ts +58 -0
  119. package/dist/src/service/OutsideApiService.js +62 -0
  120. package/dist/src/state-machine/ContractFsmHook.d.ts +17 -0
  121. package/dist/src/state-machine/ContractFsmHook.js +33 -0
  122. package/dist/src/state-machine/ContractStateMachine.d.ts +51 -0
  123. package/dist/src/state-machine/ContractStateMachine.js +190 -0
  124. package/dist/src/tools/PolicyDecompiler.d.ts +26 -0
  125. package/dist/src/tools/PolicyDecompiler.js +298 -0
  126. package/dist/src/tools/PolicyMapper.d.ts +3 -0
  127. package/dist/src/tools/PolicyMapper.js +83 -0
  128. package/package.json +1 -1
  129. package/src/tools/PolicyMapper.ts +1 -2
  130. package/test/library/MomentTest.test.ts +12 -0
  131. package/tsconfig.json +2 -0
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FunctionHelper = void 0;
4
+ const QueryFunctionExecutor_1 = require("../function-executor/QueryFunctionExecutor");
5
+ const KitFunctionExecutor_1 = require("../function-executor/KitFunctionExecutor");
6
+ const TimeFunctionExecutor_1 = require("../function-executor/TimeFunctionExecutor");
7
+ const FunFunctionExecutor_1 = require("../function-executor/FunFunctionExecutor");
8
+ const ApiFunctionExecutor_1 = require("../function-executor/ApiFunctionExecutor");
9
+ const function_configs = require("../../resources/context_config/function_configs.json");
10
+ class FunctionHelper {
11
+ constructor() {
12
+ this.expCustomList = [];
13
+ this.funcExecutors = new Map();
14
+ this.funcExecutors.set("Query", new QueryFunctionExecutor_1.QueryFunctionExecutor());
15
+ this.funcExecutors.set("Kit", new KitFunctionExecutor_1.KitFunctionExecutor());
16
+ this.funcExecutors.set("Time", new TimeFunctionExecutor_1.TimeFunctionExecutor());
17
+ this.funcExecutors.set("fun", new FunFunctionExecutor_1.FunFunctionExecutor());
18
+ this.funcExecutors.set("api", new ApiFunctionExecutor_1.ApiFunctionExecutor());
19
+ }
20
+ setExpCustom(expCustom) {
21
+ this.expCustomList.push(expCustom);
22
+ }
23
+ getExpCustom(functionName) {
24
+ let expCustomListTmp = [...this.expCustomList].reverse();
25
+ return expCustomListTmp.find((elem) => {
26
+ return elem.varName == functionName;
27
+ });
28
+ }
29
+ async getExpValue(varObj, varContextCapable) {
30
+ return this.getFunctionValue(varObj, varContextCapable);
31
+ }
32
+ async getFunctionValue(funcInfo, varContextCapable) {
33
+ let args = [];
34
+ for (let paramElem of funcInfo.paramList) {
35
+ args.push(await this.expHelper.getExpValue(paramElem.paramValueObj, varContextCapable));
36
+ }
37
+ let functionName = funcInfo.funcName;
38
+ if (funcInfo.varChain != null) {
39
+ functionName = `${funcInfo.varChain}.${functionName}`;
40
+ }
41
+ return this.invoke(functionName, args);
42
+ }
43
+ invokeEnable(functionName) {
44
+ throw new Error("这是个空实现,不能被调用!");
45
+ }
46
+ async invoke(functionName, args) {
47
+ console.debug(`invoke 【FunctionHelper】functionName = ${functionName} args = ${JSON.stringify(args)}`);
48
+ let expCustom = this.getExpCustom(functionName);
49
+ if (expCustom != null) {
50
+ let varContextMap = new Map();
51
+ for (let i = 0; i < expCustom["paramList"].length; i++) {
52
+ varContextMap.set(expCustom["paramList"][i], args[i]);
53
+ }
54
+ return this.expHelper.getExpValue(expCustom["varValueObj"], new class {
55
+ getVarContext(varName) {
56
+ return varContextMap.get(varName);
57
+ }
58
+ });
59
+ }
60
+ let executorsIterator = this.funcExecutors.values();
61
+ let executor = null;
62
+ while ((executor = executorsIterator.next().value) != null) {
63
+ if (executor.invokeEnable(functionName)) {
64
+ return executor.invoke(functionName, args);
65
+ }
66
+ }
67
+ throw new Error("invoke fail [FunctionHelper]...");
68
+ }
69
+ addExecutor(executorName, functionName, executor) {
70
+ this.funcExecutors.get(executorName).addExecutor(functionName, executor);
71
+ }
72
+ setExpHelper(expHelper) {
73
+ this.expHelper = expHelper;
74
+ }
75
+ setOutsideApiService(outsideApiService) {
76
+ let executorsIterator = this.funcExecutors.values();
77
+ let executor = null;
78
+ while ((executor = executorsIterator.next().value) != null) {
79
+ executor.setOutsideApiService(outsideApiService);
80
+ }
81
+ }
82
+ /*
83
+ * 参数校验
84
+ */
85
+ argsMatch(paramList, paramConfigList, varValueInfoList) {
86
+ if (paramConfigList.length === 1) {
87
+ let paramConfig = paramConfigList[0];
88
+ if (paramConfig.optional != null && paramConfig.optional) {
89
+ if (paramList.length === 0) {
90
+ return true;
91
+ }
92
+ }
93
+ }
94
+ if (paramList.length != paramConfigList.length) {
95
+ return false;
96
+ }
97
+ for (let i = 0; i < paramList.length; i++) {
98
+ let param = paramList[i];
99
+ let paramConfig = paramConfigList[i];
100
+ let paramType = this.expHelper.guessBaseTypeByExpType(param.paramValueObj, varValueInfoList);
101
+ console.debug(`args -- ${param.paramValue} --> ${paramType}`);
102
+ if (paramType != "any" && paramConfig.type != "any" && paramType != paramConfig.type) {
103
+ return false;
104
+ }
105
+ if (paramConfig.isUpdate != null && paramConfig.isUpdate) {
106
+ let needCheckVarName = null;
107
+ let needCheckValueObj = param.paramValueObj;
108
+ while (needCheckValueObj.expType == "expParen") {
109
+ needCheckValueObj = needCheckValueObj["var1"];
110
+ }
111
+ if (needCheckValueObj.expType == "variableChain") {
112
+ needCheckVarName = needCheckValueObj["content"];
113
+ }
114
+ if (needCheckVarName != null) {
115
+ let varInfo = varValueInfoList.find(s => {
116
+ if (s["scope"] !== "event") {
117
+ return s["varName"] === needCheckVarName;
118
+ }
119
+ else {
120
+ return needCheckVarName.match(s["regex"]) != null;
121
+ }
122
+ });
123
+ if (varInfo != null && varInfo["canUpdate"] != null && varInfo["canUpdate"] === 0) {
124
+ return false;
125
+ }
126
+ }
127
+ }
128
+ }
129
+ return true;
130
+ }
131
+ findFunctionConfig(varChain, funcName) {
132
+ return function_configs.find(fc => {
133
+ let suitable = true;
134
+ if (varChain != null && varChain !== fc["varChain"]) {
135
+ suitable = false;
136
+ }
137
+ if (funcName !== fc["funcName"]) {
138
+ suitable = false;
139
+ }
140
+ return suitable;
141
+ });
142
+ }
143
+ async getVarContext(varName) {
144
+ if (this.varContextProxy != null) {
145
+ return this.varContextProxy.getVarContext(varName);
146
+ }
147
+ else {
148
+ throw new Error("取环境变量失败,varContextProxy is null,哦买噶!");
149
+ }
150
+ }
151
+ setVarContextProxy(varContextProxy) {
152
+ this.varContextProxy = varContextProxy;
153
+ let executorsIterator = this.funcExecutors.values();
154
+ let executor = null;
155
+ while ((executor = executorsIterator.next().value) != null) {
156
+ executor.setVarContextProxy(this);
157
+ }
158
+ }
159
+ }
160
+ exports.FunctionHelper = FunctionHelper;
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnVuY3Rpb25IZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGVscGVyL0Z1bmN0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHNGQUFpRjtBQUNqRixrRkFBNkU7QUFDN0Usb0ZBQStFO0FBQy9FLGtGQUE2RTtBQUM3RSxrRkFBNkU7QUFRN0UsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsc0RBQXNELENBQUMsQ0FBQztBQUV6RixNQUFhLGNBQWM7SUFVdkI7UUFSUSxrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUUxQixrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBTy9ELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLDZDQUFxQixFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSx5Q0FBbUIsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksMkNBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLHlDQUFtQixFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSx5Q0FBbUIsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFjO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBb0I7UUFDN0IsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pELE9BQU8sZ0JB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
@@ -0,0 +1,5 @@
1
+ import { GetPostInvoke } from "../interface/GetPostInvoke";
2
+ export declare abstract class GetPostHelper implements GetPostInvoke {
3
+ doGet(url: string, payloadData: any): Promise<any>;
4
+ doPost(url: string, payloadData: any): Promise<any>;
5
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetPostHelper = void 0;
4
+ class GetPostHelper {
5
+ async doGet(url, payloadData) {
6
+ throw new Error(`这是个空实现,不能被调用!| url = ${url}, payloadData = ${payloadData}`);
7
+ }
8
+ async doPost(url, payloadData) {
9
+ throw new Error(`这是个空实现,不能被调用!| url = ${url}, payloadData = ${payloadData}`);
10
+ }
11
+ }
12
+ exports.GetPostHelper = GetPostHelper;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2V0UG9zdEhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXIvR2V0UG9zdEhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFzQixhQUFhO0lBRS9CLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBVyxFQUFFLFdBQWdCO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsbUJBQW1CLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLFdBQWdCO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsbUJBQW1CLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNKO0FBVEQsc0NBU0MifQ==
@@ -0,0 +1,102 @@
1
+ import { PolicyInfo } from "../model/policy/PolicyInfo";
2
+ import { ExpHelper } from "./ExpHelper";
3
+ import { VarContextCapable } from "../interface/VarContextCapable";
4
+ import { FunctionHelper } from "./FunctionHelper";
5
+ import { Calculator } from "../interface/Calculator";
6
+ import { AssignmentClauseInfo } from "../model/AssignmentClauseInfo";
7
+ import { FunctionInvoke } from "../interface/FunctionInvoke";
8
+ import { VarDeclarationInfo } from "../model/policy/VarDeclarationInfo";
9
+ import { ContractDeclarationHelper } from "./ContractDeclarationHelper";
10
+ import { ContractDeclarationExecute } from "../interface/ContractDeclarationExecute";
11
+ import { VarContractDeclarationInfo } from "../model/contract-declaration/VarContractDeclarationInfo";
12
+ import { OutsideApiService } from "../service/OutsideApiService";
13
+ import { GetPostInvoke } from "../interface/GetPostInvoke";
14
+ export declare class PolicyHelper implements VarContextCapable<any>, Calculator, FunctionInvoke {
15
+ protected policyInfo: PolicyInfo;
16
+ protected audienceInfo: {};
17
+ protected varContractDeclarationMap: Map<string, VarContractDeclarationInfo>;
18
+ protected varContractDeclarationList: any[];
19
+ protected varGlobalMap: Map<string, VarDeclarationInfo>;
20
+ protected varGlobalList: any[];
21
+ protected varMacroList: any[];
22
+ static noneState: string;
23
+ protected currentStateInfo: {
24
+ currentState: string;
25
+ currentServiceState: string;
26
+ varLocalAtStateList: any[];
27
+ varLocalCurrentStateList: any[];
28
+ currentEventInfos: any[];
29
+ };
30
+ currentStateInfoTransient: {
31
+ varLocalCurrentEventList: any[];
32
+ varToStateList: any[];
33
+ };
34
+ protected outsideApiService: OutsideApiService;
35
+ protected contractDeclarationHelper: ContractDeclarationHelper;
36
+ protected expHelper: ExpHelper;
37
+ protected functionHelper: FunctionHelper;
38
+ constructor(policyInfo: PolicyInfo);
39
+ init(varContextCapable: VarContextCapable<any>, options: {
40
+ isCheckConditions: boolean;
41
+ }): Promise<void>;
42
+ buildSymbolTable(): Promise<void>;
43
+ checkConditions(varContextCapable: VarContextCapable<any>, options: {
44
+ isCheckConditions: boolean;
45
+ }): Promise<void>;
46
+ doInit(varContextCapable: VarContextCapable<any>): Promise<void>;
47
+ snapshotRollback(policyInfoResult: PolicyInfoResult): Promise<void>;
48
+ enterState(stateName: string, varContextCapable: VarContextCapable<any>): Promise<void>;
49
+ getServiceStateCollection(): Promise<any[]>;
50
+ execEventTail(eventId: string, varContextCapable: VarContextCapable<any>): Promise<void>;
51
+ setVarContractDeclaration(varName: string, varValue: any): void;
52
+ getVarContractDeclarationList(): any[];
53
+ getVarContractDeclaration(varName: string): any;
54
+ getVarAudienceConditionList(): any[];
55
+ getVarAudienceCondition(varName: string): any;
56
+ setVarGlobal(varName: string, varValue: any): void;
57
+ setVarGlobalList(varGlobalList: any[]): void;
58
+ getVarGlobal(varName: string): any;
59
+ getVarGlobalList(): any[];
60
+ getVarMacro(varName: string): any;
61
+ setVarLocalAtState(varName: string, varValue: any): void;
62
+ getVarLocalAtState(varName: string): any;
63
+ getVarLocalAtStateList(): any[];
64
+ clearVarLocalAtStateList(): void;
65
+ setVarLocalCurrentState(varName: string, varValue: any): void;
66
+ getVarLocalCurrentState(varName: string): any;
67
+ getVarLocalCurrentStateList(): any[];
68
+ clearVarLocalCurrentStateList(): void;
69
+ setVarLocalCurrentEvent(varName: string, varValue: any): void;
70
+ getVarLocalCurrentEvent(varName: string): any;
71
+ getVarLocalCurrentEventList(): any[];
72
+ clearVarLocalCurrentEventList(): void;
73
+ getPolicyInfoResult(): Promise<PolicyInfoResult>;
74
+ setVarContext(varName: string, varValue: any): Promise<boolean>;
75
+ getVarContext(varName: string): Promise<any>;
76
+ getVarObjValue(varObj: any, varContextCapable: VarContextCapable<any>): Promise<any>;
77
+ getContractDeclarationValue(varObj: any, varContextCapable: VarContextCapable<any>): Promise<any>;
78
+ getExpValue(varObj: AssignmentClauseInfo, varContextCapable: VarContextCapable<any>): Promise<any>;
79
+ invokeEnable(functionName: string): boolean;
80
+ invoke(functionName: string, args: any[]): Promise<any>;
81
+ addContractDeclarationExecutor(keyword: string, executor: ContractDeclarationExecute): void;
82
+ addExecutor(executorName: "Query" | "Kit" | "Time" | "fun" | "api", functionName: string, executor: FunctionInvoke): void;
83
+ setGetPostInvoke(getPostInvoke: GetPostInvoke): void;
84
+ setApiAddress(api: string, url: string): void;
85
+ setApiAddressMulti(tuples: {
86
+ api: string;
87
+ url: string;
88
+ }[]): void;
89
+ }
90
+ export declare class PolicyInfoResult {
91
+ audienceInfo: {};
92
+ varContractDeclarationList: any[];
93
+ varGlobalList: any[];
94
+ currentStateInfo: {
95
+ currentState: string;
96
+ currentServiceState: string;
97
+ serviceStateCollection: any[];
98
+ varLocalAtStateList: any[];
99
+ varLocalCurrentStateList: any[];
100
+ currentEventInfos: any[];
101
+ };
102
+ }