@lcap/nasl 2.20.0-beta.2 → 2.20.0

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 (323) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +2 -3
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/uniqueName.d.ts +1 -1
  5. package/out/automate/engine/uniqueName.js +2 -2
  6. package/out/automate/engine/uniqueName.js.map +1 -1
  7. package/out/automate/engine/utils.js +4 -1
  8. package/out/automate/engine/utils.js.map +1 -1
  9. package/out/automate/template/myProcess.d.ts +1 -1
  10. package/out/automate/template/myProcess.js +2 -2
  11. package/out/automate/template/myProcess.js.map +1 -1
  12. package/out/bak/translator.js +14 -22
  13. package/out/bak/translator.js.map +1 -1
  14. package/out/common/BaseNode.js +4 -1
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/common/Command.d.ts +1 -0
  17. package/out/common/Command.js +5 -1
  18. package/out/common/Command.js.map +1 -1
  19. package/out/concepts/App__.d.ts +4 -0
  20. package/out/concepts/App__.js +30 -6
  21. package/out/concepts/App__.js.map +1 -1
  22. package/out/concepts/Assignee__.js +4 -3
  23. package/out/concepts/Assignee__.js.map +1 -1
  24. package/out/concepts/BatchAssignment__.js +3 -3
  25. package/out/concepts/BatchAssignment__.js.map +1 -1
  26. package/out/concepts/BindAttribute__.d.ts +7 -0
  27. package/out/concepts/BindAttribute__.js +270 -39
  28. package/out/concepts/BindAttribute__.js.map +1 -1
  29. package/out/concepts/BindDirective__.d.ts +7 -0
  30. package/out/concepts/BindDirective__.js +215 -17
  31. package/out/concepts/BindDirective__.js.map +1 -1
  32. package/out/concepts/BindStyle__.d.ts +7 -0
  33. package/out/concepts/BindStyle__.js +194 -4
  34. package/out/concepts/BindStyle__.js.map +1 -1
  35. package/out/concepts/CallFunction__.js +22 -8
  36. package/out/concepts/CallFunction__.js.map +1 -1
  37. package/out/concepts/CallInterface__.js +3 -2
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +3 -0
  40. package/out/concepts/CallLogic__.js +78 -89
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.js +20 -3
  43. package/out/concepts/CallQueryComponent__.js.map +1 -1
  44. package/out/concepts/ConfigGroup__.d.ts +1 -0
  45. package/out/concepts/ConfigGroup__.js +13 -0
  46. package/out/concepts/ConfigGroup__.js.map +1 -1
  47. package/out/concepts/ConfigProperty__.d.ts +19 -0
  48. package/out/concepts/ConfigProperty__.js +61 -0
  49. package/out/concepts/ConfigProperty__.js.map +1 -1
  50. package/out/concepts/Configuration__.d.ts +1 -0
  51. package/out/concepts/Configuration__.js +13 -0
  52. package/out/concepts/Configuration__.js.map +1 -1
  53. package/out/concepts/DataSource__.js.map +1 -1
  54. package/out/concepts/Destination__.d.ts +1 -0
  55. package/out/concepts/Destination__.js +61 -7
  56. package/out/concepts/Destination__.js.map +1 -1
  57. package/out/concepts/EntityProperty__.js +9 -1
  58. package/out/concepts/EntityProperty__.js.map +1 -1
  59. package/out/concepts/EnumItem__.d.ts +5 -5
  60. package/out/concepts/EnumItem__.js +6 -6
  61. package/out/concepts/Enum__.d.ts +20 -19
  62. package/out/concepts/Enum__.js +28 -1
  63. package/out/concepts/Enum__.js.map +1 -1
  64. package/out/concepts/ExternalDestination__.d.ts +1 -0
  65. package/out/concepts/ExternalDestination__.js +21 -3
  66. package/out/concepts/ExternalDestination__.js.map +1 -1
  67. package/out/concepts/ForEachStatement__.js +2 -0
  68. package/out/concepts/ForEachStatement__.js.map +1 -1
  69. package/out/concepts/Frontend__.d.ts +2 -1
  70. package/out/concepts/Frontend__.js.map +1 -1
  71. package/out/concepts/Identifier__.js +16 -5
  72. package/out/concepts/Identifier__.js.map +1 -1
  73. package/out/concepts/InterfaceParam__.js +9 -1
  74. package/out/concepts/InterfaceParam__.js.map +1 -1
  75. package/out/concepts/JSBlock__.js +5 -1
  76. package/out/concepts/JSBlock__.js.map +1 -1
  77. package/out/concepts/Logic__.d.ts +79 -79
  78. package/out/concepts/Logic__.js +16 -3
  79. package/out/concepts/Logic__.js.map +1 -1
  80. package/out/concepts/Match__.d.ts +0 -3
  81. package/out/concepts/Match__.js +11 -66
  82. package/out/concepts/Match__.js.map +1 -1
  83. package/out/concepts/MemberExpression__.js +9 -0
  84. package/out/concepts/MemberExpression__.js.map +1 -1
  85. package/out/concepts/Module__.d.ts +16 -0
  86. package/out/concepts/Module__.js +43 -0
  87. package/out/concepts/Module__.js.map +1 -1
  88. package/out/concepts/NewComposite__.d.ts +2 -4
  89. package/out/concepts/NewComposite__.js +91 -126
  90. package/out/concepts/NewComposite__.js.map +1 -1
  91. package/out/concepts/NewList__.d.ts +1 -0
  92. package/out/concepts/NewList__.js +22 -2
  93. package/out/concepts/NewList__.js.map +1 -1
  94. package/out/concepts/NewMap__.d.ts +1 -0
  95. package/out/concepts/NewMap__.js +43 -11
  96. package/out/concepts/NewMap__.js.map +1 -1
  97. package/out/concepts/OqlQueryComponent__.js +40 -12
  98. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  99. package/out/concepts/Param__.js +10 -2
  100. package/out/concepts/Param__.js.map +1 -1
  101. package/out/concepts/ProcessElement__.js +2 -1
  102. package/out/concepts/ProcessElement__.js.map +1 -1
  103. package/out/concepts/ProcessOutcome__.js +1 -1
  104. package/out/concepts/ProcessOutcome__.js.map +1 -1
  105. package/out/concepts/ProcessOutcomes__.js +1 -1
  106. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  107. package/out/concepts/Process__.js +1 -0
  108. package/out/concepts/Process__.js.map +1 -1
  109. package/out/concepts/Return__.js +10 -2
  110. package/out/concepts/Return__.js.map +1 -1
  111. package/out/concepts/StringInterpolation__.js +14 -2
  112. package/out/concepts/StringInterpolation__.js.map +1 -1
  113. package/out/concepts/StringLiteral__.js +6 -6
  114. package/out/concepts/StringLiteral__.js.map +1 -1
  115. package/out/concepts/StructureProperty__.js +9 -1
  116. package/out/concepts/StructureProperty__.js.map +1 -1
  117. package/out/concepts/TypeAnnotation__.d.ts +6 -3
  118. package/out/concepts/TypeAnnotation__.js +67 -13
  119. package/out/concepts/TypeAnnotation__.js.map +1 -1
  120. package/out/concepts/ValidationRule__.d.ts +1 -0
  121. package/out/concepts/ValidationRule__.js +53 -0
  122. package/out/concepts/ValidationRule__.js.map +1 -1
  123. package/out/concepts/Variable__.js +9 -1
  124. package/out/concepts/Variable__.js.map +1 -1
  125. package/out/concepts/ViewElement__.js +17 -1
  126. package/out/concepts/ViewElement__.js.map +1 -1
  127. package/out/concepts/View__.d.ts +1 -3
  128. package/out/concepts/View__.js +22 -11
  129. package/out/concepts/View__.js.map +1 -1
  130. package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
  131. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  132. package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
  133. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  134. package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
  135. package/out/concepts/basics/stdlib/nasl.core.js +34 -0
  136. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  137. package/out/concepts/basics/stdlib/nasl.util.js +4 -2
  138. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  139. package/out/concepts/basics/types/index.d.ts +1 -0
  140. package/out/concepts/basics/types/index.js +3 -1
  141. package/out/concepts/basics/types/index.js.map +1 -1
  142. package/out/concepts/index__.d.ts +0 -1
  143. package/out/concepts/index__.js +0 -1
  144. package/out/concepts/index__.js.map +1 -1
  145. package/out/enums/KEYWORDS.js +8 -0
  146. package/out/enums/KEYWORDS.js.map +1 -1
  147. package/out/generator/genBundleFiles.js +24 -5
  148. package/out/generator/genBundleFiles.js.map +1 -1
  149. package/out/generator/genReleaseBody.d.ts +2 -3
  150. package/out/generator/genReleaseBody.js +97 -23
  151. package/out/generator/genReleaseBody.js.map +1 -1
  152. package/out/generator/permission.d.ts +2 -10
  153. package/out/generator/permission.js +27 -14
  154. package/out/generator/permission.js.map +1 -1
  155. package/out/server/entity2LogicNamespace.js +2 -20
  156. package/out/server/entity2LogicNamespace.js.map +1 -1
  157. package/out/server/extendBaseNode.js +16 -5
  158. package/out/server/extendBaseNode.js.map +1 -1
  159. package/out/server/formatTsUtils.d.ts +2 -1
  160. package/out/server/formatTsUtils.js +40 -10
  161. package/out/server/formatTsUtils.js.map +1 -1
  162. package/out/server/getLogics.d.ts +2 -2
  163. package/out/server/getLogics.js +3 -3
  164. package/out/server/getLogics.js.map +1 -1
  165. package/out/server/getMemberIdentifier.d.ts +1 -0
  166. package/out/server/getMemberIdentifier.js +27 -1
  167. package/out/server/getMemberIdentifier.js.map +1 -1
  168. package/out/server/index.js +1 -0
  169. package/out/server/index.js.map +1 -1
  170. package/out/server/naslServer.d.ts +7 -1
  171. package/out/server/naslServer.js +519 -46
  172. package/out/server/naslServer.js.map +1 -1
  173. package/out/server/translator.js +109 -33
  174. package/out/server/translator.js.map +1 -1
  175. package/out/service/storage/init.js +21 -1
  176. package/out/service/storage/init.js.map +1 -1
  177. package/out/templator/genCreateBlock.js +1 -3
  178. package/out/templator/genCreateBlock.js.map +1 -1
  179. package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
  180. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  181. package/out/templator/genCurdMultipleKeyBlock.js +2 -4
  182. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  183. package/out/templator/genGetBlock.js +1 -1
  184. package/out/templator/genGetBlock.js.map +1 -1
  185. package/out/templator/genGridViewBlock.js +2 -2
  186. package/out/templator/genGridViewBlock.js.map +1 -1
  187. package/out/templator/genListViewBlock.js +7 -1
  188. package/out/templator/genListViewBlock.js.map +1 -1
  189. package/out/templator/genSelectBlock.js +1 -1
  190. package/out/templator/genSelectBlock.js.map +1 -1
  191. package/out/templator/genTableBlock.js +2 -2
  192. package/out/templator/genTableBlock.js.map +1 -1
  193. package/out/templator/genUpdateBlock.js +2 -3
  194. package/out/templator/genUpdateBlock.js.map +1 -1
  195. package/out/utils/traverse.js +8 -2
  196. package/out/utils/traverse.js.map +1 -1
  197. package/package.json +2 -2
  198. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  199. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  200. package/sandbox/stdlib/nasl.collection.ts +1 -0
  201. package/sandbox/stdlib/nasl.core.ts +34 -0
  202. package/sandbox/stdlib/nasl.oql.ts +71 -15
  203. package/sandbox/stdlib/nasl.util.ts +9 -3
  204. package/src/automate/engine/dist/index.dev.js +517 -0
  205. package/src/automate/engine/index.js +2 -3
  206. package/src/automate/engine/uniqueName.js +2 -2
  207. package/src/automate/engine/utils.js +4 -2
  208. package/src/automate/template/myProcess.js +2 -2
  209. package/src/bak/translator.js +16 -25
  210. package/src/common/BaseNode.ts +3 -1
  211. package/src/common/Command.ts +4 -0
  212. package/src/common/dist/BaseNode.js +1101 -0
  213. package/src/concepts/App__.ts +36 -7
  214. package/src/concepts/Assignee__.ts +4 -3
  215. package/src/concepts/BatchAssignment__.ts +3 -3
  216. package/src/concepts/BindAttribute__.ts +299 -38
  217. package/src/concepts/BindDirective__.ts +204 -31
  218. package/src/concepts/BindStyle__.ts +187 -24
  219. package/src/concepts/CallFunction__.ts +55 -10
  220. package/src/concepts/CallInterface__.ts +3 -2
  221. package/src/concepts/CallLogic__.ts +110 -90
  222. package/src/concepts/CallQueryComponent__.ts +18 -3
  223. package/src/concepts/ConfigGroup__.ts +17 -4
  224. package/src/concepts/ConfigProperty__.ts +70 -4
  225. package/src/concepts/Configuration__.ts +14 -5
  226. package/src/concepts/DataSource__.ts +4 -1
  227. package/src/concepts/Destination__.ts +61 -7
  228. package/src/concepts/EntityProperty__.ts +7 -1
  229. package/src/concepts/EnumItem__.ts +6 -6
  230. package/src/concepts/Enum__.ts +22 -19
  231. package/src/concepts/ExternalDestination__.ts +28 -8
  232. package/src/concepts/ForEachStatement__.ts +2 -0
  233. package/src/concepts/Frontend__.ts +2 -1
  234. package/src/concepts/Identifier__.ts +16 -5
  235. package/src/concepts/InterfaceParam__.ts +7 -1
  236. package/src/concepts/JSBlock__.ts +3 -2
  237. package/src/concepts/Logic__.ts +95 -83
  238. package/src/concepts/Match__.ts +31 -67
  239. package/src/concepts/MemberExpression__.ts +6 -0
  240. package/src/concepts/Module__.ts +57 -0
  241. package/src/concepts/NewComposite__.ts +95 -140
  242. package/src/concepts/NewList__.ts +23 -2
  243. package/src/concepts/NewMap__.ts +48 -24
  244. package/src/concepts/OqlQueryComponent__.ts +40 -20
  245. package/src/concepts/Param__.ts +178 -176
  246. package/src/concepts/ProcessElement__.ts +2 -1
  247. package/src/concepts/ProcessOutcome__.ts +1 -1
  248. package/src/concepts/ProcessOutcomes__.ts +1 -1
  249. package/src/concepts/Process__.ts +1 -0
  250. package/src/concepts/Return__.ts +8 -2
  251. package/src/concepts/StringInterpolation__.ts +19 -7
  252. package/src/concepts/StringLiteral__.ts +7 -6
  253. package/src/concepts/StructureProperty__.ts +7 -1
  254. package/src/concepts/TypeAnnotation__.ts +101 -14
  255. package/src/concepts/ValidationRule__.ts +58 -9
  256. package/src/concepts/Variable__.ts +11 -1
  257. package/src/concepts/ViewElement__.ts +39 -2
  258. package/src/concepts/View__.ts +26 -14
  259. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  260. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  261. package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
  262. package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
  263. package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
  264. package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
  265. package/src/concepts/basics/types/index.ts +1 -0
  266. package/src/concepts/dist/BindAttribute__.js +795 -0
  267. package/src/concepts/dist/BindEvent__.js +732 -0
  268. package/src/concepts/dist/CallFunction__.js +527 -0
  269. package/src/concepts/dist/CallLogic__.js +932 -0
  270. package/src/concepts/dist/Destination__.js +708 -0
  271. package/src/concepts/dist/ExternalDestination__.js +298 -0
  272. package/src/concepts/dist/Identifier__.js +311 -0
  273. package/src/concepts/dist/StringInterpolation__.js +231 -0
  274. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  275. package/src/concepts/dist/ViewElement__.js +1692 -0
  276. package/src/concepts/dist/View__.js +1601 -0
  277. package/src/concepts/index__.ts +0 -1
  278. package/src/enums/KEYWORDS.ts +8 -0
  279. package/src/generator/dist/genBundleFiles.js +261 -0
  280. package/src/generator/dist/genMetaData.js +245 -0
  281. package/src/generator/dist/permission.js +405 -0
  282. package/src/generator/genBundleFiles.ts +24 -5
  283. package/src/generator/genReleaseBody.ts +75 -30
  284. package/src/generator/permission.ts +31 -15
  285. package/src/server/entity2LogicNamespace.ts +2 -20
  286. package/src/server/extendBaseNode.ts +15 -5
  287. package/src/server/formatTsUtils.ts +41 -10
  288. package/src/server/getLogics.ts +4 -4
  289. package/src/server/getMemberIdentifier.ts +27 -1
  290. package/src/server/index.ts +2 -0
  291. package/src/server/naslServer.ts +520 -48
  292. package/src/server/translator.ts +96 -34
  293. package/src/service/storage/dist/init.js +579 -0
  294. package/src/service/storage/init.ts +22 -2
  295. package/src/templator/dist/genEditTableBlock.js +204 -0
  296. package/src/templator/dist/genGridViewBlock.js +265 -0
  297. package/src/templator/dist/genListViewBlock.js +84 -0
  298. package/src/templator/dist/genTableBlock.js +209 -0
  299. package/src/templator/dist/utils.js +527 -0
  300. package/src/templator/genCreateBlock.ts +1 -3
  301. package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
  302. package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
  303. package/src/templator/genGetBlock.ts +1 -1
  304. package/src/templator/genGridViewBlock.ts +3 -4
  305. package/src/templator/genListViewBlock.ts +9 -3
  306. package/src/templator/genSelectBlock.ts +1 -1
  307. package/src/templator/genTableBlock.ts +3 -3
  308. package/src/templator/genUpdateBlock.ts +2 -3
  309. package/src/utils/traverse.ts +10 -2
  310. package/ts-worker/lib/tsserver.js +10 -2
  311. package/ts-worker/package.json +1 -0
  312. package/ts-worker/webpack.config.js +11 -2
  313. package/out/concepts/ConstructArgument__.d.ts +0 -40
  314. package/out/concepts/ConstructArgument__.js +0 -108
  315. package/out/concepts/ConstructArgument__.js.map +0 -1
  316. package/out/concepts/Construct__.d.ts +0 -189
  317. package/out/concepts/Construct__.js +0 -340
  318. package/out/concepts/Construct__.js.map +0 -1
  319. package/out/templator/sql-parser/index.d.ts +0 -1
  320. package/out/templator/sql-parser/index.js +0 -228
  321. package/out/templator/sql-parser/index.js.map +0 -1
  322. package/out/templator/sql-parser/parser.js +0 -26664
  323. package/out/templator/sql-parser/parser.js.map +0 -1
