@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.
- package/dist/resources/context_config/event_configs.json +126 -0
- package/dist/src/calculator/CalculatorFactory.d.ts +17 -0
- package/dist/src/calculator/CalculatorFactory.js +40 -0
- package/dist/src/calculator/CalculatorFactoryBuilder.d.ts +4 -0
- package/dist/src/calculator/CalculatorFactoryBuilder.js +13 -0
- package/dist/src/calculator/ExpArgsGroupCalculator.d.ts +12 -0
- package/dist/src/calculator/ExpArgsGroupCalculator.js +25 -0
- package/dist/src/calculator/ExpBooleanCalculator.d.ts +13 -0
- package/dist/src/calculator/ExpBooleanCalculator.js +81 -0
- package/dist/src/calculator/ExpCalculator.d.ts +17 -0
- package/dist/src/calculator/ExpCalculator.js +56 -0
- package/dist/src/calculator/ExpCollectionCalculator.d.ts +0 -0
- package/dist/src/calculator/ExpCollectionCalculator.js +1 -0
- package/dist/src/calculator/ExpConditionCalculator.d.ts +12 -0
- package/dist/src/calculator/ExpConditionCalculator.js +34 -0
- package/dist/src/contract-declaration-executor/DefaultContractDeclarationExecutor.d.ts +8 -0
- package/dist/src/contract-declaration-executor/DefaultContractDeclarationExecutor.js +13 -0
- package/dist/src/contract-declaration-executor/DynamicContractDeclarationExecutor.d.ts +7 -0
- package/dist/src/contract-declaration-executor/DynamicContractDeclarationExecutor.js +21 -0
- package/dist/src/contract-declaration-executor/USEContractDeclaration.d.ts +4 -0
- package/dist/src/contract-declaration-executor/USEContractDeclaration.js +23 -0
- package/dist/src/function-executor/ApiFunctionExecutor.d.ts +11 -0
- package/dist/src/function-executor/ApiFunctionExecutor.js +17 -0
- package/dist/src/function-executor/DefaultFunctionExecutor.d.ts +11 -0
- package/dist/src/function-executor/DefaultFunctionExecutor.js +19 -0
- package/dist/src/function-executor/DynamicFunctionExecutor.d.ts +13 -0
- package/dist/src/function-executor/DynamicFunctionExecutor.js +58 -0
- package/dist/src/function-executor/FunFunctionExecutor.d.ts +15 -0
- package/dist/src/function-executor/FunFunctionExecutor.js +48 -0
- package/dist/src/function-executor/KitFunctionExecutor.d.ts +9 -0
- package/dist/src/function-executor/KitFunctionExecutor.js +32 -0
- package/dist/src/function-executor/QueryFunctionExecutor.d.ts +40 -0
- package/dist/src/function-executor/QueryFunctionExecutor.js +42 -0
- package/dist/src/function-executor/TimeFunctionExecutor.d.ts +8 -0
- package/dist/src/function-executor/TimeFunctionExecutor.js +51 -0
- package/dist/src/helper/ContractDeclarationHelper.d.ts +7 -0
- package/dist/src/helper/ContractDeclarationHelper.js +28 -0
- package/dist/src/helper/ExpHelper.d.ts +16 -0
- package/dist/src/helper/ExpHelper.js +86 -0
- package/dist/src/helper/FunctionHelper.d.ts +41 -0
- package/dist/src/helper/FunctionHelper.js +161 -0
- package/dist/src/helper/GetPostHelper.d.ts +5 -0
- package/dist/src/helper/GetPostHelper.js +13 -0
- package/dist/src/helper/PolicyHelper.d.ts +102 -0
- package/dist/src/helper/PolicyHelper.js +519 -0
- package/dist/src/interface/Calculator.d.ts +5 -0
- package/dist/src/interface/Calculator.js +3 -0
- package/dist/src/interface/ConstantForApi.d.ts +12 -0
- package/dist/src/interface/ConstantForApi.js +17 -0
- package/dist/src/interface/ContractDeclarationExecute.d.ts +3 -0
- package/dist/src/interface/ContractDeclarationExecute.js +3 -0
- package/dist/src/interface/ExpHelperAware.d.ts +4 -0
- package/dist/src/interface/ExpHelperAware.js +3 -0
- package/dist/src/interface/FunctionHelperAware.d.ts +4 -0
- package/dist/src/interface/FunctionHelperAware.js +3 -0
- package/dist/src/interface/FunctionInvoke.d.ts +4 -0
- package/dist/src/interface/FunctionInvoke.js +3 -0
- package/dist/src/interface/GetPostInvoke.d.ts +4 -0
- package/dist/src/interface/GetPostInvoke.js +3 -0
- package/dist/src/interface/OutsideApiServiceAware.d.ts +4 -0
- package/dist/src/interface/OutsideApiServiceAware.js +3 -0
- package/dist/src/interface/VarContextCapable.d.ts +3 -0
- package/dist/src/interface/VarContextCapable.js +3 -0
- package/dist/src/model/AssignmentClauseInfo.d.ts +3 -0
- package/dist/src/model/AssignmentClauseInfo.js +3 -0
- package/dist/src/model/contract-declaration/VarContractDeclarationInfo.d.ts +17 -0
- package/dist/src/model/contract-declaration/VarContractDeclarationInfo.js +3 -0
- package/dist/src/model/exp/EntityInfo.d.ts +6 -0
- package/dist/src/model/exp/EntityInfo.js +3 -0
- package/dist/src/model/exp/Exp.d.ts +3 -0
- package/dist/src/model/exp/Exp.js +3 -0
- package/dist/src/model/exp/ExpAtom.d.ts +3 -0
- package/dist/src/model/exp/ExpAtom.js +3 -0
- package/dist/src/model/exp/ExpOp.d.ts +7 -0
- package/dist/src/model/exp/ExpOp.js +3 -0
- package/dist/src/model/exp/ExpParen.d.ts +5 -0
- package/dist/src/model/exp/ExpParen.js +3 -0
- package/dist/src/model/exp/ExpSigned.d.ts +6 -0
- package/dist/src/model/exp/ExpSigned.js +3 -0
- package/dist/src/model/exp/FunctionCallInfo.d.ts +12 -0
- package/dist/src/model/exp/FunctionCallInfo.js +3 -0
- package/dist/src/model/exp/NumberInfo.d.ts +5 -0
- package/dist/src/model/exp/NumberInfo.js +3 -0
- package/dist/src/model/exp/StringInfo.d.ts +5 -0
- package/dist/src/model/exp/StringInfo.js +3 -0
- package/dist/src/model/exp/VariableChainInfo.d.ts +6 -0
- package/dist/src/model/exp/VariableChainInfo.js +3 -0
- package/dist/src/model/exp-args-group/ExpArgsGroup.d.ts +9 -0
- package/dist/src/model/exp-args-group/ExpArgsGroup.js +3 -0
- package/dist/src/model/exp-boolean/BooleanInfo.d.ts +5 -0
- package/dist/src/model/exp-boolean/BooleanInfo.js +3 -0
- package/dist/src/model/exp-boolean/ExpBoolean.d.ts +3 -0
- package/dist/src/model/exp-boolean/ExpBoolean.js +3 -0
- package/dist/src/model/exp-boolean/ExpBooleanAtom.d.ts +3 -0
- package/dist/src/model/exp-boolean/ExpBooleanAtom.js +3 -0
- package/dist/src/model/exp-boolean/ExpBooleanOpCollection.d.ts +7 -0
- package/dist/src/model/exp-boolean/ExpBooleanOpCollection.js +3 -0
- package/dist/src/model/exp-boolean/ExpBooleanOpCompare.d.ts +7 -0
- package/dist/src/model/exp-boolean/ExpBooleanOpCompare.js +3 -0
- package/dist/src/model/exp-boolean/ExpBooleanOpLogic.d.ts +7 -0
- package/dist/src/model/exp-boolean/ExpBooleanOpLogic.js +3 -0
- package/dist/src/model/exp-boolean/ExpBooleanParen.d.ts +5 -0
- package/dist/src/model/exp-boolean/ExpBooleanParen.js +3 -0
- package/dist/src/model/exp-collection/ExpCollection.d.ts +9 -0
- package/dist/src/model/exp-collection/ExpCollection.js +3 -0
- package/dist/src/model/exp-condition/ExpCondition.d.ts +11 -0
- package/dist/src/model/exp-condition/ExpCondition.js +3 -0
- package/dist/src/model/policy/ActionInfo.d.ts +20 -0
- package/dist/src/model/policy/ActionInfo.js +3 -0
- package/dist/src/model/policy/ContractDeclarationInfo.d.ts +7 -0
- package/dist/src/model/policy/ContractDeclarationInfo.js +7 -0
- package/dist/src/model/policy/EventInfo.d.ts +27 -0
- package/dist/src/model/policy/EventInfo.js +3 -0
- package/dist/src/model/policy/PolicyInfo.d.ts +32 -0
- package/dist/src/model/policy/PolicyInfo.js +3 -0
- package/dist/src/model/policy/VarDeclarationInfo.d.ts +10 -0
- package/dist/src/model/policy/VarDeclarationInfo.js +3 -0
- package/dist/src/service/OutsideApiService.d.ts +58 -0
- package/dist/src/service/OutsideApiService.js +62 -0
- package/dist/src/state-machine/ContractFsmHook.d.ts +17 -0
- package/dist/src/state-machine/ContractFsmHook.js +33 -0
- package/dist/src/state-machine/ContractStateMachine.d.ts +51 -0
- package/dist/src/state-machine/ContractStateMachine.js +190 -0
- package/dist/src/tools/PolicyDecompiler.d.ts +26 -0
- package/dist/src/tools/PolicyDecompiler.js +298 -0
- package/dist/src/tools/PolicyMapper.d.ts +3 -0
- package/dist/src/tools/PolicyMapper.js +83 -0
- package/package.json +1 -1
- package/src/tools/PolicyMapper.ts +1 -2
- package/test/library/MomentTest.test.ts +12 -0
- 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,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
|
+
}
|