@lcap/nasl 1.0.0-alpha.8 → 1.0.1

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 (460) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +414 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/operators.d.ts +13 -0
  5. package/out/automate/engine/operators.js +63 -0
  6. package/out/automate/engine/operators.js.map +1 -0
  7. package/out/automate/engine/uniqueName.d.ts +6 -0
  8. package/out/automate/engine/uniqueName.js +39 -0
  9. package/out/automate/engine/uniqueName.js.map +1 -0
  10. package/out/automate/engine/utils.d.ts +24 -0
  11. package/out/automate/engine/utils.js +363 -0
  12. package/out/automate/engine/utils.js.map +1 -0
  13. package/out/common/BaseNode.d.ts +20 -0
  14. package/out/common/BaseNode.js +219 -81
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/concepts/App__.d.ts +18 -1
  17. package/out/concepts/App__.js +84 -44
  18. package/out/concepts/App__.js.map +1 -1
  19. package/out/concepts/Argument__.d.ts +5 -1
  20. package/out/concepts/Argument__.js +21 -3
  21. package/out/concepts/Argument__.js.map +1 -1
  22. package/out/concepts/Assignee__.d.ts +190 -0
  23. package/out/concepts/Assignee__.js +264 -0
  24. package/out/concepts/Assignee__.js.map +1 -0
  25. package/out/concepts/Assignment__.js +5 -0
  26. package/out/concepts/Assignment__.js.map +1 -1
  27. package/out/concepts/BinaryExpression__.js +8 -7
  28. package/out/concepts/BinaryExpression__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.d.ts +19 -0
  30. package/out/concepts/BindAttribute__.js +55 -10
  31. package/out/concepts/BindAttribute__.js.map +1 -1
  32. package/out/concepts/BindDirective__.js +23 -3
  33. package/out/concepts/BindDirective__.js.map +1 -1
  34. package/out/concepts/BindEvent__.d.ts +2 -2
  35. package/out/concepts/BindEvent__.js +67 -34
  36. package/out/concepts/BindEvent__.js.map +1 -1
  37. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  38. package/out/concepts/BooleanLiteral__.js +10 -0
  39. package/out/concepts/BooleanLiteral__.js.map +1 -1
  40. package/out/concepts/CallFunction__.js +57 -23
  41. package/out/concepts/CallFunction__.js.map +1 -1
  42. package/out/concepts/CallInterface__.d.ts +5 -0
  43. package/out/concepts/CallInterface__.js +238 -31
  44. package/out/concepts/CallInterface__.js.map +1 -1
  45. package/out/concepts/CallLogic__.d.ts +4 -4
  46. package/out/concepts/CallLogic__.js +107 -50
  47. package/out/concepts/CallLogic__.js.map +1 -1
  48. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  49. package/out/concepts/CallQueryComponent__.js +45 -26
  50. package/out/concepts/CallQueryComponent__.js.map +1 -1
  51. package/out/concepts/Comment__.js +6 -2
  52. package/out/concepts/Comment__.js.map +1 -1
  53. package/out/concepts/CompletionProperty__.d.ts +3 -1
  54. package/out/concepts/CompletionProperty__.js +2 -0
  55. package/out/concepts/CompletionProperty__.js.map +1 -1
  56. package/out/concepts/ConfigGroup__.js +3 -3
  57. package/out/concepts/ConfigGroup__.js.map +1 -1
  58. package/out/concepts/ConfigProperty__.js +3 -3
  59. package/out/concepts/ConfigProperty__.js.map +1 -1
  60. package/out/concepts/Configuration__.js +3 -3
  61. package/out/concepts/Configuration__.js.map +1 -1
  62. package/out/concepts/Constant__.d.ts +1 -0
  63. package/out/concepts/Constant__.js +14 -0
  64. package/out/concepts/Constant__.js.map +1 -1
  65. package/out/concepts/Destination__.d.ts +12 -0
  66. package/out/concepts/Destination__.js +98 -19
  67. package/out/concepts/Destination__.js.map +1 -1
  68. package/out/concepts/End__.js +9 -1
  69. package/out/concepts/End__.js.map +1 -1
  70. package/out/concepts/EntityProperty__.d.ts +11 -0
  71. package/out/concepts/EntityProperty__.js +73 -5
  72. package/out/concepts/EntityProperty__.js.map +1 -1
  73. package/out/concepts/Entity__.d.ts +4 -4
  74. package/out/concepts/Entity__.js +30 -20
  75. package/out/concepts/Entity__.js.map +1 -1
  76. package/out/concepts/Enum__.d.ts +4 -0
  77. package/out/concepts/Enum__.js +18 -10
  78. package/out/concepts/Enum__.js.map +1 -1
  79. package/out/concepts/Event__.js +3 -3
  80. package/out/concepts/Event__.js.map +1 -1
  81. package/out/concepts/ForEachStatement__.d.ts +1 -1
  82. package/out/concepts/ForEachStatement__.js +11 -15
  83. package/out/concepts/ForEachStatement__.js.map +1 -1
  84. package/out/concepts/Function__.js +13 -13
  85. package/out/concepts/Function__.js.map +1 -1
  86. package/out/concepts/Identifier__.d.ts +3 -0
  87. package/out/concepts/Identifier__.js +76 -29
  88. package/out/concepts/Identifier__.js.map +1 -1
  89. package/out/concepts/IfStatement__.js +4 -4
  90. package/out/concepts/IfStatement__.js.map +1 -1
  91. package/out/concepts/InterfaceParam__.d.ts +6 -4
  92. package/out/concepts/InterfaceParam__.js +52 -19
  93. package/out/concepts/InterfaceParam__.js.map +1 -1
  94. package/out/concepts/Interface__.d.ts +42 -30
  95. package/out/concepts/Interface__.js +133 -17
  96. package/out/concepts/Interface__.js.map +1 -1
  97. package/out/concepts/JSBlock__.d.ts +1 -0
  98. package/out/concepts/JSBlock__.js +3 -0
  99. package/out/concepts/JSBlock__.js.map +1 -1
  100. package/out/concepts/LogicItem__.d.ts +2 -1
  101. package/out/concepts/LogicItem__.js +14 -0
  102. package/out/concepts/LogicItem__.js.map +1 -1
  103. package/out/concepts/Logic__.d.ts +20 -1
  104. package/out/concepts/Logic__.js +194 -37
  105. package/out/concepts/Logic__.js.map +1 -1
  106. package/out/concepts/MemberExpression__.d.ts +2 -0
  107. package/out/concepts/MemberExpression__.js +49 -13
  108. package/out/concepts/MemberExpression__.js.map +1 -1
  109. package/out/concepts/Module__.d.ts +126 -120
  110. package/out/concepts/Module__.js +36 -26
  111. package/out/concepts/Module__.js.map +1 -1
  112. package/out/concepts/Namespace__.d.ts +5 -1
  113. package/out/concepts/Namespace__.js +48 -37
  114. package/out/concepts/Namespace__.js.map +1 -1
  115. package/out/concepts/NullLiteral__.d.ts +3 -0
  116. package/out/concepts/NullLiteral__.js +11 -1
  117. package/out/concepts/NullLiteral__.js.map +1 -1
  118. package/out/concepts/NumericLiteral__.d.ts +1 -1
  119. package/out/concepts/NumericLiteral__.js +17 -6
  120. package/out/concepts/NumericLiteral__.js.map +1 -1
  121. package/out/concepts/Param__.d.ts +7 -3
  122. package/out/concepts/Param__.js +57 -28
  123. package/out/concepts/Param__.js.map +1 -1
  124. package/out/concepts/ProcessComponent__.js +6 -6
  125. package/out/concepts/ProcessComponent__.js.map +1 -1
  126. package/out/concepts/ProcessElement__.d.ts +0 -4
  127. package/out/concepts/ProcessElement__.js +117 -54
  128. package/out/concepts/ProcessElement__.js.map +1 -1
  129. package/out/concepts/ProcessOutcome__.js +1 -1
  130. package/out/concepts/ProcessOutcome__.js.map +1 -1
  131. package/out/concepts/Process__.d.ts +7 -1
  132. package/out/concepts/Process__.js +81 -85
  133. package/out/concepts/Process__.js.map +1 -1
  134. package/out/concepts/QueryAggregateExpression__.js +1 -1
  135. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  136. package/out/concepts/QueryFromExpression__.js +2 -2
  137. package/out/concepts/QueryFromExpression__.js.map +1 -1
  138. package/out/concepts/QueryJoinExpression__.js +5 -5
  139. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  140. package/out/concepts/QueryLimitExpression__.js +2 -2
  141. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  142. package/out/concepts/QuerySelectExpression__.js +3 -3
  143. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  144. package/out/concepts/Return__.d.ts +4 -1
  145. package/out/concepts/Return__.js +67 -21
  146. package/out/concepts/Return__.js.map +1 -1
  147. package/out/concepts/Role__.d.ts +4 -0
  148. package/out/concepts/Role__.js +13 -4
  149. package/out/concepts/Role__.js.map +1 -1
  150. package/out/concepts/SqlQueryComponent__.js +2 -2
  151. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  152. package/out/concepts/StringLiteral__.d.ts +1 -1
  153. package/out/concepts/StringLiteral__.js +21 -31
  154. package/out/concepts/StringLiteral__.js.map +1 -1
  155. package/out/concepts/StructureProperty__.d.ts +5 -4
  156. package/out/concepts/StructureProperty__.js +55 -26
  157. package/out/concepts/StructureProperty__.js.map +1 -1
  158. package/out/concepts/Structure__.d.ts +44 -30
  159. package/out/concepts/Structure__.js +44 -12
  160. package/out/concepts/Structure__.js.map +1 -1
  161. package/out/concepts/SwitchCase__.js +4 -4
  162. package/out/concepts/SwitchCase__.js.map +1 -1
  163. package/out/concepts/SwitchStatement__.js +2 -2
  164. package/out/concepts/SwitchStatement__.js.map +1 -1
  165. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  166. package/out/concepts/TypeAnnotation__.js +74 -20
  167. package/out/concepts/TypeAnnotation__.js.map +1 -1
  168. package/out/concepts/UnaryExpression__.js +10 -8
  169. package/out/concepts/UnaryExpression__.js.map +1 -1
  170. package/out/concepts/Unparsed__.js +1 -1
  171. package/out/concepts/Unparsed__.js.map +1 -1
  172. package/out/concepts/ValidationRule__.d.ts +1 -0
  173. package/out/concepts/ValidationRule__.js +48 -13
  174. package/out/concepts/ValidationRule__.js.map +1 -1
  175. package/out/concepts/Variable__.d.ts +10 -1
  176. package/out/concepts/Variable__.js +70 -18
  177. package/out/concepts/Variable__.js.map +1 -1
  178. package/out/concepts/ViewComponent__.js +15 -15
  179. package/out/concepts/ViewComponent__.js.map +1 -1
  180. package/out/concepts/ViewElement__.d.ts +17 -11
  181. package/out/concepts/ViewElement__.js +302 -204
  182. package/out/concepts/ViewElement__.js.map +1 -1
  183. package/out/concepts/View__.d.ts +12 -11
  184. package/out/concepts/View__.js +109 -98
  185. package/out/concepts/View__.js.map +1 -1
  186. package/out/concepts/WhileStatement__.js +3 -3
  187. package/out/concepts/WhileStatement__.js.map +1 -1
  188. package/out/concepts/basics/stdlib/index.js +4 -1
  189. package/out/concepts/basics/stdlib/index.js.map +1 -1
  190. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  191. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  192. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  193. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  194. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  195. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  196. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  197. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  198. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  199. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  200. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  201. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  202. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  203. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  204. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  205. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  206. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  207. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  208. package/out/concepts/basics/types/coreTypeList.js +11 -10
  209. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  210. package/out/concepts/index__.d.ts +1 -0
  211. package/out/concepts/index__.js +1 -0
  212. package/out/concepts/index__.js.map +1 -1
  213. package/out/config.d.ts +1 -2
  214. package/out/config.js +1 -2
  215. package/out/config.js.map +1 -1
  216. package/out/enums/KEYWORDS.d.ts +3 -0
  217. package/out/enums/KEYWORDS.js +1206 -0
  218. package/out/enums/KEYWORDS.js.map +1 -0
  219. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  220. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  221. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  222. package/out/eventBus.d.ts +3 -0
  223. package/out/eventBus.js +7 -0
  224. package/out/eventBus.js.map +1 -0
  225. package/out/generator/genBundleFiles.d.ts +7 -2
  226. package/out/generator/genBundleFiles.js +168 -27
  227. package/out/generator/genBundleFiles.js.map +1 -1
  228. package/out/generator/genMetaData.d.ts +20 -20
  229. package/out/generator/genMetaData.js +50 -15
  230. package/out/generator/genMetaData.js.map +1 -1
  231. package/out/index.d.ts +2 -0
  232. package/out/index.js +2 -0
  233. package/out/index.js.map +1 -1
  234. package/out/manager/diagnostic.d.ts +1 -1
  235. package/out/server/createUiTs.d.ts +1 -0
  236. package/out/server/createUiTs.js +49 -5
  237. package/out/server/createUiTs.js.map +1 -1
  238. package/out/server/entity2LogicNamespace.js +38 -23
  239. package/out/server/entity2LogicNamespace.js.map +1 -1
  240. package/out/server/getExtensionModules.js +2 -0
  241. package/out/server/getExtensionModules.js.map +1 -1
  242. package/out/server/getFunctions.d.ts +1 -0
  243. package/out/server/getFunctions.js +7 -1
  244. package/out/server/getFunctions.js.map +1 -1
  245. package/out/server/getLogics.js +63 -18
  246. package/out/server/getLogics.js.map +1 -1
  247. package/out/server/getMemberIdentifier.d.ts +16 -1
  248. package/out/server/getMemberIdentifier.js +279 -36
  249. package/out/server/getMemberIdentifier.js.map +1 -1
  250. package/out/server/getProcesses.d.ts +6 -1
  251. package/out/server/getProcesses.js +243 -1
  252. package/out/server/getProcesses.js.map +1 -1
  253. package/out/server/getScope.d.ts +12 -0
  254. package/out/server/getScope.js +57 -0
  255. package/out/server/getScope.js.map +1 -0
  256. package/out/server/index.js +4 -0
  257. package/out/server/index.js.map +1 -1
  258. package/out/server/naslServer.d.ts +30 -53
  259. package/out/server/naslServer.js +721 -381
  260. package/out/server/naslServer.js.map +1 -1
  261. package/out/server/process2LogicNamespace.d.ts +10 -0
  262. package/out/server/process2LogicNamespace.js +29 -1
  263. package/out/server/process2LogicNamespace.js.map +1 -1
  264. package/out/server/translator.d.ts +22 -3
  265. package/out/server/translator.js +367 -123
  266. package/out/server/translator.js.map +1 -1
  267. package/out/service/creator/add.configs.d.ts +1 -0
  268. package/out/service/creator/add.configs.js +68 -0
  269. package/out/service/creator/add.configs.js.map +1 -0
  270. package/out/service/creator/errHandles.d.ts +18 -0
  271. package/out/service/creator/errHandles.js +60 -0
  272. package/out/service/creator/errHandles.js.map +1 -0
  273. package/out/service/creator/index.d.ts +1 -0
  274. package/out/service/creator/index.js +72 -0
  275. package/out/service/creator/index.js.map +1 -0
  276. package/out/service/storage/api.d.ts +18 -0
  277. package/out/service/storage/api.js +17 -0
  278. package/out/service/storage/api.js.map +1 -0
  279. package/out/service/storage/init.js +213 -37
  280. package/out/service/storage/init.js.map +1 -1
  281. package/out/service/storage/service.d.ts +2 -0
  282. package/out/service/storage/service.js +10 -0
  283. package/out/service/storage/service.js.map +1 -0
  284. package/out/service/storage/storagePoint.d.ts +1 -14
  285. package/out/service/storage/storagePoint.js +16 -16
  286. package/out/service/storage/storagePoint.js.map +1 -1
  287. package/out/templator/genCreateBlock.js +6 -6
  288. package/out/templator/genCreateBlock.js.map +1 -1
  289. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  290. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  291. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  292. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  293. package/out/templator/genEditTableBlock.js +5 -5
  294. package/out/templator/genEditTableBlock.js.map +1 -1
  295. package/out/templator/genEnumSelectBlock.js +2 -2
  296. package/out/templator/genEnumSelectBlock.js.map +1 -1
  297. package/out/templator/genGetBlock.js +5 -3
  298. package/out/templator/genGetBlock.js.map +1 -1
  299. package/out/templator/genGridViewBlock.d.ts +3 -1
  300. package/out/templator/genGridViewBlock.js +61 -6
  301. package/out/templator/genGridViewBlock.js.map +1 -1
  302. package/out/templator/genQueryComponent.d.ts +2 -0
  303. package/out/templator/genQueryComponent.js +27 -14
  304. package/out/templator/genQueryComponent.js.map +1 -1
  305. package/out/templator/genTableBlock.d.ts +1 -1
  306. package/out/templator/genTableBlock.js +4 -5
  307. package/out/templator/genTableBlock.js.map +1 -1
  308. package/out/templator/genUpdateBlock.js +9 -10
  309. package/out/templator/genUpdateBlock.js.map +1 -1
  310. package/out/templator/utils.d.ts +13 -4
  311. package/out/templator/utils.js +8 -4
  312. package/out/templator/utils.js.map +1 -1
  313. package/out/test/fixtures/env.js +0 -1
  314. package/out/test/fixtures/env.js.map +1 -1
  315. package/out/test/integration/connect-file copy.d.ts +1 -0
  316. package/out/test/integration/connect-file copy.js +50 -0
  317. package/out/test/integration/connect-file copy.js.map +1 -0
  318. package/out/test/integration/node-nasl-server.d.ts +1 -0
  319. package/out/test/integration/node-nasl-server.js +41 -0
  320. package/out/test/integration/node-nasl-server.js.map +1 -0
  321. package/out/test/units/page/Element.spec.js +3 -3
  322. package/out/test/units/page/Element.spec.js.map +1 -1
  323. package/out/test/units/temp/temp.spec.js +1 -1
  324. package/out/test/units/temp/temp.spec.js.map +1 -1
  325. package/out/utils/index.d.ts +6 -0
  326. package/out/utils/index.js +25 -1
  327. package/out/utils/index.js.map +1 -1
  328. package/out/utils/string.d.ts +1 -1
  329. package/out/utils/string.js +38 -9
  330. package/out/utils/string.js.map +1 -1
  331. package/package.json +2 -1
  332. package/src/automate/engine/index.js +97 -118
  333. package/src/automate/engine/operators.js +63 -0
  334. package/src/automate/engine/uniqueName.js +36 -0
  335. package/src/automate/engine/utils.js +49 -19
  336. package/src/common/BaseNode.ts +223 -87
  337. package/src/concepts/App__.ts +86 -46
  338. package/src/concepts/Argument__.ts +23 -3
  339. package/src/concepts/Assignee__.ts +437 -0
  340. package/src/concepts/Assignment__.ts +4 -1
  341. package/src/concepts/BinaryExpression__.ts +9 -7
  342. package/src/concepts/BindAttribute__.ts +69 -9
  343. package/src/concepts/BindDirective__.ts +22 -3
  344. package/src/concepts/BindEvent__.ts +67 -23
  345. package/src/concepts/BooleanLiteral__.ts +8 -0
  346. package/src/concepts/CallFunction__.ts +58 -25
  347. package/src/concepts/CallInterface__.ts +236 -26
  348. package/src/concepts/CallLogic__.ts +111 -52
  349. package/src/concepts/CallQueryComponent__.ts +36 -21
  350. package/src/concepts/Comment__.ts +6 -2
  351. package/src/concepts/CompletionProperty__.ts +5 -1
  352. package/src/concepts/ConfigGroup__.ts +3 -3
  353. package/src/concepts/ConfigProperty__.ts +3 -3
  354. package/src/concepts/Configuration__.ts +3 -3
  355. package/src/concepts/Constant__.ts +12 -0
  356. package/src/concepts/Destination__.ts +106 -18
  357. package/src/concepts/End__.ts +8 -1
  358. package/src/concepts/EntityProperty__.ts +69 -5
  359. package/src/concepts/Entity__.ts +33 -28
  360. package/src/concepts/Enum__.ts +16 -11
  361. package/src/concepts/Event__.ts +3 -3
  362. package/src/concepts/ForEachStatement__.ts +16 -21
  363. package/src/concepts/Function__.ts +13 -13
  364. package/src/concepts/Identifier__.ts +82 -32
  365. package/src/concepts/IfStatement__.ts +4 -4
  366. package/src/concepts/InterfaceParam__.ts +49 -27
  367. package/src/concepts/Interface__.ts +130 -16
  368. package/src/concepts/JSBlock__.ts +4 -0
  369. package/src/concepts/LogicItem__.ts +16 -1
  370. package/src/concepts/Logic__.ts +201 -39
  371. package/src/concepts/MemberExpression__.ts +58 -15
  372. package/src/concepts/Module__.ts +35 -24
  373. package/src/concepts/Namespace__.ts +49 -37
  374. package/src/concepts/NullLiteral__.ts +8 -1
  375. package/src/concepts/NumericLiteral__.ts +17 -6
  376. package/src/concepts/Param__.ts +54 -28
  377. package/src/concepts/ProcessComponent__.ts +6 -6
  378. package/src/concepts/ProcessElement__.ts +143 -44
  379. package/src/concepts/ProcessOutcome__.ts +1 -1
  380. package/src/concepts/Process__.ts +85 -98
  381. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  382. package/src/concepts/QueryFromExpression__.ts +2 -2
  383. package/src/concepts/QueryJoinExpression__.ts +5 -5
  384. package/src/concepts/QueryLimitExpression__.ts +2 -2
  385. package/src/concepts/QuerySelectExpression__.ts +3 -3
  386. package/src/concepts/Return__.ts +60 -29
  387. package/src/concepts/Role__.ts +11 -4
  388. package/src/concepts/SqlQueryComponent__.ts +2 -2
  389. package/src/concepts/StringLiteral__.ts +20 -31
  390. package/src/concepts/StructureProperty__.ts +50 -33
  391. package/src/concepts/Structure__.ts +32 -10
  392. package/src/concepts/SwitchCase__.ts +4 -4
  393. package/src/concepts/SwitchStatement__.ts +2 -2
  394. package/src/concepts/TypeAnnotation__.ts +59 -16
  395. package/src/concepts/UnaryExpression__.ts +10 -8
  396. package/src/concepts/Unparsed__.ts +1 -1
  397. package/src/concepts/ValidationRule__.ts +44 -14
  398. package/src/concepts/Variable__.ts +67 -25
  399. package/src/concepts/ViewComponent__.ts +15 -15
  400. package/src/concepts/ViewElement__.ts +380 -264
  401. package/src/concepts/View__.ts +139 -94
  402. package/src/concepts/WhileStatement__.ts +4 -4
  403. package/src/concepts/basics/stdlib/index.ts +4 -2
  404. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  405. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  406. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  407. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  408. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  409. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  410. package/src/concepts/basics/types/coreTypeList.ts +11 -10
  411. package/src/concepts/index__.ts +1 -0
  412. package/src/config.ts +1 -2
  413. package/src/enums/KEYWORDS.ts +1204 -0
  414. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  415. package/src/eventBus.ts +5 -0
  416. package/src/generator/genBundleFiles.ts +182 -30
  417. package/src/generator/genMetaData.ts +72 -21
  418. package/src/index.ts +2 -0
  419. package/src/manager/diagnostic.ts +1 -1
  420. package/src/server/createUiTs.ts +50 -8
  421. package/src/server/entity2LogicNamespace.ts +41 -25
  422. package/src/server/getExtensionModules.ts +2 -0
  423. package/src/server/getFunctions.ts +6 -0
  424. package/src/server/getLogics.ts +66 -19
  425. package/src/server/getMemberIdentifier.ts +275 -46
  426. package/src/server/getProcesses.ts +248 -4
  427. package/src/server/getScope.ts +62 -0
  428. package/src/server/index.ts +12 -1
  429. package/src/server/naslServer.ts +715 -398
  430. package/src/server/process2LogicNamespace.ts +30 -2
  431. package/src/server/translator.ts +423 -128
  432. package/src/service/config/index.js +1 -1
  433. package/src/service/creator/errHandles.js +5 -2
  434. package/src/service/creator/index.js +0 -6
  435. package/src/service/storage/api.js +14 -0
  436. package/src/service/storage/init.ts +217 -47
  437. package/src/service/storage/service.ts +6 -0
  438. package/src/service/storage/storagePoint.ts +16 -16
  439. package/src/templator/genCreateBlock.ts +6 -6
  440. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  441. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  442. package/src/templator/genEditTableBlock.ts +5 -5
  443. package/src/templator/genEnumSelectBlock.ts +2 -2
  444. package/src/templator/genGetBlock.ts +6 -8
  445. package/src/templator/genGridViewBlock.ts +59 -9
  446. package/src/templator/genQueryComponent.ts +39 -28
  447. package/src/templator/genTableBlock.ts +5 -9
  448. package/src/templator/genUpdateBlock.ts +9 -11
  449. package/src/templator/utils.ts +9 -6
  450. package/src/test/fixtures/env.ts +0 -2
  451. package/src/test/units/page/Element.spec.ts +3 -3
  452. package/src/test/units/temp/temp.spec.ts +1 -1
  453. package/src/utils/index.ts +24 -0
  454. package/src/utils/string.ts +39 -9
  455. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  456. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  457. package/out/data/Module.d.ts +0 -34
  458. package/out/data/Module.js +0 -53
  459. package/out/data/Module.js.map +0 -1
  460. package/src/automate/engine/index.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"LogicItem__.js","sourceRoot":"","sources":["../../src/concepts/LogicItem__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogicItem__.js","sourceRoot":"","sources":["../../src/concepts/LogicItem__.ts"],"names":[],"mappings":"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"}
