@lcap/nasl 1.0.0-alpha.2 → 1.0.0-alpha.5

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 (392) hide show
  1. package/README.md +3 -3
  2. package/docs/assets/search.js +1 -1
  3. package/docs/classes/Entity.html +2832 -204
  4. package/docs/classes/View.html +4567 -365
  5. package/out/common/BaseNode.d.ts +1 -1
  6. package/out/common/BaseNode.js +38 -23
  7. package/out/common/BaseNode.js.map +1 -1
  8. package/out/concepts/App__.d.ts +22 -0
  9. package/out/concepts/App__.js +77 -15
  10. package/out/concepts/App__.js.map +1 -1
  11. package/out/concepts/Argument__.d.ts +2 -1
  12. package/out/concepts/Argument__.js +2 -2
  13. package/out/concepts/Argument__.js.map +1 -1
  14. package/out/concepts/Assignment__.d.ts +2 -1
  15. package/out/concepts/Assignment__.js +3 -8
  16. package/out/concepts/Assignment__.js.map +1 -1
  17. package/out/concepts/Attribute__.js.map +1 -1
  18. package/out/concepts/BinaryExpression__.d.ts +2 -1
  19. package/out/concepts/BinaryExpression__.js +5 -5
  20. package/out/concepts/BinaryExpression__.js.map +1 -1
  21. package/out/concepts/BindAttribute__.d.ts +2 -1
  22. package/out/concepts/BindAttribute__.js +9 -4
  23. package/out/concepts/BindAttribute__.js.map +1 -1
  24. package/out/concepts/BindDirective__.d.ts +2 -1
  25. package/out/concepts/BindDirective__.js +2 -2
  26. package/out/concepts/BindDirective__.js.map +1 -1
  27. package/out/concepts/BindEvent__.d.ts +2 -1
  28. package/out/concepts/BindEvent__.js +4 -3
  29. package/out/concepts/BindEvent__.js.map +1 -1
  30. package/out/concepts/BooleanLiteral__.d.ts +2 -1
  31. package/out/concepts/BooleanLiteral__.js +1 -1
  32. package/out/concepts/BooleanLiteral__.js.map +1 -1
  33. package/out/concepts/CallFunction__.d.ts +57 -1
  34. package/out/concepts/CallFunction__.js +119 -11
  35. package/out/concepts/CallFunction__.js.map +1 -1
  36. package/out/concepts/CallInterface__.d.ts +2 -1
  37. package/out/concepts/CallInterface__.js +2 -2
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +57 -1
  40. package/out/concepts/CallLogic__.js +117 -10
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.js +1 -1
  43. package/out/concepts/CallQueryComponent__.js.map +1 -1
  44. package/out/concepts/Comment__.js.map +1 -1
  45. package/out/concepts/CompletionProperty__.js.map +1 -1
  46. package/out/concepts/ConfigGroup__.d.ts +120 -0
  47. package/out/concepts/ConfigGroup__.js +214 -0
  48. package/out/concepts/ConfigGroup__.js.map +1 -0
  49. package/out/concepts/ConfigPropertyValue__.d.ts +43 -0
  50. package/out/concepts/ConfigPropertyValue__.js +103 -0
  51. package/out/concepts/ConfigPropertyValue__.js.map +1 -0
  52. package/out/concepts/ConfigProperty__.d.ts +128 -0
  53. package/out/concepts/ConfigProperty__.js +236 -0
  54. package/out/concepts/ConfigProperty__.js.map +1 -0
  55. package/out/concepts/Configuration__.d.ts +120 -0
  56. package/out/concepts/Configuration__.js +210 -0
  57. package/out/concepts/Configuration__.js.map +1 -0
  58. package/out/concepts/Constant__.d.ts +2 -1
  59. package/out/concepts/Constant__.js +1 -1
  60. package/out/concepts/Constant__.js.map +1 -1
  61. package/out/concepts/DataElement__.js.map +1 -1
  62. package/out/concepts/Destination__.d.ts +2 -1
  63. package/out/concepts/Destination__.js +4 -3
  64. package/out/concepts/Destination__.js.map +1 -1
  65. package/out/concepts/End__.js.map +1 -1
  66. package/out/concepts/EntityIndex__.d.ts +8 -0
  67. package/out/concepts/EntityIndex__.js +18 -0
  68. package/out/concepts/EntityIndex__.js.map +1 -1
  69. package/out/concepts/EntityProperty__.d.ts +5 -5
  70. package/out/concepts/EntityProperty__.js +10 -9
  71. package/out/concepts/EntityProperty__.js.map +1 -1
  72. package/out/concepts/Entity__.d.ts +30 -26
  73. package/out/concepts/Entity__.js +44 -36
  74. package/out/concepts/Entity__.js.map +1 -1
  75. package/out/concepts/EnumItem__.js.map +1 -1
  76. package/out/concepts/Enum__.d.ts +8 -8
  77. package/out/concepts/Enum__.js +10 -4
  78. package/out/concepts/Enum__.js.map +1 -1
  79. package/out/concepts/Event__.js +1 -1
  80. package/out/concepts/Event__.js.map +1 -1
  81. package/out/concepts/ForEachStatement__.d.ts +35 -33
  82. package/out/concepts/ForEachStatement__.js +103 -36
  83. package/out/concepts/ForEachStatement__.js.map +1 -1
  84. package/out/concepts/Function__.js +1 -1
  85. package/out/concepts/Function__.js.map +1 -1
  86. package/out/concepts/Identifier__.d.ts +2 -1
  87. package/out/concepts/Identifier__.js +15 -1
  88. package/out/concepts/Identifier__.js.map +1 -1
  89. package/out/concepts/IfStatement__.js.map +1 -1
  90. package/out/concepts/InterfaceParam__.js +1 -1
  91. package/out/concepts/InterfaceParam__.js.map +1 -1
  92. package/out/concepts/Interface__.d.ts +5 -1
  93. package/out/concepts/Interface__.js +19 -5
  94. package/out/concepts/Interface__.js.map +1 -1
  95. package/out/concepts/JSBlock__.js.map +1 -1
  96. package/out/concepts/LogicItem__.d.ts +2 -1
  97. package/out/concepts/LogicItem__.js +2 -2
  98. package/out/concepts/LogicItem__.js.map +1 -1
  99. package/out/concepts/Logic__.js +9 -7
  100. package/out/concepts/Logic__.js.map +1 -1
  101. package/out/concepts/MemberExpression__.d.ts +2 -5
  102. package/out/concepts/MemberExpression__.js +12 -18
  103. package/out/concepts/MemberExpression__.js.map +1 -1
  104. package/out/concepts/Module__.d.ts +121 -126
  105. package/out/concepts/Module__.js +10 -17
  106. package/out/concepts/Module__.js.map +1 -1
  107. package/out/concepts/Namespace__.js +12 -12
  108. package/out/concepts/Namespace__.js.map +1 -1
  109. package/out/concepts/NullLiteral__.d.ts +2 -1
  110. package/out/concepts/NullLiteral__.js +1 -1
  111. package/out/concepts/NullLiteral__.js.map +1 -1
  112. package/out/concepts/NumericLiteral__.d.ts +2 -1
  113. package/out/concepts/NumericLiteral__.js +1 -1
  114. package/out/concepts/NumericLiteral__.js.map +1 -1
  115. package/out/concepts/Param__.d.ts +1 -1
  116. package/out/concepts/Param__.js +2 -2
  117. package/out/concepts/Param__.js.map +1 -1
  118. package/out/concepts/Point__.js.map +1 -1
  119. package/out/concepts/ProcessComponent__.js +2 -2
  120. package/out/concepts/ProcessComponent__.js.map +1 -1
  121. package/out/concepts/ProcessElement__.d.ts +82 -81
  122. package/out/concepts/ProcessElement__.js +19 -6
  123. package/out/concepts/ProcessElement__.js.map +1 -1
  124. package/out/concepts/ProcessOutcome__.js.map +1 -1
  125. package/out/concepts/Process__.d.ts +1 -0
  126. package/out/concepts/Process__.js +10 -4
  127. package/out/concepts/Process__.js.map +1 -1
  128. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  129. package/out/concepts/QueryFieldExpression__.js +1 -1
  130. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  131. package/out/concepts/QueryFromExpression__.js.map +1 -1
  132. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  133. package/out/concepts/QueryJoinExpression__.js +1 -1
  134. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  135. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  136. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  137. package/out/concepts/QuerySelectExpression__.js +1 -1
  138. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  139. package/out/concepts/Rect__.js.map +1 -1
  140. package/out/concepts/Return__.d.ts +1 -1
  141. package/out/concepts/Return__.js +2 -2
  142. package/out/concepts/Return__.js.map +1 -1
  143. package/out/concepts/Role__.d.ts +5 -0
  144. package/out/concepts/Role__.js +19 -2
  145. package/out/concepts/Role__.js.map +1 -1
  146. package/out/concepts/Slot__.js.map +1 -1
  147. package/out/concepts/SqlQueryComponent__.d.ts +2 -0
  148. package/out/concepts/SqlQueryComponent__.js +16 -0
  149. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  150. package/out/concepts/Start__.js.map +1 -1
  151. package/out/concepts/StringLiteral__.d.ts +2 -1
  152. package/out/concepts/StringLiteral__.js +1 -1
  153. package/out/concepts/StringLiteral__.js.map +1 -1
  154. package/out/concepts/StructureProperty__.d.ts +1 -1
  155. package/out/concepts/StructureProperty__.js +1 -1
  156. package/out/concepts/StructureProperty__.js.map +1 -1
  157. package/out/concepts/Structure__.d.ts +1 -1
  158. package/out/concepts/Structure__.js +4 -4
  159. package/out/concepts/Structure__.js.map +1 -1
  160. package/out/concepts/SwitchCase__.js.map +1 -1
  161. package/out/concepts/SwitchStatement__.js.map +1 -1
  162. package/out/concepts/Theme__.js.map +1 -1
  163. package/out/concepts/Transactional__.js.map +1 -1
  164. package/out/concepts/TypeAnnotation__.js +3 -0
  165. package/out/concepts/TypeAnnotation__.js.map +1 -1
  166. package/out/concepts/TypeParam__.js.map +1 -1
  167. package/out/concepts/UnaryExpression__.d.ts +2 -1
  168. package/out/concepts/UnaryExpression__.js +3 -3
  169. package/out/concepts/UnaryExpression__.js.map +1 -1
  170. package/out/concepts/Unparsed__.d.ts +2 -1
  171. package/out/concepts/Unparsed__.js +1 -1
  172. package/out/concepts/Unparsed__.js.map +1 -1
  173. package/out/concepts/UseComponent__.js.map +1 -1
  174. package/out/concepts/ValidationRule__.d.ts +2 -1
  175. package/out/concepts/ValidationRule__.js +2 -2
  176. package/out/concepts/ValidationRule__.js.map +1 -1
  177. package/out/concepts/Variable__.d.ts +6 -5
  178. package/out/concepts/Variable__.js +3 -3
  179. package/out/concepts/Variable__.js.map +1 -1
  180. package/out/concepts/ViewComponent__.js +5 -5
  181. package/out/concepts/ViewComponent__.js.map +1 -1
  182. package/out/concepts/ViewElement__.d.ts +5 -4
  183. package/out/concepts/ViewElement__.js +109 -65
  184. package/out/concepts/ViewElement__.js.map +1 -1
  185. package/out/concepts/View__.d.ts +97 -90
  186. package/out/concepts/View__.js +153 -118
  187. package/out/concepts/View__.js.map +1 -1
  188. package/out/concepts/WhileStatement__.js.map +1 -1
  189. package/out/concepts/basics/stdlib/index.js +2 -2
  190. package/out/concepts/basics/stdlib/index.js.map +1 -1
  191. package/out/concepts/basics/stdlib/nasl.ui.js +3 -137
  192. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  193. package/out/concepts/basics/stdlib/nasl.util.js +21 -5
  194. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  195. package/out/concepts/basics/stdlib/nasl.validation.d.ts +3 -0
  196. package/out/concepts/basics/stdlib/nasl.validation.js +527 -0
  197. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -0
  198. package/out/concepts/index__.d.ts +4 -0
  199. package/out/concepts/index__.js +4 -0
  200. package/out/concepts/index__.js.map +1 -1
  201. package/out/data/Module.d.ts +34 -0
  202. package/out/data/Module.js +53 -0
  203. package/out/data/Module.js.map +1 -0
  204. package/out/generator/compileComponent.d.ts +1 -1
  205. package/out/generator/genBundleFiles.d.ts +0 -1
  206. package/out/generator/genBundleFiles.js +1 -1
  207. package/out/generator/genBundleFiles.js.map +1 -1
  208. package/out/generator/genMetaData.d.ts +35 -0
  209. package/out/generator/genMetaData.js +78 -0
  210. package/out/generator/genMetaData.js.map +1 -0
  211. package/out/generator/index.d.ts +1 -0
  212. package/out/generator/index.js +1 -0
  213. package/out/generator/index.js.map +1 -1
  214. package/out/index.d.ts +2 -2
  215. package/out/index.js +3 -1
  216. package/out/index.js.map +1 -1
  217. package/out/server/createUiTs.d.ts +7 -0
  218. package/out/server/createUiTs.js +157 -0
  219. package/out/server/createUiTs.js.map +1 -0
  220. package/out/server/entity2LogicNamespace.d.ts +9 -1
  221. package/out/server/entity2LogicNamespace.js +11 -1
  222. package/out/server/entity2LogicNamespace.js.map +1 -1
  223. package/out/server/getExtensionModules.d.ts +3 -0
  224. package/out/server/getExtensionModules.js +18 -0
  225. package/out/server/getExtensionModules.js.map +1 -0
  226. package/out/server/getLogics.js +18 -15
  227. package/out/server/getLogics.js.map +1 -1
  228. package/out/server/getMemberIdentifier.d.ts +3 -2
  229. package/out/server/getMemberIdentifier.js +47 -15
  230. package/out/server/getMemberIdentifier.js.map +1 -1
  231. package/out/server/getProcesses.d.ts +4 -1
  232. package/out/server/getProcesses.js +16 -7
  233. package/out/server/getProcesses.js.map +1 -1
  234. package/out/server/getValidates.js +1 -1
  235. package/out/server/getValidates.js.map +1 -1
  236. package/out/server/index.js +1 -0
  237. package/out/server/index.js.map +1 -1
  238. package/out/server/naslServer.d.ts +23 -5
  239. package/out/server/naslServer.js +199 -25
  240. package/out/server/naslServer.js.map +1 -1
  241. package/out/server/process2LogicNamespace.d.ts +15 -1
  242. package/out/server/process2LogicNamespace.js +30 -3
  243. package/out/server/process2LogicNamespace.js.map +1 -1
  244. package/out/server/translator.js +28 -0
  245. package/out/server/translator.js.map +1 -1
  246. package/out/service/storage/init.d.ts +5 -0
  247. package/out/service/storage/init.js +60 -52
  248. package/out/service/storage/init.js.map +1 -1
  249. package/out/templator/genCallComponentLogic.js +2 -2
  250. package/out/templator/genCallComponentLogic.js.map +1 -1
  251. package/out/templator/genCreateBlock.js +6 -8
  252. package/out/templator/genCreateBlock.js.map +1 -1
  253. package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
  254. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  255. package/out/templator/genCurdMultipleKeyBlock.js +4 -4
  256. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  257. package/out/templator/genEditTableBlock.js +3 -3
  258. package/out/templator/genEditTableBlock.js.map +1 -1
  259. package/out/templator/genGetBlock.js +1 -1
  260. package/out/templator/genGetBlock.js.map +1 -1
  261. package/out/templator/genListViewBlock.js +2 -2
  262. package/out/templator/genListViewBlock.js.map +1 -1
  263. package/out/templator/genSelectBlock.js +1 -1
  264. package/out/templator/genSelectBlock.js.map +1 -1
  265. package/out/templator/genUpdateBlock.js +8 -12
  266. package/out/templator/genUpdateBlock.js.map +1 -1
  267. package/out/templator/utils.d.ts +20 -20
  268. package/out/templator/utils.js +22 -22
  269. package/out/templator/utils.js.map +1 -1
  270. package/package.json +3 -1
  271. package/src/automate/engine/index.js +37 -3
  272. package/src/automate/engine/utils.js +68 -64
  273. package/src/common/BaseNode.ts +43 -28
  274. package/src/concepts/App__.ts +93 -17
  275. package/src/concepts/Argument__.ts +4 -2
  276. package/src/concepts/Assignment__.ts +5 -7
  277. package/src/concepts/Attribute__.ts +1 -0
  278. package/src/concepts/BinaryExpression__.ts +7 -5
  279. package/src/concepts/BindAttribute__.ts +9 -4
  280. package/src/concepts/BindDirective__.ts +4 -2
  281. package/src/concepts/BindEvent__.ts +6 -4
  282. package/src/concepts/BooleanLiteral__.ts +3 -1
  283. package/src/concepts/CallFunction__.ts +195 -11
  284. package/src/concepts/CallInterface__.ts +4 -2
  285. package/src/concepts/CallLogic__.ts +211 -12
  286. package/src/concepts/CallQueryComponent__.ts +2 -1
  287. package/src/concepts/Comment__.ts +1 -0
  288. package/src/concepts/CompletionProperty__.ts +1 -0
  289. package/src/concepts/ConfigGroup__.ts +290 -0
  290. package/src/concepts/ConfigPropertyValue__.ts +112 -0
  291. package/src/concepts/ConfigProperty__.ts +306 -0
  292. package/src/concepts/Configuration__.ts +286 -0
  293. package/src/concepts/Constant__.ts +3 -1
  294. package/src/concepts/DataElement__.ts +1 -0
  295. package/src/concepts/Destination__.ts +7 -5
  296. package/src/concepts/End__.ts +1 -0
  297. package/src/concepts/EntityIndex__.ts +19 -0
  298. package/src/concepts/EntityProperty__.ts +9 -8
  299. package/src/concepts/Entity__.ts +66 -59
  300. package/src/concepts/EnumItem__.ts +1 -0
  301. package/src/concepts/Enum__.ts +32 -12
  302. package/src/concepts/Event__.ts +2 -1
  303. package/src/concepts/ForEachStatement__.ts +115 -69
  304. package/src/concepts/Function__.ts +2 -1
  305. package/src/concepts/Identifier__.ts +18 -1
  306. package/src/concepts/IfStatement__.ts +1 -0
  307. package/src/concepts/InterfaceParam__.ts +2 -1
  308. package/src/concepts/Interface__.ts +21 -5
  309. package/src/concepts/JSBlock__.ts +1 -0
  310. package/src/concepts/LogicItem__.ts +9 -40
  311. package/src/concepts/Logic__.ts +48 -9
  312. package/src/concepts/MemberExpression__.ts +14 -17
  313. package/src/concepts/Module__.ts +158 -139
  314. package/src/concepts/Namespace__.ts +13 -12
  315. package/src/concepts/NullLiteral__.ts +3 -1
  316. package/src/concepts/NumericLiteral__.ts +3 -1
  317. package/src/concepts/Param__.ts +3 -2
  318. package/src/concepts/Point__.ts +1 -0
  319. package/src/concepts/ProcessComponent__.ts +3 -2
  320. package/src/concepts/ProcessElement__.ts +102 -107
  321. package/src/concepts/ProcessOutcome__.ts +1 -0
  322. package/src/concepts/Process__.ts +12 -4
  323. package/src/concepts/QueryAggregateExpression__.ts +1 -0
  324. package/src/concepts/QueryFieldExpression__.ts +2 -1
  325. package/src/concepts/QueryFromExpression__.ts +1 -0
  326. package/src/concepts/QueryGroupByExpression__.ts +1 -0
  327. package/src/concepts/QueryJoinExpression__.ts +2 -1
  328. package/src/concepts/QueryLimitExpression__.ts +1 -0
  329. package/src/concepts/QueryOrderByExpression__.ts +1 -0
  330. package/src/concepts/QuerySelectExpression__.ts +2 -1
  331. package/src/concepts/Rect__.ts +1 -0
  332. package/src/concepts/Return__.ts +3 -2
  333. package/src/concepts/Role__.ts +19 -2
  334. package/src/concepts/Slot__.ts +1 -0
  335. package/src/concepts/SqlQueryComponent__.ts +11 -1
  336. package/src/concepts/Start__.ts +1 -0
  337. package/src/concepts/StringLiteral__.ts +3 -1
  338. package/src/concepts/StructureProperty__.ts +2 -1
  339. package/src/concepts/Structure__.ts +5 -4
  340. package/src/concepts/SwitchCase__.ts +1 -0
  341. package/src/concepts/SwitchStatement__.ts +1 -0
  342. package/src/concepts/Theme__.ts +1 -0
  343. package/src/concepts/Transactional__.ts +1 -0
  344. package/src/concepts/TypeAnnotation__.ts +4 -0
  345. package/src/concepts/TypeParam__.ts +1 -0
  346. package/src/concepts/UnaryExpression__.ts +6 -3
  347. package/src/concepts/Unparsed__.ts +3 -1
  348. package/src/concepts/UseComponent__.ts +1 -0
  349. package/src/concepts/ValidationRule__.ts +5 -2
  350. package/src/concepts/Variable__.ts +12 -6
  351. package/src/concepts/ViewComponent__.ts +6 -5
  352. package/src/concepts/ViewElement__.ts +109 -80
  353. package/src/concepts/View__.ts +245 -206
  354. package/src/concepts/WhileStatement__.ts +1 -0
  355. package/src/concepts/basics/stdlib/index.ts +2 -2
  356. package/src/concepts/basics/stdlib/nasl.ui.ts +3 -137
  357. package/src/concepts/basics/stdlib/nasl.util.ts +21 -5
  358. package/src/concepts/basics/stdlib/{nasl.validate.ts → nasl.validation.ts} +28 -28
  359. package/src/concepts/index__.ts +4 -0
  360. package/src/generator/compileComponent.ts +1 -1
  361. package/src/generator/genBundleFiles.ts +1 -2
  362. package/src/generator/genMetaData.ts +111 -0
  363. package/src/generator/index.ts +1 -0
  364. package/src/index.ts +2 -2
  365. package/src/server/createUiTs.ts +153 -0
  366. package/src/server/entity2LogicNamespace.ts +17 -1
  367. package/src/server/getExtensionModules.ts +13 -0
  368. package/src/server/getLogics.ts +19 -18
  369. package/src/server/getMemberIdentifier.ts +60 -19
  370. package/src/server/getProcesses.ts +15 -8
  371. package/src/server/getValidates.ts +1 -1
  372. package/src/server/index.ts +2 -1
  373. package/src/server/naslServer.ts +204 -24
  374. package/src/server/process2LogicNamespace.ts +44 -3
  375. package/src/server/translator.ts +121 -97
  376. package/src/service/config/api.js +32 -0
  377. package/src/service/config/index.js +6 -0
  378. package/src/service/creator/index.js +2 -2
  379. package/src/service/logic/checktypeSocket.js +49 -0
  380. package/src/service/modules/api.js +20 -0
  381. package/src/service/modules/index.js +6 -0
  382. package/src/service/storage/init.ts +62 -54
  383. package/src/templator/genCallComponentLogic.ts +2 -2
  384. package/src/templator/genCreateBlock.ts +19 -25
  385. package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
  386. package/src/templator/genCurdMultipleKeyBlock.ts +4 -4
  387. package/src/templator/genEditTableBlock.ts +3 -3
  388. package/src/templator/genGetBlock.ts +1 -1
  389. package/src/templator/genListViewBlock.ts +2 -2
  390. package/src/templator/genSelectBlock.ts +1 -1
  391. package/src/templator/genUpdateBlock.ts +19 -25
  392. package/src/templator/utils.ts +25 -153
