@lcap/nasl 0.3.9 → 0.3.10-beta

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 (154) hide show
  1. package/out/service/create/errHandles.js +7 -2
  2. package/out/service/create/errHandles.js.map +1 -1
  3. package/out/service/debugger/debugger.d.ts +3 -0
  4. package/out/service/debugger/debugger.js +95 -0
  5. package/out/service/debugger/debugger.js.map +1 -0
  6. package/out/service/logic/logic.d.ts +27 -0
  7. package/out/service/logic/logic.js +20 -0
  8. package/out/service/logic/logic.js.map +1 -1
  9. package/out/service/page/element.d.ts +9 -0
  10. package/out/service/page/element.js +6 -0
  11. package/out/service/page/element.js.map +1 -1
  12. package/out/service/permission/api.d.ts +57 -0
  13. package/out/service/permission/api.js +41 -0
  14. package/out/service/permission/api.js.map +1 -0
  15. package/out/service/permission/index.d.ts +2 -0
  16. package/out/service/permission/index.js +17 -0
  17. package/out/service/permission/index.js.map +1 -0
  18. package/out/service/webFile/index.js +5 -0
  19. package/out/service/webFile/index.js.map +1 -1
  20. package/out/types/app/App.d.ts +4 -1
  21. package/out/types/app/App.js +24 -0
  22. package/out/types/app/App.js.map +1 -1
  23. package/out/types/app/Service.d.ts +2 -2
  24. package/out/types/app/Service.js +28 -3
  25. package/out/types/app/Service.js.map +1 -1
  26. package/out/types/cache.d.ts +6 -0
  27. package/out/types/cache.js +54 -0
  28. package/out/types/cache.js.map +1 -0
  29. package/out/types/common/Vertex.d.ts +25 -0
  30. package/out/types/common/Vertex.js +40 -0
  31. package/out/types/common/Vertex.js.map +1 -1
  32. package/out/types/data/Entity.js +1 -0
  33. package/out/types/data/Entity.js.map +1 -1
  34. package/out/types/data/Enum.d.ts +5 -0
  35. package/out/types/data/Enum.js +5 -0
  36. package/out/types/data/Enum.js.map +1 -1
  37. package/out/types/data/Interface.js +5 -3
  38. package/out/types/data/Interface.js.map +1 -1
  39. package/out/types/data/genBlock/genCreateBlock.js +5 -5
  40. package/out/types/data/genBlock/genCreateBlock.js.map +1 -1
  41. package/out/types/data/genBlock/genCurdBlock.js +3 -3
  42. package/out/types/data/genBlock/genCurdBlock.js.map +1 -1
  43. package/out/types/data/genBlock/genEnumSelectBlock.d.ts +1 -1
  44. package/out/types/data/genBlock/genEnumSelectBlock.js +2 -2
  45. package/out/types/data/genBlock/genEnumSelectBlock.js.map +1 -1
  46. package/out/types/data/genBlock/genGridViewBlock.js +12 -1
  47. package/out/types/data/genBlock/genGridViewBlock.js.map +1 -1
  48. package/out/types/data/genBlock/genListViewBlock.js +2 -2
  49. package/out/types/data/genBlock/genSelectBlock.js +2 -2
  50. package/out/types/data/genBlock/genTableBlock.js +14 -3
  51. package/out/types/data/genBlock/genTableBlock.js.map +1 -1
  52. package/out/types/data/genBlock/genUpdateBlock.js +5 -5
  53. package/out/types/data/genBlock/genUpdateBlock.js.map +1 -1
  54. package/out/types/data/systemTypes.js +47 -0
  55. package/out/types/data/systemTypes.js.map +1 -1
  56. package/out/types/enum.d.ts +6 -0
  57. package/out/types/enum.js +11 -0
  58. package/out/types/enum.js.map +1 -0
  59. package/out/types/generator/hotReload.d.ts +2 -0
  60. package/out/types/generator/hotReload.js +12 -1
  61. package/out/types/generator/hotReload.js.map +1 -1
  62. package/out/types/index.d.ts +7 -1
  63. package/out/types/index.js +11 -2
  64. package/out/types/index.js.map +1 -1
  65. package/out/types/logic/BreakPoint.d.ts +42 -0
  66. package/out/types/logic/BreakPoint.js +155 -0
  67. package/out/types/logic/BreakPoint.js.map +1 -0
  68. package/out/types/logic/Debugger.d.ts +156 -0
  69. package/out/types/logic/Debugger.js +912 -0
  70. package/out/types/logic/Debugger.js.map +1 -0
  71. package/out/types/logic/Logic.d.ts +40 -0
  72. package/out/types/logic/Logic.js +130 -31
  73. package/out/types/logic/Logic.js.map +1 -1
  74. package/out/types/logic/LogicItem.d.ts +21 -1
  75. package/out/types/logic/LogicItem.js +227 -24
  76. package/out/types/logic/LogicItem.js.map +1 -1
  77. package/out/types/logic/Param.d.ts +1 -0
  78. package/out/types/logic/Param.js +38 -20
  79. package/out/types/logic/Param.js.map +1 -1
  80. package/out/types/logic/Return.js +14 -19
  81. package/out/types/logic/Return.js.map +1 -1
  82. package/out/types/logic/Variable.js +14 -19
  83. package/out/types/logic/Variable.js.map +1 -1
  84. package/out/types/logic/translator.js +0 -2
  85. package/out/types/logic/translator.js.map +1 -1
  86. package/out/types/nuims/Nuims.d.ts +1 -1
  87. package/out/types/nuims/Nuims.js +11 -4
  88. package/out/types/nuims/Nuims.js.map +1 -1
  89. package/out/types/page/Element.d.ts +5 -0
  90. package/out/types/page/Element.js +114 -130
  91. package/out/types/page/Element.js.map +1 -1
  92. package/out/types/page/Event.js.map +1 -1
  93. package/out/types/page/Page.d.ts +1 -0
  94. package/out/types/page/Page.js +59 -27
  95. package/out/types/page/Page.js.map +1 -1
  96. package/out/types/page/View.d.ts +17 -3
  97. package/out/types/page/View.js +53 -37
  98. package/out/types/page/View.js.map +1 -1
  99. package/out/types/page/ViewParam.d.ts +1 -0
  100. package/out/types/page/ViewParam.js +23 -4
  101. package/out/types/page/ViewParam.js.map +1 -1
  102. package/out/types/page/ViewVariable.js +13 -18
  103. package/out/types/page/ViewVariable.js.map +1 -1
  104. package/out/types/permission/Permission.d.ts +41 -0
  105. package/out/types/permission/Permission.js +122 -0
  106. package/out/types/permission/Permission.js.map +1 -0
  107. package/package.json +2 -2
  108. package/src/service/create/errHandles.js +6 -2
  109. package/src/service/debugger/debugger.js +90 -0
  110. package/src/service/developPermission/api.js +37 -0
  111. package/src/service/developPermission/index.js +13 -0
  112. package/src/service/logic/logic.js +20 -0
  113. package/src/service/page/element.js +6 -0
  114. package/src/service/permission/api.js +38 -0
  115. package/src/service/permission/index.js +13 -0
  116. package/src/service/webFile/index.js +6 -1
  117. package/src/types/app/App.ts +27 -1
  118. package/src/types/app/Service.ts +32 -3
  119. package/src/types/cache.ts +50 -0
  120. package/src/types/common/Vertex.ts +30 -0
  121. package/src/types/data/Entity.ts +1 -0
  122. package/src/types/data/Enum.ts +5 -0
  123. package/src/types/data/Interface.ts +4 -3
  124. package/src/types/data/genBlock/genCreateBlock.ts +5 -5
  125. package/src/types/data/genBlock/genCurdBlock.ts +3 -3
  126. package/src/types/data/genBlock/genEnumSelectBlock.ts +2 -2
  127. package/src/types/data/genBlock/genGridViewBlock.ts +12 -1
  128. package/src/types/data/genBlock/genListViewBlock.ts +2 -2
  129. package/src/types/data/genBlock/genSelectBlock.ts +2 -2
  130. package/src/types/data/genBlock/genTableBlock.ts +14 -3
  131. package/src/types/data/genBlock/genUpdateBlock.ts +5 -5
  132. package/src/types/data/systemTypes.ts +47 -0
  133. package/src/types/enum.ts +6 -0
  134. package/src/types/generator/hotReload.ts +10 -0
  135. package/src/types/index.ts +7 -1
  136. package/src/types/logic/BreakPoint.ts +200 -0
  137. package/src/types/logic/Debugger.ts +1140 -0
  138. package/src/types/logic/Logic.ts +133 -28
  139. package/src/types/logic/LogicItem.ts +250 -28
  140. package/src/types/logic/Param.ts +26 -8
  141. package/src/types/logic/Return.ts +4 -9
  142. package/src/types/logic/Variable.ts +4 -8
  143. package/src/types/logic/translator.d.ts +16 -0
  144. package/src/types/logic/translator.js +144 -88
  145. package/src/types/logic/translator_backup.js +5 -16
  146. package/src/types/nuims/Nuims.ts +11 -5
  147. package/src/types/page/Element.ts +63 -75
  148. package/src/types/page/Event.ts +0 -3
  149. package/src/types/page/Page.ts +73 -40
  150. package/src/types/page/View.ts +45 -18
  151. package/src/types/page/ViewParam.ts +22 -3
  152. package/src/types/page/ViewVariable.ts +4 -8
  153. package/src/types/permission/Permission.ts +112 -0
  154. package/tsconfig.json +1 -1
