@lcap/nasl 2.20.1-beta.2 → 2.21.0-beta.2

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 (585) hide show
  1. package/docs/classes/EntityProperty.html +1 -1
  2. package/out/automate/engine/operators.d.ts +9 -0
  3. package/out/automate/engine/viewCache.d.ts +1 -0
  4. package/out/automate/template/myProcess.d.ts +1 -0
  5. package/out/bak/translator.js +2 -2
  6. package/out/bak/translator.js.map +1 -1
  7. package/out/common/BaseNode.d.ts +5 -0
  8. package/out/common/BaseNode.js +24 -4
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/common/Command.d.ts +1 -1
  11. package/out/common/EventEmitter.d.ts +2 -1
  12. package/out/common/EventEmitter.js +3 -0
  13. package/out/common/EventEmitter.js.map +1 -1
  14. package/out/common/Messager.js +1 -0
  15. package/out/common/Messager.js.map +1 -1
  16. package/out/concepts/Abort__.d.ts +24 -0
  17. package/out/concepts/Abort__.js +77 -0
  18. package/out/concepts/Abort__.js.map +1 -0
  19. package/out/concepts/Anchor__.d.ts +1 -0
  20. package/out/concepts/Anchor__.js +3 -0
  21. package/out/concepts/Anchor__.js.map +1 -1
  22. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  23. package/out/concepts/AnonymousFunction__.js +3 -0
  24. package/out/concepts/AnonymousFunction__.js.map +1 -1
  25. package/out/concepts/App__.d.ts +10 -0
  26. package/out/concepts/App__.js +22 -0
  27. package/out/concepts/App__.js.map +1 -1
  28. package/out/concepts/Argument__.d.ts +1 -0
  29. package/out/concepts/Argument__.js +3 -0
  30. package/out/concepts/Argument__.js.map +1 -1
  31. package/out/concepts/Assignee__.d.ts +1 -0
  32. package/out/concepts/Assignee__.js +3 -0
  33. package/out/concepts/Assignee__.js.map +1 -1
  34. package/out/concepts/AssignmentLine__.d.ts +1 -0
  35. package/out/concepts/AssignmentLine__.js +3 -0
  36. package/out/concepts/AssignmentLine__.js.map +1 -1
  37. package/out/concepts/Assignment__.d.ts +1 -0
  38. package/out/concepts/Assignment__.js +3 -0
  39. package/out/concepts/Assignment__.js.map +1 -1
  40. package/out/concepts/Attribute__.d.ts +1 -0
  41. package/out/concepts/Attribute__.js +3 -0
  42. package/out/concepts/Attribute__.js.map +1 -1
  43. package/out/concepts/BatchAssignment__.d.ts +1 -0
  44. package/out/concepts/BatchAssignment__.js +3 -0
  45. package/out/concepts/BatchAssignment__.js.map +1 -1
  46. package/out/concepts/BinaryExpression__.d.ts +1 -0
  47. package/out/concepts/BinaryExpression__.js +3 -0
  48. package/out/concepts/BinaryExpression__.js.map +1 -1
  49. package/out/concepts/BindAttribute__.d.ts +1 -0
  50. package/out/concepts/BindAttribute__.js +9 -8
  51. package/out/concepts/BindAttribute__.js.map +1 -1
  52. package/out/concepts/BindDirective__.d.ts +1 -0
  53. package/out/concepts/BindDirective__.js +5 -2
  54. package/out/concepts/BindDirective__.js.map +1 -1
  55. package/out/concepts/BindEvent__.d.ts +1 -0
  56. package/out/concepts/BindEvent__.js +3 -0
  57. package/out/concepts/BindEvent__.js.map +1 -1
  58. package/out/concepts/BindStyle__.d.ts +1 -0
  59. package/out/concepts/BindStyle__.js +3 -0
  60. package/out/concepts/BindStyle__.js.map +1 -1
  61. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  62. package/out/concepts/BooleanLiteral__.js +3 -0
  63. package/out/concepts/BooleanLiteral__.js.map +1 -1
  64. package/out/concepts/CallFunction__.d.ts +1 -0
  65. package/out/concepts/CallFunction__.js +3 -0
  66. package/out/concepts/CallFunction__.js.map +1 -1
  67. package/out/concepts/CallInterface__.d.ts +2 -0
  68. package/out/concepts/CallInterface__.js +34 -1
  69. package/out/concepts/CallInterface__.js.map +1 -1
  70. package/out/concepts/CallLogic__.d.ts +9 -0
  71. package/out/concepts/CallLogic__.js +53 -41
  72. package/out/concepts/CallLogic__.js.map +1 -1
  73. package/out/concepts/CallQueryComponent__.d.ts +1 -0
  74. package/out/concepts/CallQueryComponent__.js +16 -13
  75. package/out/concepts/CallQueryComponent__.js.map +1 -1
  76. package/out/concepts/Comment__.d.ts +1 -0
  77. package/out/concepts/Comment__.js +3 -0
  78. package/out/concepts/Comment__.js.map +1 -1
  79. package/out/concepts/CompletionProperty__.d.ts +2 -0
  80. package/out/concepts/CompletionProperty__.js +4 -0
  81. package/out/concepts/CompletionProperty__.js.map +1 -1
  82. package/out/concepts/ConfigGroup__.d.ts +1 -0
  83. package/out/concepts/ConfigGroup__.js +3 -0
  84. package/out/concepts/ConfigGroup__.js.map +1 -1
  85. package/out/concepts/ConfigPropertyValue__.d.ts +1 -0
  86. package/out/concepts/ConfigPropertyValue__.js +3 -0
  87. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  88. package/out/concepts/ConfigProperty__.d.ts +1 -0
  89. package/out/concepts/ConfigProperty__.js +3 -0
  90. package/out/concepts/ConfigProperty__.js.map +1 -1
  91. package/out/concepts/Configuration__.d.ts +1 -0
  92. package/out/concepts/Configuration__.js +3 -0
  93. package/out/concepts/Configuration__.js.map +1 -1
  94. package/out/concepts/Constant__.d.ts +1 -0
  95. package/out/concepts/Constant__.js +3 -0
  96. package/out/concepts/Constant__.js.map +1 -1
  97. package/out/concepts/DataElement__.d.ts +1 -0
  98. package/out/concepts/DataElement__.js +3 -0
  99. package/out/concepts/DataElement__.js.map +1 -1
  100. package/out/concepts/DataSource__.d.ts +2 -0
  101. package/out/concepts/DataSource__.js +8 -2
  102. package/out/concepts/DataSource__.js.map +1 -1
  103. package/out/concepts/DatabaseTypeAnnotation__.d.ts +31 -0
  104. package/out/concepts/DatabaseTypeAnnotation__.js +78 -0
  105. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -0
  106. package/out/concepts/Destination__.d.ts +2 -0
  107. package/out/concepts/Destination__.js +33 -10
  108. package/out/concepts/Destination__.js.map +1 -1
  109. package/out/concepts/End__.d.ts +1 -0
  110. package/out/concepts/End__.js +3 -0
  111. package/out/concepts/End__.js.map +1 -1
  112. package/out/concepts/EntityIndex__.d.ts +2 -1
  113. package/out/concepts/EntityIndex__.js +3 -0
  114. package/out/concepts/EntityIndex__.js.map +1 -1
  115. package/out/concepts/EntityProperty__.d.ts +23 -2
  116. package/out/concepts/EntityProperty__.js +61 -1
  117. package/out/concepts/EntityProperty__.js.map +1 -1
  118. package/out/concepts/Entity__.d.ts +1 -0
  119. package/out/concepts/Entity__.js +3 -0
  120. package/out/concepts/Entity__.js.map +1 -1
  121. package/out/concepts/EnumItem__.d.ts +1 -0
  122. package/out/concepts/EnumItem__.js +3 -0
  123. package/out/concepts/EnumItem__.js.map +1 -1
  124. package/out/concepts/Enum__.d.ts +1 -0
  125. package/out/concepts/Enum__.js +3 -0
  126. package/out/concepts/Enum__.js.map +1 -1
  127. package/out/concepts/Event__.d.ts +1 -0
  128. package/out/concepts/Event__.js +3 -0
  129. package/out/concepts/Event__.js.map +1 -1
  130. package/out/concepts/ExternalDestination__.d.ts +1 -0
  131. package/out/concepts/ExternalDestination__.js +3 -0
  132. package/out/concepts/ExternalDestination__.js.map +1 -1
  133. package/out/concepts/ForEachStatement__.d.ts +1 -0
  134. package/out/concepts/ForEachStatement__.js +3 -0
  135. package/out/concepts/ForEachStatement__.js.map +1 -1
  136. package/out/concepts/FrontendLibrary__.d.ts +1 -0
  137. package/out/concepts/FrontendLibrary__.js +3 -0
  138. package/out/concepts/FrontendLibrary__.js.map +1 -1
  139. package/out/concepts/Frontend__.d.ts +2 -0
  140. package/out/concepts/Frontend__.js +16 -0
  141. package/out/concepts/Frontend__.js.map +1 -1
  142. package/out/concepts/Function__.d.ts +1 -0
  143. package/out/concepts/Function__.js +3 -0
  144. package/out/concepts/Function__.js.map +1 -1
  145. package/out/concepts/Identifier__.d.ts +1 -0
  146. package/out/concepts/Identifier__.js +3 -0
  147. package/out/concepts/Identifier__.js.map +1 -1
  148. package/out/concepts/IfStatement__.d.ts +1 -0
  149. package/out/concepts/IfStatement__.js +3 -0
  150. package/out/concepts/IfStatement__.js.map +1 -1
  151. package/out/concepts/InterfaceParam__.d.ts +1 -0
  152. package/out/concepts/InterfaceParam__.js +3 -0
  153. package/out/concepts/InterfaceParam__.js.map +1 -1
  154. package/out/concepts/Interface__.d.ts +13 -0
  155. package/out/concepts/Interface__.js +61 -0
  156. package/out/concepts/Interface__.js.map +1 -1
  157. package/out/concepts/JSBlock__.d.ts +1 -0
  158. package/out/concepts/JSBlock__.js +3 -0
  159. package/out/concepts/JSBlock__.js.map +1 -1
  160. package/out/concepts/LogicItem__.d.ts +2 -1
  161. package/out/concepts/LogicItem__.js +3 -0
  162. package/out/concepts/LogicItem__.js.map +1 -1
  163. package/out/concepts/Logic__.d.ts +3 -1
  164. package/out/concepts/Logic__.js +66 -24
  165. package/out/concepts/Logic__.js.map +1 -1
  166. package/out/concepts/MatchCase__.d.ts +1 -0
  167. package/out/concepts/MatchCase__.js +3 -0
  168. package/out/concepts/MatchCase__.js.map +1 -1
  169. package/out/concepts/Match__.d.ts +4 -1
  170. package/out/concepts/Match__.js +77 -2
  171. package/out/concepts/Match__.js.map +1 -1
  172. package/out/concepts/MemberExpression__.d.ts +1 -0
  173. package/out/concepts/MemberExpression__.js +3 -0
  174. package/out/concepts/MemberExpression__.js.map +1 -1
  175. package/out/concepts/Module__.d.ts +14 -1
  176. package/out/concepts/Module__.js +10 -0
  177. package/out/concepts/Module__.js.map +1 -1
  178. package/out/concepts/Namespace__.d.ts +1 -0
  179. package/out/concepts/Namespace__.js +3 -0
  180. package/out/concepts/Namespace__.js.map +1 -1
  181. package/out/concepts/NewComposite__.d.ts +1 -0
  182. package/out/concepts/NewComposite__.js +3 -0
  183. package/out/concepts/NewComposite__.js.map +1 -1
  184. package/out/concepts/NewList__.d.ts +1 -0
  185. package/out/concepts/NewList__.js +3 -0
  186. package/out/concepts/NewList__.js.map +1 -1
  187. package/out/concepts/NewMap__.d.ts +1 -0
  188. package/out/concepts/NewMap__.js +3 -0
  189. package/out/concepts/NewMap__.js.map +1 -1
  190. package/out/concepts/New__.d.ts +1 -0
  191. package/out/concepts/New__.js +3 -0
  192. package/out/concepts/New__.js.map +1 -1
  193. package/out/concepts/NullLiteral__.d.ts +1 -0
  194. package/out/concepts/NullLiteral__.js +3 -0
  195. package/out/concepts/NullLiteral__.js.map +1 -1
  196. package/out/concepts/NumericLiteral__.d.ts +1 -0
  197. package/out/concepts/NumericLiteral__.js +6 -9
  198. package/out/concepts/NumericLiteral__.js.map +1 -1
  199. package/out/concepts/OqlQueryComponent__.d.ts +1 -0
  200. package/out/concepts/OqlQueryComponent__.js +3 -0
  201. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  202. package/out/concepts/Param__.d.ts +1 -0
  203. package/out/concepts/Param__.js +5 -1
  204. package/out/concepts/Param__.js.map +1 -1
  205. package/out/concepts/Point__.d.ts +1 -0
  206. package/out/concepts/Point__.js +3 -0
  207. package/out/concepts/Point__.js.map +1 -1
  208. package/out/concepts/ProcessComponent__.d.ts +1 -0
  209. package/out/concepts/ProcessComponent__.js +3 -0
  210. package/out/concepts/ProcessComponent__.js.map +1 -1
  211. package/out/concepts/ProcessElement__.d.ts +1 -0
  212. package/out/concepts/ProcessElement__.js +3 -0
  213. package/out/concepts/ProcessElement__.js.map +1 -1
  214. package/out/concepts/ProcessOutcome__.d.ts +1 -0
  215. package/out/concepts/ProcessOutcome__.js +3 -0
  216. package/out/concepts/ProcessOutcome__.js.map +1 -1
  217. package/out/concepts/ProcessOutcomes__.d.ts +1 -0
  218. package/out/concepts/ProcessOutcomes__.js +3 -0
  219. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  220. package/out/concepts/Process__.d.ts +1 -0
  221. package/out/concepts/Process__.js +3 -0
  222. package/out/concepts/Process__.js.map +1 -1
  223. package/out/concepts/QueryAggregateExpression__.d.ts +1 -0
  224. package/out/concepts/QueryAggregateExpression__.js +3 -0
  225. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  226. package/out/concepts/QueryFieldExpression__.d.ts +1 -0
  227. package/out/concepts/QueryFieldExpression__.js +3 -0
  228. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  229. package/out/concepts/QueryFromExpression__.d.ts +1 -0
  230. package/out/concepts/QueryFromExpression__.js +3 -0
  231. package/out/concepts/QueryFromExpression__.js.map +1 -1
  232. package/out/concepts/QueryGroupByExpression__.d.ts +1 -0
  233. package/out/concepts/QueryGroupByExpression__.js +3 -0
  234. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  235. package/out/concepts/QueryJoinExpression__.d.ts +1 -0
  236. package/out/concepts/QueryJoinExpression__.js +3 -0
  237. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  238. package/out/concepts/QueryLimitExpression__.d.ts +1 -0
  239. package/out/concepts/QueryLimitExpression__.js +3 -0
  240. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  241. package/out/concepts/QueryOrderByExpression__.d.ts +1 -0
  242. package/out/concepts/QueryOrderByExpression__.js +3 -0
  243. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  244. package/out/concepts/QuerySelectExpression__.d.ts +1 -0
  245. package/out/concepts/QuerySelectExpression__.js +3 -0
  246. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  247. package/out/concepts/Rect__.d.ts +1 -0
  248. package/out/concepts/Rect__.js +3 -0
  249. package/out/concepts/Rect__.js.map +1 -1
  250. package/out/concepts/Return__.d.ts +1 -0
  251. package/out/concepts/Return__.js +3 -0
  252. package/out/concepts/Return__.js.map +1 -1
  253. package/out/concepts/Role__.d.ts +1 -0
  254. package/out/concepts/Role__.js +3 -0
  255. package/out/concepts/Role__.js.map +1 -1
  256. package/out/concepts/SelectMembers__.d.ts +1 -0
  257. package/out/concepts/SelectMembers__.js +3 -0
  258. package/out/concepts/SelectMembers__.js.map +1 -1
  259. package/out/concepts/Slot__.d.ts +1 -0
  260. package/out/concepts/Slot__.js +3 -0
  261. package/out/concepts/Slot__.js.map +1 -1
  262. package/out/concepts/SqlQueryComponent__.d.ts +1 -0
  263. package/out/concepts/SqlQueryComponent__.js +3 -0
  264. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  265. package/out/concepts/Start__.d.ts +1 -0
  266. package/out/concepts/Start__.js +3 -0
  267. package/out/concepts/Start__.js.map +1 -1
  268. package/out/concepts/StringInterpolation__.d.ts +1 -0
  269. package/out/concepts/StringInterpolation__.js +3 -0
  270. package/out/concepts/StringInterpolation__.js.map +1 -1
  271. package/out/concepts/StringLiteral__.d.ts +1 -0
  272. package/out/concepts/StringLiteral__.js +3 -0
  273. package/out/concepts/StringLiteral__.js.map +1 -1
  274. package/out/concepts/StructureProperty__.d.ts +9 -0
  275. package/out/concepts/StructureProperty__.js +21 -0
  276. package/out/concepts/StructureProperty__.js.map +1 -1
  277. package/out/concepts/Structure__.d.ts +1 -0
  278. package/out/concepts/Structure__.js +3 -0
  279. package/out/concepts/Structure__.js.map +1 -1
  280. package/out/concepts/SwitchCase__.d.ts +1 -0
  281. package/out/concepts/SwitchCase__.js +3 -0
  282. package/out/concepts/SwitchCase__.js.map +1 -1
  283. package/out/concepts/SwitchStatement__.d.ts +1 -0
  284. package/out/concepts/SwitchStatement__.js +3 -0
  285. package/out/concepts/SwitchStatement__.js.map +1 -1
  286. package/out/concepts/Theme__.d.ts +1 -0
  287. package/out/concepts/Theme__.js +3 -0
  288. package/out/concepts/Theme__.js.map +1 -1
  289. package/out/concepts/Transactional__.d.ts +1 -0
  290. package/out/concepts/Transactional__.js +3 -0
  291. package/out/concepts/Transactional__.js.map +1 -1
  292. package/out/concepts/TypeAnnotation__.d.ts +4 -1
  293. package/out/concepts/TypeAnnotation__.js +31 -9
  294. package/out/concepts/TypeAnnotation__.js.map +1 -1
  295. package/out/concepts/TypeParam__.d.ts +1 -0
  296. package/out/concepts/TypeParam__.js +3 -0
  297. package/out/concepts/TypeParam__.js.map +1 -1
  298. package/out/concepts/UnaryExpression__.d.ts +1 -0
  299. package/out/concepts/UnaryExpression__.js +3 -0
  300. package/out/concepts/UnaryExpression__.js.map +1 -1
  301. package/out/concepts/Unparsed__.d.ts +1 -0
  302. package/out/concepts/Unparsed__.js +3 -0
  303. package/out/concepts/Unparsed__.js.map +1 -1
  304. package/out/concepts/UseComponent__.d.ts +1 -0
  305. package/out/concepts/UseComponent__.js +3 -0
  306. package/out/concepts/UseComponent__.js.map +1 -1
  307. package/out/concepts/ValidationRule__.d.ts +1 -0
  308. package/out/concepts/ValidationRule__.js +3 -0
  309. package/out/concepts/ValidationRule__.js.map +1 -1
  310. package/out/concepts/Variable__.d.ts +1 -0
  311. package/out/concepts/Variable__.js +3 -0
  312. package/out/concepts/Variable__.js.map +1 -1
  313. package/out/concepts/ViewBlock__.d.ts +1 -0
  314. package/out/concepts/ViewBlock__.js +3 -0
  315. package/out/concepts/ViewBlock__.js.map +1 -1
  316. package/out/concepts/ViewComponent__.d.ts +1 -0
  317. package/out/concepts/ViewComponent__.js +3 -0
  318. package/out/concepts/ViewComponent__.js.map +1 -1
  319. package/out/concepts/ViewElement__.d.ts +2 -0
  320. package/out/concepts/ViewElement__.js +8 -1
  321. package/out/concepts/ViewElement__.js.map +1 -1
  322. package/out/concepts/View__.d.ts +2 -0
  323. package/out/concepts/View__.js +19 -1
  324. package/out/concepts/View__.js.map +1 -1
  325. package/out/concepts/WhileStatement__.d.ts +1 -0
  326. package/out/concepts/WhileStatement__.js +3 -0
  327. package/out/concepts/WhileStatement__.js.map +1 -1
  328. package/out/concepts/basics/stdlib/nasl.collection.js +2 -2
  329. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  330. package/out/concepts/basics/stdlib/nasl.core.js +3 -3
  331. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  332. package/out/concepts/basics/stdlib/nasl.interface.js +1 -1
  333. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  334. package/out/concepts/basics/stdlib/nasl.process.js +6 -6
  335. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  336. package/out/concepts/basics/stdlib/nasl.ui.js +56 -43
  337. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  338. package/out/concepts/basics/stdlib/nasl.util.js +46 -19
  339. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  340. package/out/concepts/basics/stdlib/nasl.validation.js +13 -13
  341. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  342. package/out/concepts/basics/types/coreTypeList.js +1 -5
  343. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  344. package/out/concepts/index__.d.ts +2 -0
  345. package/out/concepts/index__.js +2 -0
  346. package/out/concepts/index__.js.map +1 -1
  347. package/out/config.d.ts +1 -1
  348. package/out/decorators/index.d.ts +2 -2
  349. package/out/decorators/index.js +3 -3
  350. package/out/decorators/index.js.map +1 -1
  351. package/out/generator/genBundleFiles.js +10 -8
  352. package/out/generator/genBundleFiles.js.map +1 -1
  353. package/out/generator/genReleaseBody.js +4 -1
  354. package/out/generator/genReleaseBody.js.map +1 -1
  355. package/out/generator/permission.d.ts +1 -1
  356. package/out/server/entity2LogicNamespace.js +1 -1
  357. package/out/server/entity2LogicNamespace.js.map +1 -1
  358. package/out/server/extendBaseNode.js +11 -0
  359. package/out/server/extendBaseNode.js.map +1 -1
  360. package/out/server/formatTsUtils.js +3 -2
  361. package/out/server/formatTsUtils.js.map +1 -1
  362. package/out/server/getMemberIdentifier.js +3 -2
  363. package/out/server/getMemberIdentifier.js.map +1 -1
  364. package/out/server/getProcesses.d.ts +3 -3
  365. package/out/server/getScope.d.ts +1 -1
  366. package/out/server/naslServer.d.ts +2 -2
  367. package/out/server/naslServer.js +111 -55
  368. package/out/server/naslServer.js.map +1 -1
  369. package/out/server/translator.js +1 -1
  370. package/out/server/translator.js.map +1 -1
  371. package/out/service/creator/add.configs.js +2 -0
  372. package/out/service/creator/add.configs.js.map +1 -1
  373. package/out/service/creator/index.js +2 -0
  374. package/out/service/creator/index.js.map +1 -1
  375. package/out/service/storage/api.d.ts +18 -0
  376. package/out/service/storage/api.js +12 -0
  377. package/out/service/storage/api.js.map +1 -1
  378. package/out/service/storage/init.d.ts +41 -1
  379. package/out/service/storage/init.js +179 -44
  380. package/out/service/storage/init.js.map +1 -1
  381. package/out/service/storage/service.d.ts +9 -1
  382. package/out/service/storage/service.js +27 -1
  383. package/out/service/storage/service.js.map +1 -1
  384. package/out/templator/genCallComponentLogic.d.ts +1 -1
  385. package/out/templator/genCallComponentLogic.js.map +1 -1
  386. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +7 -1
  387. package/out/templator/genCurdEditMultipleKeyBlock.js +117 -1
  388. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  389. package/out/templator/genEditTableBlock.js +48 -20
  390. package/out/templator/genEditTableBlock.js.map +1 -1
  391. package/out/templator/genQueryComponent.js +2 -2
  392. package/out/templator/genQueryComponent.js.map +1 -1
  393. package/out/templator/genSelectBlock.d.ts +12 -1
  394. package/out/templator/genSelectBlock.js +174 -1
  395. package/out/templator/genSelectBlock.js.map +1 -1
  396. package/out/templator/genTableBlock.js +2 -2
  397. package/out/templator/genTableBlock.js.map +1 -1
  398. package/out/templator/utils.d.ts +0 -32
  399. package/out/templator/utils.js +7 -7
  400. package/out/templator/utils.js.map +1 -1
  401. package/out/translator/index.d.ts +1 -1
  402. package/out/translator/lsp.d.ts +3 -3
  403. package/out/utils/index.d.ts +4 -4
  404. package/package.json +1 -1
  405. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  406. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  407. package/sandbox/stdlib/nasl.auth.ts +1 -3
  408. package/sandbox/stdlib/nasl.browser.ts +1 -1
  409. package/sandbox/stdlib/nasl.collection.ts +9 -9
  410. package/sandbox/stdlib/nasl.core.ts +38 -100
  411. package/sandbox/stdlib/nasl.interface.ts +1 -1
  412. package/sandbox/stdlib/nasl.langUtil.ts +4 -4
  413. package/sandbox/stdlib/nasl.oql.ts +156 -156
  414. package/sandbox/stdlib/nasl.process.ts +6 -6
  415. package/sandbox/stdlib/nasl.ui.ts +47 -43
  416. package/sandbox/stdlib/nasl.util.ts +41 -39
  417. package/sandbox/stdlib/nasl.validation.ts +8 -8
  418. package/src/automate/engine/dist/index.dev.js +517 -0
  419. package/src/bak/translator.js +2 -2
  420. package/src/common/BaseNode.ts +23 -5
  421. package/src/common/EventEmitter.ts +3 -0
  422. package/src/common/Messager.ts +1 -0
  423. package/src/common/dist/BaseNode.js +1101 -0
  424. package/src/concepts/Abort__.ts +86 -0
  425. package/src/concepts/Anchor__.ts +3 -0
  426. package/src/concepts/AnonymousFunction__.ts +3 -0
  427. package/src/concepts/App__.ts +66 -9
  428. package/src/concepts/Argument__.ts +3 -0
  429. package/src/concepts/Assignee__.ts +3 -0
  430. package/src/concepts/AssignmentLine__.ts +3 -0
  431. package/src/concepts/Assignment__.ts +3 -0
  432. package/src/concepts/Attribute__.ts +8 -0
  433. package/src/concepts/BatchAssignment__.ts +3 -0
  434. package/src/concepts/BinaryExpression__.ts +3 -0
  435. package/src/concepts/BindAttribute__.ts +15 -10
  436. package/src/concepts/BindDirective__.ts +5 -2
  437. package/src/concepts/BindEvent__.ts +3 -0
  438. package/src/concepts/BindStyle__.ts +3 -0
  439. package/src/concepts/BooleanLiteral__.ts +3 -0
  440. package/src/concepts/CallFunction__.ts +4 -0
  441. package/src/concepts/CallInterface__.ts +36 -1
  442. package/src/concepts/CallLogic__.ts +84 -41
  443. package/src/concepts/CallQueryComponent__.ts +16 -13
  444. package/src/concepts/Comment__.ts +3 -0
  445. package/src/concepts/CompletionProperty__.ts +5 -0
  446. package/src/concepts/ConfigGroup__.ts +7 -1
  447. package/src/concepts/ConfigPropertyValue__.ts +3 -0
  448. package/src/concepts/ConfigProperty__.ts +7 -1
  449. package/src/concepts/Configuration__.ts +8 -1
  450. package/src/concepts/Constant__.ts +3 -0
  451. package/src/concepts/DataElement__.ts +3 -0
  452. package/src/concepts/DataSource__.ts +13 -3
  453. package/src/concepts/DatabaseTypeAnnotation__.ts +88 -0
  454. package/src/concepts/Destination__.ts +34 -10
  455. package/src/concepts/End__.ts +3 -0
  456. package/src/concepts/EntityIndex__.ts +3 -0
  457. package/src/concepts/EntityProperty__.ts +76 -1
  458. package/src/concepts/Entity__.ts +3 -0
  459. package/src/concepts/EnumItem__.ts +3 -0
  460. package/src/concepts/Enum__.ts +3 -0
  461. package/src/concepts/Event__.ts +3 -0
  462. package/src/concepts/ExternalDestination__.ts +3 -0
  463. package/src/concepts/ForEachStatement__.ts +3 -0
  464. package/src/concepts/FrontendLibrary__.ts +3 -0
  465. package/src/concepts/Frontend__.ts +17 -0
  466. package/src/concepts/Function__.ts +3 -0
  467. package/src/concepts/Identifier__.ts +3 -0
  468. package/src/concepts/IfStatement__.ts +3 -0
  469. package/src/concepts/InterfaceParam__.ts +3 -0
  470. package/src/concepts/Interface__.ts +61 -0
  471. package/src/concepts/JSBlock__.ts +3 -0
  472. package/src/concepts/LogicItem__.ts +4 -1
  473. package/src/concepts/Logic__.ts +111 -34
  474. package/src/concepts/MatchCase__.ts +3 -0
  475. package/src/concepts/Match__.ts +77 -2
  476. package/src/concepts/MemberExpression__.ts +3 -0
  477. package/src/concepts/Module__.ts +40 -2
  478. package/src/concepts/Namespace__.ts +3 -0
  479. package/src/concepts/NewComposite__.ts +18 -1
  480. package/src/concepts/NewList__.ts +3 -0
  481. package/src/concepts/NewMap__.ts +14 -1
  482. package/src/concepts/New__.ts +3 -0
  483. package/src/concepts/NullLiteral__.ts +3 -0
  484. package/src/concepts/NumericLiteral__.ts +7 -9
  485. package/src/concepts/OqlQueryComponent__.ts +10 -0
  486. package/src/concepts/Param__.ts +5 -1
  487. package/src/concepts/Point__.ts +3 -0
  488. package/src/concepts/ProcessComponent__.ts +3 -0
  489. package/src/concepts/ProcessElement__.ts +3 -0
  490. package/src/concepts/ProcessOutcome__.ts +3 -0
  491. package/src/concepts/ProcessOutcomes__.ts +3 -0
  492. package/src/concepts/Process__.ts +3 -0
  493. package/src/concepts/QueryAggregateExpression__.ts +3 -0
  494. package/src/concepts/QueryFieldExpression__.ts +3 -0
  495. package/src/concepts/QueryFromExpression__.ts +3 -0
  496. package/src/concepts/QueryGroupByExpression__.ts +3 -0
  497. package/src/concepts/QueryJoinExpression__.ts +3 -0
  498. package/src/concepts/QueryLimitExpression__.ts +3 -0
  499. package/src/concepts/QueryOrderByExpression__.ts +3 -0
  500. package/src/concepts/QuerySelectExpression__.ts +3 -0
  501. package/src/concepts/Rect__.ts +3 -0
  502. package/src/concepts/Return__.ts +3 -0
  503. package/src/concepts/Role__.ts +3 -0
  504. package/src/concepts/SelectMembers__.ts +3 -0
  505. package/src/concepts/Slot__.ts +3 -0
  506. package/src/concepts/SqlQueryComponent__.ts +3 -0
  507. package/src/concepts/Start__.ts +3 -0
  508. package/src/concepts/StringInterpolation__.ts +3 -0
  509. package/src/concepts/StringLiteral__.ts +3 -0
  510. package/src/concepts/StructureProperty__.ts +21 -0
  511. package/src/concepts/Structure__.ts +3 -0
  512. package/src/concepts/SwitchCase__.ts +3 -0
  513. package/src/concepts/SwitchStatement__.ts +3 -0
  514. package/src/concepts/Theme__.ts +3 -0
  515. package/src/concepts/Transactional__.ts +3 -0
  516. package/src/concepts/TypeAnnotation__.ts +34 -9
  517. package/src/concepts/TypeParam__.ts +3 -0
  518. package/src/concepts/UnaryExpression__.ts +3 -0
  519. package/src/concepts/Unparsed__.ts +3 -0
  520. package/src/concepts/UseComponent__.ts +3 -0
  521. package/src/concepts/ValidationRule__.ts +3 -0
  522. package/src/concepts/Variable__.ts +3 -0
  523. package/src/concepts/ViewBlock__.ts +3 -0
  524. package/src/concepts/ViewComponent__.ts +3 -0
  525. package/src/concepts/ViewElement__.ts +16 -8
  526. package/src/concepts/View__.ts +20 -1
  527. package/src/concepts/WhileStatement__.ts +3 -0
  528. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  529. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  530. package/src/concepts/basics/stdlib/nasl.collection.ts +2 -2
  531. package/src/concepts/basics/stdlib/nasl.core.ts +3 -3
  532. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  533. package/src/concepts/basics/stdlib/nasl.process.ts +6 -6
  534. package/src/concepts/basics/stdlib/nasl.ui.ts +56 -43
  535. package/src/concepts/basics/stdlib/nasl.util.ts +46 -19
  536. package/src/concepts/basics/stdlib/nasl.validation.ts +13 -13
  537. package/src/concepts/basics/types/coreTypeList.ts +1 -5
  538. package/src/concepts/dist/BindAttribute__.js +795 -0
  539. package/src/concepts/dist/BindEvent__.js +732 -0
  540. package/src/concepts/dist/CallFunction__.js +527 -0
  541. package/src/concepts/dist/CallLogic__.js +932 -0
  542. package/src/concepts/dist/Destination__.js +708 -0
  543. package/src/concepts/dist/ExternalDestination__.js +298 -0
  544. package/src/concepts/dist/Identifier__.js +311 -0
  545. package/src/concepts/dist/StringInterpolation__.js +231 -0
  546. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  547. package/src/concepts/dist/ViewElement__.js +1692 -0
  548. package/src/concepts/dist/View__.js +1601 -0
  549. package/src/concepts/index__.ts +2 -0
  550. package/src/decorators/index.ts +5 -5
  551. package/src/generator/dist/genBundleFiles.js +261 -0
  552. package/src/generator/dist/genMetaData.js +245 -0
  553. package/src/generator/dist/permission.js +405 -0
  554. package/src/generator/genBundleFiles.ts +10 -8
  555. package/src/generator/genReleaseBody.ts +3 -1
  556. package/src/server/entity2LogicNamespace.ts +1 -1
  557. package/src/server/extendBaseNode.ts +12 -0
  558. package/src/server/formatTsUtils.ts +3 -2
  559. package/src/server/getMemberIdentifier.ts +5 -2
  560. package/src/server/naslServer.ts +109 -56
  561. package/src/server/translator.ts +1 -1
  562. package/src/service/creator/add.configs.js +3 -0
  563. package/src/service/creator/index.js +3 -0
  564. package/src/service/storage/api.js +12 -0
  565. package/src/service/storage/dist/init.js +579 -0
  566. package/src/service/storage/init.ts +212 -44
  567. package/src/service/storage/service.ts +29 -1
  568. package/src/templator/dist/genEditTableBlock.js +204 -0
  569. package/src/templator/dist/genGridViewBlock.js +265 -0
  570. package/src/templator/dist/genListViewBlock.js +84 -0
  571. package/src/templator/dist/genTableBlock.js +209 -0
  572. package/src/templator/dist/utils.js +527 -0
  573. package/src/templator/genCallComponentLogic.ts +1 -1
  574. package/src/templator/genCurdEditMultipleKeyBlock.ts +110 -1
  575. package/src/templator/genEditTableBlock.ts +49 -22
  576. package/src/templator/genQueryComponent.ts +5 -5
  577. package/src/templator/genSelectBlock.ts +178 -1
  578. package/src/templator/genTableBlock.ts +2 -2
  579. package/src/templator/utils.ts +7 -7
  580. package/ts-worker/lib/Messager.js +7 -2
  581. package/ts-worker/src/index.js +1 -0
  582. package/out/automate/engine/2.14-components.d.ts +0 -1115
  583. package/out/automate/engine/2.14-components.js +0 -1087
  584. package/out/automate/engine/2.14-components.js.map +0 -1
  585. package/yarn-error.log +0 -2087
