@lcap/nasl-language-server-core 3.9.0-beta.2 → 3.9.0-beta.20

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 (519) hide show
  1. package/out/module/graph.d.ts +16 -5
  2. package/out/module/graph.d.ts.map +1 -1
  3. package/out/module/graph.js +132 -23
  4. package/out/module/graph.js.map +1 -1
  5. package/out/module/index.d.ts +1 -0
  6. package/out/module/index.d.ts.map +1 -1
  7. package/out/module/index.js +1 -0
  8. package/out/module/index.js.map +1 -1
  9. package/out/module/module.d.ts +15 -6
  10. package/out/module/module.d.ts.map +1 -1
  11. package/out/module/module.js +51 -8
  12. package/out/module/module.js.map +1 -1
  13. package/out/module/types.d.ts +11 -0
  14. package/out/module/types.d.ts.map +1 -0
  15. package/out/module/types.js +6 -0
  16. package/out/module/types.js.map +1 -0
  17. package/out/symbol/namespace.d.ts +2 -0
  18. package/out/symbol/namespace.d.ts.map +1 -1
  19. package/out/symbol/namespace.js +24 -1
  20. package/out/symbol/namespace.js.map +1 -1
  21. package/out/symbol/symbol.d.ts +1 -0
  22. package/out/symbol/symbol.d.ts.map +1 -1
  23. package/out/symbol/symbol.js +2 -0
  24. package/out/symbol/symbol.js.map +1 -1
  25. package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.d.ts +7 -0
  26. package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.d.ts.map +1 -0
  27. package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.js +12 -0
  28. package/out/symbol/traverse/concepts/auth/auth-logic-for-interface.js.map +1 -0
  29. package/out/symbol/traverse/concepts/auth/auth-logic.d.ts +7 -0
  30. package/out/symbol/traverse/concepts/auth/auth-logic.d.ts.map +1 -0
  31. package/out/symbol/traverse/concepts/auth/auth-logic.js +12 -0
  32. package/out/symbol/traverse/concepts/auth/auth-logic.js.map +1 -0
  33. package/out/symbol/traverse/concepts/auth/index.d.ts +3 -0
  34. package/out/symbol/traverse/concepts/auth/index.d.ts.map +1 -0
  35. package/out/symbol/traverse/concepts/auth/index.js +19 -0
  36. package/out/symbol/traverse/concepts/auth/index.js.map +1 -0
  37. package/out/symbol/traverse/concepts/connection/connection.d.ts +7 -0
  38. package/out/symbol/traverse/concepts/connection/connection.d.ts.map +1 -0
  39. package/out/symbol/traverse/concepts/connection/connection.js +12 -0
  40. package/out/symbol/traverse/concepts/connection/connection.js.map +1 -0
  41. package/out/symbol/traverse/concepts/connection/connector-trigger.d.ts +7 -0
  42. package/out/symbol/traverse/concepts/connection/connector-trigger.d.ts.map +1 -0
  43. package/out/symbol/traverse/concepts/connection/connector-trigger.js +26 -0
  44. package/out/symbol/traverse/concepts/connection/connector-trigger.js.map +1 -0
  45. package/out/symbol/traverse/concepts/connection/index.d.ts +3 -0
  46. package/out/symbol/traverse/concepts/connection/index.d.ts.map +1 -0
  47. package/out/symbol/traverse/concepts/connection/index.js +19 -0
  48. package/out/symbol/traverse/concepts/connection/index.js.map +1 -0
  49. package/out/symbol/traverse/concepts/{entity.d.ts → data-source/entity.d.ts} +2 -2
  50. package/out/symbol/traverse/concepts/data-source/entity.d.ts.map +1 -0
  51. package/out/symbol/traverse/concepts/data-source/entity.js +41 -0
  52. package/out/symbol/traverse/concepts/data-source/entity.js.map +1 -0
  53. package/out/symbol/traverse/concepts/data-source/index.d.ts +2 -0
  54. package/out/symbol/traverse/concepts/data-source/index.d.ts.map +1 -0
  55. package/out/symbol/traverse/concepts/data-source/index.js +18 -0
  56. package/out/symbol/traverse/concepts/data-source/index.js.map +1 -0
  57. package/out/symbol/traverse/concepts/{enum.d.ts → enum/enum.d.ts} +2 -2
  58. package/out/symbol/traverse/concepts/enum/enum.d.ts.map +1 -0
  59. package/out/symbol/traverse/concepts/{enum.js → enum/enum.js} +3 -3
  60. package/out/symbol/traverse/concepts/enum/enum.js.map +1 -0
  61. package/out/symbol/traverse/concepts/enum/index.d.ts +2 -0
  62. package/out/symbol/traverse/concepts/enum/index.d.ts.map +1 -0
  63. package/out/symbol/traverse/concepts/enum/index.js +18 -0
  64. package/out/symbol/traverse/concepts/enum/index.js.map +1 -0
  65. package/out/symbol/traverse/concepts/frontend/bind-attr.d.ts +7 -0
  66. package/out/symbol/traverse/concepts/frontend/bind-attr.d.ts.map +1 -0
  67. package/out/symbol/traverse/concepts/frontend/bind-attr.js +30 -0
  68. package/out/symbol/traverse/concepts/frontend/bind-attr.js.map +1 -0
  69. package/out/symbol/traverse/concepts/frontend/bind-directive.d.ts +7 -0
  70. package/out/symbol/traverse/concepts/frontend/bind-directive.d.ts.map +1 -0
  71. package/out/symbol/traverse/concepts/frontend/bind-directive.js +14 -0
  72. package/out/symbol/traverse/concepts/frontend/bind-directive.js.map +1 -0
  73. package/out/symbol/traverse/concepts/frontend/bind-event.d.ts +7 -0
  74. package/out/symbol/traverse/concepts/frontend/bind-event.d.ts.map +1 -0
  75. package/out/symbol/traverse/concepts/frontend/bind-event.js +14 -0
  76. package/out/symbol/traverse/concepts/frontend/bind-event.js.map +1 -0
  77. package/out/symbol/traverse/concepts/frontend/bind-style.d.ts +7 -0
  78. package/out/symbol/traverse/concepts/frontend/bind-style.d.ts.map +1 -0
  79. package/out/symbol/traverse/concepts/frontend/bind-style.js +14 -0
  80. package/out/symbol/traverse/concepts/frontend/bind-style.js.map +1 -0
  81. package/out/symbol/traverse/concepts/frontend/business-components.d.ts +7 -0
  82. package/out/symbol/traverse/concepts/frontend/business-components.d.ts.map +1 -0
  83. package/out/symbol/traverse/concepts/frontend/business-components.js +44 -0
  84. package/out/symbol/traverse/concepts/frontend/business-components.js.map +1 -0
  85. package/out/symbol/traverse/concepts/frontend/frontend-type.d.ts +7 -0
  86. package/out/symbol/traverse/concepts/frontend/frontend-type.d.ts.map +1 -0
  87. package/out/symbol/traverse/concepts/{frontend-type.js → frontend/frontend-type.js} +11 -6
  88. package/out/symbol/traverse/concepts/frontend/frontend-type.js.map +1 -0
  89. package/out/symbol/traverse/concepts/frontend/frontend.d.ts +7 -0
  90. package/out/symbol/traverse/concepts/frontend/frontend.d.ts.map +1 -0
  91. package/out/symbol/traverse/concepts/{frontend.js → frontend/frontend.js} +7 -7
  92. package/out/symbol/traverse/concepts/frontend/frontend.js.map +1 -0
  93. package/out/symbol/traverse/concepts/frontend/index.d.ts +10 -0
  94. package/out/symbol/traverse/concepts/frontend/index.d.ts.map +1 -0
  95. package/out/symbol/traverse/concepts/frontend/index.js +26 -0
  96. package/out/symbol/traverse/concepts/frontend/index.js.map +1 -0
  97. package/out/symbol/traverse/concepts/frontend/validation-rule.d.ts +7 -0
  98. package/out/symbol/traverse/concepts/frontend/validation-rule.d.ts.map +1 -0
  99. package/out/symbol/traverse/concepts/frontend/validation-rule.js +17 -0
  100. package/out/symbol/traverse/concepts/frontend/validation-rule.js.map +1 -0
  101. package/out/symbol/traverse/concepts/frontend/view-element.d.ts +7 -0
  102. package/out/symbol/traverse/concepts/frontend/view-element.d.ts.map +1 -0
  103. package/out/symbol/traverse/concepts/{view-element.js → frontend/view-element.js} +8 -8
  104. package/out/symbol/traverse/concepts/frontend/view-element.js.map +1 -0
  105. package/out/symbol/traverse/concepts/frontend/view.d.ts +8 -0
  106. package/out/symbol/traverse/concepts/frontend/view.d.ts.map +1 -0
  107. package/out/symbol/traverse/concepts/{view.js → frontend/view.js} +14 -10
  108. package/out/symbol/traverse/concepts/frontend/view.js.map +1 -0
  109. package/out/symbol/traverse/concepts/index.d.ts +1 -1
  110. package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
  111. package/out/symbol/traverse/concepts/index.js +4 -3
  112. package/out/symbol/traverse/concepts/index.js.map +1 -1
  113. package/out/symbol/traverse/concepts/logic/expression/anchor.d.ts +7 -0
  114. package/out/symbol/traverse/concepts/logic/expression/anchor.d.ts.map +1 -0
  115. package/out/symbol/traverse/concepts/logic/expression/anchor.js +14 -0
  116. package/out/symbol/traverse/concepts/logic/expression/anchor.js.map +1 -0
  117. package/out/symbol/traverse/concepts/logic/expression/anonymous-function.d.ts +7 -0
  118. package/out/symbol/traverse/concepts/logic/expression/anonymous-function.d.ts.map +1 -0
  119. package/out/symbol/traverse/concepts/{anonymous-function.js → logic/expression/anonymous-function.js} +4 -4
  120. package/out/symbol/traverse/concepts/logic/expression/anonymous-function.js.map +1 -0
  121. package/out/symbol/traverse/concepts/logic/expression/argument.d.ts +7 -0
  122. package/out/symbol/traverse/concepts/logic/expression/argument.d.ts.map +1 -0
  123. package/out/symbol/traverse/concepts/logic/expression/argument.js +14 -0
  124. package/out/symbol/traverse/concepts/logic/expression/argument.js.map +1 -0
  125. package/out/symbol/traverse/concepts/logic/expression/binary-expression.d.ts +7 -0
  126. package/out/symbol/traverse/concepts/logic/expression/binary-expression.d.ts.map +1 -0
  127. package/out/symbol/traverse/concepts/logic/expression/binary-expression.js +13 -0
  128. package/out/symbol/traverse/concepts/logic/expression/binary-expression.js.map +1 -0
  129. package/out/symbol/traverse/concepts/logic/expression/call-connector.d.ts +7 -0
  130. package/out/symbol/traverse/concepts/logic/expression/call-connector.d.ts.map +1 -0
  131. package/out/symbol/traverse/concepts/logic/expression/call-connector.js +14 -0
  132. package/out/symbol/traverse/concepts/logic/expression/call-connector.js.map +1 -0
  133. package/out/symbol/traverse/concepts/logic/expression/call-function.d.ts +7 -0
  134. package/out/symbol/traverse/concepts/logic/expression/call-function.d.ts.map +1 -0
  135. package/out/symbol/traverse/concepts/logic/expression/call-function.js +16 -0
  136. package/out/symbol/traverse/concepts/logic/expression/call-function.js.map +1 -0
  137. package/out/symbol/traverse/concepts/logic/expression/call-interface.d.ts +9 -0
  138. package/out/symbol/traverse/concepts/logic/expression/call-interface.d.ts.map +1 -0
  139. package/out/symbol/traverse/concepts/logic/expression/call-interface.js +21 -0
  140. package/out/symbol/traverse/concepts/logic/expression/call-interface.js.map +1 -0
  141. package/out/symbol/traverse/concepts/logic/expression/call-logic.d.ts +7 -0
  142. package/out/symbol/traverse/concepts/logic/expression/call-logic.d.ts.map +1 -0
  143. package/out/symbol/traverse/concepts/logic/expression/call-logic.js +42 -0
  144. package/out/symbol/traverse/concepts/logic/expression/call-logic.js.map +1 -0
  145. package/out/symbol/traverse/concepts/logic/expression/call-query-component.d.ts +39 -0
  146. package/out/symbol/traverse/concepts/logic/expression/call-query-component.d.ts.map +1 -0
  147. package/out/symbol/traverse/concepts/logic/expression/call-query-component.js +140 -0
  148. package/out/symbol/traverse/concepts/logic/expression/call-query-component.js.map +1 -0
  149. package/out/symbol/traverse/concepts/logic/expression/default-value.d.ts +7 -0
  150. package/out/symbol/traverse/concepts/logic/expression/default-value.d.ts.map +1 -0
  151. package/out/symbol/traverse/concepts/logic/expression/default-value.js +14 -0
  152. package/out/symbol/traverse/concepts/logic/expression/default-value.js.map +1 -0
  153. package/out/symbol/traverse/concepts/logic/expression/destination.d.ts +7 -0
  154. package/out/symbol/traverse/concepts/logic/expression/destination.d.ts.map +1 -0
  155. package/out/symbol/traverse/concepts/{destination.js → logic/expression/destination.js} +4 -4
  156. package/out/symbol/traverse/concepts/logic/expression/destination.js.map +1 -0
  157. package/out/symbol/traverse/concepts/logic/expression/expression.d.ts +7 -0
  158. package/out/symbol/traverse/concepts/logic/expression/expression.d.ts.map +1 -0
  159. package/out/symbol/traverse/concepts/logic/expression/expression.js +191 -0
  160. package/out/symbol/traverse/concepts/logic/expression/expression.js.map +1 -0
  161. package/out/symbol/traverse/concepts/logic/expression/external-destination.d.ts +7 -0
  162. package/out/symbol/traverse/concepts/logic/expression/external-destination.d.ts.map +1 -0
  163. package/out/symbol/traverse/concepts/logic/expression/external-destination.js +18 -0
  164. package/out/symbol/traverse/concepts/logic/expression/external-destination.js.map +1 -0
  165. package/out/symbol/traverse/concepts/logic/expression/function.d.ts +7 -0
  166. package/out/symbol/traverse/concepts/logic/expression/function.d.ts.map +1 -0
  167. package/out/symbol/traverse/concepts/logic/expression/function.js +22 -0
  168. package/out/symbol/traverse/concepts/logic/expression/function.js.map +1 -0
  169. package/out/symbol/traverse/concepts/logic/expression/identifier.d.ts +7 -0
  170. package/out/symbol/traverse/concepts/logic/expression/identifier.d.ts.map +1 -0
  171. package/out/symbol/traverse/concepts/logic/expression/identifier.js +12 -0
  172. package/out/symbol/traverse/concepts/logic/expression/identifier.js.map +1 -0
  173. package/out/symbol/traverse/concepts/logic/expression/index.d.ts +28 -0
  174. package/out/symbol/traverse/concepts/logic/expression/index.d.ts.map +1 -0
  175. package/out/symbol/traverse/concepts/logic/expression/index.js +44 -0
  176. package/out/symbol/traverse/concepts/logic/expression/index.js.map +1 -0
  177. package/out/symbol/traverse/concepts/logic/expression/literal.d.ts +2 -0
  178. package/out/symbol/traverse/concepts/logic/expression/literal.d.ts.map +1 -0
  179. package/out/symbol/traverse/concepts/logic/expression/literal.js +6 -0
  180. package/out/symbol/traverse/concepts/logic/expression/literal.js.map +1 -0
  181. package/out/symbol/traverse/concepts/logic/expression/match.d.ts +7 -0
  182. package/out/symbol/traverse/concepts/logic/expression/match.d.ts.map +1 -0
  183. package/out/symbol/traverse/concepts/logic/expression/match.js +27 -0
  184. package/out/symbol/traverse/concepts/logic/expression/match.js.map +1 -0
  185. package/out/symbol/traverse/concepts/logic/expression/member-expression.d.ts +7 -0
  186. package/out/symbol/traverse/concepts/logic/expression/member-expression.d.ts.map +1 -0
  187. package/out/symbol/traverse/concepts/logic/expression/member-expression.js +12 -0
  188. package/out/symbol/traverse/concepts/logic/expression/member-expression.js.map +1 -0
  189. package/out/symbol/traverse/concepts/logic/expression/new-composite.d.ts +7 -0
  190. package/out/symbol/traverse/concepts/logic/expression/new-composite.d.ts.map +1 -0
  191. package/out/symbol/traverse/concepts/logic/expression/new-composite.js +21 -0
  192. package/out/symbol/traverse/concepts/logic/expression/new-composite.js.map +1 -0
  193. package/out/symbol/traverse/concepts/logic/expression/new-list.d.ts +7 -0
  194. package/out/symbol/traverse/concepts/logic/expression/new-list.d.ts.map +1 -0
  195. package/out/symbol/traverse/concepts/logic/expression/new-list.js +18 -0
  196. package/out/symbol/traverse/concepts/logic/expression/new-list.js.map +1 -0
  197. package/out/symbol/traverse/concepts/logic/expression/new-map.d.ts +7 -0
  198. package/out/symbol/traverse/concepts/logic/expression/new-map.d.ts.map +1 -0
  199. package/out/symbol/traverse/concepts/logic/expression/new-map.js +21 -0
  200. package/out/symbol/traverse/concepts/logic/expression/new-map.js.map +1 -0
  201. package/out/symbol/traverse/concepts/logic/expression/new-structure.d.ts +7 -0
  202. package/out/symbol/traverse/concepts/logic/expression/new-structure.d.ts.map +1 -0
  203. package/out/symbol/traverse/concepts/logic/expression/new-structure.js +18 -0
  204. package/out/symbol/traverse/concepts/logic/expression/new-structure.js.map +1 -0
  205. package/out/symbol/traverse/concepts/logic/expression/new.d.ts +7 -0
  206. package/out/symbol/traverse/concepts/logic/expression/new.d.ts.map +1 -0
  207. package/out/symbol/traverse/concepts/logic/expression/new.js +11 -0
  208. package/out/symbol/traverse/concepts/logic/expression/new.js.map +1 -0
  209. package/out/symbol/traverse/concepts/logic/expression/oql-query-component.d.ts +9 -0
  210. package/out/symbol/traverse/concepts/logic/expression/oql-query-component.d.ts.map +1 -0
  211. package/out/symbol/traverse/concepts/{oql-query-component.js → logic/expression/oql-query-component.js} +6 -4
  212. package/out/symbol/traverse/concepts/logic/expression/oql-query-component.js.map +1 -0
  213. package/out/symbol/traverse/concepts/logic/expression/paginate.d.ts +7 -0
  214. package/out/symbol/traverse/concepts/logic/expression/paginate.d.ts.map +1 -0
  215. package/out/symbol/traverse/concepts/logic/expression/paginate.js +14 -0
  216. package/out/symbol/traverse/concepts/logic/expression/paginate.js.map +1 -0
  217. package/out/symbol/traverse/concepts/logic/expression/select-members.d.ts +7 -0
  218. package/out/symbol/traverse/concepts/logic/expression/select-members.d.ts.map +1 -0
  219. package/out/symbol/traverse/concepts/{select-members.js → logic/expression/select-members.js} +4 -4
  220. package/out/symbol/traverse/concepts/logic/expression/select-members.js.map +1 -0
  221. package/out/symbol/traverse/concepts/logic/expression/string-interpolation.d.ts +7 -0
  222. package/out/symbol/traverse/concepts/logic/expression/string-interpolation.d.ts.map +1 -0
  223. package/out/symbol/traverse/concepts/logic/expression/string-interpolation.js +14 -0
  224. package/out/symbol/traverse/concepts/logic/expression/string-interpolation.js.map +1 -0
  225. package/out/symbol/traverse/concepts/logic/expression/unary-expression.d.ts +7 -0
  226. package/out/symbol/traverse/concepts/logic/expression/unary-expression.d.ts.map +1 -0
  227. package/out/symbol/traverse/concepts/logic/expression/unary-expression.js +12 -0
  228. package/out/symbol/traverse/concepts/logic/expression/unary-expression.js.map +1 -0
  229. package/out/symbol/traverse/concepts/logic/function.d.ts +7 -0
  230. package/out/symbol/traverse/concepts/logic/function.d.ts.map +1 -0
  231. package/out/symbol/traverse/concepts/{function.js → logic/function.js} +7 -7
  232. package/out/symbol/traverse/concepts/logic/function.js.map +1 -0
  233. package/out/symbol/traverse/concepts/logic/index.d.ts +7 -0
  234. package/out/symbol/traverse/concepts/logic/index.d.ts.map +1 -0
  235. package/out/symbol/traverse/concepts/logic/index.js +23 -0
  236. package/out/symbol/traverse/concepts/logic/index.js.map +1 -0
  237. package/out/symbol/traverse/concepts/logic/interface.d.ts +7 -0
  238. package/out/symbol/traverse/concepts/logic/interface.d.ts.map +1 -0
  239. package/out/symbol/traverse/concepts/logic/interface.js +38 -0
  240. package/out/symbol/traverse/concepts/logic/interface.js.map +1 -0
  241. package/out/symbol/traverse/concepts/logic/logic.d.ts +8 -0
  242. package/out/symbol/traverse/concepts/logic/logic.d.ts.map +1 -0
  243. package/out/symbol/traverse/concepts/logic/logic.js +36 -0
  244. package/out/symbol/traverse/concepts/logic/logic.js.map +1 -0
  245. package/out/symbol/traverse/concepts/logic/overridden-logic.d.ts +8 -0
  246. package/out/symbol/traverse/concepts/logic/overridden-logic.d.ts.map +1 -0
  247. package/out/symbol/traverse/concepts/logic/overridden-logic.js +29 -0
  248. package/out/symbol/traverse/concepts/logic/overridden-logic.js.map +1 -0
  249. package/out/symbol/traverse/concepts/logic/statement/assignment.d.ts +7 -0
  250. package/out/symbol/traverse/concepts/logic/statement/assignment.d.ts.map +1 -0
  251. package/out/symbol/traverse/concepts/{assignment.js → logic/statement/assignment.js} +7 -9
  252. package/out/symbol/traverse/concepts/logic/statement/assignment.js.map +1 -0
  253. package/out/symbol/traverse/concepts/logic/statement/batch-assignment.d.ts +7 -0
  254. package/out/symbol/traverse/concepts/logic/statement/batch-assignment.d.ts.map +1 -0
  255. package/out/symbol/traverse/concepts/logic/statement/batch-assignment.js +15 -0
  256. package/out/symbol/traverse/concepts/logic/statement/batch-assignment.js.map +1 -0
  257. package/out/symbol/traverse/concepts/logic/statement/block.d.ts +7 -0
  258. package/out/symbol/traverse/concepts/logic/statement/block.d.ts.map +1 -0
  259. package/out/symbol/traverse/concepts/{block.js → logic/statement/block.js} +4 -4
  260. package/out/symbol/traverse/concepts/logic/statement/block.js.map +1 -0
  261. package/out/symbol/traverse/concepts/logic/statement/for-each-statement.d.ts +7 -0
  262. package/out/symbol/traverse/concepts/logic/statement/for-each-statement.d.ts.map +1 -0
  263. package/out/symbol/traverse/concepts/logic/statement/for-each-statement.js +31 -0
  264. package/out/symbol/traverse/concepts/logic/statement/for-each-statement.js.map +1 -0
  265. package/out/symbol/traverse/concepts/logic/statement/if-statement.d.ts +7 -0
  266. package/out/symbol/traverse/concepts/logic/statement/if-statement.d.ts.map +1 -0
  267. package/out/symbol/traverse/concepts/logic/statement/if-statement.js +19 -0
  268. package/out/symbol/traverse/concepts/logic/statement/if-statement.js.map +1 -0
  269. package/out/symbol/traverse/concepts/logic/statement/index.d.ts +7 -0
  270. package/out/symbol/traverse/concepts/logic/statement/index.d.ts.map +1 -0
  271. package/out/symbol/traverse/concepts/logic/statement/index.js +23 -0
  272. package/out/symbol/traverse/concepts/logic/statement/index.js.map +1 -0
  273. package/out/symbol/traverse/concepts/logic/statement/statement.d.ts +7 -0
  274. package/out/symbol/traverse/concepts/logic/statement/statement.d.ts.map +1 -0
  275. package/out/symbol/traverse/concepts/{statement.js → logic/statement/statement.js} +17 -19
  276. package/out/symbol/traverse/concepts/logic/statement/statement.js.map +1 -0
  277. package/out/symbol/traverse/concepts/logic/statement/switch-statement.d.ts +7 -0
  278. package/out/symbol/traverse/concepts/logic/statement/switch-statement.d.ts.map +1 -0
  279. package/out/symbol/traverse/concepts/logic/statement/switch-statement.js +20 -0
  280. package/out/symbol/traverse/concepts/logic/statement/switch-statement.js.map +1 -0
  281. package/out/symbol/traverse/concepts/logic/statement/while-statement.d.ts +7 -0
  282. package/out/symbol/traverse/concepts/logic/statement/while-statement.d.ts.map +1 -0
  283. package/out/symbol/traverse/concepts/logic/statement/while-statement.js +16 -0
  284. package/out/symbol/traverse/concepts/logic/statement/while-statement.js.map +1 -0
  285. package/out/symbol/traverse/concepts/logic/variable.d.ts +11 -0
  286. package/out/symbol/traverse/concepts/logic/variable.d.ts.map +1 -0
  287. package/out/symbol/traverse/concepts/logic/variable.js +25 -0
  288. package/out/symbol/traverse/concepts/logic/variable.js.map +1 -0
  289. package/out/symbol/traverse/concepts/other/app.d.ts +11 -0
  290. package/out/symbol/traverse/concepts/other/app.d.ts.map +1 -0
  291. package/out/symbol/traverse/concepts/other/app.js +118 -0
  292. package/out/symbol/traverse/concepts/other/app.js.map +1 -0
  293. package/out/symbol/traverse/concepts/other/backend.d.ts +15 -0
  294. package/out/symbol/traverse/concepts/other/backend.d.ts.map +1 -0
  295. package/out/symbol/traverse/concepts/other/backend.js +65 -0
  296. package/out/symbol/traverse/concepts/other/backend.js.map +1 -0
  297. package/out/symbol/traverse/concepts/other/connector.d.ts +15 -0
  298. package/out/symbol/traverse/concepts/other/connector.d.ts.map +1 -0
  299. package/out/symbol/traverse/concepts/other/connector.js +56 -0
  300. package/out/symbol/traverse/concepts/other/connector.js.map +1 -0
  301. package/out/symbol/traverse/concepts/other/index.d.ts +6 -0
  302. package/out/symbol/traverse/concepts/other/index.d.ts.map +1 -0
  303. package/out/symbol/traverse/concepts/other/index.js +22 -0
  304. package/out/symbol/traverse/concepts/other/index.js.map +1 -0
  305. package/out/symbol/traverse/concepts/other/module.d.ts +15 -0
  306. package/out/symbol/traverse/concepts/other/module.d.ts.map +1 -0
  307. package/out/symbol/traverse/concepts/other/module.js +39 -0
  308. package/out/symbol/traverse/concepts/other/module.js.map +1 -0
  309. package/out/symbol/traverse/concepts/other/namespace.d.ts +9 -0
  310. package/out/symbol/traverse/concepts/other/namespace.d.ts.map +1 -0
  311. package/out/symbol/traverse/concepts/other/namespace.js +48 -0
  312. package/out/symbol/traverse/concepts/other/namespace.js.map +1 -0
  313. package/out/symbol/traverse/concepts/other/type-annotation.d.ts +7 -0
  314. package/out/symbol/traverse/concepts/other/type-annotation.d.ts.map +1 -0
  315. package/out/symbol/traverse/concepts/{type-annotation.js → other/type-annotation.js} +7 -7
  316. package/out/symbol/traverse/concepts/other/type-annotation.js.map +1 -0
  317. package/out/symbol/traverse/concepts/structure/index.d.ts +2 -0
  318. package/out/symbol/traverse/concepts/structure/index.d.ts.map +1 -0
  319. package/out/symbol/traverse/concepts/structure/index.js +18 -0
  320. package/out/symbol/traverse/concepts/structure/index.js.map +1 -0
  321. package/out/symbol/traverse/concepts/{structure.d.ts → structure/structure.d.ts} +2 -2
  322. package/out/symbol/traverse/concepts/structure/structure.d.ts.map +1 -0
  323. package/out/symbol/traverse/concepts/{structure.js → structure/structure.js} +7 -7
  324. package/out/symbol/traverse/concepts/structure/structure.js.map +1 -0
  325. package/out/symbol/traverse/concepts/utils.d.ts +3 -2
  326. package/out/symbol/traverse/concepts/utils.d.ts.map +1 -1
  327. package/out/symbol/traverse/concepts/utils.js +3 -1
  328. package/out/symbol/traverse/concepts/utils.js.map +1 -1
  329. package/out/utils/array.d.ts +7 -0
  330. package/out/utils/array.d.ts.map +1 -0
  331. package/out/utils/array.js +17 -0
  332. package/out/utils/array.js.map +1 -0
  333. package/package.json +7 -8
  334. package/out/symbol/traverse/concepts/anchor.d.ts +0 -7
  335. package/out/symbol/traverse/concepts/anchor.d.ts.map +0 -1
  336. package/out/symbol/traverse/concepts/anchor.js +0 -14
  337. package/out/symbol/traverse/concepts/anchor.js.map +0 -1
  338. package/out/symbol/traverse/concepts/anonymous-function.d.ts +0 -7
  339. package/out/symbol/traverse/concepts/anonymous-function.d.ts.map +0 -1
  340. package/out/symbol/traverse/concepts/anonymous-function.js.map +0 -1
  341. package/out/symbol/traverse/concepts/app.d.ts +0 -11
  342. package/out/symbol/traverse/concepts/app.d.ts.map +0 -1
  343. package/out/symbol/traverse/concepts/app.js +0 -115
  344. package/out/symbol/traverse/concepts/app.js.map +0 -1
  345. package/out/symbol/traverse/concepts/argument.d.ts +0 -7
  346. package/out/symbol/traverse/concepts/argument.d.ts.map +0 -1
  347. package/out/symbol/traverse/concepts/argument.js +0 -14
  348. package/out/symbol/traverse/concepts/argument.js.map +0 -1
  349. package/out/symbol/traverse/concepts/assignment.d.ts +0 -7
  350. package/out/symbol/traverse/concepts/assignment.d.ts.map +0 -1
  351. package/out/symbol/traverse/concepts/assignment.js.map +0 -1
  352. package/out/symbol/traverse/concepts/auth-logic.d.ts +0 -11
  353. package/out/symbol/traverse/concepts/auth-logic.d.ts.map +0 -1
  354. package/out/symbol/traverse/concepts/auth-logic.js +0 -17
  355. package/out/symbol/traverse/concepts/auth-logic.js.map +0 -1
  356. package/out/symbol/traverse/concepts/backend.d.ts +0 -15
  357. package/out/symbol/traverse/concepts/backend.d.ts.map +0 -1
  358. package/out/symbol/traverse/concepts/backend.js +0 -46
  359. package/out/symbol/traverse/concepts/backend.js.map +0 -1
  360. package/out/symbol/traverse/concepts/batch-assignment.d.ts +0 -7
  361. package/out/symbol/traverse/concepts/batch-assignment.d.ts.map +0 -1
  362. package/out/symbol/traverse/concepts/batch-assignment.js +0 -15
  363. package/out/symbol/traverse/concepts/batch-assignment.js.map +0 -1
  364. package/out/symbol/traverse/concepts/binary-expression.d.ts +0 -7
  365. package/out/symbol/traverse/concepts/binary-expression.d.ts.map +0 -1
  366. package/out/symbol/traverse/concepts/binary-expression.js +0 -13
  367. package/out/symbol/traverse/concepts/binary-expression.js.map +0 -1
  368. package/out/symbol/traverse/concepts/bind-attr.d.ts +0 -7
  369. package/out/symbol/traverse/concepts/bind-attr.d.ts.map +0 -1
  370. package/out/symbol/traverse/concepts/bind-attr.js +0 -26
  371. package/out/symbol/traverse/concepts/bind-attr.js.map +0 -1
  372. package/out/symbol/traverse/concepts/bind-directive.d.ts +0 -7
  373. package/out/symbol/traverse/concepts/bind-directive.d.ts.map +0 -1
  374. package/out/symbol/traverse/concepts/bind-directive.js +0 -14
  375. package/out/symbol/traverse/concepts/bind-directive.js.map +0 -1
  376. package/out/symbol/traverse/concepts/bind-event.d.ts +0 -7
  377. package/out/symbol/traverse/concepts/bind-event.d.ts.map +0 -1
  378. package/out/symbol/traverse/concepts/bind-event.js +0 -14
  379. package/out/symbol/traverse/concepts/bind-event.js.map +0 -1
  380. package/out/symbol/traverse/concepts/bind-style.d.ts +0 -7
  381. package/out/symbol/traverse/concepts/bind-style.d.ts.map +0 -1
  382. package/out/symbol/traverse/concepts/bind-style.js +0 -14
  383. package/out/symbol/traverse/concepts/bind-style.js.map +0 -1
  384. package/out/symbol/traverse/concepts/block.d.ts +0 -7
  385. package/out/symbol/traverse/concepts/block.d.ts.map +0 -1
  386. package/out/symbol/traverse/concepts/block.js.map +0 -1
  387. package/out/symbol/traverse/concepts/call-connector.d.ts +0 -7
  388. package/out/symbol/traverse/concepts/call-connector.d.ts.map +0 -1
  389. package/out/symbol/traverse/concepts/call-connector.js +0 -11
  390. package/out/symbol/traverse/concepts/call-connector.js.map +0 -1
  391. package/out/symbol/traverse/concepts/call-function.d.ts +0 -7
  392. package/out/symbol/traverse/concepts/call-function.d.ts.map +0 -1
  393. package/out/symbol/traverse/concepts/call-function.js +0 -11
  394. package/out/symbol/traverse/concepts/call-function.js.map +0 -1
  395. package/out/symbol/traverse/concepts/call-interface.d.ts +0 -7
  396. package/out/symbol/traverse/concepts/call-interface.d.ts.map +0 -1
  397. package/out/symbol/traverse/concepts/call-interface.js +0 -13
  398. package/out/symbol/traverse/concepts/call-interface.js.map +0 -1
  399. package/out/symbol/traverse/concepts/call-logic.d.ts +0 -7
  400. package/out/symbol/traverse/concepts/call-logic.d.ts.map +0 -1
  401. package/out/symbol/traverse/concepts/call-logic.js +0 -30
  402. package/out/symbol/traverse/concepts/call-logic.js.map +0 -1
  403. package/out/symbol/traverse/concepts/call-query-component.d.ts +0 -11
  404. package/out/symbol/traverse/concepts/call-query-component.d.ts.map +0 -1
  405. package/out/symbol/traverse/concepts/call-query-component.js +0 -19
  406. package/out/symbol/traverse/concepts/call-query-component.js.map +0 -1
  407. package/out/symbol/traverse/concepts/default-value.d.ts +0 -7
  408. package/out/symbol/traverse/concepts/default-value.d.ts.map +0 -1
  409. package/out/symbol/traverse/concepts/default-value.js +0 -14
  410. package/out/symbol/traverse/concepts/default-value.js.map +0 -1
  411. package/out/symbol/traverse/concepts/destination.d.ts +0 -7
  412. package/out/symbol/traverse/concepts/destination.d.ts.map +0 -1
  413. package/out/symbol/traverse/concepts/destination.js.map +0 -1
  414. package/out/symbol/traverse/concepts/entity.d.ts.map +0 -1
  415. package/out/symbol/traverse/concepts/entity.js +0 -38
  416. package/out/symbol/traverse/concepts/entity.js.map +0 -1
  417. package/out/symbol/traverse/concepts/enum.d.ts.map +0 -1
  418. package/out/symbol/traverse/concepts/enum.js.map +0 -1
  419. package/out/symbol/traverse/concepts/expression.d.ts +0 -7
  420. package/out/symbol/traverse/concepts/expression.d.ts.map +0 -1
  421. package/out/symbol/traverse/concepts/expression.js +0 -126
  422. package/out/symbol/traverse/concepts/expression.js.map +0 -1
  423. package/out/symbol/traverse/concepts/external-destination.d.ts +0 -7
  424. package/out/symbol/traverse/concepts/external-destination.d.ts.map +0 -1
  425. package/out/symbol/traverse/concepts/external-destination.js +0 -18
  426. package/out/symbol/traverse/concepts/external-destination.js.map +0 -1
  427. package/out/symbol/traverse/concepts/for-each-statement.d.ts +0 -7
  428. package/out/symbol/traverse/concepts/for-each-statement.d.ts.map +0 -1
  429. package/out/symbol/traverse/concepts/for-each-statement.js +0 -31
  430. package/out/symbol/traverse/concepts/for-each-statement.js.map +0 -1
  431. package/out/symbol/traverse/concepts/frontend-type.d.ts +0 -7
  432. package/out/symbol/traverse/concepts/frontend-type.d.ts.map +0 -1
  433. package/out/symbol/traverse/concepts/frontend-type.js.map +0 -1
  434. package/out/symbol/traverse/concepts/frontend.d.ts +0 -7
  435. package/out/symbol/traverse/concepts/frontend.d.ts.map +0 -1
  436. package/out/symbol/traverse/concepts/frontend.js.map +0 -1
  437. package/out/symbol/traverse/concepts/function.d.ts +0 -7
  438. package/out/symbol/traverse/concepts/function.d.ts.map +0 -1
  439. package/out/symbol/traverse/concepts/function.js.map +0 -1
  440. package/out/symbol/traverse/concepts/identifier.d.ts +0 -7
  441. package/out/symbol/traverse/concepts/identifier.d.ts.map +0 -1
  442. package/out/symbol/traverse/concepts/identifier.js +0 -12
  443. package/out/symbol/traverse/concepts/identifier.js.map +0 -1
  444. package/out/symbol/traverse/concepts/if-statement.d.ts +0 -7
  445. package/out/symbol/traverse/concepts/if-statement.d.ts.map +0 -1
  446. package/out/symbol/traverse/concepts/if-statement.js +0 -19
  447. package/out/symbol/traverse/concepts/if-statement.js.map +0 -1
  448. package/out/symbol/traverse/concepts/interface.d.ts +0 -7
  449. package/out/symbol/traverse/concepts/interface.d.ts.map +0 -1
  450. package/out/symbol/traverse/concepts/interface.js +0 -18
  451. package/out/symbol/traverse/concepts/interface.js.map +0 -1
  452. package/out/symbol/traverse/concepts/logic.d.ts +0 -7
  453. package/out/symbol/traverse/concepts/logic.d.ts.map +0 -1
  454. package/out/symbol/traverse/concepts/logic.js +0 -29
  455. package/out/symbol/traverse/concepts/logic.js.map +0 -1
  456. package/out/symbol/traverse/concepts/match-statement.d.ts +0 -7
  457. package/out/symbol/traverse/concepts/match-statement.d.ts.map +0 -1
  458. package/out/symbol/traverse/concepts/match-statement.js +0 -28
  459. package/out/symbol/traverse/concepts/match-statement.js.map +0 -1
  460. package/out/symbol/traverse/concepts/member-expression.d.ts +0 -7
  461. package/out/symbol/traverse/concepts/member-expression.d.ts.map +0 -1
  462. package/out/symbol/traverse/concepts/member-expression.js +0 -12
  463. package/out/symbol/traverse/concepts/member-expression.js.map +0 -1
  464. package/out/symbol/traverse/concepts/module.d.ts +0 -15
  465. package/out/symbol/traverse/concepts/module.d.ts.map +0 -1
  466. package/out/symbol/traverse/concepts/module.js +0 -32
  467. package/out/symbol/traverse/concepts/module.js.map +0 -1
  468. package/out/symbol/traverse/concepts/namespace.d.ts +0 -9
  469. package/out/symbol/traverse/concepts/namespace.d.ts.map +0 -1
  470. package/out/symbol/traverse/concepts/namespace.js +0 -48
  471. package/out/symbol/traverse/concepts/namespace.js.map +0 -1
  472. package/out/symbol/traverse/concepts/new-list.d.ts +0 -7
  473. package/out/symbol/traverse/concepts/new-list.d.ts.map +0 -1
  474. package/out/symbol/traverse/concepts/new-list.js +0 -18
  475. package/out/symbol/traverse/concepts/new-list.js.map +0 -1
  476. package/out/symbol/traverse/concepts/oql-query-component.d.ts +0 -7
  477. package/out/symbol/traverse/concepts/oql-query-component.d.ts.map +0 -1
  478. package/out/symbol/traverse/concepts/oql-query-component.js.map +0 -1
  479. package/out/symbol/traverse/concepts/paginate.d.ts +0 -7
  480. package/out/symbol/traverse/concepts/paginate.d.ts.map +0 -1
  481. package/out/symbol/traverse/concepts/paginate.js +0 -14
  482. package/out/symbol/traverse/concepts/paginate.js.map +0 -1
  483. package/out/symbol/traverse/concepts/select-members.d.ts +0 -7
  484. package/out/symbol/traverse/concepts/select-members.d.ts.map +0 -1
  485. package/out/symbol/traverse/concepts/select-members.js.map +0 -1
  486. package/out/symbol/traverse/concepts/statement.d.ts +0 -7
  487. package/out/symbol/traverse/concepts/statement.d.ts.map +0 -1
  488. package/out/symbol/traverse/concepts/statement.js.map +0 -1
  489. package/out/symbol/traverse/concepts/string-interpolation.d.ts +0 -7
  490. package/out/symbol/traverse/concepts/string-interpolation.d.ts.map +0 -1
  491. package/out/symbol/traverse/concepts/string-interpolation.js +0 -14
  492. package/out/symbol/traverse/concepts/string-interpolation.js.map +0 -1
  493. package/out/symbol/traverse/concepts/structure.d.ts.map +0 -1
  494. package/out/symbol/traverse/concepts/structure.js.map +0 -1
  495. package/out/symbol/traverse/concepts/switch-statement.d.ts +0 -7
  496. package/out/symbol/traverse/concepts/switch-statement.d.ts.map +0 -1
  497. package/out/symbol/traverse/concepts/switch-statement.js +0 -20
  498. package/out/symbol/traverse/concepts/switch-statement.js.map +0 -1
  499. package/out/symbol/traverse/concepts/type-annotation.d.ts +0 -7
  500. package/out/symbol/traverse/concepts/type-annotation.d.ts.map +0 -1
  501. package/out/symbol/traverse/concepts/type-annotation.js.map +0 -1
  502. package/out/symbol/traverse/concepts/unary-expression.d.ts +0 -7
  503. package/out/symbol/traverse/concepts/unary-expression.d.ts.map +0 -1
  504. package/out/symbol/traverse/concepts/unary-expression.js +0 -12
  505. package/out/symbol/traverse/concepts/unary-expression.js.map +0 -1
  506. package/out/symbol/traverse/concepts/variable.d.ts +0 -9
  507. package/out/symbol/traverse/concepts/variable.d.ts.map +0 -1
  508. package/out/symbol/traverse/concepts/variable.js +0 -27
  509. package/out/symbol/traverse/concepts/variable.js.map +0 -1
  510. package/out/symbol/traverse/concepts/view-element.d.ts +0 -7
  511. package/out/symbol/traverse/concepts/view-element.d.ts.map +0 -1
  512. package/out/symbol/traverse/concepts/view-element.js.map +0 -1
  513. package/out/symbol/traverse/concepts/view.d.ts +0 -7
  514. package/out/symbol/traverse/concepts/view.d.ts.map +0 -1
  515. package/out/symbol/traverse/concepts/view.js.map +0 -1
  516. package/out/symbol/traverse/concepts/while-statement.d.ts +0 -7
  517. package/out/symbol/traverse/concepts/while-statement.d.ts.map +0 -1
  518. package/out/symbol/traverse/concepts/while-statement.js +0 -16
  519. package/out/symbol/traverse/concepts/while-statement.js.map +0 -1