@@ -550,10 +550,25 @@ export declare class Logic extends BaseNode {
550
550
  */
551
551
  removeItemInPlayground(logicItem: LogicItem): void;
552
552
  __removeLogicItem(logicItem: LogicItem): Params;
553
+ get calleewholeKey(): string;
554
+ setCronAndTriggerType(cron: string, triggerType: string): void;
555
+ /**
556
+ * 创建的时候 打开事务 通过开关设置数据库事务
557
+ */
558
+ openTransactional(flag: boolean): void;
553
559
  findLogicItemByConcept(concept: string): LogicItem;
554
560
  onChange($event?: EventPayload): void;
555
- getVarExistingNames(excludedList?: Array<Param | Return | Variable>): string[];
561
+ getVarExistingNames(excludedList?: Array<Param | Return | Variable>): any[];
556
562
  toJS(state?: TranslatorState): string;
563
+ toProcessService(): {
564
+ config: {
565
+ serviceType: string;
566
+ };
567
+ url: {
568
+ method: string;
569
+ path: string;
570
+ };
571
+ };
557
572
  toService(): {
558
573
  config: {
559
574
  serviceType: string;
@@ -563,9 +578,11 @@ export declare class Logic extends BaseNode {
563
578
  path: string;
564
579
  };
565
580
  };
581
+ toEmbeddedTSInProcess(state?: TranslatorState, prependCode?: string, noName?: boolean): string;
566
582
  toEmbeddedTSNoExport(state?: TranslatorState): string;
567
583
  toEmbeddedTS(state?: TranslatorState, prefix?: string): string;
568
584
  getNamespace(): string;
585
+ getTsNamespace(): string;
569
586
  /**
570
587
  * 生成宿主语言的文件路径
571
588
  * @param name 一般不用传,用于 rename
@@ -587,5 +604,7 @@ export declare class Logic extends BaseNode {
587
604
  saveStructureOfCallQueryComponents(root?: BaseNode | Logic): Promise<void>;
588
605
  setTransactionEnabled(flag: boolean): void;
589
606
  fake: boolean;
607
+ getPath: () => string;
608
+ delete(): void;
590
609
  }
591
610
  export default Logic;
@@ -37,7 +37,6 @@ exports.Logic = void 0;
37
37
  const translator_1 = require("../translator");
38
38
  const Namespace__1 = __importDefault(require("./Namespace__"));
39
39
  const CallQueryComponent__1 = __importDefault(require("./CallQueryComponent__"));
40
- const pluralize = require("pluralize");
41
40
  const decorators_1 = require("../decorators");
42
41
  const utils = __importStar(require("../utils"));
43
42
  const BaseNode_1 = __importDefault(require("../common/BaseNode"));
@@ -223,7 +222,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
223
222
  return (this.typeParams || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
224
223
  }
225
224
  getTypeParamUniqueName(name = 'typeParam1') {
226
- return utils.unique(name, this.getTypeParamExistingNames());
225
+ return utils.unique(name, this.getTypeParamExistingNames(), undefined, false);
227
226
  }
228
227
  _insertTypeParamAt(options, index) {
229
228
  const typeParamOptions = {};
@@ -242,7 +241,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
242
241
  }, this, 'typeParams');
243
242
  }
244
243
  else if (options instanceof TypeParam__1.default) {
245
- options.delete(); // 同一实例不支持多处存在
244
+ options.ensureDelete(); // 同一实例不支持多处存在
246
245
  typeParam = options;
247
246
  Object.assign(typeParam, relationOptions);
248
247
  }
@@ -270,7 +269,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
270
269
  }
271
270
  addTypeParam(options) {
272
271
  const node = this._addTypeParam(options);
273
- const index = this.typeParams.length;
272
+ const index = this.typeParams.indexOf(node);
274
273
  node.create({
275
274
  index,
276
275
  parentNode: this,
@@ -279,7 +278,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
279
278
  return node;
280
279
  }
281
280
  getParamUniqueName(name = 'param1') {
282
- return utils.unique(name, this.getVarExistingNames());
281
+ return utils.unique(name, this.getVarExistingNames(), undefined, false);
283
282
  }
284
283
  _insertParamAt(options, index) {
285
284
  const paramOptions = {};
@@ -298,7 +297,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
298
297
  }, this, 'params');
299
298
  }
300
299
  else if (options instanceof Param__1.default) {
301
- options.delete(); // 同一实例不支持多处存在
300
+ options.ensureDelete(); // 同一实例不支持多处存在
302
301
  param = options;
303
302
  Object.assign(param, relationOptions);
304
303
  }
@@ -326,7 +325,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
326
325
  }
327
326
  addParam(options) {
328
327
  const node = this._addParam(options);
329
- const index = this.params.length;
328
+ const index = this.params.indexOf(node);
330
329
  node.create({
331
330
  index,
332
331
  parentNode: this,
@@ -334,8 +333,8 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
334
333
  });
335
334
  return node;
336
335
  }
337
- getReturnUniqueName(name = 'result1') {
338
- return utils.unique(name, this.getVarExistingNames());
336
+ getReturnUniqueName(name = 'result') {
337
+ return utils.unique(name, this.getVarExistingNames(), undefined, false);
339
338
  }
340
339
  _insertReturnAt(options, index) {
341
340
  const retOptions = {};
@@ -354,7 +353,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
354
353
  }, this, 'returns');
355
354
  }
356
355
  else if (options instanceof Return__1.default) {
357
- options.delete(); // 同一实例不支持多处存在
356
+ options.ensureDelete(); // 同一实例不支持多处存在
358
357
  ret = options;
359
358
  Object.assign(ret, relationOptions);
360
359
  }
@@ -382,7 +381,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
382
381
  }
383
382
  addReturn(options) {
384
383
  const node = this._addReturn(options);
385
- const index = this.returns.length;
384
+ const index = this.returns.indexOf(node);
386
385
  node.create({
387
386
  index,
388
387
  parentNode: this,
@@ -391,7 +390,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
391
390
  return node;
392
391
  }
393
392
  getVariableUniqueName(name = 'variable1') {
394
- return utils.unique(name, this.getVarExistingNames());
393
+ return utils.unique(name, this.getVarExistingNames(), undefined, false);
395
394
  }
396
395
  _insertVariableAt(options, index) {
397
396
  const variableOptions = {};
@@ -410,7 +409,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
410
409
  }, this, 'variables');
411
410
  }
412
411
  else if (options instanceof Variable__1.default) {
413
- options.delete(); // 同一实例不支持多处存在
412
+ options.ensureDelete(); // 同一实例不支持多处存在
414
413
  variable = options;
415
414
  Object.assign(variable, relationOptions);
416
415
  }
@@ -438,7 +437,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
438
437
  }
439
438
  addVariable(options) {
440
439
  const node = this._addVariable(options);
441
- const index = this.variables.length;
440
+ const index = this.variables.indexOf(node);
442
441
  node.create({
443
442
  index,
444
443
  parentNode: this,
@@ -451,7 +450,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
451
450
  const relationOptions = { parentNode: this, parentKey: 'body' };
452
451
  let logicItem;
453
452
  if (options instanceof LogicItem__1.default) {
454
- options.delete(); // 同一实例不支持多处存在
453
+ options.ensureDelete(); // 同一实例不支持多处存在
455
454
  logicItem = options;
456
455
  Object.assign(logicItem, relationOptions);
457
456
  }
@@ -479,7 +478,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
479
478
  }
480
479
  addItemInBody(options) {
481
480
  const node = this._addItemInBody(options);
482
- const index = this.body.length;
481
+ const index = this.body.indexOf(node);
483
482
  node.create({
484
483
  index,
485
484
  parentNode: this,
@@ -492,7 +491,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
492
491
  const relationOptions = { parentNode: this, parentKey: 'playground' };
493
492
  let logicItem;
494
493
  if (options instanceof LogicItem__1.default) {
495
- options.delete(); // 同一实例不支持多处存在
494
+ options.ensureDelete(); // 同一实例不支持多处存在
496
495
  logicItem = options;
497
496
  Object.assign(logicItem, relationOptions);
498
497
  }
@@ -520,7 +519,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
520
519
  }
521
520
  addItemInPlayground(options) {
522
521
  const node = this._addItemInPlayground(options);
523
- const index = this.playground.length;
522
+ const index = this.playground.indexOf(node);
524
523
  node.create({
525
524
  index,
526
525
  parentNode: this,
@@ -743,6 +742,34 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
743
742
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
744
743
  // 自动生成的代码已结束。下面可以手动编写。
745
744
  //================================================================================
745
+ // 用于calllogic树中定位是那个logic,回显
746
+ get calleewholeKey() {
747
+ return this.getNamespace() + '.' + this.name;
748
+ }
749
+ // 设置定时任务
750
+ setCronAndTriggerType(cron, triggerType) {
751
+ const object = {
752
+ cron,
753
+ triggerType,
754
+ };
755
+ this.update({
756
+ ...object,
757
+ });
758
+ }
759
+ /**
760
+ * 创建的时候 打开事务 通过开关设置数据库事务
761
+ */
762
+ openTransactional(flag) {
763
+ if (flag) {
764
+ const transactional = new Transactional__1.default({
765
+ enabled: flag,
766
+ });
767
+ transactional._delete();
768
+ const relationOptions = { parentNode: this, parentKey: 'transactional' };
769
+ Object.assign(transactional, relationOptions);
770
+ this.transactional = transactional;
771
+ }
772
+ }
746
773
  findLogicItemByConcept(concept) {
747
774
  let result;
748
775
  utils.traverse((current) => {
@@ -759,7 +786,35 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
759
786
  }
760
787
  getVarExistingNames(excludedList = []) {
761
788
  const excludedSet = new Set(excludedList);
762
- return [...this.params, ...this.returns, ...this.variables].filter((item) => !excludedSet.has(item)).map((item) => item.name);
789
+ const varList = [];
790
+ if (Array.isArray(this.params)) {
791
+ varList.push(...this.params);
792
+ }
793
+ if (Array.isArray(this.returns)) {
794
+ varList.push(...this.returns);
795
+ }
796
+ if (Array.isArray(this.variables)) {
797
+ varList.push(...this.variables);
798
+ }
799
+ if (this.view) {
800
+ if (Array.isArray(this.view.params)) {
801
+ varList.push(...this.view.params);
802
+ }
803
+ if (Array.isArray(this.view.variables)) {
804
+ varList.push(...this.view.variables);
805
+ }
806
+ }
807
+ this.traverseChildren((el) => {
808
+ if (el?.concept === 'ForEachStatement') {
809
+ if (el?.item) {
810
+ varList.push(el?.item);
811
+ }
812
+ if (el?.index) {
813
+ varList.push(el?.index);
814
+ }
815
+ }
816
+ });
817
+ return varList.filter((item) => !excludedSet.has(item)).map((item) => item?.name);
763
818
  }
764
819
  toJS(state) {
765
820
  let code = `methods['${this.name}'] = async function (`;
@@ -801,12 +856,20 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
801
856
  code += '\n';
802
857
  });
803
858
  }
804
- if (Array.isArray(this.returns) && this.returns.length) {
805
- code += `return ${this.returns[0].name};\n`;
806
- }
807
859
  code += (0, translator_1.indent)(state.tabSize) + '}\n';
808
860
  return code;
809
861
  }
862
+ toProcessService() {
863
+ return {
864
+ config: {
865
+ serviceType: 'micro',
866
+ },
867
+ url: {
868
+ method: 'POST',
869
+ path: this.getPath(),
870
+ },
871
+ };
872
+ }
810
873
  toService() {
811
874
  const parentNode = this.parentNode;
812
875
  const { concept, name: entityName } = parentNode || {};
@@ -814,14 +877,20 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
814
877
  let serviceType = 'micro';
815
878
  let method = 'POST';
816
879
  let path = `/api/${logicName}`;
817
- if (concept === 'Namespace') {
880
+ if (concept === 'Module') {
881
+ path = `/api/${entityName.replace('-', '_')}/${logicName}`;
882
+ }
883
+ else if (concept === 'Namespace') {
818
884
  serviceType = 'entity';
819
- const pluralized = pluralize(entityName);
820
- path = `/api/${pluralized.toLowerCase()}`;
885
+ const entityPath = entityName.replace(/[A-Z]/g, (char, index) => {
886
+ const lowerChar = char.toLowerCase();
887
+ return index === 0 ? lowerChar : `-${lowerChar}`;
888
+ });
889
+ path = `/api/${entityPath}`;
821
890
  switch (this.name) {
822
891
  case 'get':
823
892
  method = 'GET';
824
- path = `/api/${pluralized.toLowerCase()}/{id}`;
893
+ path = `/api/${entityPath}`;
825
894
  break;
826
895
  case 'create':
827
896
  method = 'POST';
@@ -831,23 +900,23 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
831
900
  break;
832
901
  case 'delete':
833
902
  method = 'DELETE';
834
- path = `/api/${pluralized.toLowerCase()}/{id}`;
903
+ path = `/api/${entityPath}`;
835
904
  break;
836
905
  case 'batchCreate':
837
906
  method = 'POST';
838
- path = `/api/${pluralized.toLowerCase()}/batch`;
907
+ path = `/api/${entityPath}/batch`;
839
908
  break;
840
909
  case 'batchUpdate':
841
910
  method = 'PUT';
842
- path = `/api/${pluralized.toLowerCase()}/batch`;
911
+ path = `/api/${entityPath}/batch`;
843
912
  break;
844
913
  case 'batchDelete':
845
914
  method = 'DELETE';
846
- path = `/api/${pluralized.toLowerCase()}/batch`;
915
+ path = `/api/${entityPath}/batch`;
847
916
  break;
848
917
  case 'import':
849
918
  method = 'POST';
850
- path = `/api/${pluralized.toLowerCase()}/import`;
919
+ path = `/api/${entityPath}/import`;
851
920
  break;
852
921
  default:
853
922
  break;
@@ -863,6 +932,45 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
863
932
  },
864
933
  };
865
934
  }
935
+ toEmbeddedTSInProcess(state, prependCode, noName) {
936
+ let code = '';
937
+ code += `${noName ? '' : `${this.name}:`} function(`;
938
+ this.params.forEach((param, index) => {
939
+ code += param.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
940
+ if (index !== this.params.length - 1)
941
+ code += ', ';
942
+ });
943
+ code += `) {\n`;
944
+ code += prependCode || '';
945
+ code += '\n';
946
+ this.variables.forEach((variable) => {
947
+ code += (0, translator_1.indent)(state.tabSize + 1) + 'let ';
948
+ code += variable.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
949
+ code += ';\n';
950
+ });
951
+ this.returns.forEach((ret) => {
952
+ code += (0, translator_1.indent)(state.tabSize + 1) + 'let ';
953
+ code += ret.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
954
+ code += ';\n';
955
+ });
956
+ if (!this.body.length && this.returns.length) {
957
+ code += (0, translator_1.indent)(state.tabSize + 1) + `return ${this.returns[0].name};\n`;
958
+ }
959
+ else {
960
+ this.body.forEach((item) => {
961
+ code += item.toEmbeddedTS && item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 }));
962
+ code += '\n';
963
+ });
964
+ }
965
+ // 在body渲染完成之后把其余的节点放到下面
966
+ this.playground.forEach((item) => {
967
+ code += item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 }));
968
+ code += '\n';
969
+ });
970
+ code += (0, translator_1.indent)(state.tabSize) + '}';
971
+ code += '\n';
972
+ return code;
973
+ }
866
974
  toEmbeddedTSNoExport(state) {
867
975
  return this.toEmbeddedTS(state, 'noExport');
868
976
  }