@@ -9,7 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ExpressionNode = exports.LogicNode = exports.LogicItem = exports.logicItemArrayKeyOfLogicItem = exports.logicItemKeyOfLogicItem = exports.evaluate = exports.LOGIC_TYPE = void 0;
12
+ exports.ExpressionNode = exports.LogicNode = exports.LogicItem = exports.catchFn = exports.logicItemArrayKeyOfLogicItem = exports.logicItemKeyOfLogicItem = exports.evaluate = exports.LOGIC_TYPE = void 0;
13
13
  const decorators_1 = require("../decorators");
14
14
  const __1 = require("..");
15
15
  const logic_1 = require("../../service/logic");
@@ -17,6 +17,8 @@ const utils_1 = require("../utils");
17
17
  const cacheData_1 = require("../cacheData");
18
18
  const tools_1 = require("./tools");
19
19
  const Structure_1 = __importDefault(require("../data/Structure"));
20
+ const cache_1 = require("../cache");
21
+ const enum_1 = require("../enum");
20
22
  var LOGIC_TYPE;
21
23
  (function (LOGIC_TYPE) {
22
24
  // LogicNode
@@ -66,6 +68,17 @@ var LOGIC_TYPE;
66
68
  LOGIC_TYPE["QueryJoinExpression"] = "QueryJoinExpression";
67
69
  LOGIC_TYPE["QueryAggregateExpression"] = "QueryAggregateExpression";
68
70
  })(LOGIC_TYPE = exports.LOGIC_TYPE || (exports.LOGIC_TYPE = {}));
