@lcap/nasl 1.0.0-alpha.7 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +513 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/utils.d.ts +24 -0
  5. package/out/automate/engine/utils.js +363 -0
  6. package/out/automate/engine/utils.js.map +1 -0
  7. package/out/common/BaseNode.d.ts +20 -0
  8. package/out/common/BaseNode.js +219 -81
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/concepts/App__.d.ts +18 -1
  11. package/out/concepts/App__.js +75 -35
  12. package/out/concepts/App__.js.map +1 -1
  13. package/out/concepts/Argument__.d.ts +5 -1
  14. package/out/concepts/Argument__.js +21 -3
  15. package/out/concepts/Argument__.js.map +1 -1
  16. package/out/concepts/Assignee__.d.ts +190 -0
  17. package/out/concepts/Assignee__.js +264 -0
  18. package/out/concepts/Assignee__.js.map +1 -0
  19. package/out/concepts/Assignment__.js +5 -0
  20. package/out/concepts/Assignment__.js.map +1 -1
  21. package/out/concepts/BinaryExpression__.js +8 -7
  22. package/out/concepts/BinaryExpression__.js.map +1 -1
  23. package/out/concepts/BindAttribute__.d.ts +19 -0
  24. package/out/concepts/BindAttribute__.js +54 -9
  25. package/out/concepts/BindAttribute__.js.map +1 -1
  26. package/out/concepts/BindDirective__.js +22 -2
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +2 -2
  29. package/out/concepts/BindEvent__.js +67 -34
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  32. package/out/concepts/BooleanLiteral__.js +10 -0
  33. package/out/concepts/BooleanLiteral__.js.map +1 -1
  34. package/out/concepts/CallFunction__.js +41 -23
  35. package/out/concepts/CallFunction__.js.map +1 -1
  36. package/out/concepts/CallInterface__.d.ts +5 -0
  37. package/out/concepts/CallInterface__.js +238 -31
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +4 -4
  40. package/out/concepts/CallLogic__.js +110 -53
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  43. package/out/concepts/CallQueryComponent__.js +44 -25
  44. package/out/concepts/CallQueryComponent__.js.map +1 -1
  45. package/out/concepts/Comment__.js +6 -2
  46. package/out/concepts/Comment__.js.map +1 -1
  47. package/out/concepts/CompletionProperty__.d.ts +3 -1
  48. package/out/concepts/CompletionProperty__.js +2 -0
  49. package/out/concepts/CompletionProperty__.js.map +1 -1
  50. package/out/concepts/ConfigGroup__.js +2 -2
  51. package/out/concepts/ConfigGroup__.js.map +1 -1
  52. package/out/concepts/ConfigProperty__.js +2 -2
  53. package/out/concepts/ConfigProperty__.js.map +1 -1
  54. package/out/concepts/Configuration__.js +2 -2
  55. package/out/concepts/Configuration__.js.map +1 -1
  56. package/out/concepts/Constant__.d.ts +1 -0
  57. package/out/concepts/Constant__.js +14 -0
  58. package/out/concepts/Constant__.js.map +1 -1
  59. package/out/concepts/Destination__.d.ts +12 -0
  60. package/out/concepts/Destination__.js +94 -18
  61. package/out/concepts/Destination__.js.map +1 -1
  62. package/out/concepts/End__.js +9 -1
  63. package/out/concepts/End__.js.map +1 -1
  64. package/out/concepts/EntityProperty__.d.ts +11 -0
  65. package/out/concepts/EntityProperty__.js +73 -5
  66. package/out/concepts/EntityProperty__.js.map +1 -1
  67. package/out/concepts/Entity__.d.ts +4 -1
  68. package/out/concepts/Entity__.js +37 -15
  69. package/out/concepts/Entity__.js.map +1 -1
  70. package/out/concepts/Enum__.d.ts +4 -0
  71. package/out/concepts/Enum__.js +18 -10
  72. package/out/concepts/Enum__.js.map +1 -1
  73. package/out/concepts/Event__.js +2 -2
  74. package/out/concepts/Event__.js.map +1 -1
  75. package/out/concepts/ForEachStatement__.js +9 -13
  76. package/out/concepts/ForEachStatement__.js.map +1 -1
  77. package/out/concepts/Function__.js +9 -9
  78. package/out/concepts/Function__.js.map +1 -1
  79. package/out/concepts/Identifier__.d.ts +3 -0
  80. package/out/concepts/Identifier__.js +76 -29
  81. package/out/concepts/Identifier__.js.map +1 -1
  82. package/out/concepts/IfStatement__.js +4 -4
  83. package/out/concepts/IfStatement__.js.map +1 -1
  84. package/out/concepts/InterfaceParam__.d.ts +6 -4
  85. package/out/concepts/InterfaceParam__.js +52 -19
  86. package/out/concepts/InterfaceParam__.js.map +1 -1
  87. package/out/concepts/Interface__.d.ts +42 -30
  88. package/out/concepts/Interface__.js +131 -15
  89. package/out/concepts/Interface__.js.map +1 -1
  90. package/out/concepts/JSBlock__.d.ts +1 -0
  91. package/out/concepts/JSBlock__.js +3 -0
  92. package/out/concepts/JSBlock__.js.map +1 -1
  93. package/out/concepts/LogicItem__.d.ts +2 -1
  94. package/out/concepts/LogicItem__.js +14 -0
  95. package/out/concepts/LogicItem__.js.map +1 -1
  96. package/out/concepts/Logic__.d.ts +16 -1
  97. package/out/concepts/Logic__.js +176 -33
  98. package/out/concepts/Logic__.js.map +1 -1
  99. package/out/concepts/MemberExpression__.d.ts +2 -0
  100. package/out/concepts/MemberExpression__.js +49 -12
  101. package/out/concepts/MemberExpression__.js.map +1 -1
  102. package/out/concepts/Module__.d.ts +126 -120
  103. package/out/concepts/Module__.js +28 -18
  104. package/out/concepts/Module__.js.map +1 -1
  105. package/out/concepts/Namespace__.d.ts +5 -1
  106. package/out/concepts/Namespace__.js +36 -25
  107. package/out/concepts/Namespace__.js.map +1 -1
  108. package/out/concepts/NullLiteral__.d.ts +3 -0
  109. package/out/concepts/NullLiteral__.js +11 -1
  110. package/out/concepts/NullLiteral__.js.map +1 -1
  111. package/out/concepts/NumericLiteral__.d.ts +1 -1
  112. package/out/concepts/NumericLiteral__.js +17 -6
  113. package/out/concepts/NumericLiteral__.js.map +1 -1
  114. package/out/concepts/Param__.d.ts +7 -3
  115. package/out/concepts/Param__.js +57 -28
  116. package/out/concepts/Param__.js.map +1 -1
  117. package/out/concepts/ProcessComponent__.js +4 -4
  118. package/out/concepts/ProcessComponent__.js.map +1 -1
  119. package/out/concepts/ProcessElement__.d.ts +0 -4
  120. package/out/concepts/ProcessElement__.js +112 -49
  121. package/out/concepts/ProcessElement__.js.map +1 -1
  122. package/out/concepts/ProcessOutcome__.js +1 -1
  123. package/out/concepts/ProcessOutcome__.js.map +1 -1
  124. package/out/concepts/Process__.d.ts +7 -1
  125. package/out/concepts/Process__.js +77 -81
  126. package/out/concepts/Process__.js.map +1 -1
  127. package/out/concepts/QueryAggregateExpression__.js +1 -1
  128. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  129. package/out/concepts/QueryFromExpression__.js +2 -2
  130. package/out/concepts/QueryFromExpression__.js.map +1 -1
  131. package/out/concepts/QueryJoinExpression__.js +4 -4
  132. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  133. package/out/concepts/QueryLimitExpression__.js +3 -3
  134. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  135. package/out/concepts/QuerySelectExpression__.js +2 -2
  136. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  137. package/out/concepts/Return__.d.ts +4 -1
  138. package/out/concepts/Return__.js +67 -21
  139. package/out/concepts/Return__.js.map +1 -1
  140. package/out/concepts/Role__.d.ts +4 -0
  141. package/out/concepts/Role__.js +13 -4
  142. package/out/concepts/Role__.js.map +1 -1
  143. package/out/concepts/SqlQueryComponent__.js +2 -2
  144. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  145. package/out/concepts/StringLiteral__.d.ts +1 -1
  146. package/out/concepts/StringLiteral__.js +21 -31
  147. package/out/concepts/StringLiteral__.js.map +1 -1
  148. package/out/concepts/StructureProperty__.d.ts +5 -4
  149. package/out/concepts/StructureProperty__.js +55 -26
  150. package/out/concepts/StructureProperty__.js.map +1 -1
  151. package/out/concepts/Structure__.d.ts +44 -30
  152. package/out/concepts/Structure__.js +42 -10
  153. package/out/concepts/Structure__.js.map +1 -1
  154. package/out/concepts/SwitchCase__.js +4 -4
  155. package/out/concepts/SwitchCase__.js.map +1 -1
  156. package/out/concepts/SwitchStatement__.js +2 -2
  157. package/out/concepts/SwitchStatement__.js.map +1 -1
  158. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  159. package/out/concepts/TypeAnnotation__.js +74 -20
  160. package/out/concepts/TypeAnnotation__.js.map +1 -1
  161. package/out/concepts/UnaryExpression__.js +10 -8
  162. package/out/concepts/UnaryExpression__.js.map +1 -1
  163. package/out/concepts/Unparsed__.js +1 -1
  164. package/out/concepts/Unparsed__.js.map +1 -1
  165. package/out/concepts/ValidationRule__.d.ts +1 -0
  166. package/out/concepts/ValidationRule__.js +48 -13
  167. package/out/concepts/ValidationRule__.js.map +1 -1
  168. package/out/concepts/Variable__.d.ts +10 -1
  169. package/out/concepts/Variable__.js +70 -18
  170. package/out/concepts/Variable__.js.map +1 -1
  171. package/out/concepts/ViewComponent__.js +10 -10
  172. package/out/concepts/ViewComponent__.js.map +1 -1
  173. package/out/concepts/ViewElement__.d.ts +17 -11
  174. package/out/concepts/ViewElement__.js +299 -201
  175. package/out/concepts/ViewElement__.js.map +1 -1
  176. package/out/concepts/View__.d.ts +12 -13
  177. package/out/concepts/View__.js +106 -103
  178. package/out/concepts/View__.js.map +1 -1
  179. package/out/concepts/WhileStatement__.js +3 -3
  180. package/out/concepts/WhileStatement__.js.map +1 -1
  181. package/out/concepts/basics/stdlib/index.js +4 -1
  182. package/out/concepts/basics/stdlib/index.js.map +1 -1
  183. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  184. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  185. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  186. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  187. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  188. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  189. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  190. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  191. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  192. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  193. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  194. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  195. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  196. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  197. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  198. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  199. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  200. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  201. package/out/concepts/basics/types/coreTypeList.js +11 -10
  202. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  203. package/out/concepts/index__.d.ts +1 -0
  204. package/out/concepts/index__.js +1 -0
  205. package/out/concepts/index__.js.map +1 -1
  206. package/out/config.d.ts +1 -2
  207. package/out/config.js +1 -2
  208. package/out/config.js.map +1 -1
  209. package/out/enums/KEYWORDS.d.ts +3 -0
  210. package/out/enums/KEYWORDS.js +1208 -0
  211. package/out/enums/KEYWORDS.js.map +1 -0
  212. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  213. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  214. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  215. package/out/eventBus.d.ts +3 -0
  216. package/out/eventBus.js +7 -0
  217. package/out/eventBus.js.map +1 -0
  218. package/out/generator/genBundleFiles.d.ts +7 -2
  219. package/out/generator/genBundleFiles.js +168 -27
  220. package/out/generator/genBundleFiles.js.map +1 -1
  221. package/out/generator/genMetaData.d.ts +20 -20
  222. package/out/generator/genMetaData.js +50 -15
  223. package/out/generator/genMetaData.js.map +1 -1
  224. package/out/index.d.ts +2 -0
  225. package/out/index.js +2 -0
  226. package/out/index.js.map +1 -1
  227. package/out/manager/diagnostic.d.ts +1 -1
  228. package/out/server/createUiTs.d.ts +1 -0
  229. package/out/server/createUiTs.js +49 -5
  230. package/out/server/createUiTs.js.map +1 -1
  231. package/out/server/entity2LogicNamespace.js +38 -23
  232. package/out/server/entity2LogicNamespace.js.map +1 -1
  233. package/out/server/getExtensionModules.js +2 -0
  234. package/out/server/getExtensionModules.js.map +1 -1
  235. package/out/server/getFunctions.d.ts +1 -0
  236. package/out/server/getFunctions.js +7 -1
  237. package/out/server/getFunctions.js.map +1 -1
  238. package/out/server/getLogics.js +63 -18
  239. package/out/server/getLogics.js.map +1 -1
  240. package/out/server/getMemberIdentifier.d.ts +16 -1
  241. package/out/server/getMemberIdentifier.js +279 -36
  242. package/out/server/getMemberIdentifier.js.map +1 -1
  243. package/out/server/getProcesses.d.ts +6 -1
  244. package/out/server/getProcesses.js +243 -1
  245. package/out/server/getProcesses.js.map +1 -1
  246. package/out/server/getScope.d.ts +11 -0
  247. package/out/server/getScope.js +45 -0
  248. package/out/server/getScope.js.map +1 -0
  249. package/out/server/index.js +4 -0
  250. package/out/server/index.js.map +1 -1
  251. package/out/server/naslServer.d.ts +30 -53
  252. package/out/server/naslServer.js +682 -363
  253. package/out/server/naslServer.js.map +1 -1
  254. package/out/server/process2LogicNamespace.d.ts +10 -0
  255. package/out/server/process2LogicNamespace.js +29 -1
  256. package/out/server/process2LogicNamespace.js.map +1 -1
  257. package/out/server/translator.d.ts +22 -3
  258. package/out/server/translator.js +367 -123
  259. package/out/server/translator.js.map +1 -1
  260. package/out/service/creator/add.configs.d.ts +1 -0
  261. package/out/service/creator/add.configs.js +68 -0
  262. package/out/service/creator/add.configs.js.map +1 -0
  263. package/out/service/creator/errHandles.d.ts +18 -0
  264. package/out/service/creator/errHandles.js +60 -0
  265. package/out/service/creator/errHandles.js.map +1 -0
  266. package/out/service/creator/index.d.ts +1 -0
  267. package/out/service/creator/index.js +72 -0
  268. package/out/service/creator/index.js.map +1 -0
  269. package/out/service/storage/api.d.ts +18 -0
  270. package/out/service/storage/api.js +17 -0
  271. package/out/service/storage/api.js.map +1 -0
  272. package/out/service/storage/init.js +200 -37
  273. package/out/service/storage/init.js.map +1 -1
  274. package/out/service/storage/service.d.ts +2 -0
  275. package/out/service/storage/service.js +10 -0
  276. package/out/service/storage/service.js.map +1 -0
  277. package/out/service/storage/storagePoint.d.ts +1 -14
  278. package/out/service/storage/storagePoint.js +16 -16
  279. package/out/service/storage/storagePoint.js.map +1 -1
  280. package/out/templator/genCreateBlock.js +6 -6
  281. package/out/templator/genCreateBlock.js.map +1 -1
  282. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  283. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  284. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  285. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  286. package/out/templator/genEditTableBlock.js +5 -5
  287. package/out/templator/genEditTableBlock.js.map +1 -1
  288. package/out/templator/genEnumSelectBlock.js +2 -2
  289. package/out/templator/genEnumSelectBlock.js.map +1 -1
  290. package/out/templator/genGetBlock.js +5 -3
  291. package/out/templator/genGetBlock.js.map +1 -1
  292. package/out/templator/genGridViewBlock.d.ts +3 -1
  293. package/out/templator/genGridViewBlock.js +61 -6
  294. package/out/templator/genGridViewBlock.js.map +1 -1
  295. package/out/templator/genQueryComponent.d.ts +2 -0
  296. package/out/templator/genQueryComponent.js +27 -14
  297. package/out/templator/genQueryComponent.js.map +1 -1
  298. package/out/templator/genTableBlock.d.ts +1 -1
  299. package/out/templator/genTableBlock.js +4 -5
  300. package/out/templator/genTableBlock.js.map +1 -1
  301. package/out/templator/genUpdateBlock.js +9 -10
  302. package/out/templator/genUpdateBlock.js.map +1 -1
  303. package/out/templator/utils.d.ts +13 -4
  304. package/out/templator/utils.js +8 -4
  305. package/out/templator/utils.js.map +1 -1
  306. package/out/test/fixtures/env.js +0 -1
  307. package/out/test/fixtures/env.js.map +1 -1
  308. package/out/test/units/page/Element.spec.js +3 -3
  309. package/out/test/units/page/Element.spec.js.map +1 -1
  310. package/out/test/units/temp/temp.spec.js +1 -1
  311. package/out/test/units/temp/temp.spec.js.map +1 -1
  312. package/out/utils/index.d.ts +6 -0
  313. package/out/utils/index.js +20 -1
  314. package/out/utils/index.js.map +1 -1
  315. package/package.json +2 -1
  316. package/src/automate/engine/index.js +118 -38
  317. package/src/automate/engine/utils.js +49 -19
  318. package/src/common/BaseNode.ts +229 -81
  319. package/src/concepts/App__.ts +77 -37
  320. package/src/concepts/Argument__.ts +23 -3
  321. package/src/concepts/Assignee__.ts +437 -0
  322. package/src/concepts/Assignment__.ts +4 -1
  323. package/src/concepts/BinaryExpression__.ts +9 -7
  324. package/src/concepts/BindAttribute__.ts +68 -8
  325. package/src/concepts/BindDirective__.ts +21 -2
  326. package/src/concepts/BindEvent__.ts +67 -35
  327. package/src/concepts/BooleanLiteral__.ts +8 -0
  328. package/src/concepts/CallFunction__.ts +42 -25
  329. package/src/concepts/CallInterface__.ts +236 -26
  330. package/src/concepts/CallLogic__.ts +114 -86
  331. package/src/concepts/CallQueryComponent__.ts +35 -20
  332. package/src/concepts/Comment__.ts +6 -2
  333. package/src/concepts/CompletionProperty__.ts +5 -1
  334. package/src/concepts/ConfigGroup__.ts +2 -2
  335. package/src/concepts/ConfigProperty__.ts +2 -2
  336. package/src/concepts/Configuration__.ts +2 -2
  337. package/src/concepts/Constant__.ts +12 -0
  338. package/src/concepts/Destination__.ts +92 -20
  339. package/src/concepts/End__.ts +8 -1
  340. package/src/concepts/EntityProperty__.ts +69 -5
  341. package/src/concepts/Entity__.ts +40 -23
  342. package/src/concepts/Enum__.ts +16 -11
  343. package/src/concepts/Event__.ts +2 -2
  344. package/src/concepts/ForEachStatement__.ts +14 -19
  345. package/src/concepts/Function__.ts +9 -9
  346. package/src/concepts/Identifier__.ts +82 -33
  347. package/src/concepts/IfStatement__.ts +4 -4
  348. package/src/concepts/InterfaceParam__.ts +51 -21
  349. package/src/concepts/Interface__.ts +166 -46
  350. package/src/concepts/JSBlock__.ts +4 -0
  351. package/src/concepts/LogicItem__.ts +16 -1
  352. package/src/concepts/Logic__.ts +183 -36
  353. package/src/concepts/MemberExpression__.ts +57 -13
  354. package/src/concepts/Module__.ts +176 -140
  355. package/src/concepts/Namespace__.ts +37 -25
  356. package/src/concepts/NullLiteral__.ts +8 -1
  357. package/src/concepts/NumericLiteral__.ts +17 -6
  358. package/src/concepts/Param__.ts +58 -30
  359. package/src/concepts/ProcessComponent__.ts +4 -4
  360. package/src/concepts/ProcessElement__.ts +138 -39
  361. package/src/concepts/ProcessOutcome__.ts +1 -1
  362. package/src/concepts/Process__.ts +81 -94
  363. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  364. package/src/concepts/QueryFromExpression__.ts +2 -2
  365. package/src/concepts/QueryJoinExpression__.ts +4 -4
  366. package/src/concepts/QueryLimitExpression__.ts +3 -12
  367. package/src/concepts/QuerySelectExpression__.ts +2 -2
  368. package/src/concepts/Return__.ts +62 -23
  369. package/src/concepts/Role__.ts +11 -4
  370. package/src/concepts/SqlQueryComponent__.ts +2 -2
  371. package/src/concepts/StringLiteral__.ts +20 -31
  372. package/src/concepts/StructureProperty__.ts +50 -25
  373. package/src/concepts/Structure__.ts +75 -41
  374. package/src/concepts/SwitchCase__.ts +4 -4
  375. package/src/concepts/SwitchStatement__.ts +2 -2
  376. package/src/concepts/TypeAnnotation__.ts +71 -18
  377. package/src/concepts/UnaryExpression__.ts +10 -8
  378. package/src/concepts/Unparsed__.ts +1 -1
  379. package/src/concepts/ValidationRule__.ts +44 -14
  380. package/src/concepts/Variable__.ts +69 -19
  381. package/src/concepts/ViewComponent__.ts +10 -10
  382. package/src/concepts/ViewElement__.ts +297 -199
  383. package/src/concepts/View__.ts +114 -107
  384. package/src/concepts/WhileStatement__.ts +4 -4
  385. package/src/concepts/basics/stdlib/index.ts +4 -2
  386. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  387. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  388. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  389. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  390. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  391. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  392. package/src/concepts/basics/types/coreTypeList.ts +11 -10
  393. package/src/concepts/index__.ts +1 -0
  394. package/src/config.ts +1 -2
  395. package/src/enums/KEYWORDS.ts +1206 -0
  396. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  397. package/src/eventBus.ts +5 -0
  398. package/src/generator/genBundleFiles.ts +192 -40
  399. package/src/generator/genMetaData.ts +72 -21
  400. package/src/index.ts +2 -0
  401. package/src/manager/diagnostic.ts +1 -1
  402. package/src/server/createUiTs.ts +50 -8
  403. package/src/server/entity2LogicNamespace.ts +41 -25
  404. package/src/server/getExtensionModules.ts +2 -0
  405. package/src/server/getFunctions.ts +6 -0
  406. package/src/server/getLogics.ts +66 -19
  407. package/src/server/getMemberIdentifier.ts +276 -39
  408. package/src/server/getProcesses.ts +248 -4
  409. package/src/server/getScope.ts +50 -0
  410. package/src/server/index.ts +12 -1
  411. package/src/server/naslServer.ts +689 -389
  412. package/src/server/process2LogicNamespace.ts +30 -2
  413. package/src/server/translator.ts +423 -128
  414. package/src/service/config/index.js +1 -1
  415. package/src/service/creator/errHandles.js +5 -2
  416. package/src/service/creator/index.js +0 -6
  417. package/src/service/storage/api.js +14 -0
  418. package/src/service/storage/init.ts +204 -47
  419. package/src/service/storage/service.ts +6 -0
  420. package/src/service/storage/storagePoint.ts +16 -16
  421. package/src/templator/genCreateBlock.ts +6 -6
  422. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  423. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  424. package/src/templator/genEditTableBlock.ts +5 -5
  425. package/src/templator/genEnumSelectBlock.ts +2 -2
  426. package/src/templator/genGetBlock.ts +6 -8
  427. package/src/templator/genGridViewBlock.ts +59 -9
  428. package/src/templator/genQueryComponent.ts +39 -28
  429. package/src/templator/genTableBlock.ts +5 -9
  430. package/src/templator/genUpdateBlock.ts +9 -11
  431. package/src/templator/utils.ts +9 -6
  432. package/src/test/fixtures/env.ts +0 -2
  433. package/src/test/units/page/Element.spec.ts +3 -3
  434. package/src/test/units/temp/temp.spec.ts +1 -1
  435. package/src/utils/index.ts +19 -0
  436. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  437. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  438. package/out/data/Module.d.ts +0 -34
  439. package/out/data/Module.js +0 -53
  440. package/out/data/Module.js.map +0 -1
  441. package/src/automate/engine/index.d.ts +0 -3