@@ -873,17 +981,22 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
873
981
  code += `export function ${this.name}(`;
874
982
  }
875
983
  else if (prefix === 'noExport') {
876
- code += ` function ${this.name}(`;
984
+ code += `function ${this.name}(`;
877
985
  }
878
986
  else if (prefix === 'inObject') {
879
- code += ` ${this.name}(`;
987
+ code += `${this.name}(`;
880
988
  }
881
989
  this.params.forEach((param, index) => {
882
990
  code += param.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
883
991
  if (index !== this.params.length - 1)
884
992
  code += ', ';
885
993
  });
886
- code += `) {\n`;
994
+ code += ')';
995
+ if (this.returns.length) {
996
+ code += ': ';
997
+ code += this.returns[0].typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
998
+ }
999
+ code += '{\n';
887
1000
  this.variables.forEach((variable) => {
888
1001
  code += (0, translator_1.indent)(state.tabSize + 1) + 'let ';
889
1002
  code += variable.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
@@ -921,7 +1034,27 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
921
1034
  if (this.parentNode instanceof Namespace__1.default || this.parentNode instanceof App__1.default || this.parentNode instanceof Module__1.default) {
922
1035
  parentNodeNamespace = this.parentNode.getNamespace();
923
1036
  }
924
- parentNodeNamespace = parentNodeNamespace.includes('.logics') ? parentNodeNamespace : `${parentNodeNamespace}.logics`;
1037
+ parentNodeNamespace
1038
+ = ['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration'].includes(parentNodeNamespace) || parentNodeNamespace.includes('.logics') ? parentNodeNamespace : `${parentNodeNamespace}.logics`;
1039
+ if (this.parentNode instanceof View__1.default) {
1040
+ return (parentNodeNamespace = '');
1041
+ }
1042
+ return parentNodeNamespace;
1043
+ }
1044
+ else
1045
+ throw new Error('无法获取命名空间,请设置 parentNode!');
1046
+ }
1047
+ getTsNamespace() {
1048
+ if (this.parentNode) {
1049
+ let parentNodeNamespace = '';
1050
+ if (this.parentNode instanceof Namespace__1.default || this.parentNode instanceof App__1.default) {
1051
+ parentNodeNamespace = this.parentNode.getNamespace();
1052
+ }
1053
+ else if (this.parentNode instanceof Module__1.default) {
1054
+ parentNodeNamespace = this.parentNode.getTsNamespace();
1055
+ }
1056
+ parentNodeNamespace
1057
+ = ['nasl.ui', 'nasl.utils', 'nasl.util', 'nasl.browser', 'nasl.auth', 'nasl.configuration'].includes(parentNodeNamespace) || parentNodeNamespace.includes('.logics') ? parentNodeNamespace : `${parentNodeNamespace}.logics`;
925
1058
  if (this.parentNode instanceof View__1.default) {
926
1059
  return (parentNodeNamespace = '');
927
1060
  }
@@ -939,9 +1072,15 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
939
1072
  return `/embedded/${this.app.name}${_path}/logics/${name}.ts`;
940
1073
  }
941
1074
  toEmbeddedTSFile() {
942
- let code = `namespace ${this.getNamespace()} {\n`;
1075
+ let code = `namespace ${this.getTsNamespace()} {\n`;
943
1076
  const state = (0, translator_1.createCompilerState)(code, { tabSize: 1 });
944
- code += this.toEmbeddedTS(state);
1077
+ try {
1078
+ code += this.toEmbeddedTS(state);
1079
+ }
1080
+ catch (err) {
1081
+ console.log(err, '有问题翻译失败');
1082
+ code += '';
1083
+ }
945
1084
  code += '}\n';
946
1085
  return {
947
1086
  code,
@@ -990,6 +1129,21 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
990
1129
  }));