71
+ const atomicList = [
72
+ LOGIC_TYPE.Identifier,
73
+ LOGIC_TYPE.NumericLiteral,
74
+ LOGIC_TYPE.BooleanLiteral,
75
+ LOGIC_TYPE.StringLiteral,
76
+ LOGIC_TYPE.NullLiteral,
77
+ LOGIC_TYPE.UnaryExpression,
78
+ LOGIC_TYPE.MemberExpression,
79
+ LOGIC_TYPE.Unparsed,
80
+ LOGIC_TYPE.BuiltInFunction,
81
+ ];
69
82
  function evaluate(node, finalCode = true) {
70
83
  if (!node)
71
84
  return '';
@@ -81,19 +94,19 @@ function evaluate(node, finalCode = true) {
81
94
  return 'null';
82
95
  if (node.type === 'BinaryExpression') {
83
96
  let left = evaluate(node.left, finalCode);
84
- if (!finalCode && node.left?.type === LOGIC_TYPE.MemberExpression)
97
+ if (!atomicList.includes(node.left?.type) || (!finalCode && node.left?.type === LOGIC_TYPE.MemberExpression))
85
98
  left = `(${left})`;
86
99
  let right = evaluate(node.right, finalCode);
87
- if (!finalCode && node.right?.type === LOGIC_TYPE.MemberExpression)
100
+ if (!atomicList.includes(node.right?.type) || (!finalCode && node.left?.type === LOGIC_TYPE.MemberExpression))
88
101
  right = `(${right})`;
89
102
  return `${left} ${node.operator} ${right}`;
90
103
  }
91
104
  if (node.type === 'LogicalExpression') {
92
105
  let left = evaluate(node.left, finalCode);
93
- if (!finalCode && node.left?.type === LOGIC_TYPE.MemberExpression)
106
+ if (!atomicList.includes(node.left?.type) || (!finalCode && node.left?.type === LOGIC_TYPE.MemberExpression))
94
107
  left = `(${left})`;
95
108
  let right = evaluate(node.right, finalCode);
96
- if (!finalCode && node.right?.type === LOGIC_TYPE.MemberExpression)
109
+ if (!atomicList.includes(node.right?.type) || (!finalCode && node.left?.type === LOGIC_TYPE.MemberExpression))
97
110
  right = `(${right})`;
98
111
  return `${left} ${node.operator} ${right}`;
99
112
  }
@@ -198,6 +211,17 @@ exports.logicItemKeyOfLogicItem = ['test', 'left', 'right', 'each', 'item', 'ind
198
211
  exports.logicItemArrayKeyOfLogicItem = ['body', 'consequent', 'alternate', 'cases', 'params', 'arguments', 'builtInFuncParams',
199
212
  'groupBy', 'orderBy', 'selectElementList', 'joinPartList', 'onExpressionList', 'where', 'having',
200
213
  ];
214
+ function catchFn(logic) {
215
+ return async (err) => {
216
+ if (err.code !== enum_1.BusinessCode.HasReferenced) // 节点被引用,不用刷新数据
217
+ await cache_1.refreshLogic(logic);
218
+ else
219
+ __1.config.defaultApp?.emit('saved', err);
220
+ __1.config.defaultApp?.history.load();
221
+ throw err;
222
+ };
223
+ }
224
+ exports.catchFn = catchFn;
201
225
  /**
202
226
  * 逻辑项类
203
227
  */
@@ -257,6 +281,11 @@ class LogicItem extends __1.Vertex {
257
281
  this.builtInFuncParamValue = undefined;
258
282
  this.pageParamKey = undefined;
259
283
  this.pageParamKeyValue = undefined;
284
+ /**
285
+ 断点集合
286
+ */
287
+ this.breakPoints = [];
288
+ this.temporaryBreakPoint = null;
260
289
  /**
261
290
  * CallQueryComponent 对应的 structure 的 id
262
291
  */
@@ -373,7 +402,7 @@ class LogicItem extends __1.Vertex {
373
402
  operationIgnore: actionOptions?.actionIgnore,
374
403
  },
375
404
  body,
376
- });
405
+ }).catch(catchFn(this.logic));
377
406
  this.deepPick(result, ['id', 'parentId', 'parentAttr', 'joinPartRef', 'structureRef']);
