@lcap/nasl 1.0.0-alpha.9 → 1.0.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 (441) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +513 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/utils.d.ts +24 -0
  5. package/out/automate/engine/utils.js +363 -0
  6. package/out/automate/engine/utils.js.map +1 -0
  7. package/out/common/BaseNode.d.ts +20 -0
  8. package/out/common/BaseNode.js +219 -81
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/concepts/App__.d.ts +18 -1
  11. package/out/concepts/App__.js +75 -35
  12. package/out/concepts/App__.js.map +1 -1
  13. package/out/concepts/Argument__.d.ts +5 -1
  14. package/out/concepts/Argument__.js +21 -3
  15. package/out/concepts/Argument__.js.map +1 -1
  16. package/out/concepts/Assignee__.d.ts +190 -0
  17. package/out/concepts/Assignee__.js +264 -0
  18. package/out/concepts/Assignee__.js.map +1 -0
  19. package/out/concepts/Assignment__.js +5 -0
  20. package/out/concepts/Assignment__.js.map +1 -1
  21. package/out/concepts/BinaryExpression__.js +8 -7
  22. package/out/concepts/BinaryExpression__.js.map +1 -1
  23. package/out/concepts/BindAttribute__.d.ts +19 -0
  24. package/out/concepts/BindAttribute__.js +54 -9
  25. package/out/concepts/BindAttribute__.js.map +1 -1
  26. package/out/concepts/BindDirective__.js +22 -2
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +2 -2
  29. package/out/concepts/BindEvent__.js +67 -34
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  32. package/out/concepts/BooleanLiteral__.js +10 -0
  33. package/out/concepts/BooleanLiteral__.js.map +1 -1
  34. package/out/concepts/CallFunction__.js +41 -23
  35. package/out/concepts/CallFunction__.js.map +1 -1
  36. package/out/concepts/CallInterface__.d.ts +5 -0
  37. package/out/concepts/CallInterface__.js +238 -31
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +4 -4
  40. package/out/concepts/CallLogic__.js +110 -53
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  43. package/out/concepts/CallQueryComponent__.js +44 -25
  44. package/out/concepts/CallQueryComponent__.js.map +1 -1
  45. package/out/concepts/Comment__.js +6 -2
  46. package/out/concepts/Comment__.js.map +1 -1
  47. package/out/concepts/CompletionProperty__.d.ts +3 -1
  48. package/out/concepts/CompletionProperty__.js +2 -0
  49. package/out/concepts/CompletionProperty__.js.map +1 -1
  50. package/out/concepts/ConfigGroup__.js +2 -2
  51. package/out/concepts/ConfigGroup__.js.map +1 -1
  52. package/out/concepts/ConfigProperty__.js +2 -2
  53. package/out/concepts/ConfigProperty__.js.map +1 -1
  54. package/out/concepts/Configuration__.js +2 -2
  55. package/out/concepts/Configuration__.js.map +1 -1
  56. package/out/concepts/Constant__.d.ts +1 -0
  57. package/out/concepts/Constant__.js +14 -0
  58. package/out/concepts/Constant__.js.map +1 -1
  59. package/out/concepts/Destination__.d.ts +12 -0
  60. package/out/concepts/Destination__.js +94 -18
  61. package/out/concepts/Destination__.js.map +1 -1
  62. package/out/concepts/End__.js +9 -1
  63. package/out/concepts/End__.js.map +1 -1
  64. package/out/concepts/EntityProperty__.d.ts +11 -0
  65. package/out/concepts/EntityProperty__.js +73 -5
  66. package/out/concepts/EntityProperty__.js.map +1 -1
  67. package/out/concepts/Entity__.d.ts +4 -1
  68. package/out/concepts/Entity__.js +37 -15
  69. package/out/concepts/Entity__.js.map +1 -1
  70. package/out/concepts/Enum__.d.ts +4 -0
  71. package/out/concepts/Enum__.js +18 -10
  72. package/out/concepts/Enum__.js.map +1 -1
  73. package/out/concepts/Event__.js +2 -2
  74. package/out/concepts/Event__.js.map +1 -1
  75. package/out/concepts/ForEachStatement__.js +9 -13
  76. package/out/concepts/ForEachStatement__.js.map +1 -1
  77. package/out/concepts/Function__.js +9 -9
  78. package/out/concepts/Function__.js.map +1 -1
  79. package/out/concepts/Identifier__.d.ts +3 -0
  80. package/out/concepts/Identifier__.js +76 -29
  81. package/out/concepts/Identifier__.js.map +1 -1
  82. package/out/concepts/IfStatement__.js +4 -4
  83. package/out/concepts/IfStatement__.js.map +1 -1
  84. package/out/concepts/InterfaceParam__.d.ts +6 -4
  85. package/out/concepts/InterfaceParam__.js +52 -19
  86. package/out/concepts/InterfaceParam__.js.map +1 -1
  87. package/out/concepts/Interface__.d.ts +42 -30
  88. package/out/concepts/Interface__.js +131 -15
  89. package/out/concepts/Interface__.js.map +1 -1
  90. package/out/concepts/JSBlock__.d.ts +1 -0
  91. package/out/concepts/JSBlock__.js +3 -0
  92. package/out/concepts/JSBlock__.js.map +1 -1
  93. package/out/concepts/LogicItem__.d.ts +2 -1
  94. package/out/concepts/LogicItem__.js +14 -0
  95. package/out/concepts/LogicItem__.js.map +1 -1
  96. package/out/concepts/Logic__.d.ts +16 -1
  97. package/out/concepts/Logic__.js +176 -33
  98. package/out/concepts/Logic__.js.map +1 -1
  99. package/out/concepts/MemberExpression__.d.ts +2 -0
  100. package/out/concepts/MemberExpression__.js +49 -12
  101. package/out/concepts/MemberExpression__.js.map +1 -1
  102. package/out/concepts/Module__.d.ts +126 -120
  103. package/out/concepts/Module__.js +28 -18
  104. package/out/concepts/Module__.js.map +1 -1
  105. package/out/concepts/Namespace__.d.ts +5 -1
  106. package/out/concepts/Namespace__.js +36 -25
  107. package/out/concepts/Namespace__.js.map +1 -1
  108. package/out/concepts/NullLiteral__.d.ts +3 -0
  109. package/out/concepts/NullLiteral__.js +11 -1
  110. package/out/concepts/NullLiteral__.js.map +1 -1
  111. package/out/concepts/NumericLiteral__.d.ts +1 -1
  112. package/out/concepts/NumericLiteral__.js +17 -6
  113. package/out/concepts/NumericLiteral__.js.map +1 -1
  114. package/out/concepts/Param__.d.ts +7 -3
  115. package/out/concepts/Param__.js +57 -28
  116. package/out/concepts/Param__.js.map +1 -1
  117. package/out/concepts/ProcessComponent__.js +4 -4
  118. package/out/concepts/ProcessComponent__.js.map +1 -1
  119. package/out/concepts/ProcessElement__.d.ts +0 -4
  120. package/out/concepts/ProcessElement__.js +112 -49
  121. package/out/concepts/ProcessElement__.js.map +1 -1
  122. package/out/concepts/ProcessOutcome__.js +1 -1
  123. package/out/concepts/ProcessOutcome__.js.map +1 -1
  124. package/out/concepts/Process__.d.ts +7 -1
  125. package/out/concepts/Process__.js +77 -81
  126. package/out/concepts/Process__.js.map +1 -1
  127. package/out/concepts/QueryAggregateExpression__.js +1 -1
  128. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  129. package/out/concepts/QueryFromExpression__.js +2 -2
  130. package/out/concepts/QueryFromExpression__.js.map +1 -1
  131. package/out/concepts/QueryJoinExpression__.js +4 -4
  132. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  133. package/out/concepts/QueryLimitExpression__.js +3 -3
  134. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  135. package/out/concepts/QuerySelectExpression__.js +2 -2
  136. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  137. package/out/concepts/Return__.d.ts +4 -1
  138. package/out/concepts/Return__.js +67 -21
  139. package/out/concepts/Return__.js.map +1 -1
  140. package/out/concepts/Role__.d.ts +4 -0
  141. package/out/concepts/Role__.js +13 -4
  142. package/out/concepts/Role__.js.map +1 -1
  143. package/out/concepts/SqlQueryComponent__.js +2 -2
  144. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  145. package/out/concepts/StringLiteral__.d.ts +1 -1
  146. package/out/concepts/StringLiteral__.js +21 -31
  147. package/out/concepts/StringLiteral__.js.map +1 -1
  148. package/out/concepts/StructureProperty__.d.ts +5 -4
  149. package/out/concepts/StructureProperty__.js +55 -26
  150. package/out/concepts/StructureProperty__.js.map +1 -1
  151. package/out/concepts/Structure__.d.ts +44 -30
  152. package/out/concepts/Structure__.js +42 -10
  153. package/out/concepts/Structure__.js.map +1 -1
  154. package/out/concepts/SwitchCase__.js +4 -4
  155. package/out/concepts/SwitchCase__.js.map +1 -1
  156. package/out/concepts/SwitchStatement__.js +2 -2
  157. package/out/concepts/SwitchStatement__.js.map +1 -1
  158. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  159. package/out/concepts/TypeAnnotation__.js +74 -20
  160. package/out/concepts/TypeAnnotation__.js.map +1 -1
  161. package/out/concepts/UnaryExpression__.js +10 -8
  162. package/out/concepts/UnaryExpression__.js.map +1 -1
  163. package/out/concepts/Unparsed__.js +1 -1
  164. package/out/concepts/Unparsed__.js.map +1 -1
  165. package/out/concepts/ValidationRule__.d.ts +1 -0
  166. package/out/concepts/ValidationRule__.js +48 -13
  167. package/out/concepts/ValidationRule__.js.map +1 -1
  168. package/out/concepts/Variable__.d.ts +10 -1
  169. package/out/concepts/Variable__.js +70 -18
  170. package/out/concepts/Variable__.js.map +1 -1
  171. package/out/concepts/ViewComponent__.js +10 -10
  172. package/out/concepts/ViewComponent__.js.map +1 -1
  173. package/out/concepts/ViewElement__.d.ts +17 -11
  174. package/out/concepts/ViewElement__.js +299 -201
  175. package/out/concepts/ViewElement__.js.map +1 -1
  176. package/out/concepts/View__.d.ts +12 -13
  177. package/out/concepts/View__.js +106 -103
  178. package/out/concepts/View__.js.map +1 -1
  179. package/out/concepts/WhileStatement__.js +3 -3
  180. package/out/concepts/WhileStatement__.js.map +1 -1
  181. package/out/concepts/basics/stdlib/index.js +4 -1
  182. package/out/concepts/basics/stdlib/index.js.map +1 -1
  183. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  184. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  185. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  186. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  187. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  188. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  189. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  190. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  191. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  192. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  193. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  194. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  195. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  196. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  197. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  198. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  199. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  200. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  201. package/out/concepts/basics/types/coreTypeList.js +11 -10
  202. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  203. package/out/concepts/index__.d.ts +1 -0
  204. package/out/concepts/index__.js +1 -0
  205. package/out/concepts/index__.js.map +1 -1
  206. package/out/config.d.ts +1 -2
  207. package/out/config.js +1 -2
  208. package/out/config.js.map +1 -1
  209. package/out/enums/KEYWORDS.d.ts +3 -0
  210. package/out/enums/KEYWORDS.js +1208 -0
  211. package/out/enums/KEYWORDS.js.map +1 -0
  212. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  213. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  214. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  215. package/out/eventBus.d.ts +3 -0
  216. package/out/eventBus.js +7 -0
  217. package/out/eventBus.js.map +1 -0
  218. package/out/generator/genBundleFiles.d.ts +7 -2
  219. package/out/generator/genBundleFiles.js +168 -27
  220. package/out/generator/genBundleFiles.js.map +1 -1
  221. package/out/generator/genMetaData.d.ts +20 -20
  222. package/out/generator/genMetaData.js +50 -15
  223. package/out/generator/genMetaData.js.map +1 -1
  224. package/out/index.d.ts +2 -0
  225. package/out/index.js +2 -0
  226. package/out/index.js.map +1 -1
  227. package/out/manager/diagnostic.d.ts +1 -1
  228. package/out/server/createUiTs.d.ts +1 -0
  229. package/out/server/createUiTs.js +49 -5
  230. package/out/server/createUiTs.js.map +1 -1
  231. package/out/server/entity2LogicNamespace.js +38 -23
  232. package/out/server/entity2LogicNamespace.js.map +1 -1
  233. package/out/server/getExtensionModules.js +2 -0
  234. package/out/server/getExtensionModules.js.map +1 -1
  235. package/out/server/getFunctions.d.ts +1 -0
  236. package/out/server/getFunctions.js +7 -1
  237. package/out/server/getFunctions.js.map +1 -1
  238. package/out/server/getLogics.js +63 -18
  239. package/out/server/getLogics.js.map +1 -1
  240. package/out/server/getMemberIdentifier.d.ts +16 -1
  241. package/out/server/getMemberIdentifier.js +279 -36
  242. package/out/server/getMemberIdentifier.js.map +1 -1
  243. package/out/server/getProcesses.d.ts +6 -1
  244. package/out/server/getProcesses.js +243 -1
  245. package/out/server/getProcesses.js.map +1 -1
  246. package/out/server/getScope.d.ts +11 -0
  247. package/out/server/getScope.js +45 -0
  248. package/out/server/getScope.js.map +1 -0
  249. package/out/server/index.js +4 -0
  250. package/out/server/index.js.map +1 -1
  251. package/out/server/naslServer.d.ts +30 -53
  252. package/out/server/naslServer.js +682 -363
  253. package/out/server/naslServer.js.map +1 -1
  254. package/out/server/process2LogicNamespace.d.ts +10 -0
  255. package/out/server/process2LogicNamespace.js +29 -1
  256. package/out/server/process2LogicNamespace.js.map +1 -1
  257. package/out/server/translator.d.ts +22 -3
  258. package/out/server/translator.js +367 -123
  259. package/out/server/translator.js.map +1 -1
  260. package/out/service/creator/add.configs.d.ts +1 -0
  261. package/out/service/creator/add.configs.js +68 -0
  262. package/out/service/creator/add.configs.js.map +1 -0
  263. package/out/service/creator/errHandles.d.ts +18 -0
  264. package/out/service/creator/errHandles.js +60 -0
  265. package/out/service/creator/errHandles.js.map +1 -0
  266. package/out/service/creator/index.d.ts +1 -0
  267. package/out/service/creator/index.js +72 -0
  268. package/out/service/creator/index.js.map +1 -0
  269. package/out/service/storage/api.d.ts +18 -0
  270. package/out/service/storage/api.js +17 -0
  271. package/out/service/storage/api.js.map +1 -0
  272. package/out/service/storage/init.js +200 -37
  273. package/out/service/storage/init.js.map +1 -1
  274. package/out/service/storage/service.d.ts +2 -0
  275. package/out/service/storage/service.js +10 -0
  276. package/out/service/storage/service.js.map +1 -0
  277. package/out/service/storage/storagePoint.d.ts +1 -14
  278. package/out/service/storage/storagePoint.js +16 -16
  279. package/out/service/storage/storagePoint.js.map +1 -1
  280. package/out/templator/genCreateBlock.js +6 -6
  281. package/out/templator/genCreateBlock.js.map +1 -1
  282. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  283. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  284. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  285. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  286. package/out/templator/genEditTableBlock.js +5 -5
  287. package/out/templator/genEditTableBlock.js.map +1 -1
  288. package/out/templator/genEnumSelectBlock.js +2 -2
  289. package/out/templator/genEnumSelectBlock.js.map +1 -1
  290. package/out/templator/genGetBlock.js +5 -3
  291. package/out/templator/genGetBlock.js.map +1 -1
  292. package/out/templator/genGridViewBlock.d.ts +3 -1
  293. package/out/templator/genGridViewBlock.js +61 -6
  294. package/out/templator/genGridViewBlock.js.map +1 -1
  295. package/out/templator/genQueryComponent.d.ts +2 -0
  296. package/out/templator/genQueryComponent.js +27 -14
  297. package/out/templator/genQueryComponent.js.map +1 -1
  298. package/out/templator/genTableBlock.d.ts +1 -1
  299. package/out/templator/genTableBlock.js +4 -5
  300. package/out/templator/genTableBlock.js.map +1 -1
  301. package/out/templator/genUpdateBlock.js +9 -10
  302. package/out/templator/genUpdateBlock.js.map +1 -1
  303. package/out/templator/utils.d.ts +13 -4
  304. package/out/templator/utils.js +8 -4
  305. package/out/templator/utils.js.map +1 -1
  306. package/out/test/fixtures/env.js +0 -1
  307. package/out/test/fixtures/env.js.map +1 -1
  308. package/out/test/units/page/Element.spec.js +3 -3
  309. package/out/test/units/page/Element.spec.js.map +1 -1
  310. package/out/test/units/temp/temp.spec.js +1 -1
  311. package/out/test/units/temp/temp.spec.js.map +1 -1
  312. package/out/utils/index.d.ts +6 -0
  313. package/out/utils/index.js +20 -1
  314. package/out/utils/index.js.map +1 -1
  315. package/package.json +2 -1
  316. package/src/automate/engine/index.js +116 -39
  317. package/src/automate/engine/utils.js +49 -19
  318. package/src/common/BaseNode.ts +215 -71
  319. package/src/concepts/App__.ts +77 -37
  320. package/src/concepts/Argument__.ts +23 -3
  321. package/src/concepts/Assignee__.ts +437 -0
  322. package/src/concepts/Assignment__.ts +4 -1
  323. package/src/concepts/BinaryExpression__.ts +9 -7
  324. package/src/concepts/BindAttribute__.ts +68 -8
  325. package/src/concepts/BindDirective__.ts +21 -2
  326. package/src/concepts/BindEvent__.ts +67 -23
  327. package/src/concepts/BooleanLiteral__.ts +8 -0
  328. package/src/concepts/CallFunction__.ts +38 -21
  329. package/src/concepts/CallInterface__.ts +236 -26
  330. package/src/concepts/CallLogic__.ts +114 -86
  331. package/src/concepts/CallQueryComponent__.ts +23 -15
  332. package/src/concepts/Comment__.ts +6 -2
  333. package/src/concepts/CompletionProperty__.ts +5 -1
  334. package/src/concepts/ConfigGroup__.ts +2 -2
  335. package/src/concepts/ConfigProperty__.ts +2 -2
  336. package/src/concepts/Configuration__.ts +2 -2
  337. package/src/concepts/Constant__.ts +12 -0
  338. package/src/concepts/Destination__.ts +101 -17
  339. package/src/concepts/End__.ts +8 -1
  340. package/src/concepts/EntityProperty__.ts +58 -5
  341. package/src/concepts/Entity__.ts +40 -23
  342. package/src/concepts/Enum__.ts +16 -11
  343. package/src/concepts/Event__.ts +2 -2
  344. package/src/concepts/ForEachStatement__.ts +14 -19
  345. package/src/concepts/Function__.ts +9 -9
  346. package/src/concepts/Identifier__.ts +83 -32
  347. package/src/concepts/IfStatement__.ts +4 -4
  348. package/src/concepts/InterfaceParam__.ts +52 -16
  349. package/src/concepts/Interface__.ts +128 -14
  350. package/src/concepts/JSBlock__.ts +4 -0
  351. package/src/concepts/LogicItem__.ts +16 -1
  352. package/src/concepts/Logic__.ts +173 -35
  353. package/src/concepts/MemberExpression__.ts +58 -14
  354. package/src/concepts/Module__.ts +27 -16
  355. package/src/concepts/Namespace__.ts +37 -25
  356. package/src/concepts/NullLiteral__.ts +8 -1
  357. package/src/concepts/NumericLiteral__.ts +17 -6
  358. package/src/concepts/Param__.ts +56 -15
  359. package/src/concepts/ProcessComponent__.ts +4 -4
  360. package/src/concepts/ProcessElement__.ts +138 -39
  361. package/src/concepts/ProcessOutcome__.ts +1 -1
  362. package/src/concepts/Process__.ts +81 -94
  363. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  364. package/src/concepts/QueryFromExpression__.ts +2 -2
  365. package/src/concepts/QueryJoinExpression__.ts +4 -4
  366. package/src/concepts/QueryLimitExpression__.ts +3 -12
  367. package/src/concepts/QuerySelectExpression__.ts +2 -2
  368. package/src/concepts/Return__.ts +62 -15
  369. package/src/concepts/Role__.ts +5 -4
  370. package/src/concepts/SqlQueryComponent__.ts +2 -2
  371. package/src/concepts/StringLiteral__.ts +20 -31
  372. package/src/concepts/StructureProperty__.ts +50 -18
  373. package/src/concepts/Structure__.ts +30 -8
  374. package/src/concepts/SwitchCase__.ts +4 -4
  375. package/src/concepts/SwitchStatement__.ts +2 -2
  376. package/src/concepts/TypeAnnotation__.ts +58 -15
  377. package/src/concepts/UnaryExpression__.ts +10 -8
  378. package/src/concepts/Unparsed__.ts +1 -1
  379. package/src/concepts/ValidationRule__.ts +44 -14
  380. package/src/concepts/Variable__.ts +63 -14
  381. package/src/concepts/ViewComponent__.ts +10 -10
  382. package/src/concepts/ViewElement__.ts +285 -162
  383. package/src/concepts/View__.ts +116 -70
  384. package/src/concepts/WhileStatement__.ts +4 -4
  385. package/src/concepts/basics/stdlib/index.ts +4 -2
  386. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  387. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  388. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  389. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  390. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  391. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  392. package/src/concepts/basics/types/coreTypeList.ts +11 -11
  393. package/src/concepts/index__.ts +1 -0
  394. package/src/config.ts +1 -2
  395. package/src/enums/KEYWORDS.ts +1206 -0
  396. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  397. package/src/eventBus.ts +5 -0
  398. package/src/generator/genBundleFiles.ts +182 -30
  399. package/src/generator/genMetaData.ts +72 -21
  400. package/src/index.ts +2 -0
  401. package/src/manager/diagnostic.ts +1 -1
  402. package/src/server/createUiTs.ts +45 -7
  403. package/src/server/entity2LogicNamespace.ts +41 -25
  404. package/src/server/getExtensionModules.ts +2 -0
  405. package/src/server/getFunctions.ts +6 -0
  406. package/src/server/getLogics.ts +66 -19
  407. package/src/server/getMemberIdentifier.ts +233 -63
  408. package/src/server/getProcesses.ts +248 -4
  409. package/src/server/getScope.ts +50 -0
  410. package/src/server/index.ts +12 -1
  411. package/src/server/naslServer.ts +685 -387
  412. package/src/server/process2LogicNamespace.ts +30 -2
  413. package/src/server/translator.ts +423 -128
  414. package/src/service/config/index.js +1 -1
  415. package/src/service/creator/errHandles.js +5 -2
  416. package/src/service/creator/index.js +0 -6
  417. package/src/service/storage/api.js +14 -0
  418. package/src/service/storage/init.ts +198 -45
  419. package/src/service/storage/service.ts +6 -0
  420. package/src/service/storage/storagePoint.ts +16 -16
  421. package/src/templator/genCreateBlock.ts +6 -6
  422. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  423. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  424. package/src/templator/genEditTableBlock.ts +5 -5
  425. package/src/templator/genEnumSelectBlock.ts +2 -2
  426. package/src/templator/genGetBlock.ts +6 -8
  427. package/src/templator/genGridViewBlock.ts +59 -9
  428. package/src/templator/genQueryComponent.ts +39 -28
  429. package/src/templator/genTableBlock.ts +5 -9
  430. package/src/templator/genUpdateBlock.ts +9 -11
  431. package/src/templator/utils.ts +9 -6
  432. package/src/test/fixtures/env.ts +0 -2
  433. package/src/test/units/page/Element.spec.ts +3 -3
  434. package/src/test/units/temp/temp.spec.ts +1 -1
  435. package/src/utils/index.ts +19 -0
  436. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  437. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  438. package/out/data/Module.d.ts +0 -34
  439. package/out/data/Module.js +0 -53
  440. package/out/data/Module.js.map +0 -1
  441. package/src/automate/engine/index.d.ts +0 -3