@@ -35,11 +35,9 @@ var NewComposite_1;
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.NewComposite = void 0;
37
37
  const translator_1 = require("../translator");
38
- const StructureProperty__1 = __importDefault(require("./StructureProperty__"));
39
38
  const decorators_1 = require("../decorators");
40
39
  const utils = __importStar(require("../utils"));
41
40
  const classMap_1 = __importDefault(require("../common/classMap"));
42
- const TypeAnnotation__1 = __importDefault(require("./TypeAnnotation__"));
43
41
  const Identifier__1 = __importDefault(require("./Identifier__"));
44
42
  const SelectMembers__1 = __importDefault(require("./SelectMembers__"));
45
43
  const AssignmentLine__1 = __importDefault(require("./AssignmentLine__"));
@@ -505,7 +503,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
505
503
  async newConnection(addRightIndex) {
506
504
  const leftLineSet = new Set();
507
505
  const lineArr = [];
508
- const connectionArr = [];
509
506
  // 系统属性不可自动连线
510
507
  ['id', 'createdTime', 'updatedTime', 'createdBy', 'updatedBy'].forEach((name) => leftLineSet.add(name));
511
508
  // 左边已连线的下标
@@ -514,17 +511,13 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
514
511
  leftLineSet.add(Number(line.leftIndex[1]));
515
512
  });