378
407
  }
379
408
  this.assign({
@@ -462,7 +491,7 @@ class LogicItem extends __1.Vertex {
462
491
  offsetY,
463
492
  },
464
493
  },
465
- });
494
+ }).catch(catchFn(this.logic));
466
495
  }
467
496
  if (!(this.parentId === parentId && this.parentId === this.logic.playgroundId && this.parentAttr === parentAttr)) {
468
497
  // 以下几句顺序不能变,注意!
@@ -515,6 +544,7 @@ class LogicItem extends __1.Vertex {
515
544
  * @param targetId
516
545
  */
517
546
  static async paste(logicItems, targetType, targetId) {
547
+ __1.config.defaultApp?.emit('saving');
518
548
  if (!Array.isArray(logicItems))
519
549
  logicItems = [logicItems];
520
550
  logicItems.forEach((logicItem) => {
@@ -532,7 +562,7 @@ class LogicItem extends __1.Vertex {
532
562
  operationAction: 'LogicItem.paste',
533
563
  operationDesc: `粘贴逻辑项"${logicItems[0].label || logicItems[0].type}"`,
534
564
  },
535
- });
565
+ }).catch(catchFn(cacheData_1.vertexsMap.get(targetId)));
536
566
  LogicItem.redoPaste(res);
537
567
  }
