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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) 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 +23 -0
  17. package/out/concepts/Abort__.js +74 -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 +23 -1
  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 +5 -9
  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 +19 -16
  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 +30 -0
  104. package/out/concepts/DatabaseTypeAnnotation__.js +75 -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 +3 -0
  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 +34 -12
  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 -1
  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/genEditTableBlock.js +1 -1
  385. package/out/templator/genQueryComponent.js +2 -2
  386. package/out/templator/genQueryComponent.js.map +1 -1
  387. package/out/templator/genTableBlock.js +2 -2
  388. package/out/templator/genTableBlock.js.map +1 -1
  389. package/out/templator/utils.d.ts +0 -32
  390. package/out/templator/utils.js +7 -7
  391. package/out/templator/utils.js.map +1 -1
  392. package/out/translator/index.d.ts +1 -1
  393. package/out/translator/lsp.d.ts +3 -3
  394. package/out/utils/index.d.ts +4 -4
  395. package/package.json +1 -1
  396. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  397. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  398. package/sandbox/stdlib/nasl.auth.ts +1 -3
  399. package/sandbox/stdlib/nasl.browser.ts +1 -1
  400. package/sandbox/stdlib/nasl.collection.ts +9 -9
  401. package/sandbox/stdlib/nasl.core.ts +38 -100
  402. package/sandbox/stdlib/nasl.interface.ts +1 -1
  403. package/sandbox/stdlib/nasl.langUtil.ts +4 -4
  404. package/sandbox/stdlib/nasl.oql.ts +156 -156
  405. package/sandbox/stdlib/nasl.process.ts +6 -6
  406. package/sandbox/stdlib/nasl.ui.ts +47 -43
  407. package/sandbox/stdlib/nasl.util.ts +41 -39
  408. package/sandbox/stdlib/nasl.validation.ts +8 -8
  409. package/src/automate/engine/dist/index.dev.js +517 -0
  410. package/src/bak/translator.js +2 -2
  411. package/src/common/BaseNode.ts +23 -5
  412. package/src/common/EventEmitter.ts +3 -0
  413. package/src/common/Messager.ts +1 -0
  414. package/src/common/dist/BaseNode.js +1101 -0
  415. package/src/concepts/Abort__.ts +83 -0
  416. package/src/concepts/Anchor__.ts +3 -0
  417. package/src/concepts/AnonymousFunction__.ts +3 -0
  418. package/src/concepts/App__.ts +66 -8
  419. package/src/concepts/Argument__.ts +3 -0
  420. package/src/concepts/Assignee__.ts +3 -0
  421. package/src/concepts/AssignmentLine__.ts +3 -0
  422. package/src/concepts/Assignment__.ts +3 -0
  423. package/src/concepts/Attribute__.ts +8 -0
  424. package/src/concepts/BatchAssignment__.ts +3 -0
  425. package/src/concepts/BinaryExpression__.ts +3 -0
  426. package/src/concepts/BindAttribute__.ts +9 -10
  427. package/src/concepts/BindDirective__.ts +5 -2
  428. package/src/concepts/BindEvent__.ts +3 -0
  429. package/src/concepts/BindStyle__.ts +3 -0
  430. package/src/concepts/BooleanLiteral__.ts +3 -0
  431. package/src/concepts/CallFunction__.ts +4 -0
  432. package/src/concepts/CallInterface__.ts +36 -1
  433. package/src/concepts/CallLogic__.ts +84 -41
  434. package/src/concepts/CallQueryComponent__.ts +19 -74
  435. package/src/concepts/Comment__.ts +3 -0
  436. package/src/concepts/CompletionProperty__.ts +5 -0
  437. package/src/concepts/ConfigGroup__.ts +7 -1
  438. package/src/concepts/ConfigPropertyValue__.ts +3 -4
  439. package/src/concepts/ConfigProperty__.ts +7 -1
  440. package/src/concepts/Configuration__.ts +8 -1
  441. package/src/concepts/Constant__.ts +3 -0
  442. package/src/concepts/DataElement__.ts +3 -0
  443. package/src/concepts/DataSource__.ts +13 -3
  444. package/src/concepts/DatabaseTypeAnnotation__.ts +85 -0
  445. package/src/concepts/Destination__.ts +34 -10
  446. package/src/concepts/End__.ts +3 -0
  447. package/src/concepts/EntityIndex__.ts +3 -0
  448. package/src/concepts/EntityProperty__.ts +76 -1
  449. package/src/concepts/Entity__.ts +3 -0
  450. package/src/concepts/EnumItem__.ts +3 -0
  451. package/src/concepts/Enum__.ts +3 -0
  452. package/src/concepts/Event__.ts +3 -0
  453. package/src/concepts/ExternalDestination__.ts +3 -0
  454. package/src/concepts/ForEachStatement__.ts +3 -0
  455. package/src/concepts/FrontendLibrary__.ts +3 -0
  456. package/src/concepts/Frontend__.ts +17 -0
  457. package/src/concepts/Function__.ts +3 -0
  458. package/src/concepts/Identifier__.ts +3 -0
  459. package/src/concepts/IfStatement__.ts +3 -0
  460. package/src/concepts/InterfaceParam__.ts +3 -0
  461. package/src/concepts/Interface__.ts +61 -0
  462. package/src/concepts/JSBlock__.ts +3 -0
  463. package/src/concepts/LogicItem__.ts +4 -5
  464. package/src/concepts/Logic__.ts +111 -34
  465. package/src/concepts/MatchCase__.ts +3 -0
  466. package/src/concepts/Match__.ts +77 -2
  467. package/src/concepts/MemberExpression__.ts +3 -0
  468. package/src/concepts/Module__.ts +40 -2
  469. package/src/concepts/Namespace__.ts +3 -0
  470. package/src/concepts/NewComposite__.ts +18 -1
  471. package/src/concepts/NewList__.ts +3 -0
  472. package/src/concepts/NewMap__.ts +14 -1
  473. package/src/concepts/New__.ts +3 -0
  474. package/src/concepts/NullLiteral__.ts +3 -0
  475. package/src/concepts/NumericLiteral__.ts +7 -18
  476. package/src/concepts/OqlQueryComponent__.ts +10 -0
  477. package/src/concepts/Param__.ts +3 -0
  478. package/src/concepts/Point__.ts +3 -0
  479. package/src/concepts/ProcessComponent__.ts +3 -0
  480. package/src/concepts/ProcessElement__.ts +3 -0
  481. package/src/concepts/ProcessOutcome__.ts +3 -0
  482. package/src/concepts/ProcessOutcomes__.ts +3 -0
  483. package/src/concepts/Process__.ts +3 -0
  484. package/src/concepts/QueryAggregateExpression__.ts +3 -0
  485. package/src/concepts/QueryFieldExpression__.ts +3 -0
  486. package/src/concepts/QueryFromExpression__.ts +3 -0
  487. package/src/concepts/QueryGroupByExpression__.ts +3 -0
  488. package/src/concepts/QueryJoinExpression__.ts +3 -0
  489. package/src/concepts/QueryLimitExpression__.ts +3 -0
  490. package/src/concepts/QueryOrderByExpression__.ts +3 -0
  491. package/src/concepts/QuerySelectExpression__.ts +3 -0
  492. package/src/concepts/Rect__.ts +3 -8
  493. package/src/concepts/Return__.ts +3 -0
  494. package/src/concepts/Role__.ts +3 -0
  495. package/src/concepts/SelectMembers__.ts +3 -0
  496. package/src/concepts/Slot__.ts +3 -0
  497. package/src/concepts/SqlQueryComponent__.ts +3 -0
  498. package/src/concepts/Start__.ts +3 -0
  499. package/src/concepts/StringInterpolation__.ts +3 -0
  500. package/src/concepts/StringLiteral__.ts +3 -0
  501. package/src/concepts/StructureProperty__.ts +21 -0
  502. package/src/concepts/Structure__.ts +3 -0
  503. package/src/concepts/SwitchCase__.ts +3 -0
  504. package/src/concepts/SwitchStatement__.ts +3 -0
  505. package/src/concepts/Theme__.ts +3 -0
  506. package/src/concepts/Transactional__.ts +3 -0
  507. package/src/concepts/TypeAnnotation__.ts +37 -50
  508. package/src/concepts/TypeParam__.ts +3 -0
  509. package/src/concepts/UnaryExpression__.ts +3 -0
  510. package/src/concepts/Unparsed__.ts +3 -0
  511. package/src/concepts/UseComponent__.ts +3 -0
  512. package/src/concepts/ValidationRule__.ts +3 -0
  513. package/src/concepts/Variable__.ts +3 -0
  514. package/src/concepts/ViewBlock__.ts +3 -0
  515. package/src/concepts/ViewComponent__.ts +3 -0
  516. package/src/concepts/ViewElement__.ts +17 -28
  517. package/src/concepts/View__.ts +20 -1
  518. package/src/concepts/WhileStatement__.ts +3 -0
  519. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  520. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  521. package/src/concepts/basics/stdlib/nasl.collection.ts +2 -2
  522. package/src/concepts/basics/stdlib/nasl.core.ts +3 -3
  523. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  524. package/src/concepts/basics/stdlib/nasl.process.ts +6 -6
  525. package/src/concepts/basics/stdlib/nasl.ui.ts +56 -43
  526. package/src/concepts/basics/stdlib/nasl.util.ts +46 -19
  527. package/src/concepts/basics/stdlib/nasl.validation.ts +13 -13
  528. package/src/concepts/basics/types/coreTypeList.ts +1 -5
  529. package/src/concepts/dist/BindAttribute__.js +795 -0
  530. package/src/concepts/dist/BindEvent__.js +732 -0
  531. package/src/concepts/dist/CallFunction__.js +527 -0
  532. package/src/concepts/dist/CallLogic__.js +932 -0
  533. package/src/concepts/dist/Destination__.js +708 -0
  534. package/src/concepts/dist/ExternalDestination__.js +298 -0
  535. package/src/concepts/dist/Identifier__.js +311 -0
  536. package/src/concepts/dist/StringInterpolation__.js +231 -0
  537. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  538. package/src/concepts/dist/ViewElement__.js +1692 -0
  539. package/src/concepts/dist/View__.js +1601 -0
  540. package/src/concepts/index__.ts +2 -0
  541. package/src/decorators/index.ts +5 -5
  542. package/src/generator/dist/genBundleFiles.js +261 -0
  543. package/src/generator/dist/genMetaData.js +245 -0
  544. package/src/generator/dist/permission.js +405 -0
  545. package/src/generator/genBundleFiles.ts +10 -8
  546. package/src/generator/genReleaseBody.ts +3 -1
  547. package/src/server/entity2LogicNamespace.ts +1 -1
  548. package/src/server/extendBaseNode.ts +12 -0
  549. package/src/server/formatTsUtils.ts +3 -2
  550. package/src/server/getMemberIdentifier.ts +5 -2
  551. package/src/server/naslServer.ts +109 -56
  552. package/src/server/translator.ts +1 -1
  553. package/src/service/creator/add.configs.js +3 -0
  554. package/src/service/creator/index.js +3 -0
  555. package/src/service/storage/api.js +12 -0
  556. package/src/service/storage/dist/init.js +579 -0
  557. package/src/service/storage/init.ts +212 -44
  558. package/src/service/storage/service.ts +29 -1
  559. package/src/templator/dist/genEditTableBlock.js +204 -0
  560. package/src/templator/dist/genGridViewBlock.js +265 -0
  561. package/src/templator/dist/genListViewBlock.js +84 -0
  562. package/src/templator/dist/genTableBlock.js +209 -0
  563. package/src/templator/dist/utils.js +527 -0
  564. package/src/templator/genEditTableBlock.ts +1 -1
  565. package/src/templator/genQueryComponent.ts +5 -5
  566. package/src/templator/genTableBlock.ts +2 -2
  567. package/src/templator/utils.ts +7 -7
  568. package/ts-worker/lib/Messager.js +7 -2
  569. package/ts-worker/src/index.js +1 -0
  570. package/out/automate/engine/2.14-components.d.ts +0 -1115
  571. package/out/automate/engine/2.14-components.js +0 -1087
  572. package/out/automate/engine/2.14-components.js.map +0 -1
  573. package/yarn-error.log +0 -2087