516
513
  const autoConnection = () => {
517
- let structure;
518
514
  const isAnnotation = this.typeAnnotation.typeKind === 'anonymousStructure';
519
- if (!isAnnotation)
520
- structure = this.app.findNodeByCompleteName(this.typeAnnotation.typeNamespace + '.' + this.typeAnnotation.typeName);
521
515
  this.app.emit('collect:start', {
522
516
  actionMsg: '自动连线',
523
517
  });
524
518
  this.properties.forEach((property, leftSecondIndex) => {
525
519
  const leftName = property.name;
526
- const leftTypeAnnotation = !isAnnotation && structure.properties.find((p) => p.name === property.name).typeAnnotation;
527
- const typeStruct = isAnnotation && this.typeAnnotation.properties[leftSecondIndex]; // 获取匿名数据结构typeAnnotation的具体property
520
+ const leftTypeAnnotation = !isAnnotation && property.__TypeAnnotation;
528
521
  if (leftLineSet.has(leftSecondIndex) || leftLineSet.has(leftName))
529
522
  return;
530
523
  this.rights.forEach((selectMember, rightFirstIndex) => {
@@ -547,10 +540,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
547
540
  rightIndex: [rightFirstIndex],
548
541
  });
549
542
  lineArr.push(Line);
550
- connectionArr.push({
551
- leftItem: typeStruct,
552
- rightItem: expression,
553
- });
554
543
  leftLineSet.add(leftSecondIndex);
555
544
  return;
556
545
  }
@@ -566,32 +555,20 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
566
555
  const rightIndex = [rightFirstIndex, rightSecondIndex];
567
556
  const Line = new AssignmentLine__1.default({ leftIndex, rightIndex });
568
557
  lineArr.push(Line);
569
- connectionArr.push({
570
- leftItem: typeStruct,
571
- rightItem: rightMember,
572
- });
573
558
  leftLineSet.add(leftSecondIndex);
574
559
  }
575
560
  });