538
568
  static async redoPaste(res) {
@@ -665,25 +695,20 @@ class LogicItem extends __1.Vertex {
665
695
  __1.config.defaultApp?.emit('saving');
666
696
  if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
667
697
  if (this.id) {
698
+ await this.removeAllBreakPointsOfDescendants();
668
699
  const body = this.toPlainJSON();
669
700
  /// @TODO: 不知道哪里来的 index
670
701
  delete body.index;
671
702
  ///
672
- try {
673
- await logic_1.logicService.removeItem({
674
- headers: {
675
- appId: __1.config.defaultApp?.id,
676
- serviceId: this.logic?.interface?.serviceId,
677
- operationAction: 'LogicItem.delete',
678
- operationDesc: `删除逻辑项"${this.label || this.type}"`,
679
- },
680
- body,
681
- });
682
- }
683
- catch (err) {
684
- await __1.config.defaultApp?.history.load();
685
- throw err;
686
- }
703
+ await logic_1.logicService.removeItem({
704
+ headers: {
705
+ appId: __1.config.defaultApp?.id,
706
+ serviceId: this.logic?.interface?.serviceId,
707
+ operationAction: 'LogicItem.delete',
708
+ operationDesc: `删除逻辑项"${this.label || this.type}"`,
709
+ },
710
+ body,
711
+ }).catch(catchFn(this.logic));
687
712
  }
688
713
  }
689
714
  if (this.id) {
@@ -764,7 +789,7 @@ class LogicItem extends __1.Vertex {
764
789
  operationIgnore: actionOptions?.actionIgnore,
765
790
  },
766
791
  body,
767
- });
792
+ }).catch(catchFn(this.logic));
768
793
  // this.deepPick(result, ['id', 'parentId', 'parentAttr']);
769
794
  // 合并params里的id
770
795
  if (body.params && body.params.length) {
@@ -967,6 +992,143 @@ class LogicItem extends __1.Vertex {
967
992
  parentAttr: activeImage.parentAttr,
968
993
  };
969
994
  }