@@ -0,0 +1,1101 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __assign = (this && this.__assign) || function () {
16
+ __assign = Object.assign || function(t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
+ t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __rest = (this && this.__rest) || function (s, e) {
69
+ var t = {};
70
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
71
+ t[p] = s[p];
72
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
73
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
74
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
75
+ t[p[i]] = s[p[i]];
76
+ }
77
+ return t;
78
+ };
79
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
80
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
81
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
82
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
83
+ r[k] = a[j];
84
+ return r;
85
+ };
86
+ exports.__esModule = true;
87
+ exports.BaseNode = void 0;
88
+ var lodash_1 = require("lodash");
89
+ var uuid_1 = require("uuid");
90
+ var map_1 = require("../service/storage/map");
91
+ var EventEmitter_1 = require("./EventEmitter");
92
+ var utils = require("../utils");
93
+ var classMap_1 = require("../common/classMap");
94
+ var decorators_1 = require("../decorators");
95
+ var __1 = require("..");
96
+ /**
97
+ * 顶点类
98
+ * 属性均为只读,仅在初始化和 load 的情况下可以修改
99
+ */
100
+ var BaseNode = /** @class */ (function (_super) {
101
+ __extends(BaseNode, _super);
102
+ /**
103
+ * @param source 需要合并的部分参数
104
+ */
105
+ function BaseNode(source) {
106
+ var _this = _super.call(this) || this;
107
+ /**
108
+ * 可修改标志,内部属性
109
+ * 标记在构造函数结束后是否可修改
110
+ */
111
+ _this._mutable = true;
112
+ /**
113
+ * 概念
114
+ */
115
+ _this.concept = undefined;
116
+ /**
117
+ * 唯一 Id
118
+ */
119
+ _this.id = uuid_1.v4().replace(/-/g, '');
120
+ /**
121
+ * 变动时间
122
+ */
123
+ _this.changedTime = undefined;
124
+ /**
125
+ * 分支名称
126
+ */
127
+ _this.branchName = undefined;
128
+ /**
129
+ * 合并代码相关
130
+ */
131
+ _this.workingCopy = undefined;
132
+ _this.branch = undefined;
133
+ /**
134
+ * 父节点
135
+ */
136
+ _this.parentNode = null;
137
+ _this.parentKey = '';
138
+ /**
139
+ * 是否正在编辑
140
+ * 前端 UI 状态
141
+ */
142
+ _this.editable = undefined;
143
+ /**
144
+ * 是否可以删除
145
+ * 前端 UI 状态
146
+ */
147
+ _this.removable = undefined;
148
+ /**
149
+ * 是否正在编辑
150
+ * 前端 UI 状态
151
+ */
152
+ _this.editing = false;
153
+ /**
154
+ * 是否正在请求
155
+ * 前端 UI 状态
156
+ */
157
+ _this.loading = false;
158
+ /**
159
+ * 节点是否为展开状态
160
+ * 前端 UI 状态
161
+ */
162
+ _this.expanded = false;
163
+ /**
164
+ * 节点是否显示
165
+ * 前端 UI 状态
166
+ */
167
+ _this.hidden = false;
168
+ /**
169
+ * 页面树节点是否显示
170
+ * 前端 UI 状态
171
+ */
172
+ _this.pageTreeNodeHidden = false;
173
+ /**
174
+ * 逻辑树节点是否显示
175
+ * 前端 UI 状态
176
+ */
177
+ _this.logicTreeNodeHidden = false;
178
+ /**
179
+ * 数据树节点是否显示
180
+ * 前端 UI 状态
181
+ */
182
+ _this.dataTreeNodeHidden = false;
183
+ /**
184
+ * 数据树节点是否展开
185
+ * 前端 UI 状态
186
+ */
187
+ _this.logicTreeNodeExpanded = false;
188
+ /**
189
+ * 用于挂 embeddedTS 的 sourceMap
190
+ */
191
+ _this.sourceMap = undefined;
192
+ /**
193
+ * 是否为叶子节点
194
+ * 前端 UI 状态
195
+ */
196
+ _this.isLeaf = false;
197
+ /**
198
+ * 当前节点上报错详细信息
199
+ */
200
+ _this.tsErrorDetail = undefined;
201
+ _this.name = '';
202
+ /**
203
+ * 是否正在编辑
204
+ * 前端 UI 状态
205
+ */
206
+ _this.__TypeAnnotation = undefined;
207
+ if (_this.hasOwnProperty('JSON_EXCLUDED_KEYS') && _this.JSON_EXCLUDED_KEYS === undefined)
208
+ delete _this.JSON_EXCLUDED_KEYS;
209
+ /**
210
+ * 监听action,delete,update事件
211
+ */
212
+ _this.on('create', _this.genActionListener);
213
+ _this.on('delete', _this.genActionListener);
214
+ _this.on('update', _this.genActionListener);
215
+ return _this;
216
+ }
217
+ BaseNode.prototype.subConstructor = function (source) {
218
+ var _this = this;
219
+ var propertyMap = decorators_1.getConceptPropertyMap(this.constructor.name);
220
+ var properties = Array.from(new Set(__spreadArrays(Object.keys(this), Object.keys(source)))).filter(function (key) { return propertyMap.has(key); });
221
+ properties.forEach(function (key) {
222
+ var property = propertyMap.get(key);
223
+ var sourceItem = source[key] !== undefined ? source[key] : _this[key];
224
+ var objectRefCtor;
225
+ try {
226
+ if (property.objectRef) {
227
+ var arr = property.objectRef.split(' | ');
228
+ for (var i = 0; i < arr.length; i++) {
229
+ objectRefCtor = decorators_1.getConceptConstructor(arr[i]);
230
+ if (sourceItem instanceof objectRefCtor) {
231
+ sourceItem.parentNode = _this;
232
+ sourceItem.parentKey = key;
233
+ break;
234
+ }
235
+ }
236
+ }
237
+ // 数组的情况也在这里做掉了
238
+ _this[key] = objectRefCtor && sourceItem && !(sourceItem instanceof objectRefCtor) ? _this.instantiateSub(sourceItem, key) : sourceItem;
239
+ }
240
+ catch (e) {
241
+ // Function has non-object prototype 'undefined' in instanceof check
242
+ if (!e.message.includes('Function has non-object prototype'))
243
+ throw e;
244
+ }
245
+ });
246
+ // if (config.storage.protocol === 'http' && loadThen[source.concept as 'App' | 'View']) {
247
+ // const { childNodes } = loadThen[source.concept as 'App' | 'View'] || {};
248
+ // const queryList = childNodes.map(({ field, concept }) => {
249
+ // const path = [this.nodePath, field].join('.');
250
+ // return {
251
+ // path,
252
+ // excludes: loadThen[concept as 'App' | 'View'].childNodes.map(({ field }) => field),
253
+ // };
254
+ // });
255
+ // storageService
256
+ // .batchQuery({
257
+ // body: queryList,
258
+ // headers: {
259
+ // appId: this.rootNode?.id || this.id,
260
+ // },
261
+ // })
262
+ // .then((data: any) =>
263
+ // data.forEach((sourceItem: any, index: number) => {
264
+ // const { field, concept } = childNodes[index];
265
+ // if (!sourceItem || (Array.isArray((this as any)[field]) && !Array.isArray(sourceItem))) {
266
+ // return;
267
+ // }
268
+ // const objectRefCtor = getConceptConstructor(concept);
269
+ // (this as any)[field] = objectRefCtor ? this.instantiateSub(sourceItem, field) : sourceItem;
270
+ // }));
271
+ // }
272
+ };
273
+ BaseNode.prototype.fixInstantiate = function () {
274
+ var _this = this;
275
+ var propertyMap = decorators_1.getConceptPropertyMap(this.constructor.name);
276
+ var properties = Object.keys(this).filter(function (key) { return propertyMap.has(key); });
277
+ properties.forEach(function (key) {
278
+ var property = propertyMap.get(key);
279
+ var sourceItem = _this[key];
280
+ var objectRefCtor = property.objectRef && decorators_1.getConceptConstructor(property.objectRef);
281
+ if (objectRefCtor) {
282
+ if (Array.isArray(sourceItem)) {
283
+ sourceItem.forEach(function (item, index) {
284
+ if (item instanceof objectRefCtor) {
285
+ item.parentNode = _this;
286
+ item.parentKey = key;
287
+ item.fixInstantiate();
288
+ }
289
+ else {
290
+ sourceItem[index] = _this.instantiateSub(item instanceof BaseNode ? item.toJSON() : item, key);
291
+ }
292
+ });
293
+ }
294
+ else {
295
+ if (sourceItem instanceof objectRefCtor) {
296
+ sourceItem.parentNode = _this;
297
+ sourceItem.parentKey = key;
298
+ sourceItem.fixInstantiate();
299
+ }
300
+ else {
301
+ _this[key] = _this.instantiateSub(sourceItem instanceof BaseNode ? sourceItem.toJSON() : sourceItem, key);
302
+ }
303
+ }
304
+ }
305
+ });
306
+ };
307
+ BaseNode.prototype.getIndexOfParent = function () {
308
+ var index = -1;
309
+ var parentNode = this.parentNode;
310
+ if (parentNode) {
311
+ var parentKey = this.parentKey;
312
+ var parentProperty = parentNode[parentKey];
313
+ if (Array.isArray(parentProperty)) {
314
+ index = parentProperty.indexOf(this);
315
+ }
316
+ }
317
+ return index;
318
+ };
319
+ /**
320
+ * 为存储点生成行为监听器
321
+ * @param action
322
+ * @returns
323
+ */
324
+ BaseNode.prototype.genActionListener = function ($event) {
325
+ var _a, _b;
326
+ // eventList是要被发送给后端的数据
327
+ if (!$event.eventList) {
328
+ $event.eventList = [];
329
+ }
330
+ if (!$event.eventStop) {
331
+ $event.eventList.push($event);
332
+ }
333
+ $event.originEvent = $event.originEvent || $event;
334
+ this.onChange($event);
335
+ if (this.concept === 'App') {
336
+ this.emit('storage', $event);
337
+ }
338
+ else if (this.parentNode && this.parentNode.emit) {
339
+ var event = {
340
+ action: 'update',
341
+ path: (_a = this.parentNode) === null || _a === void 0 ? void 0 : _a.getNodePath(false),
342
+ object: {},
343
+ oldObject: {},
344
+ originEvent: $event.originEvent,
345
+ eventList: $event.eventList,
346
+ // eventStop为true后,数据不再存入eventList,就不再会将冒泡数据发送给后端
347
+ eventStop: true
348
+ };
349
+ (_b = this.parentNode) === null || _b === void 0 ? void 0 : _b.emit('update', event);
350
+ }
351
+ };
352
+ BaseNode.prototype.createNode = function (_a) {
353
+ var parentNode = _a.parentNode, parentKey = _a.parentKey, index = _a.index;
354
+ if (parentNode) {
355
+ var property_1 = parentNode[parentKey];
356
+ if (Array.isArray(property_1) && index !== -1) {
357
+ property_1.splice(index, 0, this);
358
+ }
359
+ else {
360
+ parentNode[parentKey] = this;
361
+ }
362
+ this.parentNode = parentNode;
363
+ this.parentKey = parentKey;
364
+ this.create({
365
+ index: index,
366
+ parentKey: parentKey
367
+ });
368
+ }
369
+ };
370
+ BaseNode.prototype.toTemplateJSON = function () {
371
+ return this._toJSON(function (source) {
372
+ delete source.id;
373
+ return source;
374
+ });
375
+ };
376
+ /**
377
+ * 创建节点
378
+ */
379
+ BaseNode.prototype.create = function (parentParams) {
380
+ this.emit('create', __assign(__assign({ action: 'create', path: this.getNodePath(true), object: this.toJSON() }, parentParams), { oldObject: null }));
381
+ };
382
+ /**
383
+ * 如果有父节点,则删除节点,在添加时调用
384
+ */
385
+ BaseNode.prototype.ensureDelete = function () {
386
+ var _a, _b;
387
+ var _c;
388
+ // 批量赋值因为连线的问题需要特殊处理一下.
389
+ if (((_c = this.parentNode) === null || _c === void 0 ? void 0 : _c.concept) === 'SelectMembers') {
390
+ this.parentNode.ensureDelete();
391
+ return;
392
+ }
393
+ if (this.parentNode && this.parentKey) {
394
+ var path = this.getNodePath(false);
395
+ var parentParams = this._delete();
396
+ if (parentParams && parentParams.index !== -1) {
397
+ if (Array.isArray(this.parentNode[this.parentKey])) {
398
+ this.emit('delete', __assign({ action: 'delete', path: path, object: null }, parentParams));
399
+ }
400
+ else {
401
+ var parentPath = this.parentNode.getNodePath(false);
402
+ this.parentNode.emit('update', {
403
+ action: 'update',
404
+ path: parentPath,
405
+ object: (_a = {},
406
+ _a[this.parentKey] = null,
407
+ _a),
408
+ oldObject: (_b = {},
409
+ _b[this.parentKey] = this.toJSON(),
410
+ _b)
411
+ });
412
+ }
413
+ }
414
+ }
415
+ };
416
+ /**
417
+ * 删除节点
418
+ */
419
+ BaseNode.prototype["delete"] = function () {
420
+ var _a, _b;
421
+ var _c, _d;
422
+ if (((_c = this.parentNode) === null || _c === void 0 ? void 0 : _c.concept) === 'Match' && this.parentKey === 'expression') {
423
+ this.parentNode.setExpressionWitchCase(null);
424
+ return;
425
+ }
426
+ // 批量赋值因为连线的问题需要特殊处理一下.
427
+ if (((_d = this.parentNode) === null || _d === void 0 ? void 0 : _d.concept) === 'SelectMembers') {
428
+ var node = this.parentNode;
429
+ node["delete"]();
430
+ return;
431
+ }
432
+ else if (this.concept === 'SelectMembers') {
433
+ var node = this.parentNode;
434
+ node.changeLinesLocation(this);
435
+ }
436
+ var useIndex = ['BindEvent', 'Identifier'].includes(this.concept);
437
+ var path = this.getNodePath(useIndex);
438
+ var parentParams = this._delete();
439
+ if (parentParams && parentParams.index !== -1) {
440
+ if (Array.isArray(this.parentNode[this.parentKey])) {
441
+ this.emit('delete', __assign({ action: 'delete', path: path, object: null }, parentParams));
442
+ }
443
+ else {
444
+ var parentPath = this.parentNode.getNodePath(false);
445
+ this.parentNode.emit('update', {
446
+ action: 'update',
447
+ path: parentPath,
448
+ object: (_a = {},
449
+ _a[this.parentKey] = null,
450
+ _a),
451
+ oldObject: (_b = {},
452
+ _b[this.parentKey] = this.toJSON(),
453
+ _b)
454
+ });
455
+ }
456
+ }
457
+ };
458
+ /**
459
+ * 更新节点
460
+ */
461
+ BaseNode.prototype.update = function (_a) {
462
+ var _this = this;
463
+ var _b, _c;
464
+ var field = _a.field, object = __rest(_a, ["field"]);
465
+ var path = this.getNodePath(false);
466
+ var oldObject = {};
467
+ var _loop_1 = function (key) {
468
+ if (Object.prototype.hasOwnProperty.call(object, key)) {
469
+ var oldProperty = (_b = this_1[key]) !== null && _b !== void 0 ? _b : null;
470
+ oldObject[key] = oldProperty;
471
+ if (Array.isArray(oldProperty)) {
472
+ oldObject[key] = oldProperty.map(function (item) {
473
+ var propertyItem = item !== null && item !== void 0 ? item : null;
474
+ if (item instanceof BaseNode) {
475
+ propertyItem = item.toJSON();
476
+ }
477
+ return propertyItem;
478
+ });
479
+ }
480
+ else if (oldProperty instanceof BaseNode) {
481
+ oldObject[key] = oldProperty.toJSON();
482
+ }
483
+ var property_2 = (_c = object[key]) !== null && _c !== void 0 ? _c : null;
484
+ this_1[key] = property_2;
485
+ var objectRefCtor = decorators_1.getConceptConstructor(property_2 === null || property_2 === void 0 ? void 0 : property_2.concept);
486
+ if (Array.isArray(property_2)) {
487
+ this_1[key] = property_2.map(function (item) {
488
+ var propertyItem = item !== null && item !== void 0 ? item : null;
489
+ var propertyObjectRefCtor = decorators_1.getConceptConstructor(item === null || item === void 0 ? void 0 : item.concept);
490
+ if (propertyObjectRefCtor === null || propertyObjectRefCtor === void 0 ? void 0 : propertyObjectRefCtor.from) {
491
+ propertyItem = propertyObjectRefCtor.from(item, _this, key);
492
+ }
493
+ return propertyItem;
494
+ });
495
+ }
496
+ else if (objectRefCtor === null || objectRefCtor === void 0 ? void 0 : objectRefCtor.from) {
497
+ this_1[key] = objectRefCtor.from(property_2, this_1, key);
498
+ }
499
+ }
500
+ };
501
+ var this_1 = this;
502
+ for (var key in object) {
503
+ _loop_1(key);
504
+ }
505
+ this.emit('update', {
506
+ action: 'update',
507
+ path: path,
508
+ object: object,
509
+ oldObject: oldObject,
510
+ field: field
511
+ });
512
+ };
513
+ BaseNode.prototype._delete = function () {
514
+ /* override */
515
+ return {
516
+ propertyName: '',
517
+ index: -1,
518
+ object: null,
519
+ oldObject: this
520
+ };
521
+ };
522
+ BaseNode.from = function (source, parentNode, parentKey) {
523
+ // 有一些继承的情况
524
+ var Ctor = classMap_1["default"][source.concept] || this;
525
+ if (Ctor && source instanceof Ctor) {
526
+ if (parentNode) {
527
+ source.parentNode = parentNode;
528
+ }
529
+ if (parentKey) {
530
+ source.parentKey = parentKey;
531
+ }
532
+ return source;
533
+ }
534
+ if (Ctor) {
535
+ var instance = new Ctor();
536
+ if (parentNode) {
537
+ instance.parentNode = parentNode;
538
+ }
539
+ if (parentKey) {
540
+ instance.parentKey = parentKey;
541
+ }
542
+ instance.subConstructor(__assign(__assign({}, source), { concept: source.concept || Ctor.name, parentNode: parentNode }));
543
+ return instance;
544
+ }
545
+ };
546
+ Object.defineProperty(BaseNode.prototype, "nodePath", {
547
+ get: function () {
548
+ return this.getNodePath(false);
549
+ },
550
+ enumerable: false,
551
+ configurable: true
552
+ });
553
+ BaseNode.prototype.getNodePath = function (useIndex) {
554
+ var node = this;
555
+ var isNodeSelf = true;
556
+ var pathArr = [];
557
+ while (node) {
558
+ var path = '';
559
+ var parentNode = node.parentNode;
560
+ if (parentNode) {
561
+ var parentKey = node.parentKey;
562
+ path = parentKey;
563
+ var parentProperty = parentNode[parentKey];
564
+ if (Array.isArray(parentProperty)) {
565
+ var name = node.name;
566
+ if (!name || (useIndex && isNodeSelf)) {
567
+ var index = parentProperty.indexOf(node);
568
+ path += "[" + index + "]";
569
+ }
570
+ else {
571
+ path += "[name=" + name + "]";
572
+ }
573
+ }
574
+ pathArr.unshift(path);
575
+ }
576
+ node = parentNode;
577
+ isNodeSelf = false;
578
+ }
579
+ pathArr.unshift('app');
580
+ return pathArr.join('.');
581
+ };
582
+ Object.defineProperty(BaseNode.prototype, "upperNode", {
583
+ /**
584
+ * 上层节点
585
+ */
586
+ get: function () {
587
+ // eslint-disable-next-line consistent-this
588
+ var _upperNode = this;
589
+ while (!!_upperNode && _upperNode.concept === this.concept) {
590
+ _upperNode = _upperNode.parentNode;
591
+ }
592
+ return _upperNode;
593
+ },
594
+ enumerable: false,
595
+ configurable: true
596
+ });
597
+ Object.defineProperty(BaseNode.prototype, "rootNode", {
598
+ /**
599
+ * 根节点
600
+ */
601
+ get: function () {
602
+ return this.getAncestor('App');
603
+ },
604
+ enumerable: false,
605
+ configurable: true
606
+ });
607
+ /**
608
+ * 获取祖先节点
609
+ */
610
+ BaseNode.prototype.getAncestor = function (concept) {
611
+ var upperNode = this.upperNode;
612
+ while (upperNode && upperNode.concept && upperNode.concept !== concept) {
613
+ upperNode = upperNode.upperNode;
614
+ }
615
+ return upperNode;
616
+ };
617
+ /**
618
+ *
619
+ * @param source
620
+ * @param Ctor
621
+ * @param completeList
622
+ * @param idsList
623
+ */
624
+ BaseNode.prototype.handleSource = function (source, completeList) {
625
+ var _a = source || {}, id = _a.id, concept = _a.concept;
626
+ var actualSource = source instanceof BaseNode ? source : map_1.getSourceFromMap(id, concept);
627
+ completeList.push(actualSource || source);
628
+ };
629
+ Object.defineProperty(BaseNode.prototype, "tsName", {
630
+ /**
631
+ * 获取当前的TsName
632
+ */
633
+ get: function () {
634
+ if (this.name) {
635
+ var tsName = this.name;
636
+ // 匹配所有特殊字符都转为_
637
+ tsName = tsName.replace(/\W/g, '_');
638
+ if (/^\d/.test(tsName)) {
639
+ tsName = '$' + tsName;
640
+ }
641
+ return tsName;
642
+ }
643
+ return '';
644
+ },
645
+ enumerable: false,
646
+ configurable: true
647
+ });
648
+ /**
649
+ * 生成json
650
+ * @param instance
651
+ * @param Ctor
652
+ */
653
+ BaseNode.prototype.genSources = function (instance, filerFn) {
654
+ if (!instance) {
655
+ return instance;
656
+ }
657
+ if (Array.isArray(instance)) {
658
+ return instance.map(function (item) { return (item && item._toJSON ? item._toJSON(filerFn) : item); });
659
+ }
660
+ else {
661
+ return instance && instance._toJSON ? instance._toJSON(filerFn) : instance;
662
+ }
663
+ };
664
+ /**
665
+ * 实例化一个 JSON
666
+ * 由于有 from,只能先实例化父级,再实例化子级
667
+ * @param obj
668
+ * @param parentNode
669
+ * @returns
670
+ */
671
+ BaseNode.prototype.instantiate = function (source, parentNode, parentKey) {
672
+ if (source instanceof BaseNode) {
673
+ if (!source.parentNode || !source.parentKey) {
674
+ source.parentNode = parentNode;
675
+ source.parentKey = parentKey;
676
+ }
677
+ return source;
678
+ }
679
+ else if (source && source.concept && classMap_1["default"][source.concept]) {
680
+ var Ctor = classMap_1["default"][source.concept];
681
+ var instance = Ctor.from(source, parentNode, parentKey);
682
+ if (instance && instance.toStorageJSON)
683
+ instance.storageJSON = instance.toStorageJSON();
684
+ return instance;
685
+ }
686
+ else {
687
+ return source;
688
+ }
689
+ };
690
+ /**
691
+ * 激活 JSON 内部实例
692
+ * @param source
693
+ */
694
+ BaseNode.prototype.instantiateSub = function (source, parentKey) {
695
+ var _this = this;
696
+ if (!source) {
697
+ return;
698
+ }
699
+ var completeList = [];
700
+ var isArray = false;
701
+ // 暂时通过是否有name判断数据是否全
702
+ if (Array.isArray(source)) {
703
+ isArray = true;
704
+ source.forEach(function (sourceItem) {
705
+ _this.handleSource(sourceItem, completeList);
706
+ });
707
+ }
708
+ else {
709
+ this.handleSource(source, completeList);
710
+ }
711
+ var instanceList = completeList.map(function (item) { return _this.instantiate(item, _this, parentKey); });
712
+ if (isArray) {
713
+ return instanceList;
714
+ }
715
+ else if (Array.isArray(instanceList) && instanceList.length) {
716
+ return instanceList[0];
717
+ }
718
+ };
719
+ BaseNode.prototype.plainAssign = function (source) {
720
+ var _this = this;
721
+ this._mutable = true;
722
+ var oldId = this.id;
723
+ Object.keys(source).forEach(function (key) {
724
+ var value = source[key];
725
+ if (typeof value !== 'object' && typeof value !== 'function')
726
+ _this[key] = value;
727
+ });
728
+ this._mutable = false;
729
+ };
730
+ BaseNode.prototype.pick = function (source, keys) {
731
+ if (keys === void 0) { keys = []; }
732
+ var obj = {};
733
+ keys.forEach(function (key) { return (obj[key] = source[key]); });
734
+ // 这里统一用 assign,集中处理 id 的问题
735
+ // this.assign(obj);
736
+ };
737
+ /**
738
+ * 从对象中深度获取
739
+ * @param source
740
+ * @param keys
741
+ * @example 比如一般后端返回只是添加了个 id
742
+ * ```
743
+ * this.deepPick(result, ['id'])
744
+ */
745
+ BaseNode.prototype.deepPick = function (source, keys) {
746
+ var _this = this;
747
+ if (keys === void 0) { keys = []; }
748
+ utils.traverse(function (current) {
749
+ var subSource = current.jsonPath ? lodash_1.at(source, [current.jsonPath])[0] : source;
750
+ var target = current.jsonPath ? lodash_1.at(_this, [current.jsonPath])[0] : _this;
751
+ if (!target)
752
+ return;
753
+ var obj = {};
754
+ keys.forEach(function (key) {
755
+ if (subSource.hasOwnProperty(key)) {
756
+ obj[key] = subSource[key];
757
+ }
758
+ });
759
+ // 这里统一用 assign,集中处理 id 的问题
760
+ target.assign ? target.assign(obj) : Object.assign(target, obj);
761
+ }, { node: source }, { mode: 'anyObject' });
762
+ };
763
+ /**
764
+ * 去除循环依赖,转为纯 JSON
765
+ * @param parentKey 外面的 key,提供给 JSON.stringify 使用
766
+ * @param excludedKeys 需要额外排除的 keys
767
+ */
768
+ BaseNode.prototype.toJSON = function () {
769
+ return this._toJSON();
770
+ };
771
+ BaseNode.prototype._toJSON = function (filerFn) {
772
+ var _this = this;
773
+ var propertyMap = decorators_1.getConceptPropertyMap(this.constructor.name);
774
+ var source = {};
775
+ propertyMap.forEach(function (property, key) {
776
+ if (property) {
777
+ var propertyObjectRef = property.objectRef;
778
+ if (!propertyObjectRef) {
779
+ source[key] = _this[key];
780
+ }
781
+ else {
782
+ var sources = _this.genSources(_this[key], filerFn);
783
+ source[key] = sources;
784
+ }
785
+ }
786
+ });
787
+ return filerFn ? filerFn(source) : source;
788
+ };
789
+ /**
790
+ * 转为单层的 JSON
791
+ * @param parentKey 外面的 key,提供给 JSON.stringify 使用
792
+ * @param excludedKeys 需要额外排除的 keys
793
+ */
794
+ BaseNode.prototype.toPlainJSON = function (parentKey, excludedKeys) {
795
+ var _this = this;
796
+ if (excludedKeys === void 0) { excludedKeys = []; }
797
+ var JSON_EXCLUDED_KEYS = new Set(this.JSON_EXCLUDED_KEYS || []); // Object.getPrototypeOf(this).constructor.JSON_EXCLUDED_KEYS || [];
798
+ excludedKeys.forEach(function (key) { return JSON_EXCLUDED_KEYS.add(key); });
799
+ var temp = {};
800
+ Object.keys(this).forEach(function (key) {
801
+ var value = _this[key];
802
+ if (!JSON_EXCLUDED_KEYS.has(key) && typeof value !== 'object' && typeof value !== 'function')
803
+ temp[key] = value;
804
+ });
805
+ return JSON.parse(JSON.stringify(temp));
806
+ };
807
+ /**
808
+ * 查找引用
809
+ */
810
+ BaseNode.prototype.findUsage = function () {
811
+ return __awaiter(this, void 0, Promise, function () {
812
+ return __generator(this, function (_a) {
813
+ return [2 /*return*/];
814
+ });
815
+ });
816
+ };
817
+ BaseNode.prototype.findReadOnlyLogicUsage = function () {
818
+ return __awaiter(this, void 0, Promise, function () {
819
+ return __generator(this, function (_a) {
820
+ return [2 /*return*/];
821
+ });
822
+ });
823
+ };
824
+ /**
825
+ * 重命名
826
+ */
827
+ BaseNode.prototype.changeName = function (newValue) {
828
+ return __awaiter(this, void 0, Promise, function () {
829
+ return __generator(this, function (_a) {
830
+ return [2 /*return*/];
831
+ });
832
+ });
833
+ };
834
+ /**
835
+ * 准备删除
836
+ */
837
+ BaseNode.prototype.prepareDelete = function () {
838
+ return __awaiter(this, void 0, Promise, function () {
839
+ return __generator(this, function (_a) {
840
+ return [2 /*return*/];
841
+ });
842
+ });
843
+ };
844
+ /**
845
+ * 添加参数准备
846
+ */
847
+ BaseNode.prototype.addParamsPrepare = function () {
848
+ return __awaiter(this, void 0, Promise, function () {
849
+ return __generator(this, function (_a) {
850
+ return [2 /*return*/];
851
+ });
852
+ });
853
+ };
854
+ /**
855
+ * 获取当前节点类型
856
+ */
857
+ BaseNode.prototype.getCurrentTypeAnnotation = function () {
858
+ return __awaiter(this, void 0, Promise, function () {
859
+ return __generator(this, function (_a) {
860
+ return [2 /*return*/];
861
+ });
862
+ });
863
+ };
864
+ /**
865
+ * 销毁
866
+ * 从 Map 中删除点和子节点
867
+ */
868
+ BaseNode.prototype.destroy = function () {
869
+ // utils.traverse((current) => , { node: this }, {
870
+ // mode: 'anyObject',
871
+ // excludedKeySet: this.JSON_EXCLUDED_KEYS,
872
+ // });
873
+ };
874
+ BaseNode.prototype.onChange = function ($event) {
875
+ /* override */
876
+ };
877
+ BaseNode.prototype.onCreate = function ($event) {
878
+ /* override */
879
+ };
880
+ BaseNode.prototype.onDelete = function ($event) {
881
+ /* override */
882
+ };
883
+ /**
884
+ * 移动节点
885
+ * @param sourceNode
886
+ * @param position
887
+ */
888
+ BaseNode.prototype.moveNode = function (options) {
889
+ var sourceNode = options.sourceNode, position = options.position;
890
+ if (this.concept === 'App') {
891
+ return;
892
+ }
893
+ var actionMsg = "\u79FB\u52A8" + this.constructor.nodeTitle;
894
+ if (this.name) {
895
+ actionMsg += "\u201C" + this.name + "\u201D";
896
+ }
897
+ sourceNode.app.emit('collect:start', {
898
+ actionMsg: actionMsg
899
+ });
900
+ // 如果是兄弟节点之前的移动
901
+ if (position !== 'append' && this.concept !== sourceNode.concept) {
902
+ return;
903
+ }
904
+ // 先删
905
+ this["delete"]();
906
+ if (position === 'append') {
907
+ var action_1 = options.action;
908
+ if (!action_1)
909
+ action_1 = "add" + this.concept;
910
+ var parentNode = sourceNode;
911
+ parentNode[action_1](this);
912
+ }
913
+ else {
914
+ var parentNode = sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.parentNode;
915
+ var parentKey = (sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.parentKey) || '';
916
+ var list = parentNode[parentKey];
917
+ if (Array.isArray(list)) {
918
+ var index = list.indexOf(sourceNode);
919
+ if (position === 'insertAfter') {
920
+ index += 1;
921
+ }
922
+ Object.assign(this, {
923
+ parentNode: parentNode,
924
+ parentKey: parentKey
925
+ });
926
+ if (this.concept === 'ViewElement')
927
+ this.name = this.getViewElementUniqueName(this.name);
928
+ list.splice(index, 0, this);
929
+ this.create({
930
+ index: index,
931
+ parentNode: parentNode,
932
+ parentKey: parentKey
933
+ });
934
+ }
935
+ }
936
+ sourceNode.app.emit('collect:end');
937
+ };
938
+ /**
939
+ * 获取添加时的默认选项
940
+ * @returns
941
+ */
942
+ BaseNode.getDefaultOptions = function () {
943
+ return {};
944
+ };
945
+ BaseNode.prototype.traverseChildren = function (cb) {
946
+ function traverse(node) {
947
+ cb(node);
948
+ var propertyMap = decorators_1.getConceptPropertyMap(node === null || node === void 0 ? void 0 : node.concept);
949
+ if (!propertyMap)
950
+ return;
951
+ for (var _i = 0, _a = propertyMap.keys(); _i < _a.length; _i++) {
952
+ var property_3 = _a[_i];
953
+ var child = node[property_3];
954
+ if (!child)
955
+ continue;
956
+ else if (Array.isArray(child))
957
+ child.forEach(function (node) { return traverse(node); });
958
+ else
959
+ traverse(child);
960
+ }
961
+ }
962
+ traverse(this);
963
+ };
964
+ /**
965
+ * 获取当前节点在nasl标注节点上的节点
966
+ */
967
+ BaseNode.prototype.getCurrentAnnotatedJSON = function () {
968
+ return this.__TypeAnnotation;
969
+ };
970
+ /**
971
+ * 获取
972
+ * 当前this上下文 的Source 和 父级文件级别的节点
973
+ */
974
+ BaseNode.prototype.getCurrentSource = function () {
975
+ var node = this;
976
+ var sourceMap = node.sourceMap;
977
+ var fileNode = node;
978
+ // 如果没有sourceMap,就继续向上找 ,或者到module结束
979
+ // 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
980
+ // 如果当前节点是view就不要向上查找了
981
+ while (!sourceMap
982
+ && fileNode
983
+ && !(fileNode.parentNode instanceof __1.App)) {
984
+ fileNode = fileNode.parentNode;
985
+ sourceMap = fileNode === null || fileNode === void 0 ? void 0 : fileNode.sourceMap;
986
+ }
987
+ var currentSource = sourceMap && sourceMap.get(node);
988
+ if (currentSource) {
989
+ return { currentSource: currentSource, fileNode: fileNode };
990
+ }
991
+ return { fileNode: fileNode };
992
+ };
993
+ /**
994
+ * 获取
995
+ * 当前this上下文 的Source 和 父级文件级别的节点
996
+ */
997
+ BaseNode.prototype.getFileConceptNode = function (concept) {
998
+ var node = this;
999
+ var sourceMap = node.sourceMap;
1000
+ var fileNode = node;
1001
+ // 如果没有sourceMap,就继续向上找 ,或者到module结束
1002
+ // 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
1003
+ // 如果当前节点是view就不要向上查找了
1004
+ while (!sourceMap
1005
+ && fileNode
1006
+ && !(fileNode.parentNode instanceof __1.App)) {
1007
+ fileNode = fileNode.parentNode;
1008
+ sourceMap = fileNode === null || fileNode === void 0 ? void 0 : fileNode.sourceMap;
1009
+ }
1010
+ var arr = [];
1011
+ sourceMap && sourceMap.forEach(function (value, key) {
1012
+ if (key.concept === concept)
1013
+ arr.push({ key: key, value: value });
1014
+ });
1015
+ return arr;
1016
+ };
1017
+ __decorate([
1018
+ decorators_1.excludedInJSON()
1019
+ ], BaseNode.prototype, "_mutable");
1020
+ __decorate([
1021
+ decorators_1.property()
1022
+ ], BaseNode.prototype, "concept");
1023
+ __decorate([
1024
+ decorators_1.property()
1025
+ ], BaseNode.prototype, "changedTime");
1026
+ __decorate([
1027
+ decorators_1.property()
1028
+ ], BaseNode.prototype, "branchName");
1029
+ __decorate([
1030
+ decorators_1.property()
1031
+ ], BaseNode.prototype, "workingCopy");
1032
+ __decorate([
1033
+ decorators_1.property()
1034
+ ], BaseNode.prototype, "branch");
1035
+ __decorate([
1036
+ decorators_1.circular()
1037
+ ], BaseNode.prototype, "parentNode");
1038
+ __decorate([
1039
+ decorators_1.excludedInJSON()
1040
+ ], BaseNode.prototype, "editable");
1041
+ __decorate([
1042
+ decorators_1.excludedInJSON()
1043
+ ], BaseNode.prototype, "removable");
1044
+ __decorate([
1045
+ decorators_1.excludedInJSON()
1046
+ ], BaseNode.prototype, "editing");
1047
+ __decorate([
1048
+ decorators_1.excludedInJSON()
1049
+ ], BaseNode.prototype, "loading");
1050
+ __decorate([
1051
+ decorators_1.excludedInJSON()
1052
+ ], BaseNode.prototype, "expanded");
1053
+ __decorate([
1054
+ decorators_1.excludedInJSON()
1055
+ ], BaseNode.prototype, "hidden");
1056
+ __decorate([
1057
+ decorators_1.excludedInJSON()
1058
+ ], BaseNode.prototype, "pageTreeNodeHidden");
1059
+ __decorate([
1060
+ decorators_1.excludedInJSON()
1061
+ ], BaseNode.prototype, "logicTreeNodeHidden");
1062
+ __decorate([
1063
+ decorators_1.excludedInJSON()
1064
+ ], BaseNode.prototype, "dataTreeNodeHidden");
1065
+ __decorate([
1066
+ decorators_1.excludedInJSON()
1067
+ ], BaseNode.prototype, "logicTreeNodeExpanded");
1068
+ __decorate([
1069
+ decorators_1.excludedInJSON()
1070
+ ], BaseNode.prototype, "sourceMap");
1071
+ __decorate([
1072
+ decorators_1.excludedInJSON()
1073
+ ], BaseNode.prototype, "isLeaf");
1074
+ __decorate([
1075
+ decorators_1.excludedInJSON()
1076
+ ], BaseNode.prototype, "storageJSON");
1077
+ __decorate([
1078
+ decorators_1.property()
1079
+ ], BaseNode.prototype, "name");
1080
+ __decorate([
1081
+ decorators_1.excludedInJSON()
1082
+ ], BaseNode.prototype, "__TypeAnnotation");
1083
+ __decorate([
1084
+ decorators_1.action('查找引用')
1085
+ ], BaseNode.prototype, "findUsage");
1086
+ __decorate([
1087
+ decorators_1.action('重命名')
1088
+ ], BaseNode.prototype, "changeName");
1089
+ __decorate([
1090
+ decorators_1.action('准备删除')
1091
+ ], BaseNode.prototype, "prepareDelete");
1092
+ __decorate([
1093
+ decorators_1.action('添加参数准备')
1094
+ ], BaseNode.prototype, "addParamsPrepare");
1095
+ __decorate([
1096
+ decorators_1.action('获取当前节点类型')
1097
+ ], BaseNode.prototype, "getCurrentTypeAnnotation");
1098
+ return BaseNode;
1099
+ }(EventEmitter_1.EventEmitter));
1100
+ exports.BaseNode = BaseNode;
1101
+ exports["default"] = BaseNode;