576
561
  });
577
562
  });
578
563
  lineArr.length && this.setAssignmentLines([...this.assignmentLines, ...lineArr]);
579
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
580
- connectionArr.forEach(({ leftItem, rightItem }) => {
581
- if (rightItem.__TypeAnnotation) {
582
- leftItem.update({
583
- typeAnnotation: TypeAnnotation__1.default.from({ ...rightItem.__TypeAnnotation.toJSON() }),
584
- });
585
- }
586
- });
587
- }
588
564
  this.app.emit('collect:end');
589
565
  };
590
566
  let count = 0;
591
567
  const typeAnnotationEnd = () => {
592
- const r = this.rights.every((right) => right.members.every((item) => item.__isCorrectTypeAnnotation));
568
+ const l = this.properties.every((item) => item.__isCorrectTypeAnnotation);
569
+ const r = this.rights.every((right) => right.members.every((item) => item.__isCorrectTypeAnnotation) && right.expression.__isCorrectTypeAnnotation);
593
570
  count++;
594
- if (r) {
571
+ if (r && l) {
595
572
  autoConnection();
596
573
  }
597
574
  else if (count <= 10) {
@@ -635,47 +612,16 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
635
612
  rightIndex: newRightIndex,
636
613
  });
637
614
  newLines.push(Line);
638
- if (this.typeAnnotation.typeKind !== 'anonymousStructure') {
639
- this.update({
640
- assignmentLines: newLines,
641
- properties: newProperties,
642
- });
643
- }
644
- else {
645
- this.app.emit('collect:start', {
646
- actionMsg: '匿名数据结构连线',
647
- });
648
- // 匿名数据结构typeAnnotation变化
649
- const structureProperty = this.typeAnnotation.properties.find(({ name }) => name === leftItem.name);
650
- const exp = rightItem.concept === 'SelectMembers' ? rightItem.expression : rightItem;
651
- // 场景:右侧连接是非匿名数据
652
- if (exp.__TypeAnnotation && exp.__TypeAnnotation.typeKey !== 'nasl.core.Null') {
653
- structureProperty.update({
654
- typeAnnotation: TypeAnnotation__1.default.from({ ...exp.__TypeAnnotation.toJSON() }),
655
- });
656
- }
657
- this.update({
658
- assignmentLines: newLines,
659
- properties: newProperties,
660
- });
661
- this.app.emit('collect:end');
662
- }
615
+ this.update({
616
+ assignmentLines: newLines,
617
+ properties: newProperties,
618
+ });
663
619
  }
