@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.
@@ -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>, checkConditions: boolean): Promise<void>;
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, checkConditions) {
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 (checkConditions) {
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.7",
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",