@@ -7,6 +7,7 @@ import { EventPayload, Params } from '../common/EventEmitter';
7
7
  import { concept, excludedInJSON, property } from '../decorators';
8
8
 
9
9
  import * as utils from '../utils';
10
+ import { v4 as uuidv4 } from 'uuid';
10
11
  import BaseNode from '../common/BaseNode';
11
12
  import classMap from '../common/classMap';
12
13
  import TypeAnnotation from './TypeAnnotation__';
@@ -0,0 +1,290 @@
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
+ import ConfigProperty from './ConfigProperty__';
13
+ import App from './App__';
14
+
15
+ /**
16
+ * 配置组
17
+ */
18
+ @concept
19
+ export class ConfigGroup extends BaseNode {
20
+ /**
21
+ * 产品概念
22
+ */
23
+ @property()
24
+ concept: 'ConfigGroup' = 'ConfigGroup';
25
+
26
+ /**
27
+ * 配置组名称
28
+ */
29
+ @property()
30
+ name: string = undefined;
31
+
32
+ /**
33
+ * 配置属性列表
34
+ */
35
+ @property('ConfigProperty')
36
+ properties: Array<ConfigProperty> = [];
37
+
38
+ /**
39
+ * 祖先 App
40
+ */
41
+ get app() {
42
+ return this.getAncestor('App') as App;
43
+ }
44
+
45
+ /**
46
+ * @param source 需要合并的部分参数
47
+ */
48
+ constructor(source?: Partial<ConfigGroup>) {
49
+ source = Object.assign({}, ConfigGroup.getDefaultOptions(), source);
50
+ super(source);
51
+ super.subConstructor(source);
52
+ }
53
+
54
+ static from(source: any, parentNode?: any, parentKey?: string): ConfigGroup {
55
+ return super.from(source, parentNode, parentKey) as ConfigGroup;
56
+ }
57
+
58
+ /**
59
+ * 从父级删除该节点
60
+ * @internal
61
+ */
62
+ _delete() {
63
+ let params: Params = null;
64
+ if (this.parentNode) {
65
+ params = (this.parentNode as any)?.__removeConfigGroup?.(this);
66
+ }
67
+ return params;
68
+ }
69
+ /**
70
+ * 设置配置组名称
71
+ */
72
+ setName(name: string) {
73
+ const object = {
74
+ name,
75
+ };
76
+ this.update({
77
+ ...object,
78
+ field: 'name',
79
+ });
80
+ }
81
+
82
+ getConfigPropertyExistingNames(excludedList: Array<ConfigProperty> = []) {
83
+ const excludedSet = new Set(excludedList);
84
+ return (this.properties || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
85
+ }
86
+ getConfigPropertyUniqueName(name = 'configProperty1') {
87
+ return utils.unique(name, this.getConfigPropertyExistingNames());
88
+ }
89
+
90
+ /**
91
+ * 插入配置属性
92
+ * @internal
93
+ * @param name 配置属性名称,如果不填会自动生成一个唯一名称
94
+ */
95
+ _insertConfigPropertyAt(name: string, index: number): ConfigProperty;
96
+
97
+ /**
98
+ * 插入配置属性
99
+ * @internal
100
+ * @param configPropertyOptions 配置属性参数
101
+ */
102
+ _insertConfigPropertyAt(configPropertyOptions: Partial<ConfigProperty>, index: number): ConfigProperty;
103
+
104
+ /**
105
+ * 插入配置属性
106
+ * @internal
107
+ * @param configProperty 已有的配置属性实例
108
+ */
109
+ _insertConfigPropertyAt(configProperty: ConfigProperty, index: number): ConfigProperty;
110
+
111
+ _insertConfigPropertyAt(options: string | Partial<ConfigProperty> | ConfigProperty, index: number) {
112
+ const configPropertyOptions: any = {};
113
+ const relationOptions = { parentNode: this, parentKey: 'properties' };
114
+ let configProperty: ConfigProperty;
115
+ if (!options) {
116
+ configProperty = ConfigProperty.from({
117
+ ...configPropertyOptions,
118
+ name: this.getConfigPropertyUniqueName(),
119
+ }, this, 'properties');
120
+ } else if (typeof options === 'string') {
121
+ configProperty = ConfigProperty.from({
122
+ ...configPropertyOptions,
123
+ name: options,
124
+ }, this, 'properties');
125
+ } else if (options instanceof ConfigProperty) {
126
+ options.delete(); // 同一实例不支持多处存在
127
+ configProperty = options;
128
+ Object.assign(configProperty, relationOptions);
129
+ } else {
130
+ configProperty = ConfigProperty.from({
131
+ ...configPropertyOptions,
132
+ ...options,
133
+ }, this, 'properties');
134
+ }
135
+ this.properties.splice(index, 0, configProperty);
136
+ return configProperty;
137
+ }
138
+
139
+ /**
140
+ * 插入配置属性
141
+ * @param name 配置属性名称,如果不填会自动生成一个唯一名称
142
+ */
143
+ insertConfigPropertyAt(name: string, index: number): ConfigProperty;
144
+
145
+ /**
146
+ * 插入配置属性
147
+ * @param configPropertyOptions 配置属性参数
148
+ */
149
+ insertConfigPropertyAt(configPropertyOptions: Partial<ConfigProperty>, index: number): ConfigProperty;
150
+
151
+ /**
152
+ * 插入配置属性
153
+ * @param configProperty 已有的配置属性实例
154
+ */
155
+ insertConfigPropertyAt(configProperty: ConfigProperty, index: number): ConfigProperty;
156
+
157
+ insertConfigPropertyAt(options: string | Partial<ConfigProperty> | ConfigProperty, index: number) {
158
+ const node = this._insertConfigPropertyAt(options as any, index);
159
+ node.create({
160
+ index,
161
+ parentNode: this,
162
+ parentKey: 'properties',
163
+ });
164
+ return node;
165
+ }
166
+
167
+ /**
168
+ * 添加配置属性
169
+ * @internal
170
+ * @param name 配置属性名称,如果不填会自动生成一个唯一名称
171
+ */
172
+ _addConfigProperty(name?: string): ConfigProperty;
173
+
174
+ /**
175
+ * 添加配置属性
176
+ * @internal
177
+ * @param configPropertyOptions 配置属性参数
178
+ */
179
+ _addConfigProperty(configPropertyOptions: Partial<ConfigProperty>): ConfigProperty;
180
+
181
+ /**
182
+ * 添加配置属性
183
+ * @internal
184
+ * @param configProperty 已有的配置属性实例
185
+ */
186
+ _addConfigProperty(configProperty: ConfigProperty): ConfigProperty;
187
+
188
+ _addConfigProperty(options?: string | Partial<ConfigProperty> | ConfigProperty) {
189
+ const index = this.properties.length;
190
+ return this._insertConfigPropertyAt(options as any, index);
191
+ }
192
+
193
+ /**
194
+ * 添加配置属性
195
+ * @internal
196
+ * @param name 配置属性名称,如果不填会自动生成一个唯一名称
197
+ */
198
+ addConfigProperty(name?: string): ConfigProperty;
199
+
200
+ /**
201
+ * 添加配置属性
202
+ * @param configPropertyOptions 配置属性参数
203
+ */
204
+ addConfigProperty(configPropertyOptions: Partial<ConfigProperty>): ConfigProperty;
205
+
206
+ /**
207
+ * 添加配置属性
208
+ * @param configProperty 已有的配置属性实例
209
+ */
210
+ addConfigProperty(configProperty: ConfigProperty): ConfigProperty;
211
+
212
+ addConfigProperty(options?: string | Partial<ConfigProperty> | ConfigProperty) {
213
+ const node = this._addConfigProperty(options as any);
214
+ const index = this.properties.length;
215
+ node.create({
216
+ index,
217
+ parentNode: this,
218
+ parentKey: 'properties',
219
+ });
220
+ return node;
221
+ }
222
+
223
+
224
+
225
+
226
+ /**
227
+ * 删除配置属性
228
+ * @param name 配置属性名称
229
+ */
230
+ removeConfigProperty(name: string): void;
231
+
232
+ /**
233
+ * 删除配置属性
234
+ * @param configProperty 已有的配置属性实例
235
+ */
236
+ removeConfigProperty(configProperty: ConfigProperty): void;
237
+
238
+ removeConfigProperty(options: string | ConfigProperty) {
239
+ let configProperty: ConfigProperty;
240
+ if (typeof options === 'string') {
241
+ configProperty = this.properties.find((item) => item.name === options);
242
+ if (!configProperty) {
243
+ throw new Error('找不到配置属性 ' + options);
244
+ }
245
+ } else {
246
+ configProperty = options;
247
+ }
248
+ return configProperty.delete();
249
+ }
250
+
251
+ __removeConfigProperty(configProperty: ConfigProperty) {
252
+ const parentKey = configProperty.parentKey;
253
+ const params: Params = {
254
+ parentNode: this,
255
+ parentKey,
256
+ index: -1,
257
+ object: null,
258
+ oldObject: configProperty,
259
+ };
260
+ if (parentKey) {
261
+ params.parentKey = parentKey;
262
+ if (Array.isArray((this as any)[parentKey])) {
263
+ const index = (this as any)[parentKey].indexOf(configProperty);
264
+ ~index && (this as any)[parentKey].splice(index, 1);
265
+ params.index = index;
266
+ } else if ((this as any)[parentKey] === configProperty) {
267
+ params.index = 0;
268
+ (this as any)[parentKey] = undefined;
269
+ }
270
+ }
271
+ return params;
272
+ }
273
+
274
+ //================================================================================
275
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
276
+ // 自动生成的代码已结束。下面可以手动编写。
277
+ //================================================================================
278
+
279
+ //================================================================================
280
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
281
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
282
+ //================================================================================
283
+ }
284
+
285
+ classMap['ConfigGroup'] = ConfigGroup;
286
+ export default ConfigGroup;
287
+ //================================================================================
288
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
289
+ // 自动生成的代码已结束。下面可以手动编写。
290
+ //================================================================================
@@ -0,0 +1,112 @@
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
+ import App from './App__';
13
+
14
+ /**
15
+ * 配置属性值
16
+ */
17
+ @concept
18
+ export class ConfigPropertyValue extends BaseNode {
19
+ /**
20
+ * 产品概念
21
+ */
22
+ @property()
23
+ concept: 'ConfigPropertyValue' = 'ConfigPropertyValue';
24
+
25
+ /**
26
+ * env
27
+ */
28
+ @property()
29
+ env: string = undefined;
30
+
31
+ /**
32
+ * 配置属性值的值
33
+ */
34
+ @property()
35
+ value: string = undefined;
36
+
37
+ /**
38
+ * 祖先 App
39
+ */
40
+ get app() {
41
+ return this.getAncestor('App') as App;
42
+ }
43
+
44
+ /**
45
+ * @param source 需要合并的部分参数
46
+ */
47
+ constructor(source?: Partial<ConfigPropertyValue>) {
48
+ source = Object.assign({}, ConfigPropertyValue.getDefaultOptions(), source);
49
+ super(source);
50
+ super.subConstructor(source);
51
+ }
52
+
53
+ static from(source: any, parentNode?: any, parentKey?: string): ConfigPropertyValue {
54
+ return super.from(source, parentNode, parentKey) as ConfigPropertyValue;
55
+ }
56
+
57
+ /**
58
+ * 从父级删除该节点
59
+ * @internal
60
+ */
61
+ _delete() {
62
+ let params: Params = null;
63
+ if (this.parentNode) {
64
+ params = (this.parentNode as any)?.__removeConfigPropertyValue?.(this);
65
+ }
66
+ return params;
67
+ }
68
+ /**
69
+ * 设置env
70
+ */
71
+ setEnv(env: string) {
72
+ const object = {
73
+ env,
74
+ };
75
+ this.update({
76
+ ...object,
77
+ });
78
+ }
79
+
80
+ /**
81
+ * 设置配置属性值的值
82
+ */
83
+ setValue(value: string) {
84
+ const object = {
85
+ value,
86
+ };
87
+ this.update({
88
+ ...object,
89
+ });
90
+ }
91
+
92
+
93
+
94
+
95
+
96
+ //================================================================================
97
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
98
+ // 自动生成的代码已结束。下面可以手动编写。
99
+ //================================================================================
100
+
101
+ //================================================================================
102
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
103
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
104
+ //================================================================================
105
+ }
106
+
107
+ classMap['ConfigPropertyValue'] = ConfigPropertyValue;
108
+ export default ConfigPropertyValue;
109
+ //================================================================================
110
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
111
+ // 自动生成的代码已结束。下面可以手动编写。
112
+ //================================================================================