995
+ addBreakPointInstance(bp) {
996
+ const finded = this.breakPoints.find((item) => item.offset === bp.offset);
997
+ if (!finded) {
998
+ this.breakPoints.push(bp);
999
+ }
1000
+ }
1001
+ async addBreakPoint(appId, offsetLine = 0) {
1002
+ let bp = this.breakPoints.find((bp) => bp.offset === offsetLine);
1003
+ if (bp) {
1004
+ return bp;
1005
+ }
1006
+ bp = new __1.BreakPoint();
1007
+ await bp.create({
1008
+ appId,
1009
+ logicItem: this,
1010
+ offset: offsetLine,
1011
+ });
1012
+ this.breakPoints.push(bp);
1013
+ const app = __1.config.defaultApp;
1014
+ app.debuggerClient.breakPoints.push(bp);
1015
+ return bp;
1016
+ }
1017
+ getBreakPointByLineNumber(lineNumber) {
1018
+ return this.breakPoints.find((bp) => bp.lineNumberStart === lineNumber);
1019
+ }
1020
+ addTemperaryBreakPoint(offsetLine = 0) {
1021
+ const bp = new __1.BreakPoint({
1022
+ target: this.logic && this.logic.view ? 'Frontend' : 'Backend',
1023
+ logicItem: this,
1024
+ logicItemId: this.id,
1025
+ componentId: this.logic && this.logic.view && this.logic.view.id,
1026
+ component: this.logic && this.logic.view,
1027
+ logic: this.logic,
1028
+ status: 'Enabled',
1029
+ offset: offsetLine,
1030
+ isTemporary: true,
1031
+ });
1032
+ bp.attachSourceMap();
1033
+ this.temporaryBreakPoint = bp;
1034
+ return bp;
1035
+ }
1036
+ get breakPoint() {
1037
+ if (this.parent?.type === 'SwitchCase' && this.parentAttr === 'test')
1038
+ return this.parent.breakPoint;
1039
+ return this.breakPoints?.find((bp) => bp.offset === 0);
1040
+ }
1041
+ get hasBreakPoint() {
1042
+ if (this.parent?.type === 'SwitchCase' && this.parentAttr === 'test')
1043
+ return this.parent.hasBreakPoint;
1044
+ return !!(this.temporaryBreakPoint || this.breakPoint);
1045
+ }
1046
+ get isBreakPointEnabled() {
1047
+ if (this.parent?.type === 'SwitchCase' && this.parentAttr === 'test')
1048
+ return this.parent.isBreakPointEnabled;
1049
+ return this.breakPoint?.status === 'Enabled';
1050
+ }
1051
+ get isBreakPointDisabled() {
1052
+ if (this.parent?.type === 'SwitchCase' && this.parentAttr === 'test')
1053
+ return this.parent.isBreakPointDisabled;
1054
+ return this.breakPoint?.status === 'Disabled';
1055
+ }
1056
+ get isBreakPointActive() {
1057
+ if (this.parent?.type === 'SwitchCase' && this.parentAttr === 'test')
1058
+ return this.parent.isBreakPointActive;
1059
+ if (__1.config.defaultApp.debuggerClient?.currentThread) {
1060
+ const bp = this.temporaryBreakPoint || this.breakPoint;
1061
+ return bp === __1.config.defaultApp.debuggerClient?.currentThread.breakPoint;
1062
+ }
1063
+ return false;
1064
+ // if (this.temporaryBreakPoint) {
1065
+ // return true;
1066
+ // }
1067
+ // return this.breakPoint === config.defaultApp.debuggerClient?.currentBreakPoint;
1068
+ }
1069
+ async setBreakPoint(offsetLine = 0) {
1070
+ const app = __1.config.defaultApp;
1071
+ if (app.debuggerClient?.isConnected) {
1072
+ const breakPoint = new __1.BreakPoint({
1073
+ target: this.logic && this.logic.view ? 'Frontend' : 'Backend',
1074
+ logicItem: this,
1075
+ logicItemId: this.id,
1076
+ componentId: this.logic && this.logic.view && this.logic.view.id,
1077
+ component: this.logic && this.logic.view,
1078
+ logic: this.logic,
1079
+ status: 'Enabled',
1080
+ offset: offsetLine,
1081
+ });
1082
+ const attachResult = breakPoint.attachSourceMap();
1083
+ if (attachResult) {
1084
+ await app.debuggerClient.setRemoteBreakPoint(breakPoint);
1085
+ await this.addBreakPoint(app.id, offsetLine);
1086
+ }
1087
+ else {
1088
+ this.emit('breakpointattacherror', {
1089
+ message: '未在sourceMap中找到'
1090
+ });
1091
+ }
1092
+ }
1093
+ else {
1094
+ await this.addBreakPoint(app.id, offsetLine);
1095
+ }
1096
+ }
1097
+ async removeBreakPoint(offsetLine = 0) {
1098
+ const app = __1.config.defaultApp;
1099
+ const breakPoints = this.parent?.type === 'SwitchCase' && this.parentAttr === 'test' ? this.parent.breakPoints : this.breakPoints;
1100
+ const breakPoint = breakPoints.find((bp) => bp.offset === offsetLine);
1101
+ await app.debuggerClient?.removeRemoteBreakPoint(breakPoint);
1102
+ await breakPoint?.remove();
1103
+ }
1104
+ async removeAllBreakPointsOfDescendants() {
1105
+ const promises = [];
1106
+ __1.utils.traverse(({ node }) => {
1107
+ if (node.breakPoints?.length > 0) {
1108
+ node.breakPoints.forEach((bp) => {
1109
+ promises.push(node.removeBreakPoint(bp.offset));
1110
+ });
1111
+ }
1112
+ }, { node: this }, {
1113
+ mode: 'anyObject',
1114
+ excludedKeySet: this.JSON_EXCLUDED_KEYS,
1115
+ });
1116
+ await Promise.all(promises);
1117
+ }
1118
+ async disableAllBreakPointsOfDescendants() {
1119
+ const promises = [];
1120
+ __1.utils.traverse(({ node }) => {
1121
+ if (node.breakPoints?.length > 0) {
1122
+ node.breakPoints.forEach((bp) => {
1123
+ promises.push(bp.disable());
1124
+ });
1125
+ }
1126
+ }, { node: this }, {
1127
+ mode: 'anyObject',
1128
+ excludedKeySet: this.JSON_EXCLUDED_KEYS,
1129
+ });
1130
+ await Promise.all(promises);
1131
+ }
970
1132
  }