@@ -1,19 +1,30 @@
1
- import type { Module as Type } from '@lcap/nasl-types';
2
- import { type SyntaxNode } from '@lcap/nasl-concepts';
1
+ import { Module as Type } from '@lcap/nasl-types';
2
+ import { type App, type SyntaxNode } from '@lcap/nasl-concepts';
3
3
  import { SymbolGraph, Symbol } from '../symbol';
4
+ import type { TopologicalSortContext } from './types';
4
5
  import { Module } from './module';
5
6
  export declare class ModuleGraph implements Type.ModuleGraph {
6
- static from(data: object): ModuleGraph;
7
+ static fromNaslData(data: object | App): ModuleGraph;
7
8
  readonly createTime: number;
9
+ /** 符号表 */
8
10
  private symbolGraph;
11
+ /** 节点模块映射表 */
9
12
  private moduleMap;
13
+ /** 节点路径映射表 */
14
+ private moduleNodeMap;
10
15
  constructor(symbolGraph: SymbolGraph);
11
- private get app();
16
+ /** 当前 Nasl 根节点 */
17
+ get app(): App;
12
18
  private init;
19
+ /**
20
+ * 获取循环引用
21
+ */
22
+ private getCircular;
13
23
  getModuleByNode(node: SyntaxNode): Module;
24
+ getModuleByNodePath(nodePath: string): Module | undefined;
14
25
  getModuleMapBySymbol(symbol: Symbol): void;
15
26
  getModules(): Module[];
16
- diffByModuleGraph(old: ModuleGraph): Module[];
27
+ topologicalSort(context: TopologicalSortContext): Promise<Module[]>;
17
28
  toData(): Type.ModuleGraphData;
18
29
  }