@@ -1,5 +1,5 @@
1
1
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
2
- import { constantToParam, genUserTaskLogic, returnToParam } from '../server/getProcesses';
2
+ import { constantToParam, genUserTaskLogic, returnToParam, getPreviousTask, syncMemberExpression } from '../server/getProcesses';
3
3
  //================================================================================
4
4
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
5
5
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -292,7 +292,7 @@ export class ProcessElement extends BaseNode {
292
292
  name: options,
293
293
  }, this, 'waypoints');
294
294
  } else if (options instanceof Point) {
295
- options.delete(); // 同一实例不支持多处存在
295
+ options.ensureDelete(); // 同一实例不支持多处存在
296
296
  point = options;
297
297
  Object.assign(point, relationOptions);
298
298
  } else {
@@ -380,7 +380,7 @@ export class ProcessElement extends BaseNode {
380
380
 
381
381
  addPoint(options?: string | Partial<Point> | Point) {
382
382
  const node = this._addPoint(options as any);
383
- const index = this.waypoints.length;
383
+ const index = this.waypoints.indexOf(node);
384
384
  node.create({
385
385
  index,
386
386
  parentNode: this,
@@ -434,7 +434,7 @@ export class ProcessElement extends BaseNode {
434
434
  name: options,
435
435
  }, this, 'variables');
436
436
  } else if (options instanceof Variable) {
437
- options.delete(); // 同一实例不支持多处存在
437
+ options.ensureDelete(); // 同一实例不支持多处存在
438
438
  variable = options;
439
439
  Object.assign(variable, relationOptions);
440
440
  } else {
@@ -522,7 +522,7 @@ export class ProcessElement extends BaseNode {
522
522
 
523
523
  addVariable(options?: string | Partial<Variable> | Variable) {
524
524
  const node = this._addVariable(options as any);
525
- const index = this.variables.length;
525
+ const index = this.variables.indexOf(node);
526
526
  node.create({
527
527
  index,
528
528
  parentNode: this,
@@ -576,7 +576,7 @@ export class ProcessElement extends BaseNode {
576
576
  name: options,
577
577
  }, this, 'returns');
578
578
  } else if (options instanceof Return) {
579
- options.delete(); // 同一实例不支持多处存在
579
+ options.ensureDelete(); // 同一实例不支持多处存在
580
580
  ret = options;
581
581
  Object.assign(ret, relationOptions);
582
582
  } else {
@@ -664,7 +664,7 @@ export class ProcessElement extends BaseNode {
664
664
 
665
665
  addReturn(options?: string | Partial<Return> | Return) {
666
666
  const node = this._addReturn(options as any);
667
- const index = this.returns.length;
667
+ const index = this.returns.indexOf(node);
668
668
  node.create({
669
669
  index,
670
670
  parentNode: this,
@@ -718,7 +718,7 @@ export class ProcessElement extends BaseNode {
718
718
  name: options,
719
719
  }, this, 'constants');
720
720
  } else if (options instanceof Constant) {
721
- options.delete(); // 同一实例不支持多处存在
721
+ options.ensureDelete(); // 同一实例不支持多处存在
722
722
  constant = options;
723
723
  Object.assign(constant, relationOptions);
724
724
  } else {
@@ -806,7 +806,7 @@ export class ProcessElement extends BaseNode {
806
806
 
807
807
  addConstant(options?: string | Partial<Constant> | Constant) {
808
808
  const node = this._addConstant(options as any);
809
- const index = this.constants.length;
809
+ const index = this.constants.indexOf(node);
810
810
  node.create({
811
811
  index,
812
812
  parentNode: this,
@@ -860,7 +860,7 @@ export class ProcessElement extends BaseNode {
860
860
  name: options,
861
861
  }, this, 'bindAttrs');
862
862
  } else if (options instanceof BindAttribute) {
863
- options.delete(); // 同一实例不支持多处存在
863
+ options.ensureDelete(); // 同一实例不支持多处存在
864
864
  bindAttribute = options;
865
865
  Object.assign(bindAttribute, relationOptions);
866
866
  } else {
@@ -948,7 +948,7 @@ export class ProcessElement extends BaseNode {
948
948
 
949
949
  addBindAttribute(options?: string | Partial<BindAttribute> | BindAttribute) {
950
950
  const node = this._addBindAttribute(options as any);
951
- const index = this.bindAttrs.length;
951
+ const index = this.bindAttrs.indexOf(node);
952
952
  node.create({
953
953
  index,
954
954
  parentNode: this,
@@ -1328,23 +1328,86 @@ export class ProcessElement extends BaseNode {
1328
1328
  toEmbeddedTS(state?: TranslatorState): string {
1329
1329
  // this.syncLogic();
1330
1330
  const tab0 = indent(state.tabSize);
1331
- let code = '';
1331
+ const tab1 = indent(state.tabSize + 1);
1332
+ const tab3 = indent(state.tabSize + 2);
1333
+ const tab4 = indent(state.tabSize + 3);
1334
+ const tab5 = indent(state.tabSize + 4);
1335
+ const tab6 = indent(state.tabSize + 5);
1336
+ let code = `${this.name}: {\n`;
1332
1337
  this.variables.forEach((property) => {
1333
- code += `${tab0}let `;
1334
- code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
1335
- code += ';\n';
1338
+ code += `${tab1}`;
1339
+ code += `${property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},\n`;
1336
1340
  });
1337
-
1338
1341
  this.returns.forEach((property) => {
1339
- code += `${tab0}let `;
1340
- code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
1341
- code += ';\n';
1342
+ code += `${tab1}`;
1343
+ code += `${property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},\n`;
1342
1344
  });
1343
1345
  this.constants.forEach((property) => {
1344
- code += `${tab0}export let `;
1345
- code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
1346
- code += ';\n';
1346
+ code += `${tab1}`;
1347
+ code += `${property.toEmbeddedTSInProcess(shiftState(state, code, { inline: true }))},\n`;
1347
1348
  });
1349
+
1350
+ if (this.type === 'UserTask'
1351
+ || this.type === 'ExclusiveGateway') {
1352
+ const prevTasks = getPreviousTask(this);
1353
+ let prevCode = `${tab3}const ${this.process.name} = {\n`;
1354
+ const processName = this.process.name;
1355
+ this.process.params.forEach((p) => {
1356
+ prevCode += `${tab5}${p.name}: app.processes.${processName}.${p.name},\n`;
1357
+ });
1358
+ this.process.returns.forEach((p) => {
1359
+ prevCode += `${tab5}${p.name}: app.processes.${processName}.${p.name},\n`;
1360
+ });
1361
+ this.process.constants.forEach((p) => {
1362
+ prevCode += `${tab5}${p.name}: app.processes.${processName}.${p.name},\n`;
1363
+ });
1364
+ // prevCode += `${tab4}elements: {\n`
1365
+ prevCode += prevTasks.map((t) => `${tab5}${t.name}: elements.${t.name},\n`).join(``);
1366
+
1367
+ // prevCode += `${tab4}}\n`
1368
+
1369
+ if (this.type === 'UserTask') {
1370
+ prevCode += `\n${tab5}${this.name}: { \n${this.constants.map((c) => `${tab6}${c.name}: "",`).join('\n')} }\n`;
1371
+ prevCode += `${tab3}}\n`;
1372
+ code += `${tab1}logics: {\n`;
1373
+ this.bindAttrs.forEach((attr) => {
1374
+ if (attr.name === 'destination') {
1375
+ code += `${attr.destination.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: state.tabSize + 3 }), prevCode)},\n`;
1376
+ }
1377
+ });
1378
+ const logic = genUserTaskLogic(this);
1379
+ // sourceMap 映射
1380
+ logic.parentNode = this.process;
1381
+
1382
+ code += logic.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: state.tabSize + 3 }));
1383
+ code += ',\n';
1384
+ code += `${tab1}}`;
1385
+ }
1386
+
1387
+ if (this.type === 'ExclusiveGateway') {
1388
+ prevCode += `\n${tab5}${this.name}: elements.${this.name},\n`;
1389
+ prevCode += `${tab3}}\n`;
1390
+ code += `${tab1}logic: ${this.logic.toEmbeddedTSInProcess(shiftState(state, code, { tabSize: state.tabSize + 3 }), prevCode, true)},`;
1391
+ }
1392
+ }
1393
+ code += `${tab0}\n},`;
1394
+ // let code = '';
1395
+ // this.variables.forEach((property) => {
1396
+ // code += `${tab0}export let `;
1397
+ // code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
1398
+ // code += ';\n';
1399
+ // });
1400
+
1401
+ // this.returns.forEach((property) => {
1402
+ // code += `${tab0}export let `;
1403
+ // code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
1404
+ // code += ';\n';
1405
+ // });
1406
+ // this.constants.forEach((property) => {
1407
+ // code += `${tab0}export let `;
1408
+ // code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
1409
+ // code += ';\n';
1410
+ // });
1348
1411
  return code;
1349
1412
  }
1350
1413
 
@@ -1362,23 +1425,23 @@ export class ProcessElement extends BaseNode {
1362
1425
  /**
1363
1426
  * 设置流程元素名称
1364
1427
  */
1365
- setNameWithFlowChange(name: string) {
1366
- this.app.emit('collect:start', {
1367
- actionMsg: '设置流程元素名称',
1368
- });
1369
- const oldName = this.name;
1370
- this.setName(name);
1371
- const process = this.process;
1372
- process.elements.forEach((el) => {
1373
- if (el.sourceRef === oldName) {
1374
- el.setSourceRef(name);
1375
- }
1376
- if (el.targetRef === oldName) {
1377
- el.setTargetRef(name);
1378
- }
1379
- });
1380
- this.app.emit('collect:end');
1381
- }
1428
+ // setNameWithFlowChange(name: string) {
1429
+ // this.app.emit('collect:start', {
1430
+ // actionMsg: '设置流程元素名称',
1431
+ // });
1432
+ // const oldName = this.name;
1433
+ // this.setName(name);
1434
+ // const process = this.process;
1435
+ // process.elements.forEach((el) => {
1436
+ // if (el.sourceRef === oldName) {
1437
+ // el.setSourceRef(name);
1438
+ // }
1439
+ // if (el.targetRef === oldName) {
1440
+ // el.setTargetRef(name);
1441
+ // }
1442
+ // });
1443
+ // this.app.emit('collect:end');
1444
+ // }
1382
1445
  //================================================================================
1383
1446
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1384
1447
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -1391,3 +1454,39 @@ export default ProcessElement;
1391
1454
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1392
1455
  // 自动生成的代码已结束。下面可以手动编写。
1393
1456
  //================================================================================
1457
+ ProcessElement.prototype.setName = function (name: string) {
1458
+ const App = this.rootNode;
1459
+ const oldName = this.name;
1460
+ const processName = this.parentNode.name;
1461
+
1462
+ App.emit('collect:start', {
1463
+ actionMsg: '设置名称',
1464
+ });
1465
+ const object = {
1466
+ name,
1467
+ };
1468
+ this.update({
1469
+ ...object,
1470
+ field: 'name',
1471
+ });
1472
+ syncMemberExpression(this, (node) => {
1473
+ if (node.object.name === processName && node.property.name === oldName) {
1474
+ node.property.update({
1475
+ name,
1476
+ });
1477
+ }
1478
+ });
1479
+ const process = this.process;
1480
+ process.elements.forEach((el) => {
1481
+ if (el.sourceRef === oldName) {
1482
+ el.setSourceRef(name);
1483
+ }
1484
+ if (el.targetRef === oldName) {
1485
+ el.setTargetRef(name);
1486
+ }
1487
+ });
1488
+ if (this.logic) {
1489
+ this.logic.setName(name);
1490
+ }
1491
+ App.emit('collect:end');
1492
+ };
@@ -74,7 +74,7 @@ export class ProcessOutcome extends LogicItem {
74
74
  //================================================================================
75
75
  @withSourceMap()
76
76
  toEmbeddedTS(state?: TranslatorState): string {
77
- const code = `return () => ${this.flowRef && `"${this.flowRef}"`}`;
77
+ const code = `return () => ${this.flowRef ? `"${this.flowRef}"` : '__IDENTIFIER__'}`;
78
78
  return code;
79
79
  }
80
80
 
@@ -1,9 +1,10 @@
1
1
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
2
- import { process2LogicNamespace, genLaunchProcess, genUserTaskLogic, userTask2LogicNamespace } from '../server/getProcesses';
3
-
2
+ import { genLaunchProcess, genUserTaskLogic, userTask2LogicNamespace, syncMemberExpression } from '../server/getProcesses';
3
+ import { process2LogicNamespace } from '../server/process2LogicNamespace';
4
4
  import Namespace from './Namespace__';
5
5
  import Logic from './Logic__';
6
6
  import Variable from './Variable__';
7
+ import Identifier from './Identifier__';
7
8
  //================================================================================
8
9
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
9
10
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -193,7 +194,7 @@ export class Process extends BaseNode {
193
194
  name: options,
194
195
  }, this, 'params');
195
196
  } else if (options instanceof Param) {
196
- options.delete(); // 同一实例不支持多处存在
197
+ options.ensureDelete(); // 同一实例不支持多处存在
197
198
  param = options;
198
199
  Object.assign(param, relationOptions);
199
200
  } else {
@@ -281,7 +282,7 @@ export class Process extends BaseNode {
281
282
 
282
283
  addParam(options?: string | Partial<Param> | Param) {
283
284
  const node = this._addParam(options as any);
284
- const index = this.params.length;
285
+ const index = this.params.indexOf(node);
285
286
  node.create({
286
287
  index,
287
288
  parentNode: this,
@@ -335,7 +336,7 @@ export class Process extends BaseNode {
335
336
  name: options,
336
337
  }, this, 'returns');
337
338
  } else if (options instanceof Return) {
338
- options.delete(); // 同一实例不支持多处存在
339
+ options.ensureDelete(); // 同一实例不支持多处存在
339
340
  ret = options;
340
341
  Object.assign(ret, relationOptions);
341
342
  } else {
@@ -423,7 +424,7 @@ export class Process extends BaseNode {
423
424
 
424
425
  addReturn(options?: string | Partial<Return> | Return) {
425
426
  const node = this._addReturn(options as any);
426
- const index = this.returns.length;
427
+ const index = this.returns.indexOf(node);
427
428
  node.create({
428
429
  index,
429
430
  parentNode: this,
@@ -477,7 +478,7 @@ export class Process extends BaseNode {
477
478
  name: options,
478
479
  }, this, 'constants');
479
480
  } else if (options instanceof Constant) {
480
- options.delete(); // 同一实例不支持多处存在
481
+ options.ensureDelete(); // 同一实例不支持多处存在
481
482
  constant = options;
482
483
  Object.assign(constant, relationOptions);
483
484
  } else {
@@ -565,7 +566,7 @@ export class Process extends BaseNode {
565
566
 
566
567
  addConstant(options?: string | Partial<Constant> | Constant) {
567
568
  const node = this._addConstant(options as any);
568
- const index = this.constants.length;
569
+ const index = this.constants.indexOf(node);
569
570
  node.create({
570
571
  index,
571
572
  parentNode: this,
@@ -619,7 +620,7 @@ export class Process extends BaseNode {
619
620
  name: options,
620
621
  }, this, 'elements');
621
622
  } else if (options instanceof ProcessElement) {
622
- options.delete(); // 同一实例不支持多处存在
623
+ options.ensureDelete(); // 同一实例不支持多处存在
623
624
  element = options;
624
625
  Object.assign(element, relationOptions);
625
626
  } else {
@@ -707,7 +708,7 @@ export class Process extends BaseNode {
707
708
 
708
709
  addElement(options?: string | Partial<ProcessElement> | ProcessElement) {
709
710
  const node = this._addElement(options as any);
710
- const index = this.elements.length;
711
+ const index = this.elements.indexOf(node);
711
712
  node.create({
712
713
  index,
713
714
  parentNode: this,
@@ -974,7 +975,29 @@ export class Process extends BaseNode {
974
975
  }
975
976
 
976
977
  get logics() {
977
- return [genLaunchProcess(this)];
978
+ // return [
979
+ // genLaunchProcess(this),
980
+ // ...this.elements.filter(el => el.type === 'UserTask').map(el => {
981
+ // return {
982
+ // name: el.name,
983
+ // complete: genUserTaskLogic(el),
984
+ // }
985
+ // })
986
+ // ];
987
+ const ns = process2LogicNamespace(this);
988
+ let logics: Logic[] = [];
989
+ ns.children.map((subns) => {
990
+ logics = logics.concat(subns.logics);
991
+ });
992
+
993
+ return [
994
+ ...ns.logics,
995
+ ...logics,
996
+ ];
997
+ }
998
+
999
+ toUserTaskPropertyGetterTS(userTask: ProcessElement) {
1000
+ return `let ${userTask.name} = elements.${userTask.name};`;
978
1001
  }
979
1002
 
980
1003
  @withSourceMap()
@@ -985,6 +1008,14 @@ export class Process extends BaseNode {
985
1008
  const tab2 = indent(state.tabSize + 2);
986
1009
  const tab3 = indent(state.tabSize + 3);
987
1010
  // code += `${tab1}namespace variables{\n`;
1011
+
1012
+ code += `${tab1}export namespace logics {\n`;
1013
+ const logic = genLaunchProcess(this);
1014
+ // sourceMap 映射
1015
+ logic.parentNode = this;
1016
+ code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 2 }));
1017
+ code += `${tab1}}\n`;
1018
+
988
1019
  this.params.forEach((property) => {
989
1020
  code += `${tab1}export let `;
990
1021
  code += property.toEmbeddedTS(shiftState(state, code, { inline: true }));
@@ -1002,63 +1033,16 @@ export class Process extends BaseNode {
1002
1033
  code += ';\n';
1003
1034
  });
1004
1035
 
1036
+ code += `${tab1}export const elements = {\n`;
1005
1037
 
1006
- // code += `${tab1}}\n`;
1007
-
1008
- // this.elements.forEach((ele) => {
1009
- // if (ele.type === 'UserTask') {
1010
- // code += `${tab1}${ele.name}: nasl.process.UserTask;\n`;
1011
- // }
1012
- // });
1013
-
1014
- // code += `${tab1}constructor(`;
1015
- // this.params.forEach((param, index) => {
1016
- // code += param.toEmbeddedTS(shiftState(state, code, { inline: true }));
1017
- // if (index !== this.params.length - 1)
1018
- // code += ', ';
1019
- // });
1020
- // code += `) {\n`;
1021
-
1022
- code += `${tab1}export namespace logics {\n`;
1023
- const logic = genLaunchProcess(this);
1024
- code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 3 }));
1025
- code += `${tab1}}\n`;
1026
-
1027
- code += `${tab1}export namespace elements {\n`
1028
1038
  this.elements.forEach((ele) => {
1029
- if (ele.type === 'UserTask') {
1030
- code += `${tab2}export namespace ${ele.name}{\n`;
1039
+ code += '\n';
1040
+ if (ele.type === 'UserTask' || ele.type === 'ExclusiveGateway' || ele.type === 'AutoTask') {
1031
1041
  code += ele.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));
1032
- ele.bindAttrs.forEach((attr) => {
1033
- if(attr.name === 'destination') {
1034
- code += attr.destination.toEmbeddedTSNormalFunction(shiftState(state, code, { tabSize: state.tabSize + 2 }))
1035
- } else {
1036
- code += attr.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize }));
1037
- }
1038
- });
1039
-
1040
- const logic = genUserTaskLogic(ele);
1041
- code += `${tab3}export namespace logics {\n`;
1042
-
1043
- code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 4 }));
1044
-
1045
- code += `${tab3}}\n`;
1046
-
1047
- code += `${tab2}}\n`;
1048
-
1049
-
1050
- }
1051
- if (ele.type === 'ExclusiveGateway') {
1052
- code += `${tab2}export namespace ${ele.name}{\n`;
1053
- code += ele.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));
1054
- code += ele.logic.toEmbeddedTSNoExport(shiftState(state, code, { tabSize: state.tabSize + 3 }));
1055
- code += `${tab2}}\n`;
1056
1042
  }
1057
1043
  });
1058
1044
  code += `${tab1}}\n`;
1059
-
1060
- // code += `${tab1}}\n`;
1061
- code += `${tab0}}\n`;
1045
+ code += `}\n`;
1062
1046
  return code;
1063
1047
  }
1064
1048
 
@@ -1066,31 +1050,13 @@ export class Process extends BaseNode {
1066
1050
  let code = `namespace ${this.getNamespace('processes')} {\n`;
1067
1051
 
1068
1052
  const state = createCompilerState(code, { tabSize: 1 });
1069
- const tab1 = indent(state.tabSize);
1070
- code += this.toEmbeddedTS(state);
1053
+ try {
1054
+ code += this.toEmbeddedTS(state);
1055
+ } catch (err) {
1056
+ code += '';
1057
+ }
1071
1058
  code += '}\n';
1072
1059
 
1073
- /* const ns = process2LogicNamespace(this);
1074
- ns.path = `${this.getNamespace('logics')}.${ns.name}`;
1075
- code += `\nnamespace ${ns.path} {\n`;
1076
- ns.logics.forEach((logic) => {
1077
- code += logic.toEmbeddedTS(shiftState(state, code)) + '\n';
1078
- });
1079
- this.elements.forEach((ele) => {
1080
- if (ele.type === 'UserTask') {
1081
- const uns = userTask2LogicNamespace(ele);
1082
- code += `${tab1}export namespace ${uns.name} {\n`;
1083
-
1084
- uns.logics.forEach((logic) => {
1085
- code += logic.toEmbeddedTS(shiftState(state, code, { tabSize: state.tabSize + 1 })) + '\n';
1086
- });
1087
-
1088
- code += `${tab1}}\n`;
1089
- }
1090
- });
1091
-
1092
- code += '}\n';*/
1093
-
1094
1060
  return {
1095
1061
  code,
1096
1062
  filePath: this.getEmbeddedFilePath(),
@@ -1115,29 +1081,31 @@ export class Process extends BaseNode {
1115
1081
  elements: [
1116
1082
  {
1117
1083
  concept: 'ProcessElement',
1118
- name: 'start',
1084
+ name: 'Start',
1119
1085
  type: 'StartNoneEvent',
1120
1086
  bounds: {
1121
1087
  concept: 'Rect',
1122
- x: 0, y: 0
1123
- }
1088
+ x: 0, y: 0,
1089
+ },
1124
1090
  },
1125
1091
  {
1126
1092
  concept: 'ProcessElement',
1127
- name: 'end',
1093
+ name: 'End',
1128
1094
  type: 'EndNoneEvent',
1129
1095
  bounds: {
1130
1096
  concept: 'Rect',
1131
- x: 0, y: 180
1132
- }
1097
+ x: 0, y: 180,
1098
+ },
1133
1099
  },
1134
1100
  {
1135
1101
  concept: 'ProcessElement',
1102
+ name: 'SequenceFlow',
1136
1103
  type: 'SequenceFlow',
1137
- sourceRef: 'start',
1138
- targetRef: 'end',
1104
+ sourceRef: 'Start',
1105
+ targetRef: 'End',
1106
+ waypoints: [{ x: 0, y: 0 }, { x: 100, y: 100 }],
1139
1107
  },
1140
- ]
1108
+ ],
1141
1109
  };
1142
1110
  }
1143
1111
  //================================================================================
@@ -1152,3 +1120,22 @@ export default Process;
1152
1120
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1153
1121
  // 自动生成的代码已结束。下面可以手动编写。
1154
1122
  //================================================================================
1123
+ Process.prototype.setName = function (name: string) {
1124
+ const App = this.rootNode;
1125
+ const oldName = this.name;
1126
+ App.emit('collect:start', {
1127
+ actionMsg: '设置名称',
1128
+ });
1129
+ syncMemberExpression(this, (node) => {
1130
+ if (node.object instanceof Identifier && node.object.name === oldName) {
1131
+ node.object.update({
1132
+ name,
1133
+ });
1134
+ }
1135
+ });
1136
+ this.update({
1137
+ name,
1138
+ field: 'name',
1139
+ });
1140
+ App.emit('collect:end');
1141
+ };
@@ -138,7 +138,7 @@ export class QueryAggregateExpression extends LogicItem {
138
138
  // code += `[__EMPTY_AGGREGATE_NAME__, '']`;
139
139
 
140
140
  // return code;
141
- return `${this.asName || '__EMPTY_AGGREGATE_ALIAS__'}`;
141
+ return `__${this.asName || '__EMPTY_AGGREGATE_ALIAS__'}`;
142
142
  }
143
143
 
144
144
  setName(asName: string) {
@@ -99,7 +99,7 @@ export class QueryFromExpression extends LogicItem {
99
99
  const relationOptions = { parentNode: this, parentKey: 'joinParts' };
100
100
  let queryJoinExpression: QueryJoinExpression;
101
101
  if (options instanceof QueryJoinExpression) {
102
- options.delete(); // 同一实例不支持多处存在
102
+ options.ensureDelete(); // 同一实例不支持多处存在
103
103
  queryJoinExpression = options;
104
104
  Object.assign(queryJoinExpression, relationOptions);
105
105
  } else {
@@ -173,7 +173,7 @@ export class QueryFromExpression extends LogicItem {
173
173
 
174
174
  addJoinPart(options?: Partial<QueryJoinExpression> | QueryJoinExpression) {
175
175
  const node = this._addJoinPart(options as any);
176
- const index = this.joinParts.length;
176
+ const index = this.joinParts.indexOf(node);
177
177
  node.create({
178
178
  index,
179
179
  parentNode: this,
@@ -132,7 +132,7 @@ export class QueryJoinExpression extends LogicItem {
132
132
  name: options,
133
133
  }, this, 'onExpressions');
134
134
  } else if (options instanceof BinaryExpression) {
135
- options.delete(); // 同一实例不支持多处存在
135
+ options.ensureDelete(); // 同一实例不支持多处存在
136
136
  binaryExpression = options;
137
137
  Object.assign(binaryExpression, relationOptions);
138
138
  } else {
@@ -220,7 +220,7 @@ export class QueryJoinExpression extends LogicItem {
220
220
 
221
221
  addBinaryExpressionInOnExpressions(options?: string | Partial<BinaryExpression> | BinaryExpression) {
222
222
  const node = this._addBinaryExpressionInOnExpressions(options as any);
223
- const index = this.onExpressions.length;
223
+ const index = this.onExpressions.indexOf(node);
224
224
  node.create({
225
225
  index,
226
226
  parentNode: this,
@@ -250,7 +250,7 @@ export class QueryJoinExpression extends LogicItem {
250
250
  const relationOptions = { parentNode: this, parentKey: 'joinParts' };
251
251
  let queryJoinExpression: QueryJoinExpression;
252
252
  if (options instanceof QueryJoinExpression) {
253
- options.delete(); // 同一实例不支持多处存在
253
+ options.ensureDelete(); // 同一实例不支持多处存在
254
254
  queryJoinExpression = options;
255
255
  Object.assign(queryJoinExpression, relationOptions);
256
256
  } else {
@@ -324,7 +324,7 @@ export class QueryJoinExpression extends LogicItem {
324
324
 
325
325
  addJoinPartInJoinParts(options?: Partial<QueryJoinExpression> | QueryJoinExpression) {
326
326
  const node = this._addJoinPartInJoinParts(options as any);
327
- const index = this.joinParts.length;
327
+ const index = this.joinParts.indexOf(node);
328
328
  node.create({
329
329
  index,
330
330
  parentNode: this,