971
1133
  __decorate([
972
1134
  decorators_1.immutable()
@@ -1030,6 +1192,10 @@ __decorate([
1030
1192
  __decorate([
1031
1193
  decorators_1.immutable()
1032
1194
  ], LogicItem.prototype, "pageParamKeyValue", void 0);
1195
+ __decorate([
1196
+ decorators_1.immutable(),
1197
+ decorators_1.excludedInJSON()
1198
+ ], LogicItem.prototype, "breakPoints", void 0);
1033
1199
  __decorate([
1034
1200
  decorators_1.immutable()
1035
1201
  ], LogicItem.prototype, "structureRef", void 0);
@@ -1225,6 +1391,43 @@ class ExpressionNode extends LogicItem {
1225
1391
  this.joinType = undefined;
1226
1392
  source && this.assign(source);
1227
1393
  }
1394
+ addBreakPoint(appId, offsetLine = 0) {
1395
+ // let switchParent = this.parent;
1396
+ // let switchCase;
1397
+ // while (switchParent && switchParent.type !== 'SwitchStatement') {
1398
+ // if (switchParent.type === 'SwitchCase') {
1399
+ // switchCase = switchParent;
1400
+ // }
1401
+ // switchParent = switchParent.parent;
1402
+ // }
1403
+ // switchCase 是个 logicNode,直接加好了
1404
+ if (this.parent?.type === 'SwitchCase' && this.parentAttr === 'test')
1405
+ return this.parent.addBreakPoint(appId, offsetLine);
1406
+ // const index = switchParent.cases.findIndex((c) => c === switchCase);
1407
+ // const id = switchCase.id;
1408
+ // const view = this.logic.view;
1409
+ // const sourceMap = view.sourceMap;
1410
+ // const componentId = view.id;
1411
+ // // const id = `${switchParent.id}-case${index}`;
1412
+ // const map = sourceMap[id];
1413
+ // if (map) {
1414
+ // const lineNumberStart = map.from + offsetLine;
1415
+ // let bp = this.breakPoints.find((bp) => bp.lineNumberStart === lineNumberStart);
1416
+ // if (bp) {
1417
+ // return bp;
1418
+ // }
1419
+ // bp = new BreakPoint({
1420
+ // lineNumberStart,
1421
+ // logicItem: switchCase,
1422
+ // logicItemId: switchCase.id,
1423
+ // componentId,
1424
+ // });
1425
+ // switchCase.breakPoints.push(bp);
1426
+ // return bp;
1427
+ // }
1428
+ // return null;
1429
+ return super.addBreakPoint(appId, offsetLine);
1430
+ }
1228
1431
  }
1229
1432
  __decorate([
1230
1433
  decorators_1.immutable()
@@ -1 +1 @@
1
- {"version":3,"file":"LogicItem.js","sourceRoot":"","sources":["../../../src/types/logic/LogicItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogicItem.js","sourceRoot":"","sources":["../../../src/types/logic/LogicItem.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { LEVEL_ENUM, Logic, Schema, BaseVariable, ActionOptions } from '..';
2
+ export declare function catchFn(logic: Logic): (err: any) => Promise<never>;
2
3
  /**
3
4
  * 逻辑输入参数
4
5
  */
@@ -6,13 +6,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Param = void 0;
9
+ exports.Param = exports.catchFn = void 0;
10
10
  const decorators_1 = require("../decorators");
11
11
  const __1 = require("..");
12
12
  const logic_1 = require("../../service/logic");
13
13
  const dataTypeUtils_1 = require("../data/dataTypeUtils");
14
14
  const basicTypes_1 = require("../data/basicTypes");
15
15
  const common_1 = require("../../service/common");
16
+ const cache_1 = require("../cache");
17
+ const enum_1 = require("../enum");
18
+ function catchFn(logic) {
19
+ return async (err) => {
20
+ const code = err?.code;
21
+ // 节点已存在; 节点不存在
22
+ if ([enum_1.BusinessCode.ElementExist, enum_1.BusinessCode.ElementNotExist].includes(code)) {
23
+ await cache_1.refreshLogic(logic);
24
+ }
25
+ else if (code === enum_1.BusinessCode.ParentElementNotExist) { // 父节点不存在,即逻辑不存在
26
+ if (logic.interface) {
27
+ await cache_1.refreshInterfaces();
28
+ }
29
+ else if (logic.view) {
30
+ await cache_1.refreshView(logic.view);
31
+ }
32
+ }
33
+ else
34
+ __1.config.defaultApp?.emit('saved', err);
35
+ __1.config.defaultApp?.history.load();
36
+ throw err;
37
+ };
38
+ }
39
+ exports.catchFn = catchFn;
16
40
  /**
17
41
  * 逻辑输入参数
18
42
  */
@@ -61,7 +85,7 @@ class Param extends __1.BaseVariable {
61
85
  operationDesc: actionOptions?.actionDesc || `添加逻辑"${this.logic.name}"输入参数"${this.name}"`,
62
86
  },
63
87
  body,
64
- });
88
+ }).catch(catchFn(this.logic));
65
89
  // convert2RefType(result.schema);
66
90
  this.deepPick(result, ['id']);
67
91
  this.assign({ code: this.genCode() });
@@ -84,23 +108,17 @@ class Param extends __1.BaseVariable {
84
108
  async delete(none, actionOptions) {
85
109
  __1.config.defaultApp?.emit('saving');
86
110
  if (this.id) {
87
- try {
88
- await logic_1.paramService.delete({
89
- headers: {
90
- appId: __1.config.defaultApp?.id,
91
- operationAction: actionOptions?.actionName || 'Param.create',
92
- operationDesc: actionOptions?.actionDesc || `删除逻辑"${this.logic.name}"输入参数"${this.name}"`,
93
- },
94
- query: {
95
- loValId: this.id,
96
- logicId: this.logic.id,
97
- },
98
- });
99
- }
100
- catch (err) {
101
- await __1.config.defaultApp?.history.load();
102
- throw err;
103
- }
111
+ await logic_1.paramService.delete({
112
+ headers: {
113
+ appId: __1.config.defaultApp?.id,
114
+ operationAction: actionOptions?.actionName || 'Param.create',
115
+ operationDesc: actionOptions?.actionDesc || `删除逻辑"${this.logic.name}"输入参数"${this.name}"`,
116
+ },
117
+ query: {
118
+ loValId: this.id,
119
+ logicId: this.logic.id,
120
+ },
121
+ }).catch(catchFn(this.logic));
104
122
  }
105
123
  const index = this.logic.params.indexOf(this);
106
124
  ~index && this.logic.params.splice(index, 1);
@@ -131,7 +149,7 @@ class Param extends __1.BaseVariable {
131
149
  operationDesc: actionOptions?.actionDesc || `修改逻辑输入参数"${this.name}"`,
132
150
  },
133
151
  body,
134
- });
152
+ }).catch(catchFn(this.logic));
135
153
  this.schema.id = result.schema.id;
136
154
  // convert2RefType(result.schema);
137
155
  // this.plainAssign(result);