@freelog/freelog-cg-collection 1.1.7 → 1.1.9
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/helper/PolicyHelper.d.ts +17 -2
- package/dist/helper/PolicyHelper.js +68 -15
- package/dist/state-machine/ContractFsmHook.d.ts +8 -0
- package/dist/state-machine/ContractFsmHook.js +23 -0
- package/dist/state-machine/ContractStateMachine.d.ts +24 -0
- package/dist/state-machine/ContractStateMachine.js +96 -0
- package/index.js +5 -0
- package/package.json +3 -2
- package/resources/zhaojn.json +1558 -1542
- package/src/helper/PolicyHelper.ts +80 -16
- package/src/state-machine/ContractFsmHook.ts +24 -0
- package/src/state-machine/ContractStateMachine.ts +110 -0
- package/test/{function → function-executor}/FunctionFunExecutorTest.test.ts +2 -2
- package/test/helper/PolicyHelperTest.test.ts +1 -1
- package/test/state-machine/ContractStateMachineTest.test.ts +15 -0
- package/test/state-machine/CustomContractFsmHook.ts +5 -0
- /package/test/{function → function-executor}/api/ApiContractQuerySignCount.ts +0 -0
- /package/test/{function → function-executor}/fun/FunAddElements.ts +0 -0
- /package/test/{function → function-executor}/query/QueryEchoServiceLabels.ts +0 -0
|
@@ -5,6 +5,7 @@ import { FunctionHelper } from "./FunctionHelper";
|
|
|
5
5
|
import { Calculator } from "../interface/Calculator";
|
|
6
6
|
import { AssignmentClauseInfo } from "../model/AssignmentClauseInfo";
|
|
7
7
|
import { FunctionInvoke } from "../interface/FunctionInvoke";
|
|
8
|
+
import { VarDeclarationInfo } from "../model/policy/VarDeclarationInfo";
|
|
8
9
|
import { ContractDeclarationHelper } from "./ContractDeclarationHelper";
|
|
9
10
|
import { ContractDeclarationExecute } from "../interface/ContractDeclarationExecute";
|
|
10
11
|
import { VarContractDeclarationInfo } from "../model/contract-declaration/VarContractDeclarationInfo";
|
|
@@ -14,8 +15,8 @@ export declare class PolicyHelper implements VarContextCapable<any>, Calculator,
|
|
|
14
15
|
protected policyInfo: PolicyInfo;
|
|
15
16
|
protected varContractDeclarationMap: Map<string, VarContractDeclarationInfo>;
|
|
16
17
|
protected varContractDeclarationList: any[];
|
|
18
|
+
protected varGlobalMap: Map<string, VarDeclarationInfo>;
|
|
17
19
|
protected varGlobalList: any[];
|
|
18
|
-
private varGlobalMap;
|
|
19
20
|
protected varMacroList: any[];
|
|
20
21
|
protected outsideApiService: OutsideApiService;
|
|
21
22
|
protected contractDeclarationHelper: ContractDeclarationHelper;
|
|
@@ -23,10 +24,24 @@ export declare class PolicyHelper implements VarContextCapable<any>, Calculator,
|
|
|
23
24
|
protected functionHelper: FunctionHelper;
|
|
24
25
|
private audienceInfo;
|
|
25
26
|
constructor(policyInfo: PolicyInfo);
|
|
26
|
-
init(varContextCapable: VarContextCapable<any>,
|
|
27
|
+
init(varContextCapable: VarContextCapable<any>, options: {
|
|
28
|
+
isCheckConditions: boolean;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
buildSymbolTable(): Promise<void>;
|
|
31
|
+
checkConditions(varContextCapable: VarContextCapable<any>, options: {
|
|
32
|
+
isCheckConditions: boolean;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
snapshotBuild(varContextCapable: VarContextCapable<any>): Promise<void>;
|
|
35
|
+
snapshotRollback(policyInfoResult: {
|
|
36
|
+
varContractDeclarationList: any[];
|
|
37
|
+
varGlobalList: any[];
|
|
38
|
+
audienceInfo: {};
|
|
39
|
+
}): Promise<void>;
|
|
27
40
|
setVarContractDeclaration(varName: string, varValue: any): void;
|
|
28
41
|
getVarContractDeclarationList(): any[];
|
|
29
42
|
getVarContractDeclaration(varName: string): any;
|
|
43
|
+
getVarAudienceConditionList(): any[];
|
|
44
|
+
getVarAudienceCondition(varName: string): any;
|
|
30
45
|
setVarGlobal(varName: string, varValue: any): void;
|
|
31
46
|
setVarGlobalList(varGlobalList: any[]): void;
|
|
32
47
|
getVarGlobal(varName: string): any;
|
|
@@ -9,8 +9,8 @@ class PolicyHelper {
|
|
|
9
9
|
constructor(policyInfo) {
|
|
10
10
|
this.varContractDeclarationMap = new Map();
|
|
11
11
|
this.varContractDeclarationList = [];
|
|
12
|
-
this.varGlobalList = [];
|
|
13
12
|
this.varGlobalMap = new Map();
|
|
13
|
+
this.varGlobalList = [];
|
|
14
14
|
this.varMacroList = [];
|
|
15
15
|
this.audienceInfo = {};
|
|
16
16
|
this.policyInfo = policyInfo;
|
|
@@ -25,11 +25,16 @@ class PolicyHelper {
|
|
|
25
25
|
this.functionHelper.setVarContextProxy(this);
|
|
26
26
|
}
|
|
27
27
|
// 在合约签约的时候,可签约条件和全局申明的变量是已经计算完毕的,在这里做这件事
|
|
28
|
-
async init(varContextCapable,
|
|
28
|
+
async init(varContextCapable, options) {
|
|
29
29
|
this.audienceInfo["audiences"] = this.policyInfo.audienceSection.audiences;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
await this.buildSymbolTable();
|
|
31
|
+
await this.checkConditions(varContextCapable, options);
|
|
32
|
+
await this.snapshotBuild(varContextCapable);
|
|
33
|
+
}
|
|
34
|
+
/*
|
|
35
|
+
* 建立符号表
|
|
36
|
+
*/
|
|
37
|
+
async buildSymbolTable() {
|
|
33
38
|
let contractDeclarations = this.policyInfo["contractDeclarationSection"]["contractDeclarations"];
|
|
34
39
|
for (let contractDeclaration of contractDeclarations) {
|
|
35
40
|
if (contractDeclaration["varValueObj"] != null && contractDeclaration["varValueObj"]["expType"] == "varContractDeclaration") {
|
|
@@ -52,18 +57,25 @@ class PolicyHelper {
|
|
|
52
57
|
});
|
|
53
58
|
}
|
|
54
59
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
}
|
|
61
|
+
/*
|
|
62
|
+
* 签约条件验证,这里可能有部分初始化动作
|
|
63
|
+
* this.audienceInfo["condition"]
|
|
64
|
+
*/
|
|
65
|
+
async checkConditions(varContextCapable, options) {
|
|
58
66
|
this.audienceInfo["condition"] = {};
|
|
67
|
+
// 格式校验
|
|
59
68
|
for (let c of this.policyInfo.audienceSection.conditions) {
|
|
60
69
|
let ev = await this.getExpValue(c.paramValueObj, varContextCapable);
|
|
70
|
+
// ${echoSubject} => entity
|
|
61
71
|
if (c.paramName == "echoSubject" && ev["expType"] != "entity") {
|
|
62
72
|
throw new Error(`【echoSubject】类型错误!`);
|
|
63
73
|
}
|
|
74
|
+
// ${echoPolicyId} => string
|
|
64
75
|
if (c.paramName == "echoPolicyId" && typeof ev != "string") {
|
|
65
76
|
throw new Error(`【echoPolicyId】类型错误!`);
|
|
66
77
|
}
|
|
78
|
+
// ${labels} => string[]
|
|
67
79
|
if (c.paramName == "labels") {
|
|
68
80
|
if (!Array.isArray(ev)) {
|
|
69
81
|
throw new Error(`【labels】类型错误!`);
|
|
@@ -72,6 +84,7 @@ class PolicyHelper {
|
|
|
72
84
|
throw new Error(`【labels】元素错误!`);
|
|
73
85
|
}
|
|
74
86
|
}
|
|
87
|
+
// ${exps} => boolean[]
|
|
75
88
|
if (c.paramName == "exps") {
|
|
76
89
|
if (!Array.isArray(ev)) {
|
|
77
90
|
throw new Error(`【exps】类型错误!`);
|
|
@@ -81,10 +94,9 @@ class PolicyHelper {
|
|
|
81
94
|
}
|
|
82
95
|
}
|
|
83
96
|
this.audienceInfo["condition"][c.paramName] = ev;
|
|
84
|
-
// 设置到全局变量中,方便读取
|
|
85
|
-
this.setVarGlobal(`policy.audienceCondition.${c.paramName}`, ev);
|
|
86
97
|
}
|
|
87
|
-
if (
|
|
98
|
+
if (options.isCheckConditions) {
|
|
99
|
+
// 值校验
|
|
88
100
|
if (this.audienceInfo["condition"]["exps"] != null) {
|
|
89
101
|
if (this.audienceInfo["condition"]["exps"].indexOf(false) != -1) {
|
|
90
102
|
throw new Error(`【exps】验证失败!`);
|
|
@@ -102,9 +114,12 @@ class PolicyHelper {
|
|
|
102
114
|
}
|
|
103
115
|
}
|
|
104
116
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
117
|
+
}
|
|
118
|
+
/*
|
|
119
|
+
* 真正的初始化
|
|
120
|
+
*/
|
|
121
|
+
async snapshotBuild(varContextCapable) {
|
|
122
|
+
let contractDeclarations = this.policyInfo["contractDeclarationSection"]["contractDeclarations"];
|
|
108
123
|
for (let contractDeclaration of contractDeclarations) {
|
|
109
124
|
if (contractDeclaration["varValueObj"] != null && contractDeclaration["varValueObj"]["expType"] == "varContractDeclaration") {
|
|
110
125
|
if (contractDeclaration["varValueObj"]["keyword"] == "USE") {
|
|
@@ -113,6 +128,7 @@ class PolicyHelper {
|
|
|
113
128
|
}
|
|
114
129
|
}
|
|
115
130
|
}
|
|
131
|
+
let varDeclarationList = this.policyInfo.varDeclarationList;
|
|
116
132
|
for (let varDeclaration of varDeclarationList) {
|
|
117
133
|
if (varDeclaration.type == "varGlobal") {
|
|
118
134
|
if (this.getVarGlobal(varDeclaration.varName) == null) {
|
|
@@ -122,6 +138,14 @@ class PolicyHelper {
|
|
|
122
138
|
}
|
|
123
139
|
}
|
|
124
140
|
}
|
|
141
|
+
async snapshotRollback(policyInfoResult) {
|
|
142
|
+
this.varContractDeclarationList = policyInfoResult.varContractDeclarationList;
|
|
143
|
+
this.setVarGlobalList(policyInfoResult.varGlobalList);
|
|
144
|
+
this.audienceInfo = policyInfoResult.audienceInfo;
|
|
145
|
+
}
|
|
146
|
+
/*
|
|
147
|
+
* 合约声明变量
|
|
148
|
+
*/
|
|
125
149
|
setVarContractDeclaration(varName, varValue) {
|
|
126
150
|
this.getVarContractDeclarationList().push({ varName, varValue });
|
|
127
151
|
}
|
|
@@ -134,6 +158,28 @@ class PolicyHelper {
|
|
|
134
158
|
return elem.varName == varName;
|
|
135
159
|
});
|
|
136
160
|
}
|
|
161
|
+
/*
|
|
162
|
+
* 签约条件变量
|
|
163
|
+
*/
|
|
164
|
+
getVarAudienceConditionList() {
|
|
165
|
+
let varAudienceConditionList = [];
|
|
166
|
+
for (let varName in this.audienceInfo["condition"]) {
|
|
167
|
+
varAudienceConditionList.push({
|
|
168
|
+
varName: `policy.audienceCondition.${varName}`,
|
|
169
|
+
varValue: this.audienceInfo["condition"][varName]
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return varAudienceConditionList;
|
|
173
|
+
}
|
|
174
|
+
getVarAudienceCondition(varName) {
|
|
175
|
+
let varAudienceConditionListTmp = [...this.getVarAudienceConditionList()];
|
|
176
|
+
return varAudienceConditionListTmp.find((elem) => {
|
|
177
|
+
return elem.varName == varName;
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
/*
|
|
181
|
+
* 全局变量
|
|
182
|
+
*/
|
|
137
183
|
setVarGlobal(varName, varValue) {
|
|
138
184
|
this.getVarGlobalList().push({ varName, varValue });
|
|
139
185
|
}
|
|
@@ -149,6 +195,9 @@ class PolicyHelper {
|
|
|
149
195
|
getVarGlobalList() {
|
|
150
196
|
return this.varGlobalList;
|
|
151
197
|
}
|
|
198
|
+
/*
|
|
199
|
+
* 宏
|
|
200
|
+
*/
|
|
152
201
|
getVarMacro(varName) {
|
|
153
202
|
let varMacroListTmp = [...this.varMacroList].reverse();
|
|
154
203
|
return varMacroListTmp.find((elem) => {
|
|
@@ -179,6 +228,10 @@ class PolicyHelper {
|
|
|
179
228
|
return this.getVarObjValue(varValueObj, this);
|
|
180
229
|
}
|
|
181
230
|
}
|
|
231
|
+
result = this.getVarAudienceCondition(varName);
|
|
232
|
+
if (result != null) {
|
|
233
|
+
return result["varValue"];
|
|
234
|
+
}
|
|
182
235
|
result = this.getVarGlobal(varName);
|
|
183
236
|
if (result != null) {
|
|
184
237
|
return result["varValue"];
|
|
@@ -237,4 +290,4 @@ class PolicyHelper {
|
|
|
237
290
|
}
|
|
238
291
|
}
|
|
239
292
|
exports.PolicyHelper = PolicyHelper;
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9saWN5SGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlci9Qb2xpY3lIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXNDO0FBRXRDLHFEQUFnRDtBQUtoRCwyRUFBc0U7QUFHdEUsb0VBQStEO0FBRy9ELE1BQWEsWUFBWTtJQXdCckIsWUFBWSxVQUFzQjtRQXBCeEIsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUM7UUFFMUUsK0JBQTBCLEdBQUcsRUFBRSxDQUFDO1FBRWhDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXJCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFFbkQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFVcEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFHdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxxREFBeUIsRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSwrQkFBYyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFD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
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9saWN5SGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlci9Qb2xpY3lIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXNDO0FBRXRDLHFEQUFnRDtBQUtoRCwyRUFBc0U7QUFHdEUsb0VBQStEO0FBRy9ELE1BQWEsWUFBWTtJQXdCckIsWUFBWSxVQUFzQjtRQXBCeEIsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUM7UUFFMUUsK0JBQTBCLEdBQUcsRUFBRSxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFFckQsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFVcEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFHdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxxREFBeUIsRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSwrQkFBYyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFD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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare abstract class ContractFsmHook {
|
|
2
|
+
doOnBeforeTransition(lifeCycle: any): void;
|
|
3
|
+
doOnLeaveState(lifeCycle: any): void;
|
|
4
|
+
doOnTransition(lifeCycle: any): void;
|
|
5
|
+
doOnEnterState(lifeCycle: any): void;
|
|
6
|
+
doOnAfterTransition(lifeCycle: any): void;
|
|
7
|
+
doOnInvalidTransition(lifeCycle: any): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContractFsmHook = void 0;
|
|
4
|
+
class ContractFsmHook {
|
|
5
|
+
// 转换前事件
|
|
6
|
+
doOnBeforeTransition(lifeCycle) {
|
|
7
|
+
}
|
|
8
|
+
// 状态离开事件
|
|
9
|
+
doOnLeaveState(lifeCycle) {
|
|
10
|
+
}
|
|
11
|
+
doOnTransition(lifeCycle) {
|
|
12
|
+
}
|
|
13
|
+
// 状态进入事件
|
|
14
|
+
doOnEnterState(lifeCycle) {
|
|
15
|
+
}
|
|
16
|
+
// 转换后事件
|
|
17
|
+
doOnAfterTransition(lifeCycle) {
|
|
18
|
+
}
|
|
19
|
+
doOnInvalidTransition(lifeCycle) {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.ContractFsmHook = ContractFsmHook;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3RGc21Ib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlLW1hY2hpbmUvQ29udHJhY3RGc21Ib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQXNCLGVBQWU7SUFFakMsUUFBUTtJQUNSLG9CQUFvQixDQUFDLFNBQVM7SUFDOUIsQ0FBQztJQUVELFNBQVM7SUFDVCxjQUFjLENBQUMsU0FBUztJQUN4QixDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQVM7SUFDeEIsQ0FBQztJQUVELFNBQVM7SUFDVCxjQUFjLENBQUMsU0FBUztJQUN4QixDQUFDO0lBRUQsUUFBUTtJQUNSLG1CQUFtQixDQUFDLFNBQVM7SUFDN0IsQ0FBQztJQUVELHFCQUFxQixDQUFDLFNBQVM7SUFDL0IsQ0FBQztDQUNKO0FBdkJELDBDQXVCQyJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as StateMachine from 'javascript-state-machine';
|
|
2
|
+
import { ContractFsmHook } from "./ContractFsmHook";
|
|
3
|
+
export declare class ContractStateMachine {
|
|
4
|
+
fsm: StateMachine;
|
|
5
|
+
fsmHook: ContractFsmHook;
|
|
6
|
+
build(params: {
|
|
7
|
+
compileResult: any;
|
|
8
|
+
currentState: string;
|
|
9
|
+
isInitial?: boolean;
|
|
10
|
+
fsmHook?: ContractFsmHook;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
generateStateMachineTransitions(compileResult: any): Promise<{
|
|
13
|
+
name: string;
|
|
14
|
+
from: string;
|
|
15
|
+
to: string;
|
|
16
|
+
}[]>;
|
|
17
|
+
execEvent(eventName: string): Promise<void>;
|
|
18
|
+
private onBeforeTransition;
|
|
19
|
+
private onLeaveState;
|
|
20
|
+
private onTransition;
|
|
21
|
+
private onEnterState;
|
|
22
|
+
private onAfterTransition;
|
|
23
|
+
private onInvalidTransition;
|
|
24
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContractStateMachine = void 0;
|
|
4
|
+
const StateMachine = require("javascript-state-machine");
|
|
5
|
+
class ContractStateMachine {
|
|
6
|
+
async build(params) {
|
|
7
|
+
let stateMachineTransitions = await this.generateStateMachineTransitions(params.compileResult);
|
|
8
|
+
let stateMachineOptions = {
|
|
9
|
+
init: params.currentState,
|
|
10
|
+
transitions: stateMachineTransitions,
|
|
11
|
+
methods: {
|
|
12
|
+
onBeforeTransition: this.onBeforeTransition.bind(this),
|
|
13
|
+
onLeaveState: this.onLeaveState.bind(this),
|
|
14
|
+
onTransition: this.onTransition.bind(this),
|
|
15
|
+
onEnterState: this.onEnterState.bind(this),
|
|
16
|
+
onAfterTransition: this.onAfterTransition.bind(this),
|
|
17
|
+
onInvalidTransition: this.onInvalidTransition.bind(this)
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
this.fsm = new StateMachine(stateMachineOptions);
|
|
21
|
+
this.fsmHook = params.fsmHook;
|
|
22
|
+
}
|
|
23
|
+
async generateStateMachineTransitions(compileResult) {
|
|
24
|
+
let stateMachineTransitions = [];
|
|
25
|
+
for (let stateInfo of compileResult["stateMachine"]) {
|
|
26
|
+
for (let eventInfo of stateInfo["events"]) {
|
|
27
|
+
stateMachineTransitions.push({
|
|
28
|
+
name: eventInfo["eventId"],
|
|
29
|
+
from: stateInfo["stateName"],
|
|
30
|
+
to: eventInfo["toState"]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return stateMachineTransitions;
|
|
35
|
+
}
|
|
36
|
+
async execEvent(eventName) {
|
|
37
|
+
await this.fsm[eventName].call(this.fsm);
|
|
38
|
+
}
|
|
39
|
+
// 转换前事件
|
|
40
|
+
onBeforeTransition(lifeCycle) {
|
|
41
|
+
console.log(`ContractStateMachine - onBeforeTransition..`);
|
|
42
|
+
console.log(`state = [${lifeCycle.from}]`);
|
|
43
|
+
console.log(`transition = [${lifeCycle.transition}]`);
|
|
44
|
+
if (this.fsmHook != null) {
|
|
45
|
+
return this.fsmHook.doOnBeforeTransition(lifeCycle);
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
// 状态离开事件
|
|
50
|
+
onLeaveState(lifeCycle) {
|
|
51
|
+
console.log('ContractStateMachine - onLeaveState..');
|
|
52
|
+
console.log(`state = [${lifeCycle.from}]`);
|
|
53
|
+
console.log(`transition = [${lifeCycle.transition}]`);
|
|
54
|
+
if (this.fsmHook != null) {
|
|
55
|
+
return this.fsmHook.doOnLeaveState(lifeCycle);
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
onTransition(lifeCycle) {
|
|
60
|
+
console.log('ContractStateMachine - onTransition..');
|
|
61
|
+
console.log(`state = [${lifeCycle.from}]`);
|
|
62
|
+
console.log(`transition = [${lifeCycle.transition}]`);
|
|
63
|
+
if (this.fsmHook != null) {
|
|
64
|
+
return this.fsmHook.doOnTransition(lifeCycle);
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
// 状态进入事件
|
|
69
|
+
onEnterState(lifeCycle) {
|
|
70
|
+
console.log('ContractStateMachine - onEnterState..');
|
|
71
|
+
console.log(`state = [${lifeCycle.from}]`);
|
|
72
|
+
console.log(`transition = [${lifeCycle.transition}]`);
|
|
73
|
+
if (this.fsmHook != null) {
|
|
74
|
+
this.fsmHook.doOnEnterState(lifeCycle);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// 转换后事件
|
|
78
|
+
onAfterTransition(lifeCycle) {
|
|
79
|
+
console.log('ContractStateMachine - onAfterTransition..');
|
|
80
|
+
console.log(`state = [${lifeCycle.from}]`);
|
|
81
|
+
console.log(`transition = [${lifeCycle.transition}]`);
|
|
82
|
+
if (this.fsmHook != null) {
|
|
83
|
+
this.fsmHook.doOnAfterTransition(lifeCycle);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
onInvalidTransition(lifeCycle) {
|
|
87
|
+
console.log('ContractStateMachine - onInvalidTransition..');
|
|
88
|
+
console.log(`state = [${lifeCycle.from}]`);
|
|
89
|
+
console.log(`transition = [${lifeCycle.transition}]`);
|
|
90
|
+
if (this.fsmHook != null) {
|
|
91
|
+
this.fsmHook.doOnInvalidTransition(lifeCycle);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.ContractStateMachine = ContractStateMachine;
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3RTdGF0ZU1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGUtbWFjaGluZS9Db250cmFjdFN0YXRlTWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBeUQ7QUFHekQsTUFBYSxvQkFBb0I7SUFNN0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUErRjtRQUN2RyxJQUFJLHVCQUF1QixHQUFHLE1BQU0sSUFBSSxDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRixJQUFJLG1CQUFtQixHQUFHO1lBQ3RCLElBQUksRUFBRSxNQUFNLENBQUMsWUFBWTtZQUN6QixXQUFXLEVBQUUsdUJBQXVCO1lBQ3BDLE9BQU8sRUFBRTtnQkFDTCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDdEQsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDMUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDMUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDMUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3BELG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQzNEO1NBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxhQUFhO1FBQy9D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
|
package/index.js
CHANGED
|
@@ -17,6 +17,8 @@ const {DefaultFunctionExecutor} = require("./dist/function-executor/DefaultFunct
|
|
|
17
17
|
const {CollectionPolicyCustomDataVisitor} = require("./CollectionPolicyCustomDataVisitor");
|
|
18
18
|
const {OutsideApiService} = require("./dist/service/OutsideApiService");
|
|
19
19
|
const {GetPostHelper} = require("./dist/helper/GetPostHelper");
|
|
20
|
+
const {ContractStateMachine} = require("./dist/state-machine/ContractStateMachine");
|
|
21
|
+
const {ContractFsmHook} = require("./dist/state-machine/ContractFsmHook");
|
|
20
22
|
|
|
21
23
|
exports.PolicyHelper = PolicyHelper;
|
|
22
24
|
exports.FunctionHelper = FunctionHelper
|
|
@@ -30,6 +32,9 @@ exports.DefaultFunctionExecutor = DefaultFunctionExecutor;
|
|
|
30
32
|
exports.OutsideApiService = OutsideApiService;
|
|
31
33
|
exports.GetPostHelper = GetPostHelper;
|
|
32
34
|
|
|
35
|
+
exports.ContractStateMachine = ContractStateMachine;
|
|
36
|
+
exports.ContractFsmHook = ContractFsmHook;
|
|
37
|
+
|
|
33
38
|
exports.compile = async function (serviceName, policyText) {
|
|
34
39
|
let chars = new antlr4.InputStream(policyText);
|
|
35
40
|
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@freelog/freelog-cg-collection",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"antlr4": "4.8.0",
|
|
7
7
|
"decimal.js": "^10.2.1",
|
|
8
8
|
"lodash": "^4.17.21",
|
|
9
|
-
"moment": "^2.30.1"
|
|
9
|
+
"moment": "^2.30.1",
|
|
10
|
+
"javascript-state-machine": "^3.1.0"
|
|
10
11
|
},
|
|
11
12
|
"devDependencies": {
|
|
12
13
|
"@types/chai": "^5.0.1",
|