664
620
  deleteAssignmentLine(assignmentLine) {
665
621
  const newLine = this.assignmentLines.filter((line) => line !== assignmentLine);
666
- this.app.emit('collect:start', {
667
- actionMsg: '删除连线',
668
- });
669
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
670
- const typeStructureProperty = this.findMember(assignmentLine.leftIndex, 'left', true);
671
- typeStructureProperty.update({
672
- typeAnnotation: null,
673
- });
674
- }
675
622
  this.update({
676
623
  assignmentLines: newLine,
677
624
  });
678
- this.app.emit('collect:end');
679
625
  }
680
626
  changeLinesLocation(selectMember) {
681
627
  if (selectMember.concept !== 'SelectMembers')
@@ -685,7 +631,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
685
631
  const newRights = this.rights.filter((member) => selectMember !== member);
686
632
  const filterLine = this.assignmentLines.filter((line) => line.rightIndex[0] !== index);
687
633
  const newLines = [];
688
- const oldLines = this.assignmentLines.filter(({ rightIndex }) => rightIndex[0] === index);
689
634
  filterLine.forEach((line) => {
690
635
  if (line.rightIndex[0] > index) {
691
636
  if (line.rightIndex[1] === undefined) {
@@ -701,22 +646,10 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
701
646
  newLines.push(line);
702
647
  }
703
648
  });
704
- this.app.emit('collect:start', {
705
- actionMsg: '匿名数据结构删除右侧变量',
706
- });
707
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
708
- oldLines.forEach(({ leftIndex }) => {
709
- const leftItem = this.typeAnnotation.properties[leftIndex[1]];
710
- leftItem.update({
711
- typeAnnotation: null,
712
- });
713
- });
714
- }
715
649
  this.update({
716
650
  rights: newRights,
717
651
  assignmentLines: newLines,
718
652
  });
719
- this.app.emit('collect:end');
720
653
  }