991
1130
  }
992
1131
  fake;
1132
+ getPath;
1133
+ delete() {
1134
+ let actionMsg = '删除逻辑项';
1135
+ if (this.name)
1136
+ actionMsg += `“${this.name}”`;
1137
+ this.app?.emit('collect:start', {
1138
+ actionMsg,
1139
+ });
1140
+ super.delete();
1141
+ this.traverseChildren((el) => {
1142
+ if (el?.concept === 'CallQueryComponent')
1143
+ el.removeStructure();
1144
+ });
1145
+ this.app?.emit('collect:end');
1146
+ }
993
1147
  };
994
1148
  __decorate([
995
1149
  (0, decorators_1.property)()
@@ -1030,6 +1184,9 @@ __decorate([
1030
1184
  __decorate([
1031
1185
  (0, decorators_1.property)('LogicItem')
1032
1186
  ], Logic.prototype, "playground", void 0);
1187
+ __decorate([
1188
+ (0, translator_1.withSourceMap)()
1189
+ ], Logic.prototype, "toEmbeddedTSInProcess", null);
1033
1190
  __decorate([
1034
1191
  (0, translator_1.withSourceMap)()
1035
1192
  ], Logic.prototype, "toEmbeddedTS", null);
@@ -1 +1 @@
1
- {"version":3,"file":"Logic__.js","sourceRoot":"","sources":["../../src/concepts/Logic__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logic__.js","sourceRoot":"","sources":["../../src/concepts/Logic__.ts"],"names":[],"mappings":"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"}