@@ -0,0 +1,88 @@
1
+ //================================================================================
2
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
3
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
4
+ //================================================================================
5
+ import { EventPayload, Params } from '../common/EventEmitter';
6
+ import { concept, excludedInJSON, property } from '../decorators';
7
+
8
+ import * as utils from '../utils';
9
+ import { v4 as uuidv4 } from 'uuid';
10
+ import BaseNode from '../common/BaseNode';
11
+ import classMap from '../common/classMap';
12
+
13
+
14
+ /**
15
+ * 数据库存储类型
16
+ */
17
+ @concept('数据库存储类型')
18
+ export class DatabaseTypeAnnotation extends BaseNode {
19
+ /**
20
+ * 产品概念
21
+ */
22
+ @property()
23
+ concept: 'DatabaseTypeAnnotation' = 'DatabaseTypeAnnotation';
24
+
25
+ /**
26
+ * 类型名
27
+ */
28
+ @property()
29
+ typeName: string = undefined;
30
+
31
+ /**
32
+ * arguments
33
+ */
34
+ @property()
35
+ arguments: Map<string, string> = undefined;
36
+
37
+
38
+
39
+ /**
40
+ * @param source 需要合并的部分参数
41
+ */
42
+ constructor(source?: Partial<DatabaseTypeAnnotation>) {
43
+ source = Object.assign({}, DatabaseTypeAnnotation.getDefaultOptions(), source);
44
+ super(source);
45
+ super.subConstructor(source);
46
+ }
47
+ getClassName() {
48
+ return 'DatabaseTypeAnnotation';
49
+ }
50
+
51
+ static from(source: any, parentNode?: any, parentKey?: string): DatabaseTypeAnnotation {
52
+ return super.from(source, parentNode, parentKey) as DatabaseTypeAnnotation;
53
+ }
54
+
55
+ /**
56
+ * 从父级删除该节点
57
+ * @internal
58
+ */
59
+ _delete() {
60
+ let params: Params = null;
61
+ if (this.parentNode) {
62
+ params = (this.parentNode as any)?.__removeDatabaseTypeAnnotation?.(this);
63
+ }
64
+ return params;
65
+ }
66
+
67
+
68
+
69
+
70
+
71
+
72
+ //================================================================================
73
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
74
+ // 自动生成的代码已结束。下面可以手动编写。
75
+ //================================================================================
76
+
77
+ //================================================================================
78
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
79
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
80
+ //================================================================================
81
+ }
82
+
83
+ classMap.DatabaseTypeAnnotation = DatabaseTypeAnnotation;
84
+ export default DatabaseTypeAnnotation;
85
+ //================================================================================
86
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
87
+ // 自动生成的代码已结束。下面可以手动编写。
88
+ //================================================================================
@@ -76,6 +76,9 @@ export class Destination extends LogicItem {
76
76
  super(source);
77
77
  super.subConstructor(source);
78
78
  }