721
654
  }
722
655
  changeMembers(oldNode, members, keepMembers, expression) {
@@ -731,7 +664,7 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
731
664
  let oldLines = this.assignmentLines.filter(({ rightIndex }) => rightIndex[0] === splitIndex);
732
665
  // 右侧变量改变后,修改连线
733
666
  members.forEach((item, index) => {
734
- if (keepMembers.has(item.completeName)) {
667
+ if (keepMembers?.has(item.completeName)) {
735
668
  const lines = this.findlines(item, selectMember);
736
669
  lines.forEach((line) => {
737
670
  const newLine = Object.assign({}, line, { rightIndex: [line.rightIndex[0], index] });
@@ -740,14 +673,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
740
673
  });
741
674
  }
742
675
  });
743
- if (this.typeAnnotation.typeKind === 'anonymousStructure') {
744
- oldLines.forEach(({ leftIndex }) => {
745
- const leftItem = this.typeAnnotation.properties[leftIndex[1]];
746
- leftItem.update({
747
- typeAnnotation: null,
748
- });
749
- });
750
- }
751
676
  this.update({
752
677
  assignmentLines: newLines,
753
678
  rights: [...this.rights.slice(0, splitIndex), newSelectMember, ...this.rights.slice(splitIndex + 1, this.rights.length)],
@@ -779,11 +704,8 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
779
704
  }
780
705
  return lines;
781
706
  }
782
- findMember(arrIndex, place, isAnnotation) {
707
+ findMember(arrIndex, place) {
783
708
  const [firstIndex, secondIndex] = [arrIndex[0], arrIndex[1]];
784
- if (isAnnotation) {
785
- return this.typeAnnotation.properties[secondIndex];
786
- }
787
709
  if (place === 'left') {
788
710
  if (secondIndex === undefined) {
789
711
  return this.typeAnnotation;
@@ -903,35 +825,36 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
903
825
  });
904
826
  // 方便ts报错检查
905
827
  code += 'function __newComposite() {\n';
906
- code += `let obj = nasl.util.New<${this.typeAnnotation.sortedTypeKey}>();`;
907
- code += '\n';
828
+ code += `let __obj = nasl.util.New<${this.typeAnnotation.sortedTypeKey}>();\n`;
908
829
  // 是否是左边的顶层连线
909
830
  const leftTopIndex = this.assignmentLines.findIndex(({ leftIndex }) => leftIndex[1] === undefined);
910
831
  if (leftTopIndex !== -1) {
911
832
  const rightIndex = this.assignmentLines[leftTopIndex].rightIndex;
912
833
  const rightExpression = rightIndex[1] !== undefined ? this.rights[rightIndex[0]].members[rightIndex[1]] : this.rights[rightIndex[0]].expression;
913
- code += `obj = ${rightExpression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))};`;
834
+ code += `__obj = ${rightExpression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))};`;
914
835
  code += '\n';
915
836
  }
916
837
  else {
838
+ // 左侧properties的identifier的类型标注
839
+ code += 'const { ';
840
+ this.properties.forEach((item, index) => {
841
+ code += item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
842
+ if (index < this.properties.length - 1)
843
+ code += ', ';
844
+ });
845
+ code += ' } = __obj;\n';
917
846
  this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
918
847
  const leftSecondIndex = leftIndex[1];
919
848
  const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
920
849
  const leftItem = this.properties[leftSecondIndex];
921
850
  const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
922
851
  const rightTs = rightMap.get(rightItem);
923
- code += `obj.${leftItem.name} = ${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightTs};`;
924
- code += '\n';
925
- });
926
- // 左侧properties的identifier的类型标注
927
- this.properties.forEach((item) => {
928
- code += '{ const ';
929
- const name = item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
930
- code += `${name} = obj.${name};`;
931
- code += '}\n';
852
+ code += `nasl.core.compareNew(`;
853
+ code += `${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(rightTs) ? 'null' : rightMap.get(rightItem)}, `;
854
+ code += `${leftItem.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }))});\n`;
932
855
  });
933
856
  }
934
- code += 'return obj;\n';
857
+ code += 'return __obj;\n';
935
858
  code += '};\n';
936
859
  code += 'return __newComposite();\n';
937
860
  code += '})()';
@@ -965,48 +888,93 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
965
888
  code += right.members.length ? '\n' : '';
966
889
  });