@@ -35,8 +35,6 @@ export class QueryLimitExpression extends LogicItem {
35
35
  @property('LogicItem')
36
36
  pageSizeElement: LogicItem = undefined;
37
37
 
38
-
39
-
40
38
  /**
41
39
  * @param source 需要合并的部分参数
42
40
  */
@@ -50,7 +48,6 @@ export class QueryLimitExpression extends LogicItem {
50
48
  return super.from(source, parentNode, parentKey) as QueryLimitExpression;
51
49
  }
52
50
 
53
-
54
51
  /**
55
52
  * 设置逻辑项
56
53
  */
@@ -81,10 +78,6 @@ export class QueryLimitExpression extends LogicItem {
81
78
  });
82
79
  }
83
80
 
84
-
85
-
86
-
87
-
88
81
  /**
89
82
  * 删除逻辑项
90
83
  * @param name 逻辑项名称
@@ -110,8 +103,6 @@ export class QueryLimitExpression extends LogicItem {
110
103
  return pageElement.delete();
111
104
  }
112
105
 
113
-
114
-
115
106
  /**
116
107
  * 删除逻辑项
117
108
  * @param name 逻辑项名称
@@ -168,8 +159,8 @@ export class QueryLimitExpression extends LogicItem {
168
159
  @withSourceMap()
169
160
  toEmbeddedTS(state?: TranslatorState): string {
170
161
  const { pageElement, pageSizeElement } = this;
171
- let code = '';
172
- code += `[${pageElement.toEmbeddedTS(shiftState(state, code))}, `;
162
+ let code = '[';
163
+ code += `${pageElement.toEmbeddedTS(shiftState(state, code))}, `;
173
164
  code += `${pageSizeElement.toEmbeddedTS(shiftState(state, code))}]`;
174
165
  return code;
175
166
  }
@@ -180,7 +171,7 @@ export class QueryLimitExpression extends LogicItem {
180
171
  //================================================================================
181
172
  }
182
173
 
183
- classMap['QueryLimitExpression'] = QueryLimitExpression;
174
+ classMap.QueryLimitExpression = QueryLimitExpression;
184
175
  export default QueryLimitExpression;
185
176
  //================================================================================
186
177
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -113,7 +113,7 @@ export class QuerySelectExpression extends LogicItem {
113
113
  name: options,
114
114
  }, this, 'selectElements');
115
115
  } else if (options instanceof QueryAggregateExpression) {
116
- options.delete(); // 同一实例不支持多处存在
116
+ options.ensureDelete(); // 同一实例不支持多处存在
117
117
  queryAggregateExpression = options;
118
118
  Object.assign(queryAggregateExpression, relationOptions);
119
119
  } else {
@@ -201,7 +201,7 @@ export class QuerySelectExpression extends LogicItem {
201
201
 
202
202
  addQueryAggregateExpression(options?: string | Partial<QueryAggregateExpression> | QueryAggregateExpression) {
203
203
  const node = this._addQueryAggregateExpression(options as any);
204
- const index = this.selectElements.length;
204
+ const index = this.selectElements.indexOf(node);
205
205
  node.create({
206
206
  index,
207
207
  parentNode: this,
@@ -5,6 +5,7 @@ import Entity from './Entity__';
5
5
  import EntityProperty from './EntityProperty__';
6
6
  import Structure from './Structure__';
7
7
  import StructureProperty from './StructureProperty__';
8
+ import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
8
9
 
9
10
  //================================================================================
10
11
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -233,13 +234,26 @@ export class Return extends BaseNode {
233
234
 
234
235
  @withSourceMap()
235
236
  toEmbeddedTS(state?: TranslatorState): string {
236
- let code = this.name;
237
+ let code = this.name || '__return';
237
238
  if (this.typeAnnotation) {
238
239
  code += ': ';
239
240
  code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
240
241
  }
242
+ // if (this.defaultValue) {
243
+ // code += ` = ${this.defaultValue}`;
244
+ // }
245
+ return code;
246
+ }
247
+
248
+ @withSourceMap()
249
+ toEmbeddedTSInProcess(state?: TranslatorState): string {
250
+ let code = this.name;
251
+ if (this.typeAnnotation) {
252
+ code += ': undefined as ';
253
+ code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
254
+ }
241
255
  if (this.defaultValue) {
242
- code += ` = ${this.defaultValue}`;
256
+ code += `: ${this.defaultValue}`;
243
257
  }
244
258
  return code;
245
259
  }
@@ -264,15 +278,19 @@ export class Return extends BaseNode {
264
278
  if (!typeAnnotation)
265
279
  throw new Error('找不到类型:' + typeAnnotation);
266
280
  } else {
267
- typeAnnotation._delete();
281
+ typeAnnotation._delete?.();
268
282
  const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
269
283
  Object.assign(typeAnnotation, relationOptions);
270
284
  }
271
-
285
+ // 处理下拉属性
286
+ try {
287
+ this.completionChildren = this.getSelectRef();
288
+ } catch (err) {
289
+ this.completionChildren = [];
290
+ console.log(err);
291
+ }
272
292
  const object = {
273
293
  typeAnnotation,
274
- // 处理下拉属性
275
- // completionChildren: this.getSelectRef(),
276
294
  };
277
295
 
278
296
  return this.update({
@@ -297,26 +315,47 @@ export class Return extends BaseNode {
297
315
  get readonly() {
298
316
  return !!this.module;
299
317
  }
300
-
318
+ get hasChildren() {
319
+ const { typeKind, typeNamespace } = this.typeAnnotation;
320
+ if (typeKind === 'reference' || typeKind === 'generic') {
321
+ if (typeNamespace.endsWith('.enums'))
322
+ return null;
323
+ return [{}];
324
+ }
325
+ return null;
326
+ }
327
+ get isTreeLeaf() {
328
+ return !this.hasChildren;
329
+ }
301
330
  getSelectRef() {
302
- const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
303
- const moduleNames = typeNamespace.split('.');
304
- let completionChildren;
305
- if (typeKind === 'reference') {
306
- let type: 'entities' | 'structures';
307
- if (typeNamespace.endsWith('entities')) {
308
- type = 'entities';
309
- } else if (typeNamespace.endsWith('structures')) {
310
- // 数据结构比较复杂,会有
311
- type = 'structures';
331
+ try {
332
+ const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
333
+ let completionChildren;
334
+ if (typeKind === 'reference') {
335
+ if (typeNamespace === 'nasl.ui') {
336
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
337
+ const properties = node.properties || [];
338
+ completionChildren = properties;
339
+ } else if (typeNamespace.endsWith('.enums')) {
340
+ completionChildren = undefined;
341
+ } else {
342
+ const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
343
+ const properties = node.properties || [];
344
+ completionChildren = properties;
345
+ }
346
+ } else if (typeKind === 'generic') {
347
+ if (typeNamespace === 'nasl.collection') {
348
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
349
+ const properties = node.properties || [];
350
+ completionChildren = properties;
351
+ }
352
+ } else {
353
+ completionChildren = undefined;
312
354
  }
313
- const data = this.app.dependencies.find((item) => item.name === moduleNames[2]);
314
- const properties = (data[type] as Array<Entity | Structure>).find((item) => item.name === typeName)?.properties;
315
- completionChildren = properties;
316
- } else {
317
- completionChildren = undefined;
355
+ return completionChildren;
356
+ } catch (err) {
357
+ console.log(err);
318
358
  }
319
- return completionChildren;
320
359
  }
321
360
  //================================================================================
322
361
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -36,6 +36,12 @@ export class Role extends BaseNode {
36
36
  @property()
37
37
  uuid: string = uuidv4().replace(/-/g, '');
38
38
 
39
+ /**
40
+ * 创建时间
41
+ */
42
+ @property()
43
+ createdTime: string = undefined;
44
+
39
45
  /**
40
46
  * 角色描述
41
47
  */