79
+ getClassName() {
80
+ return 'Destination';
81
+ }
79
82
 
80
83
  static from(source: any, parentNode?: any, parentKey?: string): Destination {
81
84
  return super.from(source, parentNode, parentKey) as Destination;
@@ -348,12 +351,12 @@ export class Destination extends LogicItem {
348
351
  let code = '';
349
352
  const viewArr = this.genViewArr();
350
353
  if (Array.isArray(viewArr) && viewArr.length) {
351
- code += `let url = '${this.viewNode.frontend.basePath ? this.viewNode.frontend.basePath : ''}/${viewArr.join('/')}';\n`;
354
+ code += `let url = '${this.viewNode.frontend.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}';\n`;
352
355
  const completeArguments = this.completeArguments;
353
356
  if (Array.isArray(completeArguments) && completeArguments.length) {
354
357
  const node = this.viewNode;
355
358
  let logicParam: Param[] = [];
356
- if (node) {
359
+ if (node?.params) {
357
360
  logicParam = node.params;
358
361
  }
359
362
  const logicParamLen = logicParam.length;
@@ -402,12 +405,12 @@ export class Destination extends LogicItem {
402
405
  let url = '`';
403
406
  const viewArr = this.genViewArr();
404
407
  if (Array.isArray(viewArr) && viewArr.length) {
405
- url += `${this.viewNode?.frontend?.basePath ? this.viewNode.frontend.basePath : ''}/${viewArr.join('/')}`;
408
+ url += `${this.viewNode?.frontend?.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}`;
406
409
  const completeArguments = this.completeArguments;
407
410
  if (completeArguments.length) {
408
411
  const node = this.viewNode;
409
412
  let logicParam: Param[] = [];
410
- if (node) {
413
+ if (node?.params) {
411
414
  logicParam = node.params;
412
415
  }
413
416
  const logicParamLength = logicParam.length;
@@ -442,12 +445,13 @@ export class Destination extends LogicItem {
442
445
  const viewArr = this.genViewArr();
443
446
  if (Array.isArray(viewArr) && viewArr.length) {
444
447
  url += '`';
448
+ // IDE内展示需要屏蔽掉“系统统一路径前缀”
445
449
  url += `${this.viewNode?.frontend?.basePath ? this.viewNode.frontend.basePath : ''}/${viewArr.join('/')}`;
446
450
  const completeArguments = this.completeArguments;
447
451
  if (completeArguments.length) {
448
452
  const node = this.viewNode;
449
453
  let logicParam: Param[] = [];
450
- if (node) {
454
+ if (node?.params) {
451
455
  logicParam = node.params;
452
456
  }
453
457
  const logicParamLength = logicParam.length;
@@ -482,13 +486,13 @@ export class Destination extends LogicItem {
482
486
  const viewArr = this.genViewArr();
483
487
  if (Array.isArray(viewArr) && viewArr.length) {
484
488
  url += 'this.$destination(`';
485
- url += `${this.viewNode?.frontend?.basePath ? this.viewNode.frontend.basePath : ''}/${viewArr.join('/')}`;
489
+ url += `${this.viewNode?.frontend?.prefixPath ? this.viewNode.frontend.prefixPath : ''}/${viewArr.join('/')}`;
486
490
  const completeArguments = this.completeArguments;
487
491
 
488
492
  if (completeArguments.length) {
489
493
  const node = this.viewNode;
490
494
  let logicParam: Param[] = [];
491
- if (node) {
495
+ if (node?.params) {
492
496
  logicParam = node.params;
493
497
  }
494
498
  const logicParamLength = logicParam.length;
@@ -618,7 +622,7 @@ export class Destination extends LogicItem {
618
622
  findArgument.setKeyword(newKeyword);
619
623
  }
620
624
 
621
- get viewPath() {
625
+ get viewUIPath() {
622
626
  if (!this.viewNamespace) {
623
627
  return '';
624
628
  }
@@ -637,6 +641,26 @@ export class Destination extends LogicItem {
637
641
  }
638
642
  return `/${viewNameAttr.join('/')}`;
639
643
  }
644
+
645
+ get viewPath() {
646
+ if (!this.viewNamespace) {
647
+ return '';
648
+ }
649
+ const namespaceAttr = this.viewNamespace.split('.');
650
+ namespaceAttr.push(this.viewName);
651
+ const viewNameAttr: string[] = [];
652
+ if (Array.isArray(namespaceAttr)) {
653
+ namespaceAttr.forEach((item, index) => {
654
+ if (item === 'views') {
655
+ viewNameAttr.push(namespaceAttr[index + 1]);
656
+ }
657
+ });
658
+ }
659
+ if (this.viewNode) {
660
+ return `${this.viewNode.frontend.prefixPath}/${viewNameAttr.join('/')}`;
661
+ }
662
+ return `/${viewNameAttr.join('/')}`;
663
+ }
640
664
  @withSourceMap()
641
665
  toEmbeddedTSInProcess(state: TranslatorState, prependCode: string): string {
642
666
  // const tab = indent((state?.tabSize || 0));
@@ -668,7 +692,7 @@ export class Destination extends LogicItem {
668
692
 
669
693
  const node = this.viewNode;
670
694
  let logicParam: Param[] = [];
671
- if (node) {
695
+ if (node?.params) {
672
696
  logicParam = node.params;
673
697
  }
674
698
  const logicParamLength = logicParam.length;
@@ -759,7 +783,7 @@ export class Destination extends LogicItem {
759
783
  const node = this.viewNode;
760
784
  let logicParam: Param[] = [];
761
785
  const Arguments: Argument[] = [];
762
- if (node) {
786
+ if (node?.params) {
763
787
  logicParam = node.params;
764
788
  }
765
789
  if (this.arguments?.length) {
@@ -39,6 +39,9 @@ export class End extends LogicItem {
39
39
  super(source);
40
40
  super.subConstructor(source);
41
41
  }
42
+ getClassName() {
43
+ return 'End';
44
+ }
42
45
 
43
46
  static from(source: any, parentNode?: any, parentKey?: string): End {
44
47
  return super.from(source, parentNode, parentKey) as End;
@@ -90,6 +90,9 @@ export class EntityIndex extends BaseNode {
90
90
  super(source);
91
91
  super.subConstructor(source);
92
92
  }
93
+ getClassName() {
94
+ return 'EntityIndex';
95
+ }
93
96
 
94
97
  static from(source: any, parentNode?: any, parentKey?: string): EntityIndex {
95
98
  return super.from(source, parentNode, parentKey) as EntityIndex;
@@ -16,6 +16,7 @@ import { v4 as uuidv4 } from 'uuid';
16
16
  import BaseNode from '../common/BaseNode';
17
17
  import classMap from '../common/classMap';
18
18
  import TypeAnnotation from './TypeAnnotation__';
19
+ import DatabaseTypeAnnotation from './DatabaseTypeAnnotation__';
19
20
  import Entity from './Entity__';
20
21
  import Module from './Module__';
21
22
  import App from './App__';
@@ -68,6 +69,12 @@ export class EntityProperty extends BaseNode {
68
69
  @property('TypeAnnotation')
69
70
  typeAnnotation: TypeAnnotation = undefined;
70
71
 
72
+ /**
73
+ * 数据库存储类型
74
+ */
75
+ @property('DatabaseTypeAnnotation')
76
+ databaseTypeAnnotation: DatabaseTypeAnnotation = undefined;
77
+
71
78
  /**
72
79
  * 是否必填
73
80
  */
@@ -105,7 +112,7 @@ export class EntityProperty extends BaseNode {
105
112
  relationProperty: string = undefined;
106
113
 
107
114
  /**
108
- * 删除关联属性记录时
115
+ * 关联属性实体记录删除规则
109
116
  */
110
117
  @property()
111
118
  deleteRule: 'protect' | 'cascade' = undefined;
@@ -172,6 +179,9 @@ export class EntityProperty extends BaseNode {
172
179
  super(source);
173
180
  super.subConstructor(source);
174
181
  }
182
+ getClassName() {
183
+ return 'EntityProperty';
184
+ }
175
185
 
176
186
  static from(source: any, parentNode?: any, parentKey?: string): EntityProperty {
177
187
  return super.from(source, parentNode, parentKey) as EntityProperty;
@@ -212,6 +222,21 @@ export class EntityProperty extends BaseNode {
212
222
  });
213
223
  }
214
224
 
225
+ /**
226
+ * 设置数据库存储类型
227
+ */
228
+ setDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation) {
229
+ databaseTypeAnnotation._delete();
230
+ const relationOptions = { parentNode: this, parentKey: 'databaseTypeAnnotation' };
231
+ Object.assign(databaseTypeAnnotation, relationOptions);
232
+ const object = {
233
+ databaseTypeAnnotation,
234
+ };
235
+ this.update({
236
+ ...object,
237
+ });
238
+ }
239
+
215
240
  /**
216
241
  * 设置是否必填
217
242
  */
@@ -312,6 +337,56 @@ export class EntityProperty extends BaseNode {
312
337
  return params;
313
338
  }
314
339
 
340
+
341
+
342
+ /**
343
+ * 删除数据库存储类型
344
+ * @param name 数据库存储类型名称
345
+ */
346
+ removeDatabaseTypeAnnotation(name: string): void;
347
+
348
+ /**
349
+ * 删除数据库存储类型
350
+ * @param databaseTypeAnnotation 已有的数据库存储类型实例
351
+ */
352
+ removeDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation): void;
353
+
354
+ removeDatabaseTypeAnnotation(options: string | DatabaseTypeAnnotation) {
355
+ let databaseTypeAnnotation: DatabaseTypeAnnotation;
356
+ if (typeof options === 'string') {
357
+ databaseTypeAnnotation = this.databaseTypeAnnotation;
358
+ if (!databaseTypeAnnotation) {
359
+ throw new Error('找不到数据库存储类型 ' + options);
360
+ }
361
+ } else {
362
+ databaseTypeAnnotation = options;
363
+ }
364
+ return databaseTypeAnnotation.delete();
365
+ }
366
+
367
+ __removeDatabaseTypeAnnotation(databaseTypeAnnotation: DatabaseTypeAnnotation) {
368
+ const parentKey = databaseTypeAnnotation.parentKey;
369
+ const params: Params = {
370
+ parentNode: this,
371
+ parentKey,
372
+ index: -1,
373
+ object: null,
374
+ oldObject: databaseTypeAnnotation,
375
+ };
376
+ if (parentKey) {
377
+ params.parentKey = parentKey;
378
+ if (Array.isArray((this as any)[parentKey])) {
379
+ const index = (this as any)[parentKey].indexOf(databaseTypeAnnotation);
380
+ ~index && (this as any)[parentKey].splice(index, 1);
381
+ params.index = index;
382
+ } else if ((this as any)[parentKey] === databaseTypeAnnotation) {
383
+ params.index = 0;
384
+ (this as any)[parentKey] = undefined;
385
+ }
386
+ }
387
+ return params;
388
+ }
389
+
315
390
  //================================================================================
316
391
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
317
392
  // 自动生成的代码已结束。下面可以手动编写。
@@ -98,6 +98,9 @@ export class Entity extends BaseNode {
98
98
  super(source);
99
99
  super.subConstructor(source);
100
100
  }
101
+ getClassName() {
102
+ return 'Entity';
103
+ }
101
104
 
102
105
  static from(source: any, parentNode?: any, parentKey?: string): Entity {
103
106
  return super.from(source, parentNode, parentKey) as Entity;
@@ -64,6 +64,9 @@ export class EnumItem extends BaseNode {
64
64
  super(source);
65
65
  super.subConstructor(source);
66
66
  }
67
+ getClassName() {
68
+ return 'EnumItem';
69
+ }
67
70
 
68
71
  static from(source: any, parentNode?: any, parentKey?: string): EnumItem {
69
72
  return super.from(source, parentNode, parentKey) as EnumItem;
@@ -72,6 +72,9 @@ export class Enum extends BaseNode {
72
72
  super(source);
73
73
  super.subConstructor(source);
74
74
  }
75
+ getClassName() {
76
+ return 'Enum';
77
+ }
75
78
 
76
79
  static from(source: any, parentNode?: any, parentKey?: string): Enum {
77
80
  return super.from(source, parentNode, parentKey) as Enum;
@@ -88,6 +88,9 @@ export class Event extends BaseNode {
88
88
  super(source);
89
89
  super.subConstructor(source);
90
90
  }
91
+ getClassName() {
92
+ return 'Event';
93
+ }
91
94
 
92
95
  static from(source: any, parentNode?: any, parentKey?: string): Event {
93
96
  return super.from(source, parentNode, parentKey) as Event;
@@ -57,6 +57,9 @@ export class ExternalDestination extends LogicItem {
57
57
  super(source);
58
58
  super.subConstructor(source);
59
59
  }
60
+ getClassName() {
61
+ return 'ExternalDestination';
62
+ }
60
63
 
61
64
  static from(source: any, parentNode?: any, parentKey?: string): ExternalDestination {
62
65
  return super.from(source, parentNode, parentKey) as ExternalDestination;
@@ -73,6 +73,9 @@ export class ForEachStatement extends LogicItem {
73
73
  super(source);
74
74
  super.subConstructor(source);
75
75
  }
76
+ getClassName() {
77
+ return 'ForEachStatement';
78
+ }
76
79
 
77
80
  static from(source: any, parentNode?: any, parentKey?: string): ForEachStatement {
78
81
  return super.from(source, parentNode, parentKey) as ForEachStatement;
@@ -72,6 +72,9 @@ export class FrontendLibrary extends BaseNode {
72
72
  super(source);
73
73
  super.subConstructor(source);
74
74
  }
75
+ getClassName() {
76
+ return 'FrontendLibrary';
77
+ }
75
78
 
76
79
  static from(source: any, parentNode?: any, parentKey?: string): FrontendLibrary {
77
80
  return super.from(source, parentNode, parentKey) as FrontendLibrary;
@@ -105,6 +105,9 @@ export class Frontend extends BaseNode {
105
105
  super(source);
106
106
  super.subConstructor(source);
107
107
  }
108
+ getClassName() {
109
+ return 'Frontend';
110
+ }
108
111
 
109
112
  static from(source: any, parentNode?: any, parentKey?: string): Frontend {
110
113
  return super.from(source, parentNode, parentKey) as Frontend;
@@ -904,6 +907,20 @@ export class Frontend extends BaseNode {
904
907
  return finalPath;
905
908
  }
906
909
 
910
+ // 前缀
911
+ get prefixPath() {
912
+ const prefixArr: string[] = [];
913
+ [
914
+ this.app.sysPrefixPath,
915
+ this.basePath,
916
+ ].forEach((prefix) => {
917
+ if (prefix) {
918
+ prefixArr.push(prefix);
919
+ }
920
+ });
921
+ return prefixArr.join('');
922
+ }
923
+
907
924
  /**
908
925
  * 为/的转成'',便于url拼接
909
926
  */
@@ -95,6 +95,9 @@ export class Function extends BaseNode {
95
95
  super(source);
96
96
  super.subConstructor(source);
97
97
  }
98
+ getClassName() {
99
+ return 'Function';
100
+ }
98
101
 
99
102
  static from(source: any, parentNode?: any, parentKey?: string): Function {
100
103
  return super.from(source, parentNode, parentKey) as Function;
@@ -49,6 +49,9 @@ export class Identifier extends LogicItem {
49
49
  super(source);
50
50
  super.subConstructor(source);
51
51
  }
52
+ getClassName() {
53
+ return 'Identifier';
54
+ }
52
55
 
53
56
  static from(source: any, parentNode?: any, parentKey?: string): Identifier {
54
57
  return super.from(source, parentNode, parentKey) as Identifier;
@@ -52,6 +52,9 @@ export class IfStatement extends LogicItem {
52
52
  super(source);
53
53
  super.subConstructor(source);
54
54
  }
55
+ getClassName() {
56
+ return 'IfStatement';
57
+ }
55
58
 
56
59
  static from(source: any, parentNode?: any, parentKey?: string): IfStatement {
57
60
  return super.from(source, parentNode, parentKey) as IfStatement;
@@ -94,6 +94,9 @@ export class InterfaceParam extends BaseNode {
94
94
  super(source);
95
95
  super.subConstructor(source);
96
96
  }
97
+ getClassName() {
98
+ return 'InterfaceParam';
99
+ }
97
100
 
98
101
  static from(source: any, parentNode?: any, parentKey?: string): InterfaceParam {
99
102
  return super.from(source, parentNode, parentKey) as InterfaceParam;
@@ -2,6 +2,7 @@ import { TranslatorState, shiftState, withSourceMap, createCompilerState } from
2
2
  import Namespace from './Namespace__';
3
3
  import TypeAnnotation from './TypeAnnotation__';
4
4
  import Structure from './Structure__';
5
+ import Param from './Param__';
5
6
  //================================================================================
6
7
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
7
8
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -92,6 +93,9 @@ export class Interface extends BaseNode {
92
93
  super(source);
93
94
  super.subConstructor(source);
94
95
  }
96
+ getClassName() {
97
+ return 'Interface';
98
+ }
95
99
 
96
100
  static from(source: any, parentNode?: any, parentKey?: string): Interface {
97
101
  return super.from(source, parentNode, parentKey) as Interface;
@@ -514,6 +518,18 @@ export class Interface extends BaseNode {
514
518
  // 自动生成的代码已结束。下面可以手动编写。
515
519
  //================================================================================
516
520
 
521
+ /**
522
+ * 协议
523
+ */
524
+ @property()
525
+ protocol: string = undefined;
526
+
527
+ /**
528
+ * 协议参数列表
529
+ */
530
+ @property('Param')
531
+ protocolParams: Array<Param> = [];
532
+
517
533
  /**
518
534
  * 是否可编辑
519
535
  * */
@@ -545,6 +561,21 @@ export class Interface extends BaseNode {
545
561
  });
546
562
  }
547
563
 
564
+ // 更新所有调用接口
565
+ async updateAllRefCallInterface() {
566
+ const refs = await this.findUsage();
567
+ refs.forEach((val: any) => {
568
+ const loopFindNode = (item: any) => {
569
+ if (item.children) {
570
+ item.children.forEach((i: any) => loopFindNode(i));
571
+ } else {
572
+ item.node.setCallee(this);
573
+ }
574
+ };
575
+ loopFindNode(val);
576
+ });
577
+ }
578
+
548
579
  /* 删除空数据模块 */
549
580
  deleteLogincAndModule() {
550
581
  this.rootNode.emit('collect:start', {
@@ -823,6 +854,36 @@ export class Interface extends BaseNode {
823
854
  return [...this.params, ...this.returns].filter((item) => !excludedSet.has(item)).map((item) => item.name);
824
855
  }
825
856
 
857
+ // 递归找出 response/request 的 Body/Returns 引用的数据结构
858
+ getRefStructures(structures: Structure[] = []): Set<Structure> {
859
+ const structuresSet: Set<Structure> = new Set();
860
+ const loopSaveStructure = (typeAnnotation: TypeAnnotation) => {
861
+ if (!typeAnnotation)
862
+ return;
863
+ if (typeAnnotation.typeKind === 'reference') {
864
+ const targetStructure = structures.find((s) => s.name === typeAnnotation.typeName);
865
+ if (targetStructure && !structuresSet.has(targetStructure)) {
866
+ structuresSet.add(targetStructure);
867
+ targetStructure?.properties.forEach((prop) => {
868
+ loopSaveStructure(prop.typeAnnotation);
869
+ });
870
+ }
871
+ } else if (typeAnnotation.typeKind === 'generic') {
872
+ typeAnnotation.typeArguments.forEach(loopSaveStructure);
873
+ }
874
+ };
875
+
876
+ const { params = [], returns = [] } = this;
877
+ [...params, ...returns].forEach((p) => {
878
+ if ('in' in p && p.in === 'cookie') {
879
+ p.in = 'header';
880
+ return;
881
+ }
882
+ loopSaveStructure(p?.typeAnnotation);
883
+ });
884
+ return structuresSet;
885
+ }
886
+
826
887
  //================================================================================
827
888
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
828
889
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
@@ -45,6 +45,9 @@ export class JSBlock extends LogicItem {
45
45
  super(source);
46
46
  super.subConstructor(source);
47
47
  }
48
+ getClassName() {
49
+ return 'JSBlock';
50
+ }
48
51
 
49
52
  static from(source: any, parentNode?: any, parentKey?: string): JSBlock {
50
53
  return super.from(source, parentNode, parentKey) as JSBlock;
@@ -30,7 +30,7 @@ export class LogicItem extends BaseNode {
30
30
  * 产品概念
31
31
  */
32
32
  @property()
33
- concept: 'LogicItem' | 'Start' | 'End' | 'IfStatement' | 'SwitchStatement' | 'SwitchCase' | 'ForEachStatement' | 'WhileStatement' | 'Assignment' | 'BatchAssignment' | 'Comment' | 'CallLogic' | 'CallFunction' | 'CallInterface' | 'Destination' | 'ExternalDestination' | 'ValidationRule' | 'Argument' | 'Anchor' | 'JSBlock' | 'Identifier' | 'NullLiteral' | 'BooleanLiteral' | 'StringLiteral' | 'StringInterpolation' | 'NumericLiteral' | 'BinaryExpression' | 'MatchCase' | 'Match' | 'UnaryExpression' | 'MemberExpression' | 'Unparsed' | 'New' | 'NewComposite' | 'NewList' | 'NewMap' | 'CallQueryComponent' | 'QueryFromExpression' | 'QueryJoinExpression' | 'QueryFieldExpression' | 'QueryAggregateExpression' | 'QueryOrderByExpression' | 'QueryGroupByExpression' | 'QuerySelectExpression' | 'QueryLimitExpression' | 'SqlQueryComponent' | 'OqlQueryComponent' | 'ProcessOutcome' | 'Assignee' | 'ProcessOutcomes' = 'LogicItem';
33
+ concept: 'LogicItem' | 'Abort' | 'Start' | 'End' | 'IfStatement' | 'SwitchStatement' | 'SwitchCase' | 'ForEachStatement' | 'WhileStatement' | 'Assignment' | 'BatchAssignment' | 'Comment' | 'CallLogic' | 'CallFunction' | 'CallInterface' | 'Destination' | 'ExternalDestination' | 'ValidationRule' | 'Argument' | 'Anchor' | 'JSBlock' | 'Identifier' | 'NullLiteral' | 'BooleanLiteral' | 'StringLiteral' | 'StringInterpolation' | 'NumericLiteral' | 'BinaryExpression' | 'MatchCase' | 'Match' | 'UnaryExpression' | 'MemberExpression' | 'Unparsed' | 'New' | 'NewComposite' | 'NewList' | 'NewMap' | 'CallQueryComponent' | 'QueryFromExpression' | 'QueryJoinExpression' | 'QueryFieldExpression' | 'QueryAggregateExpression' | 'QueryOrderByExpression' | 'QueryGroupByExpression' | 'QuerySelectExpression' | 'QueryLimitExpression' | 'SqlQueryComponent' | 'OqlQueryComponent' | 'ProcessOutcome' | 'Assignee' | 'ProcessOutcomes' = 'LogicItem';
34
34
 
35
35
  /**
36
36
  * 逻辑项标题
@@ -113,6 +113,9 @@ export class LogicItem extends BaseNode {
113
113
  super(source);
114
114
  super.subConstructor(source);
115
115
  }
116
+ getClassName() {
117
+ return 'LogicItem';
118
+ }
116
119
 
117
120
  static from(source: any, parentNode?: any, parentKey?: string): LogicItem {
118
121
  return super.from(source, parentNode, parentKey) as LogicItem;