19
30
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAY,KAAK,UAAU,EAAkC,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,WAAY,YAAW,IAAI,CAAC,WAAW;IAClD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;IAQxB,QAAQ,CAAC,UAAU,SAAc;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAA+B;gBAEpC,WAAW,EAAE,WAAW;IAKpC,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,CAAC,IAAI;IA6BZ,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAezC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB1C,UAAU;IAIV,iBAAiB,CAAC,GAAG,EAAE,WAAW;IAIlC,MAAM,IAAI,IAAI,CAAC,eAAe;CAc/B"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,qBAAa,WAAY,YAAW,IAAI,CAAC,WAAW;IAClD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAStC,QAAQ,CAAC,UAAU,SAAc;IAEjC,UAAU;IACV,OAAO,CAAC,WAAW,CAAc;IACjC,cAAc;IACd,OAAO,CAAC,SAAS,CAA+B;IAChD,cAAc;IACd,OAAO,CAAC,aAAa,CAA2B;gBAEpC,WAAW,EAAE,WAAW;IAKpC,kBAAkB;IAClB,IAAI,GAAG,QAEN;IAED,OAAO,CAAC,IAAI;IAmBZ;;OAEG;IACH,OAAO,CAAC,WAAW;IAgDnB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAezC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB1C,UAAU;IAIJ,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0EzE,MAAM,IAAI,IAAI,CAAC,eAAe;CAc/B"}
@@ -1,50 +1,94 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleGraph = void 0;
4
+ const nasl_types_1 = require("@lcap/nasl-types");
4
5
  const nasl_concepts_1 = require("@lcap/nasl-concepts");