967
890
  // 方便ts报错检查
968
- code += 'function __newComposite(): ';
969
- code += this.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
970
- code += '{\n';
971
- this.properties.forEach((property) => {
891
+ code += 'function __newComposite() {\n';
892
+ this.properties.forEach((property, index) => {
893
+ const temp = `temp${index}`;
972
894
  const name = property.name;
973
895
  const rightItem = nameMap.get(name);
974
- if (rightMap.get(rightItem) !== undefined) {
975
- code += `{ const x = ${rightMap.get(rightItem)}; const `;
896
+ const ts = rightMap.get(rightItem);
897
+ if (ts !== undefined) {
898
+ if (['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts)) {
899
+ code += `const ${temp}: any = null; `;
900
+ }
901
+ else {
902
+ code += `const ${temp}${ts === 'null' ? ':void' : ''} = ${ts}; `;
903
+ }
904
+ code += 'const ';
976
905
  code += property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
977
- code += `: nasl.core.Incompatible<typeof x, void> = x`;
978
- code += '; }\n';
906
+ code += `: nasl.core.Incompatible<typeof ${temp}, void> = ${temp}`;
907
+ code += ';\n';
979
908
  }
980
909
  else {
981
- code += '{ const ';
910
+ code += 'const ';
982
911
  code += property.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
983
- code += '; }\n';
912
+ code += ';\n';
984
913
  }
985
914
  });
986
- code += 'return;\n';
915
+ code += 'return {\n';
916
+ code += `__name: "AStructure_${this.typeAnnotation.hash}" as const,\n`;
917
+ this.properties.forEach((property) => {
918
+ code += `${property.name},\n`;
919
+ });
920
+ code += '}\n';
987
921
  code += '};\n';
988
922
  code += 'return __newComposite();\n';
989
923
  code += '})()';
990
924
  }
991
925
  return code;
992
926
  }
993
- __addIdentifier(App) {
994
- const app = this.app || App;
995
- app.emit('collect:start', {
996
- actionMsg: '添加匿名数据结构属性',
927
+ getInitCode(state) {
928
+ let code = '';
929
+ const nameMap = new Map();
930
+ const rightMap = new Map();
931
+ this.assignmentLines.forEach(({ leftIndex, rightIndex }) => {
932
+ const leftSecondIndex = leftIndex[1];
933
+ const [rightFirst, rightSecond] = [rightIndex[0], rightIndex[1]];
934
+ const leftItem = this.properties[leftSecondIndex];
935
+ const rightItem = rightSecond !== undefined ? this.rights[rightFirst].members[rightSecond] : this.rights[rightFirst].expression;
936
+ nameMap.set(leftItem.name, rightItem);
937
+ rightMap.set(rightItem, null);
997
938
  });
998
- const node = this.addIdentifier({ name: this.getIdentifierUniqueName('property1') });
999
- const struct = StructureProperty__1.default.from({
1000
- name: node.name,
1001
- typeAnnotation: null,
939
+ code += '(() => { ';
940
+ // 提供sourcemap,获取类型标注和上下文可选变量
941
+ this.rights.forEach((right) => {
942
+ let ts = right.expression.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
943
+ if (rightMap.has(right.expression))
944
+ rightMap.set(right.expression, ts);
945
+ right.members.forEach((member) => {
946
+ ts = member.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
947
+ if (rightMap.has(member))
948
+ rightMap.set(member, ts);
949
+ });
1002
950
  });
1003
- this.typeAnnotation.addStructureProperty(struct);
1004
- app.emit('collect:end');
951
+ // 方便ts报错检查
952
+ code += 'function __newComposite() { ';
953
+ this.properties.forEach((property) => {
954
+ const name = property.name;
955
+ const rightItem = nameMap.get(name);
956
+ const ts = rightMap.get(rightItem);
957
+ if (ts !== undefined) {
958
+ code += `const ${name} = ${['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts) ? null : ts}; `;
959
+ }
960
+ else {
961
+ code += `const ${name}; `;
962
+ }
963
+ });
964
+ code += '\nreturn {\n';
965
+ code += `__name: "AStructure_${this.typeAnnotation.hash}" as const,\n`;
966
+ this.properties.forEach((property) => {
967
+ code += `${property.name},\n`;
968
+ });
969
+ code += '}\n';
970
+ code += '};\n';
971
+ code += 'return __newComposite();\n';
972
+ code += '})()';
973
+ return code;
1005
974
  }
1006
975
  __deleteIdentifier(property) {
1007
976
  const index = this.properties.findIndex((p) => p === property);
1008
977
  const newLines = [];
1009
- const newProperties = [...this.typeAnnotation.properties.slice(0, index), ...this.typeAnnotation.properties.slice(index + 1, this.properties.length)];
1010
978
  this.assignmentLines.forEach((line) => {
1011
979
  const { leftIndex } = line;
1012
980
  if (leftIndex[1] < index) {
@@ -1021,9 +989,6 @@ let NewComposite = NewComposite_1 = class NewComposite extends LogicItem__1.defa
1021
989
  actionMsg: '删除匿名数据结属性',
1022
990
  });
1023
991
  this.setAssignmentLines(newLines);
1024
- this.typeAnnotation.update({
1025
- properties: newProperties,
1026
- });
1027
992
  property.delete();
1028
993
  this.app.emit('collect:end');
1029
994
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NewComposite__.js","sourceRoot":"","sources":["../../src/concepts/NewComposite__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NewComposite__.js","sourceRoot":"","sources":["../../src/concepts/NewComposite__.ts"],"names":[],"mappings":"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"}
@@ -122,6 +122,7 @@ export declare class NewList extends LogicItem {
122
122
  */
123
123
  removeItem(logicItem: LogicItem): void;
124
124
  __removeLogicItem(logicItem: LogicItem): Params;
125
+ toBrief(): string;
125
126
  toUI(state?: TranslatorState): string;
126
127
  toJS(state?: TranslatorState): string;
127
128
  toEmbeddedTS(state?: TranslatorState): string;
@@ -227,6 +227,21 @@ let NewList = NewList_1 = class NewList extends LogicItem__1.default {
227
227
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
228
228
  // 自动生成的代码已结束。下面可以手动编写。
229
229
  //================================================================================
230
+ toBrief() {
231
+ let code = '';
232
+ code += '[ ';
233
+ this.items.forEach((value, index) => {
234
+ if (index >= 10)
235
+ return;
236
+ if (index)
237
+ code += ',';
238
+ code += value.toBrief();
239
+ });
240
+ if (this.items.length > 10)
241
+ code += ', ...';
242
+ code += ' ]';
243
+ return code;
244
+ }
230
245
  toUI(state) {
231
246
  let code = '';
232
247
  code += '[';
@@ -274,11 +289,16 @@ let NewList = NewList_1 = class NewList extends LogicItem__1.default {
274
289
  code += '(() => { \n';
275
290
  const arr = [];
276
291
  this.items.forEach((item, index) => {
292
+ if (item.concept === 'Unparsed')
293
+ return;
294
+ code += 'nasl.core.ensureVoid(';
277
295
  arr.push(item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
278
296
  code += arr[index];
279
- code += '; ';
297
+ code += '); ';
280
298
  });
281
299
  code += '\n';
300
+ if (!arr.length || arr.every((item) => ['__IDENTIFIER__', '__IDENTIFIER__()', 'null'].includes(item)))
301
+ code += '__IDENTIFIER__;\n';
282
302
  // ts报错检查
283
303
  code += 'function __newComposite() {\n';
284
304
  if (this.items.length === 0) {
@@ -311,7 +331,7 @@ let NewList = NewList_1 = class NewList extends LogicItem__1.default {
311
331
  code += 'let arr = [';
312
332
  this.items.forEach((item, index) => {
313
333
  const ts = item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
314
- code += ts === '__IDENTIFIER__' ? null : ts;
334
+ code += ['__IDENTIFIER__', '__IDENTIFIER__()'].includes(ts) ? null : ts;
315
335
  if (index + 1 < this.items.length)
316
336
  code += ', ';
317
337
  });