@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,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultFunctionExecutor = void 0;
4
+ class DefaultFunctionExecutor {
5
+ setOutsideApiService(outsideApiService) {
6
+ this.outsideApiService = outsideApiService;
7
+ }
8
+ async invoke(functionName, args) {
9
+ throw new Error("这是个空实现,不能被调用!");
10
+ }
11
+ invokeEnable(functionName) {
12
+ return false;
13
+ }
14
+ async getVarContext(varName) {
15
+ throw new Error("这是个空实现,不能被调用!");
16
+ }
17
+ }
18
+ exports.DefaultFunctionExecutor = DefaultFunctionExecutor;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEZ1bmN0aW9uRXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZnVuY3Rpb24tZXhlY3V0b3IvRGVmYXVsdEZ1bmN0aW9uRXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsTUFBc0IsdUJBQXVCO0lBSXpDLG9CQUFvQixDQUFDLGlCQUFvQztRQUNyRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDL0MsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBb0IsRUFBRSxJQUFXO1FBQzFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFlBQVksQ0FBQyxZQUFvQjtRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFlO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNKO0FBbkJELDBEQW1CQyJ9
@@ -0,0 +1,13 @@
1
+ import { DefaultFunctionExecutor } from "./DefaultFunctionExecutor";
2
+ import { FunctionInvoke } from "../interface/FunctionInvoke";
3
+ import { VarContextCapable } from "../interface/VarContextCapable";
4
+ export declare class DynamicFunctionExecutor extends DefaultFunctionExecutor {
5
+ protected executorsMap: Map<string, FunctionInvoke>;
6
+ protected varContextProxy: VarContextCapable<any>;
7
+ invokeEnable(functionName: string): boolean;
8
+ invoke(functionName: string, args: any[]): Promise<any>;
9
+ addExecutor(functionName: string, executor: FunctionInvoke): void;
10
+ getFunctionCodeMap(): Map<string, string>;
11
+ getVarContext(varName: string): Promise<any>;
12
+ setVarContextProxy(varContextProxy: VarContextCapable<any>): void;
13
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamicFunctionExecutor = void 0;
4
+ const DefaultFunctionExecutor_1 = require("./DefaultFunctionExecutor");
5
+ class DynamicFunctionExecutor extends DefaultFunctionExecutor_1.DefaultFunctionExecutor {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.executorsMap = new Map();
9
+ }
10
+ invokeEnable(functionName) {
11
+ return this.executorsMap.has(functionName) || this.getFunctionCodeMap().has(functionName);
12
+ }
13
+ async invoke(functionName, args) {
14
+ if (this.executorsMap.has(functionName)) {
15
+ return this.executorsMap.get(functionName).invoke(functionName, args);
16
+ }
17
+ if (this.getFunctionCodeMap().has(functionName)) {
18
+ let functionCode = this.getFunctionCodeMap().get(functionName);
19
+ // let argsStr = "";
20
+ // for (let i = 0; i < args.length; i++) {
21
+ // if (i == 0) {
22
+ // argsStr = JSON.stringify(args[i]);
23
+ // } else {
24
+ // argsStr = argsStr + "," + JSON.stringify(args[i]);
25
+ // }
26
+ // }
27
+ // let expStr = `this.${functionCode}(${argsStr})`;
28
+ return Reflect.apply(this[functionCode], this, args);
29
+ // return eval(expStr);
30
+ }
31
+ throw new Error("该函数未实现");
32
+ }
33
+ addExecutor(functionName, executor) {
34
+ if (executor instanceof DefaultFunctionExecutor_1.DefaultFunctionExecutor) {
35
+ executor.setOutsideApiService(this.outsideApiService);
36
+ }
37
+ if (executor instanceof DynamicFunctionExecutor) {
38
+ executor.setVarContextProxy(this.varContextProxy);
39
+ }
40
+ this.executorsMap.set(functionName, executor);
41
+ }
42
+ getFunctionCodeMap() {
43
+ return new Map();
44
+ }
45
+ async getVarContext(varName) {
46
+ if (this.varContextProxy != null) {
47
+ return this.varContextProxy.getVarContext(varName);
48
+ }
49
+ else {
50
+ return super.getVarContext(varName);
51
+ }
52
+ }
53
+ setVarContextProxy(varContextProxy) {
54
+ this.varContextProxy = varContextProxy;
55
+ }
56
+ }
57
+ exports.DynamicFunctionExecutor = DynamicFunctionExecutor;
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY0Z1bmN0aW9uRXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZnVuY3Rpb24tZXhlY3V0b3IvRHluYW1pY0Z1bmN0aW9uRXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUVBQWtFO0FBSWxFLE1BQWEsdUJBQXdCLFNBQVEsaURBQXVCO0lBQXBFOztRQUVjLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUF5RC9ELENBQUM7SUFyREcsWUFBWSxDQUFDLFlBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQW9CLEVBQUUsSUFBVztRQUMxQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzlDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRCxvQkFBb0I7WUFDcEIsMENBQTBDO1lBQzFDLG9CQUFvQjtZQUNwQiw2Q0FBNkM7WUFDN0MsZUFBZTtZQUNmLDZEQUE2RDtZQUM3RCxRQUFRO1lBQ1IsSUFBSTtZQUNKLG1EQUFtRDtZQUVuRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVyRCx1QkFBdUI7UUFDM0IsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxZQUFvQixFQUFFLFFBQXdCO1FBQ3RELElBQUksUUFBUSxZQUFZLGlEQUF1QixFQUFFLENBQUM7WUFDOUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLFFBQVEsWUFBWSx1QkFBdUIsRUFBRSxDQUFDO1lBQzlDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsT0FBTyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFlO1FBQy9CLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZUFBdUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDM0MsQ0FBQztDQUNKO0FBM0RELDBEQTJEQyJ9
@@ -0,0 +1,15 @@
1
+ import { DynamicFunctionExecutor } from "./DynamicFunctionExecutor";
2
+ export declare class FunFunctionExecutor extends DynamicFunctionExecutor {
3
+ getFunctionCodeMap(): Map<string, string>;
4
+ F_001(set: [], elems: [], repeated: boolean): Promise<[]>;
5
+ F_002(set: []): Promise<[]>;
6
+ F_003(ttl: number): Promise<string>;
7
+ F_004(args: {
8
+ title: string;
9
+ }): Promise<void>;
10
+ F_005(args: {
11
+ label: string;
12
+ limitTime?: string;
13
+ ttl?: number;
14
+ }): Promise<void>;
15
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FunFunctionExecutor = void 0;
4
+ const DynamicFunctionExecutor_1 = require("./DynamicFunctionExecutor");
5
+ class FunFunctionExecutor extends DynamicFunctionExecutor_1.DynamicFunctionExecutor {
6
+ getFunctionCodeMap() {
7
+ return new Map([
8
+ ["fun.addElements", "F_001"],
9
+ ["fun.clearElems", "F_002"],
10
+ ["fun.appendTTL", "F_003"],
11
+ ["fun.sendEvent", "F_004"],
12
+ ["fun.setLabel", "F_005"]
13
+ ]);
14
+ }
15
+ async F_001(set, elems, repeated) {
16
+ set.push(...elems);
17
+ return [...set];
18
+ }
19
+ async F_002(set) {
20
+ set.length = 0;
21
+ return [...set];
22
+ }
23
+ async F_003(ttl) {
24
+ throw new Error("该函数未实现【fun.appendTTL】");
25
+ }
26
+ async F_004(args) {
27
+ console.log(`-- FunFunctionExecutor.F_004 -- \nargs = ${JSON.stringify(args)}`);
28
+ let fromSubject = await this.getVarContext("policy.subject");
29
+ args["fromSubjectName"] = fromSubject["entityName"];
30
+ args["fromSubjectType"] = fromSubject["entityType"];
31
+ args["fromPolicyId"] = await this.getVarContext("policy.policyId");
32
+ args["fromContractId"] = await this.getVarContext("contract.contractId");
33
+ let fromLicensee = await this.getVarContext("contract.licensee");
34
+ args["fromLicenseeName"] = fromLicensee["entityName"];
35
+ args["fromLicenseeType"] = fromLicensee["entityType"];
36
+ let fromLicenseeOwner = await this.getVarContext("contract.licenseeOwner");
37
+ args["fromLicenseeOwnerName"] = fromLicenseeOwner["entityName"];
38
+ return this.outsideApiService.funSendEvent(args);
39
+ // throw new Error("该函数未实现【fun.sendEvent】");
40
+ }
41
+ async F_005(args) {
42
+ args["contractId"] = await this.getVarContext("contract.contractId");
43
+ return this.outsideApiService.funSetLabel(args);
44
+ // throw new Error("该函数未实现【fun.setLabel】");
45
+ }
46
+ }
47
+ exports.FunFunctionExecutor = FunFunctionExecutor;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnVuRnVuY3Rpb25FeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mdW5jdGlvbi1leGVjdXRvci9GdW5GdW5jdGlvbkV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVFQUFrRTtBQUVsRSxNQUFhLG1CQUFvQixTQUFRLGlEQUF1QjtJQUU1RCxrQkFBa0I7UUFDZCxPQUFPLElBQUksR0FBRyxDQUFpQjtZQUMzQixDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztZQUM1QixDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztZQUMzQixDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUM7WUFDMUIsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDO1lBQzFCLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQztTQUM1QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFPLEVBQUUsS0FBUyxFQUFFLFFBQWlCO1FBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNuQixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFPO1FBQ2YsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUF1QjtRQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRixJQUFJLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6RSxJQUFJLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksaUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELDRDQUE0QztJQUNoRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUF5RDtRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFckUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELDJDQUEyQztJQUMvQyxDQUFDO0NBQ0o7QUFqREQsa0RBaURDIn0=
@@ -0,0 +1,9 @@
1
+ import { DynamicFunctionExecutor } from "./DynamicFunctionExecutor";
2
+ export declare class KitFunctionExecutor extends DynamicFunctionExecutor {
3
+ getFunctionCodeMap(): Map<string, string>;
4
+ F_001(va1: any, var2: any): Promise<any>;
5
+ F_002(va1: any): Promise<boolean>;
6
+ F_003(elems: any[]): Promise<number>;
7
+ F_004(labels: string[], labelName: string): Promise<boolean>;
8
+ F_005(va1: any, var2: any): Promise<any>;
9
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KitFunctionExecutor = void 0;
4
+ const DynamicFunctionExecutor_1 = require("./DynamicFunctionExecutor");
5
+ class KitFunctionExecutor extends DynamicFunctionExecutor_1.DynamicFunctionExecutor {
6
+ getFunctionCodeMap() {
7
+ return new Map([
8
+ ["Kit.Max", "F_001"],
9
+ ["Kit.IsNull", "F_002"],
10
+ ["Kit.Array.Size", "F_003"],
11
+ ["Kit.Array.Include", "F_004"],
12
+ ["Kit.Min", "F_005"],
13
+ ]);
14
+ }
15
+ async F_001(va1, var2) {
16
+ return va1 >= var2 ? va1 : var2;
17
+ }
18
+ async F_002(va1) {
19
+ return va1 == null;
20
+ }
21
+ async F_003(elems) {
22
+ return elems.length;
23
+ }
24
+ async F_004(labels, labelName) {
25
+ return labels.indexOf(labelName) != -1;
26
+ }
27
+ async F_005(va1, var2) {
28
+ return va1 <= var2 ? va1 : var2;
29
+ }
30
+ }
31
+ exports.KitFunctionExecutor = KitFunctionExecutor;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2l0RnVuY3Rpb25FeGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mdW5jdGlvbi1leGVjdXRvci9LaXRGdW5jdGlvbkV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVFQUFrRTtBQUVsRSxNQUFhLG1CQUFvQixTQUFRLGlEQUF1QjtJQUU1RCxrQkFBa0I7UUFDZCxPQUFPLElBQUksR0FBRyxDQUFpQjtZQUMzQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7WUFDcEIsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDO1lBQ3ZCLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO1lBQzNCLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO1lBQzlCLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztTQUN2QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFRLEVBQUUsSUFBUztRQUMzQixPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVE7UUFDaEIsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQVk7UUFDcEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQWdCLEVBQUUsU0FBaUI7UUFDM0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVEsRUFBRSxJQUFTO1FBQzNCLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBL0JELGtEQStCQyJ9
@@ -0,0 +1,40 @@
1
+ import { DynamicFunctionExecutor } from "./DynamicFunctionExecutor";
2
+ export declare class QueryFunctionExecutor extends DynamicFunctionExecutor {
3
+ getFunctionCodeMap(): Map<string, string>;
4
+ F_001(args: {
5
+ subject: any;
6
+ interval?: "PAST_MONTH";
7
+ startTime?: string;
8
+ limitTime?: string;
9
+ }): Promise<number>;
10
+ F_002(args: {
11
+ subject: any;
12
+ policyId?: string;
13
+ licensee: any;
14
+ }): Promise<string[]>;
15
+ F_003(args: {
16
+ subject: any;
17
+ policyId?: string;
18
+ licensee: any;
19
+ }): Promise<any[]>;
20
+ F_004(args: {
21
+ node?: string;
22
+ subject?: any;
23
+ policyId?: string;
24
+ status?: number;
25
+ licensee: any;
26
+ }): Promise<number>;
27
+ F_005(args: {
28
+ subject?: any;
29
+ contractId?: string;
30
+ amount?: number;
31
+ licenseeOwner: number;
32
+ }): Promise<number>;
33
+ F_006(args: {
34
+ subject?: any;
35
+ contractId?: string;
36
+ interval?: "PAST_MONTH";
37
+ startTime?: string;
38
+ limitTime?: string;
39
+ }): Promise<number>;
40
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryFunctionExecutor = void 0;
4
+ const DynamicFunctionExecutor_1 = require("./DynamicFunctionExecutor");
5
+ class QueryFunctionExecutor extends DynamicFunctionExecutor_1.DynamicFunctionExecutor {
6
+ getFunctionCodeMap() {
7
+ return new Map([
8
+ ["Query.ResourceService.CountOfUpdates", "F_001"],
9
+ ["Query.EchoService.Labels", "F_002"],
10
+ ["Query.EchoService.LabelInfos", "F_003"],
11
+ ["Query.ContractService.SignCount", "F_004"],
12
+ ["Query.TransactionService.RecordsCount", "F_005"],
13
+ ["Query.TransactionService.AmountsSum", "F_006"]
14
+ ]);
15
+ }
16
+ async F_001(args) {
17
+ return this.outsideApiService.resourceCountOfUpdates(args);
18
+ // throw new Error("该函数未实现【Query.ResourceService.CountOfUpdates】");
19
+ }
20
+ async F_002(args) {
21
+ return this.outsideApiService.echoLabels(args);
22
+ // throw new Error("该函数未实现【Query.EchoService.Labels】");
23
+ }
24
+ async F_003(args) {
25
+ return this.outsideApiService.echoLabelInfos(args);
26
+ // throw new Error("该函数未实现【Query.EchoService.LabelInfos】");
27
+ }
28
+ async F_004(args) {
29
+ return this.outsideApiService.contractSignCount(args);
30
+ // throw new Error("该函数未实现【Query.ContractService.SignCount】");
31
+ }
32
+ async F_005(args) {
33
+ return this.outsideApiService.transactionRecordsCount(args);
34
+ // throw new Error("该函数未实现【Query.TransactionService.RecordsCount】");
35
+ }
36
+ async F_006(args) {
37
+ return this.outsideApiService.transactionAmountsSum(args);
38
+ // throw new Error("该函数未实现【Query.TransactionService.AmountsSum】");
39
+ }
40
+ }
41
+ exports.QueryFunctionExecutor = QueryFunctionExecutor;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVlcnlGdW5jdGlvbkV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Z1bmN0aW9uLWV4ZWN1dG9yL1F1ZXJ5RnVuY3Rpb25FeGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBa0U7QUFFbEUsTUFBYSxxQkFBc0IsU0FBUSxpREFBdUI7SUFFOUQsa0JBQWtCO1FBQ2QsT0FBTyxJQUFJLEdBQUcsQ0FBaUI7WUFDM0IsQ0FBQyxzQ0FBc0MsRUFBRSxPQUFPLENBQUM7WUFDakQsQ0FBQywwQkFBMEIsRUFBRSxPQUFPLENBQUM7WUFDckMsQ0FBQyw4QkFBOEIsRUFBRSxPQUFPLENBQUM7WUFDekMsQ0FBQyxpQ0FBaUMsRUFBRSxPQUFPLENBQUM7WUFDNUMsQ0FBQyx1Q0FBdUMsRUFBRSxPQUFPLENBQUM7WUFDbEQsQ0FBQyxxQ0FBcUMsRUFBRSxPQUFPLENBQUM7U0FDbkQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFLWDtRQUNHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELG1FQUFtRTtJQUN2RSxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUF3RDtRQUNoRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsdURBQXVEO0lBQzNELENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLElBQXdEO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCwyREFBMkQ7SUFDL0QsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFNWDtRQUNHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELDhEQUE4RDtJQUNsRSxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFvRjtRQUM1RixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxvRUFBb0U7SUFDeEUsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFNWDtRQUNHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELGtFQUFrRTtJQUN0RSxDQUFDO0NBQ0o7QUEzREQsc0RBMkRDIn0=
@@ -0,0 +1,8 @@
1
+ import { DynamicFunctionExecutor } from "./DynamicFunctionExecutor";
2
+ export declare class TimeFunctionExecutor extends DynamicFunctionExecutor {
3
+ getFunctionCodeMap(): Map<string, string>;
4
+ F_001(dateTime: string): Promise<string>;
5
+ F_002(dateTime: string, elapsed: number, timeUnit: "year" | "month" | "week" | "day" | "cycle" | "hour" | "minute"): Promise<string>;
6
+ F_003(): Promise<string>;
7
+ F_004(dateTime: string, timeUnit: "year" | "month" | "day" | "hour" | "minute"): Promise<string>;
8
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeFunctionExecutor = void 0;
4
+ const DynamicFunctionExecutor_1 = require("./DynamicFunctionExecutor");
5
+ const moment = require("moment/moment");
6
+ class TimeFunctionExecutor extends DynamicFunctionExecutor_1.DynamicFunctionExecutor {
7
+ getFunctionCodeMap() {
8
+ return new Map([
9
+ ["Time.NextMonth", "F_001"],
10
+ ["Time.AddTime", "F_002"],
11
+ ["Time.Now", "F_003"],
12
+ ["Time.GetTime", "F_004"]
13
+ ]);
14
+ }
15
+ async F_001(dateTime) {
16
+ return moment(dateTime).add(1, "month").format("YYYY-MM-DD HH:mm:ss");
17
+ }
18
+ async F_002(dateTime, elapsed, timeUnit) {
19
+ if (timeUnit == "cycle") {
20
+ timeUnit = "hour";
21
+ elapsed *= 4;
22
+ }
23
+ return moment(dateTime).add(elapsed, timeUnit).format("YYYY-MM-DD HH:mm:ss");
24
+ }
25
+ async F_003() {
26
+ return moment(Date.now()).format("YYYY-MM-DD HH:mm:ss");
27
+ }
28
+ async F_004(dateTime, timeUnit) {
29
+ let formatStr = null;
30
+ switch (timeUnit) {
31
+ case "year":
32
+ formatStr = "YYYY";
33
+ break;
34
+ case "month":
35
+ formatStr = "YYYY-MM";
36
+ break;
37
+ case "day":
38
+ formatStr = "YYYY-MM-DD";
39
+ break;
40
+ case "hour":
41
+ formatStr = "YYYY-MM-DD HH";
42
+ break;
43
+ case "minute":
44
+ formatStr = "YYYY-MM-DD HH:mm";
45
+ break;
46
+ }
47
+ return moment(moment(Date.now()).format(formatStr)).format("YYYY-MM-DD HH:mm:ss");
48
+ }
49
+ }
50
+ exports.TimeFunctionExecutor = TimeFunctionExecutor;
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZUZ1bmN0aW9uRXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZnVuY3Rpb24tZXhlY3V0b3IvVGltZUZ1bmN0aW9uRXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUVBQWtFO0FBQ2xFLHdDQUF5QztBQUV6QyxNQUFhLG9CQUFxQixTQUFRLGlEQUF1QjtJQUU3RCxrQkFBa0I7UUFDZCxPQUFPLElBQUksR0FBRyxDQUFpQjtZQUMzQixDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztZQUMzQixDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7WUFDekIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO1lBQ3JCLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQztTQUM1QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFnQjtRQUN4QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQWdCLEVBQUUsT0FBZSxFQUFFLFFBQXlFO1FBQ3BILElBQUksUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDUCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQXNEO1FBQ2hGLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztRQUNyQixRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2YsS0FBSyxNQUFNO2dCQUNQLFNBQVMsR0FBRyxNQUFNLENBQUM7Z0JBQ25CLE1BQU07WUFDVixLQUFLLE9BQU87Z0JBQ1IsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDdEIsTUFBTTtZQUNWLEtBQUssS0FBSztnQkFDTixTQUFTLEdBQUcsWUFBWSxDQUFDO2dCQUN6QixNQUFNO1lBQ1YsS0FBSyxNQUFNO2dCQUNQLFNBQVMsR0FBRyxlQUFlLENBQUM7Z0JBQzVCLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsU0FBUyxHQUFHLGtCQUFrQixDQUFDO2dCQUMvQixNQUFNO1FBQ2QsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN0RixDQUFDO0NBQ0o7QUFsREQsb0RBa0RDIn0=
@@ -0,0 +1,7 @@
1
+ import { DynamicContractDeclarationExecutor } from "../contract-declaration-executor/DynamicContractDeclarationExecutor";
2
+ import { OutsideApiService } from "../service/OutsideApiService";
3
+ export declare class ContractDeclarationHelper extends DynamicContractDeclarationExecutor {
4
+ private contractDeclarationExecutors;
5
+ constructor();
6
+ setOutsideApiService(outsideApiService: OutsideApiService): void;
7
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContractDeclarationHelper = void 0;
4
+ const DynamicContractDeclarationExecutor_1 = require("../contract-declaration-executor/DynamicContractDeclarationExecutor");
5
+ const USEContractDeclaration_1 = require("../contract-declaration-executor/USEContractDeclaration");
6
+ class ContractDeclarationHelper extends DynamicContractDeclarationExecutor_1.DynamicContractDeclarationExecutor {
7
+ constructor() {
8
+ super();
9
+ this.contractDeclarationExecutors = new Map();
10
+ this.contractDeclarationExecutors.set("DEMAND", new USEContractDeclaration_1.USEContractDeclaration());
11
+ this.contractDeclarationExecutors.set("USE", new USEContractDeclaration_1.USEContractDeclaration());
12
+ let iterator = this.contractDeclarationExecutors.entries();
13
+ let elem = null;
14
+ while ((elem = iterator.next().value) != null) {
15
+ this.addExecutor(elem[0], elem[1]);
16
+ }
17
+ }
18
+ setOutsideApiService(outsideApiService) {
19
+ super.setOutsideApiService(outsideApiService);
20
+ let iterator = this.contractDeclarationExecutors.values();
21
+ let executor = null;
22
+ while ((executor = iterator.next().value) != null) {
23
+ executor.setOutsideApiService(outsideApiService);
24
+ }
25
+ }
26
+ }
27
+ exports.ContractDeclarationHelper = ContractDeclarationHelper;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJhY3REZWNsYXJhdGlvbkhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXIvQ29udHJhY3REZWNsYXJhdGlvbkhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0SEFBdUg7QUFFdkgsb0dBQStGO0FBRy9GLE1BQWEseUJBQTBCLFNBQVEsdUVBQWtDO0lBSTdFO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFISixpQ0FBNEIsR0FBRyxJQUFJLEdBQUcsRUFBOEMsQ0FBQztRQUl6RixJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLCtDQUFzQixFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLCtDQUFzQixFQUFFLENBQUMsQ0FBQztRQUUzRSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsaUJBQW9DO1FBQ3JELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEQsUUFBUSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckQsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQXhCRCw4REF3QkMifQ==
@@ -0,0 +1,16 @@
1
+ import { VarContextCapable } from "../interface/VarContextCapable";
2
+ import { FunctionHelper } from "./FunctionHelper";
3
+ import { Calculator } from "../interface/Calculator";
4
+ import { AssignmentClauseInfo } from "../model/AssignmentClauseInfo";
5
+ import { FunctionHelperAware } from "../interface/FunctionHelperAware";
6
+ export declare class ExpHelper implements Calculator, FunctionHelperAware {
7
+ private functionHelper;
8
+ private calculatorFactory;
9
+ constructor();
10
+ getExpValue(varObj: AssignmentClauseInfo, varContextCapable: VarContextCapable<any>): Promise<any>;
11
+ setFunctionHelper(functionHelper: FunctionHelper): void;
12
+ guessBaseTypeByExpType(exp: AssignmentClauseInfo, varValueTypeList: {
13
+ varName: string;
14
+ varValueType: string;
15
+ }[]): string;
16
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpHelper = void 0;
4
+ const CalculatorFactoryBuilder_1 = require("../calculator/CalculatorFactoryBuilder");
5
+ class ExpHelper {
6
+ constructor() {
7
+ this.calculatorFactory = new CalculatorFactoryBuilder_1.CalculatorFactoryBuilder().build();
8
+ this.calculatorFactory.setExpHelper(this);
9
+ }
10
+ async getExpValue(varObj, varContextCapable) {
11
+ console.debug(`getExpValue 【ExpHelper】${JSON.stringify(varObj)}`);
12
+ let calculator = this.calculatorFactory.getCalculatorByExpType(varObj.expType);
13
+ if (calculator != null) {
14
+ return calculator.getExpValue(varObj, varContextCapable);
15
+ }
16
+ throw new Error("getExpValue fail [ExpHelper]...");
17
+ }
18
+ setFunctionHelper(functionHelper) {
19
+ this.functionHelper = functionHelper;
20
+ this.calculatorFactory.setFunctionHelper(functionHelper);
21
+ }
22
+ /*
23
+ * 类型推断
24
+ */
25
+ guessBaseTypeByExpType(exp, varValueTypeList) {
26
+ switch (exp.expType) {
27
+ case "entity":
28
+ return "entity";
29
+ case "expOp":
30
+ return "number";
31
+ case "expParen":
32
+ let expParen = exp;
33
+ return this.guessBaseTypeByExpType(expParen.var1, varValueTypeList);
34
+ case "expSigned":
35
+ return "number";
36
+ case "functionCall":
37
+ let functionCallInfo = exp;
38
+ let function_config = this.functionHelper.findFunctionConfig(functionCallInfo.varChain, functionCallInfo.funcName);
39
+ if (function_config != null) {
40
+ return function_config["returnType"];
41
+ }
42
+ else {
43
+ return "any";
44
+ }
45
+ case "number":
46
+ return "number";
47
+ case "string":
48
+ return "string";
49
+ case "variableChain":
50
+ if (varValueTypeList != null) {
51
+ let variableChainInfo = exp;
52
+ let vvtTemp = varValueTypeList.find(vvt => {
53
+ return variableChainInfo.content == vvt["varName"];
54
+ });
55
+ if (vvtTemp != null) {
56
+ return vvtTemp["varValueType"];
57
+ }
58
+ else {
59
+ return "any";
60
+ }
61
+ }
62
+ else {
63
+ return "any";
64
+ }
65
+ case "expArgsGroup":
66
+ return "argsGroup";
67
+ case "boolean":
68
+ return "boolean";
69
+ case "expBooleanOpCollection":
70
+ return "boolean";
71
+ case "expBooleanOpCompare":
72
+ return "boolean";
73
+ case "expBooleanOpLogic":
74
+ return "boolean";
75
+ case "expBooleanParen":
76
+ return "boolean";
77
+ case "expCollection":
78
+ return "array";
79
+ case "expCondition":
80
+ return "array";
81
+ }
82
+ return "any";
83
+ }
84
+ }
85
+ exports.ExpHelper = ExpHelper;
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlci9FeHBIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EscUZBQWdGO0FBTWhGLE1BQWEsU0FBUztJQU1sQjtRQUNJLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLG1EQUF3QixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUE0QixFQUFFLGlCQUF5QztRQUNyRixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsRSxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9FLElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxjQUE4QjtRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCLENBQUMsR0FBeUIsRUFDekIsZ0JBQTZEO1FBQ2hGLFFBQVEsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDVCxPQUFPLFFBQVEsQ0FBQztZQUNwQixLQUFLLE9BQU87Z0JBQ1IsT0FBTyxRQUFRLENBQUM7WUFDcEIsS0FBSyxVQUFVO2dCQUNYLElBQUksUUFBUSxHQUFhLEdBQWUsQ0FBQztnQkFDekMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hFLEtBQUssV0FBVztnQkFDWixPQUFPLFFBQVEsQ0FBQztZQUNwQixLQUFLLGNBQWM7Z0JBQ2YsSUFBSSxnQkFBZ0IsR0FBcUIsR0FBdUIsQ0FBQztnQkFDakUsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ25ILElBQUksZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUMxQixPQUFPLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDekMsQ0FBQztxQkFBTSxDQUFDO29CQUNKLE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO1lBQ0wsS0FBSyxRQUFRO2dCQUNULE9BQU8sUUFBUSxDQUFDO1lBQ3BCLEtBQUssUUFBUTtnQkFDVCxPQUFPLFFBQVEsQ0FBQztZQUNwQixLQUFLLGVBQWU7Z0JBQ2hCLElBQUksZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQzNCLElBQUksaUJBQWlCLEdBQXNCLEdBQXdCLENBQUM7b0JBQ3BFLElBQUksT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDdEMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN2RCxDQUFDLENBQUMsQ0FBQztvQkFDSCxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDbEIsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ25DLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixPQUFPLEtBQUssQ0FBQztvQkFDakIsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osT0FBTyxLQUFLLENBQUM7Z0JBQ2pCLENBQUM7WUFDTCxLQUFLLGNBQWM7Z0JBQ2YsT0FBTyxXQUFXLENBQUM7WUFDdkIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssd0JBQXdCO2dCQUN6QixPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLHFCQUFxQjtnQkFDdEIsT0FBTyxTQUFTLENBQUM7WUFDckIsS0FBSyxtQkFBbUI7Z0JBQ3BCLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssaUJBQWlCO2dCQUNsQixPQUFPLFNBQVMsQ0FBQztZQUVyQixLQUFLLGVBQWU7Z0JBQ2hCLE9BQU8sT0FBTyxDQUFDO1lBRW5CLEtBQUssY0FBYztnQkFDZixPQUFPLE9BQU8sQ0FBQztRQUN2QixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBMUZELDhCQTBGQyJ9
@@ -0,0 +1,41 @@
1
+ import { FunctionCallInfo } from "../model/exp/FunctionCallInfo";
2
+ import { FunctionInvoke } from "../interface/FunctionInvoke";
3
+ import { ExpHelper } from "./ExpHelper";
4
+ import { VarContextCapable } from "../interface/VarContextCapable";
5
+ import { ExpHelperAware } from "../interface/ExpHelperAware";
6
+ import { AssignmentClauseInfo } from "../model/AssignmentClauseInfo";
7
+ import { OutsideApiService } from "../service/OutsideApiService";
8
+ import { OutsideApiServiceAware } from "../interface/OutsideApiServiceAware";
9
+ import { Calculator } from "../interface/Calculator";
10
+ export declare class FunctionHelper implements Calculator, FunctionInvoke, ExpHelperAware, OutsideApiServiceAware, VarContextCapable<any> {
11
+ private expCustomList;
12
+ private funcExecutors;
13
+ private expHelper;
14
+ private varContextProxy;
15
+ constructor();
16
+ setExpCustom(expCustom: any): void;
17
+ getExpCustom(functionName: string): any;
18
+ getExpValue(varObj: AssignmentClauseInfo, varContextCapable: VarContextCapable<any>): Promise<any>;
19
+ getFunctionValue(funcInfo: FunctionCallInfo, varContextCapable: VarContextCapable<any>): Promise<any>;
20
+ invokeEnable(functionName: string): boolean;
21
+ invoke(functionName: string, args: any[]): Promise<any>;
22
+ addExecutor(executorName: "Query" | "Kit" | "Time" | "fun" | "api", functionName: string, executor: FunctionInvoke): void;
23
+ setExpHelper(expHelper: ExpHelper): void;
24
+ setOutsideApiService(outsideApiService: OutsideApiService): void;
25
+ argsMatch(paramList: {
26
+ paramValue: string;
27
+ paramValueObj: AssignmentClauseInfo;
28
+ }[], paramConfigList: {
29
+ name: string;
30
+ type: string;
31
+ optional?: boolean;
32
+ isUpdate?: boolean;
33
+ }[], varValueInfoList: {
34
+ varName: string;
35
+ varValueType: string;
36
+ canUpdate: number;
37
+ }[]): boolean;
38
+ findFunctionConfig(varChain: string, funcName: string): boolean;
39
+ getVarContext(varName: string): Promise<any>;
40
+ setVarContextProxy(varContextProxy: VarContextCapable<any>): void;
41
+ }