@@ -105,9 +111,6 @@ export class Role extends BaseNode {
105
111
 
106
112
  get tsName() {
107
113
  let tsName = this.name;
108
- if (/^\d/.test(tsName)) {
109
- tsName = '$' + tsName;
110
- }
111
114
  // 匹配所有特殊字符都转为_
112
115
  tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
113
116
  return tsName;
@@ -132,7 +135,11 @@ export class Role extends BaseNode {
132
135
  let code = `namespace ${this.getNamespace()} {\n`;
133
136
 
134
137
  const state = createCompilerState(code, { tabSize: 1 });
135
- code += this.toEmbeddedTS(state);
138
+ try {
139
+ code += this.toEmbeddedTS(state);
140
+ } catch (err) {
141
+ code += '';
142
+ }
136
143
  code += '}\n';
137
144
 
138
145
  return {
@@ -128,8 +128,8 @@ export class SqlQueryComponent extends LogicItem {
128
128
  //================================================================================
129
129
  @withSourceMap()
130
130
  toEmbeddedTS(state?: TranslatorState): string {
131
- let code = `(function(): nasl.collection.PageOf<`
132
- code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): 'unknown'}> {\n`;
131
+ let code = `(function(): nasl.collection.List<`
132
+ code +=`${this.typeAnnotation ? this.typeAnnotation.toEmbeddedTS(shiftState(state, code)): '__IDENTIFIER__'}> {\n`;
133
133
  code += '\n';
134
134
  code += indent(state.tabSize + 1) + 'return;\n';
135
135
  code += indent(state.tabSize) + '})();\n';
@@ -58,53 +58,42 @@ export class StringLiteral extends LogicItem {
58
58
  //================================================================================
59
59
  toVue(options?: ElementToVueOptions): string {
60
60
  let code = '';
61
- if (this.value) {
62
- if (!this.value.includes("'"))
63
- code += `'${this.value}'`;
64
- else if (!this.value.includes('"'))
65
- code += `"${this.value}"`;
66
- else if (!this.value.includes('`'))
67
- code += `\`${this.value}\``;
68
- else
69
- code += `'${this.value.replace(/'/g, "\\'")}'`;
61
+ if (typeof this.value === 'string') {
62
+ code = `'${this.value}'`;
63
+ if (options?.finalCode !== false) {
64
+ code = `'${this.value.replace(/['"`\\]/g, (m) => {
65
+ const escape = '\\\\';
66
+ if (m === '\\') {
67
+ return `${escape}${escape}`;
68
+ } else {
69
+ return `${escape}${m}`;
70
+ }
71
+ })}'`;
72
+ }
70
73
  }
71
74
  return code;
72
75
  }
73
76
 
74
77
  toUI(): string {
75
78
  let code = '';
76
- if (this.value) {
77
- if (!this.value.includes("'"))
78
- code += `'${this.value}'`;
79
- else if (!this.value.includes('"'))
80
- code += `"${this.value}"`;
81
- else if (!this.value.includes('`'))
82
- code += `\`${this.value}\``;
83
- else
84
- code += `'${this.value.replace(/'/g, "\\'")}'`;
79
+ if (typeof this.value === 'string') {
80
+ code = `'${this.value}'`;
85
81
  }
86
82
  return code;
87
83
  }
88
84
 
89
85
  toJS(): string {
90
- let code = '';
91
- if (this.value) {
92
- if (!this.value.includes("'"))
93
- code += `'${this.value}'`;
94
- else if (!this.value.includes('"'))
95
- code += `"${this.value}"`;
96
- else if (!this.value.includes('`'))
97
- code += `\`${this.value}\``;
98
- else
99
- code += `'${this.value.replace(/'/g, "\\'")}'`;
86
+ let code = ``;
87
+ if (typeof this.value === 'string') {
88
+ code += `'${this.value.replace(/['"`\\]/g, (m) => `\\${m}`)}'`;
100
89
  }
101
90
  return code;
102
91
  }
103
92
 
104
93
  @withSourceMap()
105
- toEmbeddedTS(state?: TranslatorState): string {
94
+ toEmbeddedTS(state?: TranslatorState, isRequired?: boolean): string {
106
95
  let code = '';
107
- if (this.value) {
96
+ if (typeof this.value === 'string') {
108
97
  if (!this.value.includes("'"))
109
98
  code += `'${this.value}'`;
110
99
  else if (!this.value.includes('"'))
@@ -114,7 +103,7 @@ export class StringLiteral extends LogicItem {
114
103
  else
115
104
  code += `'${this.value.replace(/'/g, "\\'")}'`;
116
105
  } else {
117
- code += '__IDENTIFIER__';
106
+ code += isRequired ? '__IDENTIFIER__' : `''`;
118
107
  }
119
108
  return code;
120
109
  }
@@ -2,6 +2,7 @@ import { dataTypesMap } from './basics/types';
2
2
  import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
3
3
  import EntityProperty from './EntityProperty__';
4
4
  import Entity from './Entity__';
5
+ import { getNodeByNodeCallee, getNaslNodeByNodeCallee } from '../automate/engine/utils';
5
6
 
6
7
  //================================================================================
7
8
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -226,10 +227,55 @@ export class StructureProperty extends BaseNode {
226
227
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
227
228
  // 自动生成的代码已结束。下面可以手动编写。
228
229
  //================================================================================
230
+
231
+ get hasChildren() {
232
+ const { typeKind, typeNamespace } = this.typeAnnotation;
233
+ if (typeKind === 'reference' || typeKind === 'generic') {
234
+ if (typeNamespace.endsWith('.enums'))
235
+ return null;
236
+ return [{}];
237
+ }
238
+ return null;
239
+ }
240
+ get isTreeLeaf() {
241
+ return !this.hasChildren;
242
+ }
229
243
  /**
230
- * 自动补全的字段列表
244
+ * 是否展开
231
245
  */
232
- completionChildren: Array<EntityProperty | StructureProperty> = undefined;
246
+ @property()
247
+ isLeaf: boolean = true;
248
+
249
+ getSelectRef() {
250
+ try {
251
+ const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
252
+ let completionChildren;
253
+ if (typeKind === 'reference') {
254
+ if (typeNamespace === 'nasl.ui') {
255
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
256
+ const properties = node.properties || [];
257
+ completionChildren = properties;
258
+ } else if (typeNamespace.endsWith('.enums')) {
259
+ completionChildren = undefined;
260
+ } else {
261
+ const node = getNodeByNodeCallee(this.app, typeNamespace + '.' + typeName);
262
+ const properties = node.properties || [];
263
+ completionChildren = properties;
264
+ }
265
+ } else if (typeKind === 'generic') {
266
+ if (typeNamespace === 'nasl.collection') {
267
+ const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
268
+ const properties = node.properties || [];
269
+ completionChildren = properties;
270
+ }
271
+ } else {
272
+ completionChildren = undefined;
273
+ }
274
+ return completionChildren;
275
+ } catch (err) {
276
+ console.log(err);
277
+ }
278
+ }
233
279
 
234
280
  @withSourceMap()
235
281
  toEmbeddedTS(state?: TranslatorState): string {
@@ -261,7 +307,7 @@ export class StructureProperty extends BaseNode {
261
307
  // eslint-disable-next-line prefer-rest-params
262
308
  throw new Error('找不到类型:' + arguments[0]);
263
309
  } else {
264
- typeAnnotation._delete();
310
+ typeAnnotation._delete?.();
265
311
  const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
266
312
  Object.assign(typeAnnotation, relationOptions);
267
313
  }
@@ -290,28 +336,7 @@ export class StructureProperty extends BaseNode {
290
336
  * 是否可编辑
291
337
  * */
292
338
  get readonly() {
293
- return !!this.module;
294
- }
295
-
296
- getSelectRef() {
297
- const { typeName, typeKind, typeNamespace } = this.typeAnnotation;
298
- const moduleNames = typeNamespace.split('.');
299
- let completionChildren;
300
- if (typeKind === 'reference') {
301
- let type: 'entities' | 'structures';
302
- if (typeNamespace.endsWith('entities')) {
303
- type = 'entities';
304
- } else if (typeNamespace.endsWith('structures')) {
305
- // 数据结构比较复杂,会有
306
- type = 'structures';
307
- }
308
- const data = this.app.dependencies.find((item) => item.name === moduleNames[2]);
309
- const properties = (data[type] as Array<Entity | Structure>).find((item) => item.name === typeName)?.properties;
310
- completionChildren = properties;
311
- } else {
312
- completionChildren = undefined;
313
- }
314
- return completionChildren;
339
+ return !!this.module || (this.parentNode as Structure).origin === 'CallQueryComponent';
315
340
  }
316
341
 
317
342
  //================================================================================
@@ -39,6 +39,18 @@ export class Structure extends BaseNode {
39
39
  @property()
40
40
  description: string = undefined;
41
41
 
42
+ /**
43
+ * 数据结构来源
44
+ */
45
+ @property()
46
+ origin: 'CallQueryComponent' = undefined;
47
+
48
+ /**
49
+ * 编译器信息
50
+ */
51
+ @property()
52
+ compilerInfoMap: { java?: { packageName: string, className: string } } = undefined;
53
+
42
54
  /**
43
55
  * 类型参数列表
44
56
  */
@@ -113,7 +125,7 @@ export class Structure extends BaseNode {
113
125
  });
114
126
  }
115
127
 
116
- getTypeParamExistingNames(excludedList: Array<TypeParam> = []) {
128
+ getTypeParamExistingNames(excludedList: Array<TypeParam> = []) {
117
129
  const excludedSet = new Set(excludedList);
118
130
  return (this.typeParams || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
119
131
  }
@@ -122,24 +134,24 @@ export class Structure extends BaseNode {
122
134
  }
123
135
 
124
136
  /**
125
- * 插入类型参数
126
- * @internal
127
- * @param name 类型参数名称,如果不填会自动生成一个唯一名称
128
- */
137
+ * 插入类型参数
138
+ * @internal
139
+ * @param name 类型参数名称,如果不填会自动生成一个唯一名称
140
+ */
129
141
  _insertTypeParamAt(name: string, index: number): TypeParam;
130
142
 
131
143
  /**
132
- * 插入类型参数
133
- * @internal
134
- * @param typeParamOptions 类型参数参数
135
- */
144
+ * 插入类型参数
145
+ * @internal
146
+ * @param typeParamOptions 类型参数参数
147
+ */
136
148
  _insertTypeParamAt(typeParamOptions: Partial<TypeParam>, index: number): TypeParam;
137
149
 
138
150
  /**
139
- * 插入类型参数
140
- * @internal
141
- * @param typeParam 已有的类型参数实例
142
- */
151
+ * 插入类型参数
152
+ * @internal
153
+ * @param typeParam 已有的类型参数实例
154
+ */
143
155
  _insertTypeParamAt(typeParam: TypeParam, index: number): TypeParam;
144
156
 
145
157
  _insertTypeParamAt(options: string | Partial<TypeParam> | TypeParam, index: number) {
@@ -157,7 +169,7 @@ export class Structure extends BaseNode {
157
169
  name: options,
158
170
  }, this, 'typeParams');
159
171
  } else if (options instanceof TypeParam) {
160
- options.delete(); // 同一实例不支持多处存在
172
+ options.ensureDelete(); // 同一实例不支持多处存在
161
173
  typeParam = options;
162
174
  Object.assign(typeParam, relationOptions);
163
175
  } else {
@@ -245,7 +257,7 @@ export class Structure extends BaseNode {
245
257
 
246
258
  addTypeParam(options?: string | Partial<TypeParam> | TypeParam) {
247
259
  const node = this._addTypeParam(options as any);
248
- const index = this.typeParams.length;
260
+ const index = this.typeParams.indexOf(node);
249
261
  node.create({
250
262
  index,
251
263
  parentNode: this,
@@ -254,6 +266,7 @@ export class Structure extends BaseNode {
254
266
  return node;
255
267
  }
256
268
 
269
+
257
270
  getPropertyExistingNames(excludedList: Array<StructureProperty> = []) {
258
271
  const excludedSet = new Set(excludedList);
259
272
  return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -263,24 +276,24 @@ export class Structure extends BaseNode {
263
276
  }
264
277
 
265
278
  /**
266
- * 插入数据结构字段
267
- * @internal
268
- * @param name 数据结构字段名称,如果不填会自动生成一个唯一名称
269
- */
279
+ * 插入数据结构字段
280
+ * @internal
281
+ * @param name 数据结构字段名称,如果不填会自动生成一个唯一名称
282
+ */
270
283
  _insertPropertyAt(name: string, index: number): StructureProperty;
271
284
 
272
285
  /**
273
- * 插入数据结构字段
274
- * @internal
275
- * @param propertyOptions 数据结构字段参数
276
- */
286
+ * 插入数据结构字段
287
+ * @internal
288
+ * @param propertyOptions 数据结构字段参数
289
+ */
277
290
  _insertPropertyAt(propertyOptions: Partial<StructureProperty>, index: number): StructureProperty;
278
291
 
279
292
  /**
280
- * 插入数据结构字段
281
- * @internal
282
- * @param property 已有的数据结构字段实例
283
- */
293
+ * 插入数据结构字段
294
+ * @internal
295
+ * @param property 已有的数据结构字段实例
296
+ */
284
297
  _insertPropertyAt(property: StructureProperty, index: number): StructureProperty;
285
298
 
286
299
  _insertPropertyAt(options: string | Partial<StructureProperty> | StructureProperty, index: number) {
@@ -298,7 +311,7 @@ export class Structure extends BaseNode {
298
311
  name: options,
299
312
  }, this, 'properties');
300
313
  } else if (options instanceof StructureProperty) {
301
- options.delete(); // 同一实例不支持多处存在
314
+ options.ensureDelete(); // 同一实例不支持多处存在
302
315
  property = options;
303
316
  Object.assign(property, relationOptions);
304
317
  } else {
@@ -386,7 +399,7 @@ export class Structure extends BaseNode {
386
399
 
387
400
  addProperty(options?: string | Partial<StructureProperty> | StructureProperty) {
388
401
  const node = this._addProperty(options as any);
389
- const index = this.properties.length;
402
+ const index = this.properties.indexOf(node);
390
403
  node.create({
391
404
  index,
392
405
  parentNode: this,
@@ -395,10 +408,13 @@ export class Structure extends BaseNode {
395
408
  return node;
396
409
  }
397
410
 
411
+
412
+
413
+
398
414
  /**
399
- * 删除类型参数
400
- * @param name 类型参数名称
401
- */
415
+ * 删除类型参数
416
+ * @param name 类型参数名称
417
+ */
402
418
  removeTypeParam(name: string): void;
403
419
 
404
420
  /**
@@ -443,10 +459,12 @@ export class Structure extends BaseNode {
443
459
  return params;
444
460
  }
445
461
 
462
+
463
+
446
464
  /**
447
- * 删除数据结构字段
448
- * @param name 数据结构字段名称
449
- */
465
+ * 删除数据结构字段
466
+ * @param name 数据结构字段名称
467
+ */
450
468
  removeProperty(name: string): void;
451
469
 
452
470
  /**
@@ -500,7 +518,7 @@ export class Structure extends BaseNode {
500
518
  * 是否可编辑
501
519
  * */
502
520
  get readonly() {
503
- return !!this.module;
521
+ return !!this.module || this.origin === 'CallQueryComponent';
504
522
  }
505
523
  /* 删除空数据模块 */
506
524
  deleteLogincAndModule() {
@@ -512,9 +530,9 @@ export class Structure extends BaseNode {
512
530
 
513
531
  @withSourceMap()
514
532
  toEmbeddedTS(state?: TranslatorState): string {
515
- let code = `export class ${this.name} {\n`;
533
+ let code = `export class ${this.tsName} {\n`;
516
534
  code += indent(state.tabSize + 1);
517
- code += `__name: '${this.getNamespace()}.${this.name}';\n`;
535
+ code += `__name: '${this.getTsNamespace()}.${this.tsName}';\n`;
518
536
  this.properties.forEach((property) => {
519
537
  code += indent(state.tabSize + 1);
520
538
  code += property.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
@@ -532,6 +550,18 @@ export class Structure extends BaseNode {
532
550
  throw new Error('无法获取命名空间,请设置 parentNode!');
533
551
  }
534
552
 
553
+ getTsNamespace() {
554
+ if (this.parentNode.concept === 'App') {
555
+ return `${(this.parentNode as Namespace).getNamespace()}.structures`;
556
+ } else {
557
+ if (this.parentNode && (this.parentNode as Namespace).getTsNamespace) {
558
+ return `${(this.parentNode as Namespace).getTsNamespace()}.structures`;
559
+ } else {
560
+ throw new Error('无法获取命名空间,请设置 parentNode!');
561
+ }
562
+ }
563
+ }
564
+
535
565
  /**
536
566
  * 生成宿主语言的文件路径
537
567
  * @param name 一般不用传,用于 rename
@@ -542,10 +572,14 @@ export class Structure extends BaseNode {
542
572
  }
543
573
 
544
574
  toEmbeddedTSFile() {
545
- let code = `namespace ${this.getNamespace()} {\n`;
575
+ let code = `namespace ${this.getTsNamespace()} {\n`;
546
576
 
547
577
  const state = createCompilerState(code, { tabSize: 1 });
548
- code += this.toEmbeddedTS(state);
578
+ try {
579
+ code += this.toEmbeddedTS(state);
580
+ } catch (err) {
581
+ code += '';
582
+ }
549
583
  code += '}\n';
550
584
 
551
585
  return {
@@ -561,7 +595,7 @@ export class Structure extends BaseNode {
561
595
  //================================================================================
562
596
  }
563
597
 
564
- classMap.Structure = Structure;
598
+ classMap['Structure'] = Structure;
565
599
  export default Structure;
566
600
  //================================================================================
567
601
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