6
+ const asserts_1 = require("@lcap/nasl-concepts/asserts");
7
+ const service_1 = require("@lcap/nasl-concepts/service");
5
8
  const symbol_1 = require("../symbol");
6
9
  const module_1 = require("./module");
10
+ const array_1 = require("../utils/array");
7
11
  class ModuleGraph {
8
- static from(data) {
9
- const App = (0, nasl_concepts_1.getConceptConstructor)('App');
10
- const app = new App(data);
12
+ static fromNaslData(data) {
13
+ const app = (0, asserts_1.isStrictApp)(data)
14
+ ? data
15
+ : new ((0, nasl_concepts_1.getConceptConstructor)('App'))(data);
11
16
  const symbolGraph = new symbol_1.SymbolGraph(app);
12
17
  const moduleGraph = new ModuleGraph(symbolGraph);
13
18
  return moduleGraph;
14
19
  }
15
20
  constructor(symbolGraph) {
16
21
  this.createTime = Date.now();
22
+ /** 节点模块映射表 */
17
23
  this.moduleMap = new Map;
24
+ /** 节点路径映射表 */
25
+ this.moduleNodeMap = new Map;
18
26
  this.symbolGraph = symbolGraph;
19
27
  this.init();
20
28
  }
29
+ /** 当前 Nasl 根节点 */
21
30
  get app() {
22
- return this.symbolGraph.app;
31
+ return this.symbolGraph?.app;
23
32
  }
24
33
  init() {
25
- const { app, moduleMap } = this;
26
- const moduleConcepts = nasl_concepts_1.service.getFileNodesByNasl(app);
34
+ const { app, moduleMap, moduleNodeMap } = this;
35
+ const moduleConcepts = (0, service_1.getFileNodesByNasl)(app);
27
36
  // 记录所有模块
28
- moduleConcepts.forEach((mod) => moduleMap.set(mod, new module_1.Module(mod)));
29
- // 计算所有模块最后修改时间
30
- moduleConcepts.forEach((modNode => {
31
- const mod = moduleMap.get(modNode);
32
- modNode.traverseStrictChildrenWithPruning((child) => {
33
- // 当前节点是别的模块根节点,则剪枝
34
- if (moduleMap.has(child)) {
35
- return true;
36
- }
37
- if (child.changedTime && child.changedTime > mod.lastModifyTime) {
38
- mod.lastModifyTime = child.changedTime;
39
- }
40
- });
41
- }));
37
+ moduleConcepts.forEach((node) => {
38
+ const mod = new module_1.Module(node);
39
+ moduleMap.set(node, mod);
40
+ moduleNodeMap.set(node.nodePath, mod);
41
+ });
42
42
  const symbols = this.symbolGraph.getSymbols()
43
43
  .filter((item) => item.isUsed && item.declaration);
44
44
  for (const symbol of symbols) {
45
45
  this.getModuleMapBySymbol(symbol);
46
46
  }
47
47
  }
48
+ /**
49
+ * 获取循环引用
50
+ */
51
+ getCircular() {
52
+ /** 未访问模块 */
53
+ const allVisit = new Set(this.moduleMap.values());
54
+ /** 循环引用 */
55
+ const circular = [];
56
+ /** 合并集合 */
57
+ const mergeSet = (set1, set2) => {
58
+ for (const item of set2) {
59
+ set1.add(item);
60
+ }
61
+ };
62
+ function dfs(mod, visitStack) {
63
+ // 循环引用
64
+ if (visitStack.has(mod)) {
65
+ circular.push(visitStack);
66
+ }
67
+ // 非循环引用,且已经被访问过
68
+ else if (!allVisit.has(mod)) {
69
+ const circularSet = circular.find((set) => set.has(mod));
70
+ // 是循环引用节点,则合并路径
71
+ if (circularSet) {
72
+ mergeSet(circularSet, visitStack);
73
+ }
74
+ }
75
+ else {
76
+ const deps = mod.getDependencyModules();
77
+ allVisit.delete(mod);
78
+ if (deps.length > 0) {
79
+ const newVisitStack = new Set(visitStack);
80
+ newVisitStack.add(mod);
81
+ for (const dep of deps) {
82
+ dfs(dep.dependency, newVisitStack);
83
+ }
84
+ }
85
+ }
86
+ }
87
+ while (allVisit.size > 0) {
88
+ dfs(allVisit.values().next().value, new Set());
89
+ }
90
+ return circular;
91
+ }
48
92
  getModuleByNode(node) {
49
93
  let currentNode = node;
50
94
  while (currentNode.parentNode) {
@@ -56,6 +100,9 @@ class ModuleGraph {
56
100
  // 兜底返回 App 的模块
57
101
  return this.moduleMap.get(node.app);
58
102
  }
103
+ getModuleByNodePath(nodePath) {
104
+ return this.moduleNodeMap.get(nodePath);
105
+ }
59
106
  getModuleMapBySymbol(symbol) {
60
107
  if (!symbol.declaration) {
61
108
  throw new Error(`未找到此符号的声明语句: ${symbol.name}`);
@@ -63,7 +110,7 @@ class ModuleGraph {
63
110
  const current = this.getModuleByNode(symbol.declaration);
64
111
  for (const refNode of symbol.references) {
65
112
  const refModule = this.getModuleByNode(refNode);
66
- if (refModule !== current) {
113
+ if (refModule && refModule !== current) {
67
114
  refModule.addDependency(current);
68
115
  }
69
116
  }
@@ -71,8 +118,70 @@ class ModuleGraph {
71
118
  getModules() {
72
119
  return Array.from(this.moduleMap.values());
73
120
  }
74
- diffByModuleGraph(old) {
75
- return [];
121
+ async topologicalSort(context) {
122
+ /**
123
+ * 模块状态表
124
+ *
125
+ * @description 在集合内表示未标注
126
+ */
127
+ const waitAnnotationModules = new Set(this.moduleMap.values());
128
+ /**
129
+ * 模块是否更新签名
130
+ */
131
+ const updatedModules = new Set();
132
+ /** 循环引用模块 */
133
+ const circularSets = this.getCircular();
134
+ /** 查询模块状态 */
135
+ const getModuleStatus = (mod) => {
136
+ if (!waitAnnotationModules.has(mod)) {
137
+ return nasl_types_1.Module.ModuleStatusInTopologicalSort.NotVisit;
138
+ }
139
+ else if (updatedModules.has(mod)) {
140
+ return nasl_types_1.Module.ModuleStatusInTopologicalSort.VisitedWithModify;
141
+ }
142
+ else {
143
+ return nasl_types_1.Module.ModuleStatusInTopologicalSort.VisitedWithNoModify;
144
+ }
145
+ };
146
+ /** 是否可以进行标注 */
147
+ const canAnnotation = (modules) => {
148
+ return (
149
+ // 没有依赖
150
+ modules.length === 0 ||
151
+ // 有依赖但是所有依赖已经标注完成
152
+ modules.every((mod) => !waitAnnotationModules.has(mod)));
153
+ };
154
+ // 循环,直到队列为空
155
+ while (waitAnnotationModules.size > 0) {
156
+ // 普通模块
157
+ const normalModules = Array.from(waitAnnotationModules.values()).filter((mod) => {
158
+ const dependencies = mod.getDependencyModules();
159
+ return (
160
+ // 非循环引用模块
161
+ circularSets.every((set) => !set.has(mod)) &&
162
+ // 允许标注
163
+ canAnnotation(dependencies.map((mod) => mod.dependency)));
164
+ });
165
+ // 循环引用集合
166
+ const circularSet = circularSets.filter((set) => {
167
+ /** 除开循环模块之外的所有依赖 */
168
+ const allDependencies = Array.from(set)
169
+ .map((mod) => (mod.getDependencyModules().map((item) => item.dependency)))
170
+ .reduce((ans, item) => ans.concat(item), [])
171
+ .filter((mod) => !set.has(mod));
172
+ return canAnnotation(allDependencies);
173
+ });
174
+ // 循环模块
175
+ const circularModules = circularSet.map((set) => Array.from(set)).reduce((ans, item) => ans.concat(item), []);
176
+ // 本轮待标注模块
177
+ const currentModules = normalModules.concat(circularModules);
178
+ // 标注模块
179
+ const changedModules = await context.getModulesSignature(currentModules, getModuleStatus);
180
+ circularSet.forEach((set) => (0, array_1.removeItem)(circularSets, set));
181
+ changedModules.forEach((mod) => updatedModules.add(mod));
182
+ currentModules.forEach((mod) => waitAnnotationModules.delete(mod));
183
+ }
184
+ return Array.from(updatedModules);
76
185
  }
77
186
  toData() {
78
187
  const result = {
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './dependency';
2
2
  export * from './graph';
3
3
  export * from './module';
4
+ export * from './types';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./dependency"), exports);
18
18
  __exportStar(require("./graph"), exports);
19
19
  __exportStar(require("./module"), exports);
20
+ __exportStar(require("./types"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB"}
@@ -1,16 +1,25 @@
1
1
  import type { Module as Type } from '@lcap/nasl-types';
2
- import type { SyntaxNode } from '@lcap/nasl-concepts';
2
+ import type { SyntaxNode, App } from '@lcap/nasl-concepts';
3
3
  import { ModuleDependency } from './dependency';
4
4
  export declare class Module implements Type.Module {
5
- readonly node: SyntaxNode;
5
+ static from(app: App, data: Type.ModuleData): Module;
6
6
  private readonly imported;
7
7
  private readonly dependencyModules;
8
- lastModifyTime: number;
9
- lastSignatureTime: number;
10
- signature: string;
11
- constructor(node: SyntaxNode);
8
+ private _node;
9
+ private _count;
10
+ private _signature;
11
+ private _lastModifyTime;
12
+ private _lastSignatureTime;
13
+ constructor(node: SyntaxNode, options?: Partial<Type.ModuleData>);
12
14
  get name(): string;
15
+ get count(): number;
16
+ get signature(): string;
17
+ get lastModifyTime(): number;
18
+ get isLastSignature(): boolean;
19
+ get node(): SyntaxNode;
13
20
  toData(): Type.ModuleData;
21
+ updateNode(node: SyntaxNode): void;
22
+ updateSignature(signature: string): void;
14
23
  addDependency(dependency: Module): void;
15
24
  getImported(): Module[];
16
25
  getDependencyModules(): ModuleDependency[];
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,qBAAa,MAAO,YAAW,IAAI,CAAC,MAAM;IACxC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAE5D,cAAc,SAAM;IAEpB,iBAAiB,SAAM;IAEvB,SAAS,SAAM;gBAEH,IAAI,EAAE,UAAU;IAI5B,IAAI,IAAI,WAEP;IAED,MAAM,IAAI,IAAI,CAAC,UAAU;IAUzB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOvC,WAAW,IAAI,MAAM,EAAE;IAIvB,oBAAoB,IAAI,gBAAgB,EAAE;CAG3C"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,qBAAa,MAAO,YAAW,IAAI,CAAC,MAAM;IACxC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM;IAMpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,kBAAkB,CAAM;gBAEpB,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAchE,IAAI,IAAI,WAEP;IAED,IAAI,KAAK,WAER;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,eAAe,YAElB;IAED,IAAI,IAAI,eAEP;IAED,MAAM,IAAI,IAAI,CAAC,UAAU;IAWzB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIlC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASxC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOvC,WAAW,IAAI,MAAM,EAAE;IAIvB,oBAAoB,IAAI,gBAAgB,EAAE;CAG3C"}
@@ -1,29 +1,72 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Module = void 0;
4
+ const asserts_1 = require("@lcap/nasl-concepts/asserts");
5
+ const service_1 = require("@lcap/nasl-concepts/service");
4
6
  const dependency_1 = require("./dependency");
5
7
  const lodash_1 = require("lodash");
6
8
  class Module {
7
- constructor(node) {
9
+ static from(app, data) {
10
+ const findNode = app.findNodeByPath(data.node);
11
+ (0, asserts_1.assertBaseNode)(findNode);
12
+ return new Module(findNode, data);
13
+ }
14
+ constructor(node, options) {
8
15
  this.imported = [];
9
16
  this.dependencyModules = [];
10
- this.lastModifyTime = -1;
11
- this.lastSignatureTime = -1;
12
- this.signature = '';
13
- this.node = node;
17
+ this._count = -1;
18
+ this._signature = '';
19
+ this._lastModifyTime = -1;
20
+ this._lastSignatureTime = -1;
21
+ this._node = node;
22
+ this._count = options?.count && options.count > 0 ? options.count : -1;
23
+ this._lastModifyTime = options?.lastModifyTime && options.lastModifyTime > -1 ? options.lastModifyTime : -1;
24
+ this._signature = options?.signature ?? '';
25
+ this._lastSignatureTime = options?.isLastSignature ? this.lastModifyTime : -1;
26
+ if (this._count === -1 || this._lastModifyTime == -1) {
27
+ const data = (0, service_1.getModuleSubTreeData)(node);
28
+ this._count = data.count,
29
+ this._lastModifyTime = data.lastModifyTime;
30
+ }
14
31
  }
15
32
  get name() {
16
33
  return this.node.nodePath;
17
34
  }
35
+ get count() {
36
+ return this._count;
37
+ }
38
+ get signature() {
39
+ return this._signature;
40
+ }
41
+ get lastModifyTime() {
42
+ return this._lastModifyTime;
43
+ }
44
+ get isLastSignature() {
45
+ return this._lastSignatureTime !== -1 && this.lastModifyTime === this._lastSignatureTime;
46
+ }
47
+ get node() {
48
+ return this._node;
49
+ }
18
50
  toData() {
19
51
  return {
20
52
  node: this.node.nodePath,
21
- imported: (0, lodash_1.union)(this.imported.map(({ node }) => node.nodePath)),
53
+ count: this.count,
54
+ dependency: (0, lodash_1.union)(this.dependencyModules.map((dep) => dep.dependency.name)),
22
55
  lastModifyTime: this.lastModifyTime,
23
- lastSignatureTime: this.lastSignatureTime,
56
+ isLastSignature: this.isLastSignature,
24
57
  signature: this.signature,
25
58
  };
26
59
  }
60
+ updateNode(node) {
61
+ this._node = node;
62
+ }
63
+ updateSignature(signature) {
64
+ this._signature = signature;
65
+ if (this.lastModifyTime === -1) {
66
+ this._lastSignatureTime = 0;
67
+ this._lastModifyTime = 0;
68
+ }
69
+ }
27
70
  addDependency(dependency) {
28
71
  if (this.dependencyModules.every(({ dependency: item }) => dependency !== item)) {
29
72
  this.dependencyModules.push(new dependency_1.ModuleDependency(this, dependency));
@@ -31,7 +74,7 @@ class Module {
31
74
  }
32
75
  }
33
76
  getImported() {
34
- return [];
77
+ return this.imported.slice();
35
78
  }
36
79
  getDependencyModules() {
37
80
  return this.dependencyModules.slice();
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":";;;AAEA,6CAAgD;AAChD,mCAA+B;AAE/B,MAAa,MAAM;IAYjB,YAAY,IAAgB;QATX,aAAQ,GAAa,EAAE,CAAC;QACxB,sBAAiB,GAAuB,EAAE,CAAC;QAE5D,mBAAc,GAAG,CAAC,CAAC,CAAC;QAEpB,sBAAiB,GAAG,CAAC,CAAC,CAAC;QAEvB,cAAS,GAAG,EAAE,CAAC;QAGb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YACxB,QAAQ,EAAE,IAAA,cAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,UAAkB;QAC9B,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,6BAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACpE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;CACF;AA5CD,wBA4CC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module/module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Module } from './module';
2
+ import { Module as Type } from '@lcap/nasl-types';
3
+ export type ModuleData = Type.ModuleData;
4
+ export type ModuleGraphData = Type.ModuleGraphData;
5
+ export type ModuleStatusInTopologicalSort = Type.ModuleStatusInTopologicalSort;
6
+ export declare const ModuleStatusInTopologicalSort: typeof Type.ModuleStatusInTopologicalSort;
7
+ export type GetModuleStatus = (module: Module) => Type.ModuleStatusInTopologicalSort;
8
+ export interface TopologicalSortContext {
9
+ getModulesSignature(modules: Module[], getModuleStatus: GetModuleStatus): Promise<Module[]>;
10
+ }
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/module/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACzC,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AACnD,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAC;AAC/E,eAAO,MAAM,6BAA6B,2CAAqC,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,6BAA6B,CAAC;AAErF,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC7F"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModuleStatusInTopologicalSort = void 0;
4
+ const nasl_types_1 = require("@lcap/nasl-types");
5
+ exports.ModuleStatusInTopologicalSort = nasl_types_1.Module.ModuleStatusInTopologicalSort;
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/module/types.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAKrC,QAAA,6BAA6B,GAAG,mBAAI,CAAC,6BAA6B,CAAC"}
@@ -8,6 +8,7 @@ export declare class Namespace implements Type.Namespace {
8
8
  readonly defaultExport?: Symbol | undefined;
9
9
  readonly parent?: Namespace | undefined;
10
10
  readonly isExport: boolean;
11
+ readonly id: number;
11
12
  readonly children: Namespace[];
12
13
  /** 本地符号集合 */
13
14
  private readonly localSymbols;
@@ -22,6 +23,7 @@ export declare class Namespace implements Type.Namespace {
22
23
  getExportTopNamespace(): Namespace;
23
24
  getParentNamespace(cb: (namespace: Namespace) => boolean): Namespace | undefined;
24
25
  getSymbolByToken(token: string): Symbol | undefined;
26
+ getSymbolByCb(cb: (token: string) => boolean): Symbol | undefined;
25
27
  getNamespaceSymbols(): Map<string, Symbol>;
26
28
  getLocalSymbols(): Map<string, Symbol>;
27
29
  getStrictLocalSymbols(): Map<string, Symbol>;
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,SAAU,YAAW,IAAI,CAAC,SAAS;IAQ5C,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,QAAQ;IAXnB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAM;IACpC,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAGnD,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,aAAa,CAAC,oBAAQ,EACtB,MAAM,CAAC,uBAAW,EAClB,QAAQ,UAAO;IAe1B,IAAI,MAAM,YAET;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,cAQP;IAED,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAUtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc/B,qBAAqB,IAAI,SAAS;IAMlC,kBAAkB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS;IAgBhF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA4BnD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1C,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAqBtC,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS;CAkB1F"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,qBAAa,SAAU,YAAW,IAAI,CAAC,SAAS;IAS5C,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,QAAQ;IAZnB,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAM;IACpC,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAGnD,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,aAAa,CAAC,oBAAQ,EACtB,MAAM,CAAC,uBAAW,EAClB,QAAQ,UAAO;IAe1B,IAAI,MAAM,YAET;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,cAQP;IAED,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAUtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc/B,qBAAqB,IAAI,SAAS;IAMlC,kBAAkB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS;IAgBhF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA4BnD,aAAa,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS;IAQjE,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAuB1C,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAqBtC,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS;CAkB1F"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Namespace = void 0;
4
+ let id = 0;
4
5
  class Namespace {
5
6
  constructor(graph, node, defaultExport, parent, isExport = true) {
6
7
  this.graph = graph;
@@ -8,6 +9,7 @@ class Namespace {
8
9
  this.defaultExport = defaultExport;
9
10
  this.parent = parent;
10
11
  this.isExport = isExport;
12
+ this.id = id++;
11
13
  this.children = [];
12
14
  /** 本地符号集合 */
13
15
  this.localSymbols = new Map();
@@ -91,8 +93,29 @@ class Namespace {
91
93
  }
92
94
  }
93
95
  }
96
+ getSymbolByCb(cb) {
97
+ for (const [token, symbol] of this.getNamespaceSymbols()) {
98
+ if (cb(token)) {
99
+ return symbol;
100
+ }
101
+ }
102
+ }
94
103
  getNamespaceSymbols() {
95
- return new Map(this.getExportTopNamespace().namespaceSymbols);
104
+ const rootNamespace = this.root;
105
+ const exportTopNamespace = this.getExportTopNamespace();
106
+ if (rootNamespace === exportTopNamespace) {
107
+ return new Map(rootNamespace.namespaceSymbols);
108
+ }
109
+ const { namespaceSymbols: rootNamespaceSymbols } = rootNamespace;
110
+ const { namespaceSymbols: exportTopNamespaceSymbols } = exportTopNamespace;
111
+ const result = new Map();
112
+ for (const [key, val] of rootNamespaceSymbols.entries()) {
113
+ result.set(key, val);
114
+ }
115
+ for (const [key, val] of exportTopNamespaceSymbols.entries()) {
116
+ result.set(key, val);
117
+ }
118
+ return result;
96
119
  }
97
120
  getLocalSymbols() {
98
121
  const result = this.getStrictLocalSymbols();
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class Symbol implements SymbolType.Symbol {
9
9
  readonly declaration?: SyntaxNode | undefined;
10
10
  readonly isVirtual: boolean;
11
11
  readonly isExport: boolean;
12
+ readonly id: number;
12
13
  readonly references: SyntaxNode[];
13
14
  readonly naslName?: string;
14
15
  readonly semanticName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,MAAO,YAAW,UAAU,CAAC,MAAM;aAM5B,KAAK,EAAE,WAAW;aAClB,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,SAAS;aACpB,WAAW,CAAC;aACZ,SAAS;aACT,QAAQ;IAV1B,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGb,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,wBAAY,EACxB,SAAS,UAAQ,EACjB,QAAQ,UAAO;IAajC,IAAI,MAAM,YAET;CACF"}
1
+ {"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,qBAAa,MAAO,YAAW,UAAU,CAAC,MAAM;aAO5B,KAAK,EAAE,WAAW;aAClB,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,SAAS;aACpB,WAAW,CAAC;aACZ,SAAS;aACT,QAAQ;IAX1B,QAAQ,CAAC,EAAE,SAAQ;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGb,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,wBAAY,EACxB,SAAS,UAAQ,EACjB,QAAQ,UAAO;IAajC,IAAI,MAAM,YAET;CACF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Symbol = void 0;
4
+ let id = 0;
4
5
  class Symbol {
5
6
  constructor(graph, name, namespace, declaration, isVirtual = false, isExport = true) {
6
7
  this.graph = graph;
@@ -9,6 +10,7 @@ class Symbol {
9
10
  this.declaration = declaration;
10
11
  this.isVirtual = isVirtual;
11
12
  this.isExport = isExport;
13
+ this.id = id++;
12
14
  this.references = [];
13
15
  if (declaration) {
14
16
  this.naslName = declaration.nodePath;
@@ -1 +1 @@
1
- {"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":";;;AAKA,MAAa,MAAM;IAKjB,YACkB,KAAkB,EAClB,IAAY,EACZ,SAAoB,EACpB,WAAwB,EACxB,YAAY,KAAK,EACjB,WAAW,IAAI;QALf,UAAK,GAAL,KAAK,CAAa;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAO;QAVxB,eAAU,GAAiB,EAAE,CAAC;QAYrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YAErC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;CACF;AA3BD,wBA2BC"}
1
+ {"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":";;;AAKA,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX,MAAa,MAAM;IAMjB,YACkB,KAAkB,EAClB,IAAY,EACZ,SAAoB,EACpB,WAAwB,EACxB,YAAY,KAAK,EACjB,WAAW,IAAI;QALf,UAAK,GAAL,KAAK,CAAa;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAO;QAXxB,OAAE,GAAG,EAAE,EAAE,CAAC;QACV,eAAU,GAAiB,EAAE,CAAC;QAYrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YAErC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;CACF;AA5BD,wBA4BC"}
@@ -0,0 +1,7 @@
1
+ import type { AuthLogicForCallInterface } from '@lcap/nasl-concepts';
2
+ import type { Traverse } from '../../types';
3
+ /**
4
+ * AuthLogic 节点迭代
5
+ */
6
+ export declare const traverseAuthLogicForCallInterface: Traverse<AuthLogicForCallInterface>;
7
+ //# sourceMappingURL=auth-logic-for-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-logic-for-interface.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/auth/auth-logic-for-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,yBAAyB,CAEjF,CAAC"}