@lcap/nasl 1.0.1 → 2.12.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 (364) hide show
  1. package/out/automate/engine/index.d.ts +1 -0
  2. package/out/automate/engine/index.js +34 -12
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/operators.d.ts +10 -2
  5. package/out/automate/engine/operators.js +105 -7
  6. package/out/automate/engine/operators.js.map +1 -1
  7. package/out/automate/engine/uniqueName.d.ts +8 -2
  8. package/out/automate/engine/uniqueName.js +72 -4
  9. package/out/automate/engine/uniqueName.js.map +1 -1
  10. package/out/automate/engine/utils.d.ts +1 -0
  11. package/out/automate/engine/utils.js +108 -67
  12. package/out/automate/engine/utils.js.map +1 -1
  13. package/out/automate/template/process.d.ts +9 -0
  14. package/out/automate/template/process.js +10976 -0
  15. package/out/automate/template/process.js.map +1 -0
  16. package/out/bak/translator.js +1 -0
  17. package/out/bak/translator.js.map +1 -1
  18. package/out/common/BaseNode.d.ts +6 -1
  19. package/out/common/BaseNode.js +37 -6
  20. package/out/common/BaseNode.js.map +1 -1
  21. package/out/concepts/App__.d.ts +52 -49
  22. package/out/concepts/App__.js +89 -53
  23. package/out/concepts/App__.js.map +1 -1
  24. package/out/concepts/Assignee__.d.ts +11 -0
  25. package/out/concepts/Assignee__.js +34 -0
  26. package/out/concepts/Assignee__.js.map +1 -1
  27. package/out/concepts/BindAttribute__.js +2 -2
  28. package/out/concepts/BindAttribute__.js.map +1 -1
  29. package/out/concepts/BindDirective__.js +10 -3
  30. package/out/concepts/BindDirective__.js.map +1 -1
  31. package/out/concepts/BindEvent__.js +15 -6
  32. package/out/concepts/BindEvent__.js.map +1 -1
  33. package/out/concepts/BooleanLiteral__.d.ts +4 -0
  34. package/out/concepts/BooleanLiteral__.js +11 -0
  35. package/out/concepts/BooleanLiteral__.js.map +1 -1
  36. package/out/concepts/CallFunction__.js +9 -4
  37. package/out/concepts/CallFunction__.js.map +1 -1
  38. package/out/concepts/CallLogic__.js +48 -30
  39. package/out/concepts/CallLogic__.js.map +1 -1
  40. package/out/concepts/CallQueryComponent__.d.ts +34 -4
  41. package/out/concepts/CallQueryComponent__.js +340 -95
  42. package/out/concepts/CallQueryComponent__.js.map +1 -1
  43. package/out/concepts/Comment__.js +1 -1
  44. package/out/concepts/Comment__.js.map +1 -1
  45. package/out/concepts/ConfigGroup__.d.ts +1 -0
  46. package/out/concepts/ConfigGroup__.js +7 -0
  47. package/out/concepts/ConfigGroup__.js.map +1 -1
  48. package/out/concepts/ConfigProperty__.d.ts +1 -0
  49. package/out/concepts/ConfigProperty__.js +3 -0
  50. package/out/concepts/ConfigProperty__.js.map +1 -1
  51. package/out/concepts/Configuration__.d.ts +1 -0
  52. package/out/concepts/Configuration__.js +3 -0
  53. package/out/concepts/Configuration__.js.map +1 -1
  54. package/out/concepts/Constant__.js +6 -6
  55. package/out/concepts/Constant__.js.map +1 -1
  56. package/out/concepts/DataSource__.d.ts +143 -0
  57. package/out/concepts/DataSource__.js +318 -0
  58. package/out/concepts/DataSource__.js.map +1 -0
  59. package/out/concepts/Destination__.js +22 -8
  60. package/out/concepts/Destination__.js.map +1 -1
  61. package/out/concepts/End__.js +2 -2
  62. package/out/concepts/End__.js.map +1 -1
  63. package/out/concepts/EntityIndex__.d.ts +5 -0
  64. package/out/concepts/EntityIndex__.js +10 -2
  65. package/out/concepts/EntityIndex__.js.map +1 -1
  66. package/out/concepts/EntityProperty__.d.ts +9 -0
  67. package/out/concepts/EntityProperty__.js +22 -7
  68. package/out/concepts/EntityProperty__.js.map +1 -1
  69. package/out/concepts/Entity__.d.ts +6 -0
  70. package/out/concepts/Entity__.js +27 -11
  71. package/out/concepts/Entity__.js.map +1 -1
  72. package/out/concepts/Enum__.d.ts +1 -0
  73. package/out/concepts/Enum__.js +14 -4
  74. package/out/concepts/Enum__.js.map +1 -1
  75. package/out/concepts/ForEachStatement__.js +2 -2
  76. package/out/concepts/ForEachStatement__.js.map +1 -1
  77. package/out/concepts/Function__.d.ts +18 -0
  78. package/out/concepts/Function__.js +96 -1
  79. package/out/concepts/Function__.js.map +1 -1
  80. package/out/concepts/Identifier__.js +5 -14
  81. package/out/concepts/Identifier__.js.map +1 -1
  82. package/out/concepts/IfStatement__.js +8 -8
  83. package/out/concepts/IfStatement__.js.map +1 -1
  84. package/out/concepts/InterfaceParam__.js +9 -4
  85. package/out/concepts/InterfaceParam__.js.map +1 -1
  86. package/out/concepts/Interface__.js +19 -12
  87. package/out/concepts/Interface__.js.map +1 -1
  88. package/out/concepts/JSBlock__.js +3 -5
  89. package/out/concepts/JSBlock__.js.map +1 -1
  90. package/out/concepts/Logic__.js +44 -44
  91. package/out/concepts/Logic__.js.map +1 -1
  92. package/out/concepts/Module__.d.ts +116 -194
  93. package/out/concepts/Module__.js +31 -114
  94. package/out/concepts/Module__.js.map +1 -1
  95. package/out/concepts/Namespace__.d.ts +0 -86
  96. package/out/concepts/Namespace__.js +1 -108
  97. package/out/concepts/Namespace__.js.map +1 -1
  98. package/out/concepts/Param__.d.ts +3 -2
  99. package/out/concepts/Param__.js +15 -8
  100. package/out/concepts/Param__.js.map +1 -1
  101. package/out/concepts/ProcessElement__.js +38 -12
  102. package/out/concepts/ProcessElement__.js.map +1 -1
  103. package/out/concepts/Process__.d.ts +1 -1
  104. package/out/concepts/Process__.js +17 -10
  105. package/out/concepts/Process__.js.map +1 -1
  106. package/out/concepts/QueryAggregateExpression__.js +1 -1
  107. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  108. package/out/concepts/QueryFieldExpression__.d.ts +1 -0
  109. package/out/concepts/QueryFieldExpression__.js +11 -1
  110. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  111. package/out/concepts/QueryFromExpression__.d.ts +4 -0
  112. package/out/concepts/QueryFromExpression__.js +13 -2
  113. package/out/concepts/QueryFromExpression__.js.map +1 -1
  114. package/out/concepts/QueryGroupByExpression__.d.ts +3 -0
  115. package/out/concepts/QueryGroupByExpression__.js +20 -0
  116. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  117. package/out/concepts/QueryJoinExpression__.d.ts +4 -0
  118. package/out/concepts/QueryJoinExpression__.js +14 -3
  119. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  120. package/out/concepts/Return__.d.ts +1 -1
  121. package/out/concepts/Return__.js +16 -11
  122. package/out/concepts/Return__.js.map +1 -1
  123. package/out/concepts/Role__.js +10 -3
  124. package/out/concepts/Role__.js.map +1 -1
  125. package/out/concepts/SqlQueryComponent__.d.ts +14 -0
  126. package/out/concepts/SqlQueryComponent__.js +48 -5
  127. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  128. package/out/concepts/StringLiteral__.d.ts +1 -1
  129. package/out/concepts/StringLiteral__.js +2 -9
  130. package/out/concepts/StringLiteral__.js.map +1 -1
  131. package/out/concepts/StructureProperty__.js +11 -10
  132. package/out/concepts/StructureProperty__.js.map +1 -1
  133. package/out/concepts/Structure__.js +19 -12
  134. package/out/concepts/Structure__.js.map +1 -1
  135. package/out/concepts/SwitchCase__.d.ts +1 -1
  136. package/out/concepts/SwitchCase__.js +23 -25
  137. package/out/concepts/SwitchCase__.js.map +1 -1
  138. package/out/concepts/SwitchStatement__.js +1 -6
  139. package/out/concepts/SwitchStatement__.js.map +1 -1
  140. package/out/concepts/TypeAnnotation__.d.ts +8 -0
  141. package/out/concepts/TypeAnnotation__.js +53 -3
  142. package/out/concepts/TypeAnnotation__.js.map +1 -1
  143. package/out/concepts/Variable__.d.ts +1 -1
  144. package/out/concepts/Variable__.js +16 -11
  145. package/out/concepts/Variable__.js.map +1 -1
  146. package/out/concepts/ViewElement__.js +25 -20
  147. package/out/concepts/ViewElement__.js.map +1 -1
  148. package/out/concepts/View__.d.ts +1 -3
  149. package/out/concepts/View__.js +42 -36
  150. package/out/concepts/View__.js.map +1 -1
  151. package/out/concepts/WhileStatement__.js +4 -4
  152. package/out/concepts/WhileStatement__.js.map +1 -1
  153. package/out/concepts/basics/stdlib/nasl.auth.js +20 -0
  154. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  155. package/out/concepts/basics/stdlib/nasl.configuration.js +1 -1
  156. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  157. package/out/concepts/basics/stdlib/nasl.interface.d.ts +2 -0
  158. package/out/concepts/basics/stdlib/nasl.interface.js +4 -4
  159. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  160. package/out/concepts/basics/stdlib/nasl.process.d.ts +4 -0
  161. package/out/concepts/basics/stdlib/nasl.process.js +410 -0
  162. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  163. package/out/concepts/basics/stdlib/nasl.ui.js +1 -11
  164. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  165. package/out/concepts/basics/stdlib/nasl.util.js +270 -8
  166. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  167. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +1 -1
  168. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +1 -1
  169. package/out/concepts/basics/types/index.d.ts +2 -0
  170. package/out/concepts/basics/types/index.js +6 -1
  171. package/out/concepts/basics/types/index.js.map +1 -1
  172. package/out/concepts/index__.d.ts +1 -0
  173. package/out/concepts/index__.js +1 -0
  174. package/out/concepts/index__.js.map +1 -1
  175. package/out/enums/KEYWORDS.js +0 -7
  176. package/out/enums/KEYWORDS.js.map +1 -1
  177. package/out/generator/genBundleFiles.d.ts +3 -1
  178. package/out/generator/genBundleFiles.js +23 -5
  179. package/out/generator/genBundleFiles.js.map +1 -1
  180. package/out/generator/genMetaData.d.ts +1 -0
  181. package/out/generator/genMetaData.js +20 -12
  182. package/out/generator/genMetaData.js.map +1 -1
  183. package/out/index.d.ts +1 -1
  184. package/out/index.js +2 -1
  185. package/out/index.js.map +1 -1
  186. package/out/manager/diagnostic.d.ts +1 -1
  187. package/out/server/createUiTs.js +1 -0
  188. package/out/server/createUiTs.js.map +1 -1
  189. package/out/{test/integration/connect-file copy.d.ts → server/extendBaseNode.d.ts} +0 -0
  190. package/out/server/extendBaseNode.js +323 -0
  191. package/out/server/extendBaseNode.js.map +1 -0
  192. package/out/server/getLogics.js +49 -2
  193. package/out/server/getLogics.js.map +1 -1
  194. package/out/server/getMemberIdentifier.js +52 -2
  195. package/out/server/getMemberIdentifier.js.map +1 -1
  196. package/out/server/getProcesses.d.ts +8 -2
  197. package/out/server/getProcesses.js +228 -20
  198. package/out/server/getProcesses.js.map +1 -1
  199. package/out/server/getScope.d.ts +1 -0
  200. package/out/server/getScope.js +4 -0
  201. package/out/server/getScope.js.map +1 -1
  202. package/out/server/index.d.ts +1 -0
  203. package/out/server/index.js +1 -0
  204. package/out/server/index.js.map +1 -1
  205. package/out/server/naslServer.d.ts +8 -5
  206. package/out/server/naslServer.js +314 -383
  207. package/out/server/naslServer.js.map +1 -1
  208. package/out/server/process2LogicNamespace.js +10 -1
  209. package/out/server/process2LogicNamespace.js.map +1 -1
  210. package/out/server/translator.d.ts +1 -1
  211. package/out/server/translator.js +40 -2
  212. package/out/server/translator.js.map +1 -1
  213. package/out/service/creator/errHandles.js +5 -0
  214. package/out/service/creator/errHandles.js.map +1 -1
  215. package/out/service/storage/init.d.ts +1 -0
  216. package/out/service/storage/init.js +113 -94
  217. package/out/service/storage/init.js.map +1 -1
  218. package/out/templator/genCreateBlock.js +34 -24
  219. package/out/templator/genCreateBlock.js.map +1 -1
  220. package/out/templator/genCurdEditMultipleKeyBlock.js +28 -18
  221. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  222. package/out/templator/genCurdMultipleKeyBlock.js +45 -29
  223. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  224. package/out/templator/genEditTableBlock.js +15 -13
  225. package/out/templator/genEditTableBlock.js.map +1 -1
  226. package/out/templator/genEnumSelectBlock.js +1 -1
  227. package/out/templator/genEnumSelectBlock.js.map +1 -1
  228. package/out/templator/genGetBlock.js +1 -1
  229. package/out/templator/genGetBlock.js.map +1 -1
  230. package/out/templator/genGridViewBlock.js +29 -24
  231. package/out/templator/genGridViewBlock.js.map +1 -1
  232. package/out/templator/genListViewBlock.js +7 -5
  233. package/out/templator/genListViewBlock.js.map +1 -1
  234. package/out/templator/genQueryComponent.js +31 -29
  235. package/out/templator/genQueryComponent.js.map +1 -1
  236. package/out/templator/genSelectBlock.js +13 -22
  237. package/out/templator/genSelectBlock.js.map +1 -1
  238. package/out/templator/genTableBlock.js +31 -21
  239. package/out/templator/genTableBlock.js.map +1 -1
  240. package/out/templator/genUpdateBlock.js +35 -25
  241. package/out/templator/genUpdateBlock.js.map +1 -1
  242. package/out/templator/utils.d.ts +5 -3
  243. package/out/templator/utils.js +2 -1
  244. package/out/templator/utils.js.map +1 -1
  245. package/out/test/integration/connect-file.js +6 -6
  246. package/out/test/integration/connect-file.js.map +1 -1
  247. package/out/translator/index.js +1 -1
  248. package/out/translator/index.js.map +1 -1
  249. package/out/utils/index.d.ts +5 -0
  250. package/out/utils/index.js +50 -1
  251. package/out/utils/index.js.map +1 -1
  252. package/package.json +1 -2
  253. package/src/automate/engine/index.js +33 -8
  254. package/src/automate/engine/operators.js +114 -17
  255. package/src/automate/engine/uniqueName.js +77 -9
  256. package/src/automate/engine/utils.js +110 -69
  257. package/src/automate/template/process.js +10999 -0
  258. package/src/bak/translator.js +1 -0
  259. package/src/common/BaseNode.ts +35 -7
  260. package/src/concepts/App__.ts +132 -131
  261. package/src/concepts/Assignee__.ts +30 -0
  262. package/src/concepts/BindAttribute__.ts +2 -2
  263. package/src/concepts/BindDirective__.ts +9 -7
  264. package/src/concepts/BindEvent__.ts +14 -6
  265. package/src/concepts/BooleanLiteral__.ts +12 -0
  266. package/src/concepts/CallFunction__.ts +7 -4
  267. package/src/concepts/CallLogic__.ts +47 -32
  268. package/src/concepts/CallQueryComponent__.ts +352 -101
  269. package/src/concepts/Comment__.ts +1 -1
  270. package/src/concepts/ConfigGroup__.ts +3 -1
  271. package/src/concepts/ConfigProperty__.ts +4 -0
  272. package/src/concepts/Configuration__.ts +3 -0
  273. package/src/concepts/Constant__.ts +6 -6
  274. package/src/concepts/DataSource__.ts +391 -0
  275. package/src/concepts/Destination__.ts +22 -8
  276. package/src/concepts/End__.ts +2 -2
  277. package/src/concepts/EntityIndex__.ts +11 -2
  278. package/src/concepts/EntityProperty__.ts +23 -7
  279. package/src/concepts/Entity__.ts +38 -14
  280. package/src/concepts/Enum__.ts +15 -4
  281. package/src/concepts/ForEachStatement__.ts +2 -2
  282. package/src/concepts/Function__.ts +95 -1
  283. package/src/concepts/Identifier__.ts +5 -14
  284. package/src/concepts/IfStatement__.ts +9 -9
  285. package/src/concepts/InterfaceParam__.ts +9 -4
  286. package/src/concepts/Interface__.ts +20 -12
  287. package/src/concepts/JSBlock__.ts +3 -12
  288. package/src/concepts/Logic__.ts +45 -79
  289. package/src/concepts/Module__.ts +141 -342
  290. package/src/concepts/Namespace__.ts +1 -204
  291. package/src/concepts/Param__.ts +17 -9
  292. package/src/concepts/ProcessElement__.ts +42 -15
  293. package/src/concepts/Process__.ts +18 -12
  294. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  295. package/src/concepts/QueryFieldExpression__.ts +13 -1
  296. package/src/concepts/QueryFromExpression__.ts +13 -2
  297. package/src/concepts/QueryGroupByExpression__.ts +23 -0
  298. package/src/concepts/QueryJoinExpression__.ts +14 -3
  299. package/src/concepts/Return__.ts +16 -11
  300. package/src/concepts/Role__.ts +10 -4
  301. package/src/concepts/SqlQueryComponent__.ts +47 -11
  302. package/src/concepts/StringLiteral__.ts +2 -9
  303. package/src/concepts/StructureProperty__.ts +11 -14
  304. package/src/concepts/Structure__.ts +19 -11
  305. package/src/concepts/SwitchCase__.ts +23 -27
  306. package/src/concepts/SwitchStatement__.ts +1 -5
  307. package/src/concepts/TypeAnnotation__.ts +52 -3
  308. package/src/concepts/Variable__.ts +16 -11
  309. package/src/concepts/ViewElement__.ts +26 -39
  310. package/src/concepts/View__.ts +45 -38
  311. package/src/concepts/WhileStatement__.ts +4 -4
  312. package/src/concepts/basics/stdlib/nasl.auth.ts +20 -0
  313. package/src/concepts/basics/stdlib/nasl.configuration.ts +1 -1
  314. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  315. package/src/concepts/basics/stdlib/nasl.process.ts +406 -0
  316. package/src/concepts/basics/stdlib/nasl.ui.ts +1 -11
  317. package/src/concepts/basics/stdlib/nasl.util.ts +271 -8
  318. package/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts +1 -1
  319. package/src/concepts/basics/types/index.ts +2 -0
  320. package/src/concepts/index__.ts +1 -0
  321. package/src/enums/KEYWORDS.ts +0 -7
  322. package/src/generator/genBundleFiles.ts +28 -7
  323. package/src/generator/genMetaData.ts +22 -13
  324. package/src/index.ts +1 -1
  325. package/src/manager/diagnostic.ts +1 -1
  326. package/src/server/createUiTs.ts +1 -0
  327. package/src/server/extendBaseNode.ts +318 -0
  328. package/src/server/getLogics.ts +51 -5
  329. package/src/server/getMemberIdentifier.ts +53 -2
  330. package/src/server/getProcesses.ts +238 -21
  331. package/src/server/getScope.ts +5 -0
  332. package/src/server/index.ts +1 -0
  333. package/src/server/naslServer.ts +322 -380
  334. package/src/server/process2LogicNamespace.ts +29 -19
  335. package/src/server/translator.ts +42 -2
  336. package/src/service/creator/errHandles.js +6 -0
  337. package/src/service/storage/init.ts +115 -97
  338. package/src/templator/genCreateBlock.ts +35 -26
  339. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -21
  340. package/src/templator/genCurdMultipleKeyBlock.ts +46 -31
  341. package/src/templator/genEditTableBlock.ts +17 -14
  342. package/src/templator/genEnumSelectBlock.ts +1 -1
  343. package/src/templator/genGetBlock.ts +1 -1
  344. package/src/templator/genGridViewBlock.ts +30 -25
  345. package/src/templator/genListViewBlock.ts +10 -7
  346. package/src/templator/genQueryComponent.ts +34 -30
  347. package/src/templator/genSelectBlock.ts +14 -23
  348. package/src/templator/genTableBlock.ts +32 -23
  349. package/src/templator/genUpdateBlock.ts +36 -26
  350. package/src/templator/utils.ts +5 -2
  351. package/src/test/integration/connect-file.ts +6 -6
  352. package/src/translator/index.ts +1 -1
  353. package/src/utils/index.ts +51 -0
  354. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +0 -3
  355. package/out/concepts/basics/stdlib/nasl.browser copy.js +0 -70
  356. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +0 -1
  357. package/out/terms/LEVEL_NAME_MAP.d.ts +0 -26
  358. package/out/terms/LEVEL_NAME_MAP.js +0 -30
  359. package/out/terms/LEVEL_NAME_MAP.js.map +0 -1
  360. package/out/test/integration/connect-file copy.js +0 -50
  361. package/out/test/integration/connect-file copy.js.map +0 -1
  362. package/out/test/integration/node-nasl-server.d.ts +0 -1
  363. package/out/test/integration/node-nasl-server.js +0 -41
  364. package/out/test/integration/node-nasl-server.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  // BaseNode,
3
3
  // Module
4
4
  // } from '../../concepts';
5
- import { BaseNode, uiStructures, collectionStructures } from '../../concepts';
5
+ import { BaseNode, uiStructures, collectionStructures, interfaceStructures, processStructures } from '../../concepts';
6
6
  import { getConceptMeta } from '../../decorators/index';
7
7
  /*
8
8
  根据 namespace 字符串来获取 node
@@ -72,12 +72,17 @@ export function getNaslNodeByNodeCallee(namespace, typeName) {
72
72
  return uiStructures.find((item) => item.name === typeName);
73
73
  } else if (namespace === 'nasl.collection') {
74
74
  return collectionStructures.find((item) => item.name === typeName);
75
+ } else if (namespace === 'nasl.interface') {
76
+ return interfaceStructures.find((item) => item.name === typeName);
77
+ } else if (namespace === 'nasl.process') {
78
+ return processStructures.find((item) => item.name === typeName);
75
79
  }
76
80
  }
77
81
  export const TRACK_TYPE = {
78
82
  PLAIN: 'plain',
79
83
  PROPERTY: 'property',
80
84
  ARRAY: 'array',
85
+ ARRAY_NO_FURTHER: 'array_no_further',
81
86
  CALLEE: 'callee',
82
87
  CALLEE_TEMPLATE: 'callee_template',
83
88
  MODULE: 'module',
@@ -101,6 +106,7 @@ const BACKTACKING_PROPERTY = {
101
106
  ENTITY_NAMESPACE: 'entityName',
102
107
  RELATION_NAMESPACE: 'relationEntity',
103
108
  };
109
+ const BACKTRACKING_MODULE_COMPONENT = 'tag'
104
110
  function getRelatedProperyName(nspropertyname) {
105
111
  switch (nspropertyname) {
106
112
  case BACKTACKING_PROPERTY_NS.TYPE_NAMESPACE:
@@ -115,6 +121,10 @@ function getRelatedProperyName(nspropertyname) {
115
121
  return '';
116
122
  }
117
123
 
124
+ const TRACKING_ONLY_ONE_LAYER = [
125
+ 'DataSource'
126
+ ]
127
+
118
128
  const BACKTRACKING_IGNORE_NAMESPACE = [
119
129
  'nasl.core',
120
130
  '',
@@ -151,7 +161,6 @@ const ROLE_PROPERTY = 'bindRoles';
151
161
 
152
162
  export function tracking(node, startNode, callback) {
153
163
  const { propertyMap } = getConceptMeta(node.concept);
154
- // console.log(propertyMap)
155
164
  for (const p of propertyMap) {
156
165
  // console.log(p)
157
166
  const [propertyName, _data] = p;
@@ -163,13 +172,20 @@ export function tracking(node, startNode, callback) {
163
172
  }
164
173
  continue;
165
174
  }
175
+ const isOnlyOneLayerTracking = TRACKING_ONLY_ONE_LAYER.includes(node.concept);
166
176
  const property = node[propertyName];
167
177
  if (Array.isArray(property)) {
168
178
  if (property.length > 0) {
169
179
  if (property[0] instanceof BaseNode) {
170
- property.forEach((p) => {
171
- callback(TRACK_TYPE.ARRAY, propertyName, p);
172
- });
180
+ if (!isOnlyOneLayerTracking) {
181
+ property.forEach((p) => {
182
+ callback(TRACK_TYPE.ARRAY, propertyName, p);
183
+ });
184
+ } else {
185
+ property.forEach((p) => {
186
+ callback(TRACK_TYPE.ARRAY_NO_FURTHER, propertyName, p);
187
+ });
188
+ }
173
189
  } else {
174
190
  if (ROLE_PROPERTY === propertyName) {
175
191
  const rootNode = node.rootNode;
@@ -205,7 +221,7 @@ export function tracking(node, startNode, callback) {
205
221
 
206
222
  const rootNode = node.rootNode;
207
223
  const ns = node[propertyName];
208
- if (!ns) {
224
+ if (!ns || !node[relatedPropertyName]) {
209
225
  callback(TRACK_TYPE.PLAIN, propertyName, property);
210
226
  callback(TRACK_TYPE.PLAIN, relatedPropertyName, node[relatedPropertyName]);
211
227
  break;
@@ -215,71 +231,84 @@ export function tracking(node, startNode, callback) {
215
231
  callback(TRACK_TYPE.PLAIN, propertyName, property);
216
232
  callback(TRACK_TYPE.PLAIN, relatedPropertyName, node[relatedPropertyName]);
217
233
  } else {
218
- const r1 = /app\.(?:entities|processes)\.([^.]+)\.logics/.exec(ns);
219
- const r2 = /app\.processes\.([^.]+)\.elements\.([^.]+)\.logics/.exec(ns);
220
234
  const calleeN = node[relatedPropertyName];
221
- if (r2) {
222
- const nodeName = r2[1];
223
- const subNodename = r2[2];
224
- if (subNodename) {
225
- // 目前只有 userTask
226
- const process = rootNode.processes.find((p) => p.name === nodeName);
227
- if (process) {
228
- const usertask = process.elements.find((e) => e.name === subNodename);
229
- if (usertask) {
230
- callback(TRACK_TYPE.CALLEE_TEMPLATE, propertyName, node[propertyName], {
231
- rootNode: process,
232
- metaNodes: [process, usertask],
233
- nstemplate: `function(meta, meta2){ return "app.processes" + meta.name + ".elements." + meta2.name + ".logics"; }`,
234
- nametemplate: `function(meta, meta2){ return "complete"; }`,
235
- relatedPropertyName,
236
- AppPropertyName: 'processes',
237
- });
235
+
236
+ const r1 = /app\.processes\.([^.]+)\.logics/.exec(ns);
237
+ const r2 = /app\.processes\.([^.]+)\.elements\.([^.]+)\.logics/.exec(ns);
238
+ if(r1 || r2) {
239
+ // Process 处理
240
+ if (r2) {
241
+ const nodeName = r2[1];
242
+ const subNodename = r2[2];
243
+ if (subNodename) {
244
+ // 目前只有 userTask
245
+ const process = rootNode.processes.find((p) => p.name === nodeName);
246
+ if (process) {
247
+ const usertask = process.elements.find((e) => e.name === subNodename);
248
+ if (usertask) {
249
+ callback(TRACK_TYPE.CALLEE_TEMPLATE, propertyName, node[propertyName], {
250
+ rootNode: process,
251
+ metaNodes: [process, usertask],
252
+ nstemplate: `function(meta, meta2){ return "app.processes" + meta.name + ".elements." + meta2.name + ".logics"; }`,
253
+ nametemplate: `function(meta, meta2){ return "complete"; }`,
254
+ relatedPropertyName,
255
+ AppPropertyName: 'processes',
256
+ });
257
+ break;
258
+ }
238
259
  }
239
260
  }
261
+ } else if (r1){
262
+ const nodeName = r1[1];
263
+ const process = rootNode.processes.find((p) => p.name === nodeName);
264
+ if (/launch/.test(calleeN) && process) {
265
+ // const prefix = /(launch|complete).+/.exec(calleeN)[1];
266
+ callback(TRACK_TYPE.CALLEE_TEMPLATE, propertyName, node[propertyName], {
267
+ rootNode: process,
268
+ metaNodes: [process],
269
+ nstemplate: `function(meta){ return "app.processes" + meta.name + ".logics"; }`,
270
+ nametemplate: `function(){ return "${calleeN}"; }`,
271
+ relatedPropertyName,
272
+ AppPropertyName: 'processes',
273
+ });
274
+ break;
275
+ }
240
276
  }
241
- } else if (r1) {
242
- const nodeName = r1[1];
243
- const process = rootNode.processes.find((p) => p.name === nodeName);
244
- if (/launch/.test(calleeN) && process) {
245
- // const prefix = /(launch|complete).+/.exec(calleeN)[1];
246
- callback(TRACK_TYPE.CALLEE_TEMPLATE, propertyName, node[propertyName], {
247
- rootNode: process,
248
- metaNodes: [process],
249
- nstemplate: `function(meta){ return "app.processes" + meta.name + ".logics"; }`,
250
- nametemplate: `function(){ return "${calleeN}"; }`,
251
- relatedPropertyName,
252
- AppPropertyName: 'processes',
253
- });
254
- break;
255
- }
277
+ }
256
278
 
257
- const entity = rootNode.entities.find((e) => e.name === nodeName);
258
- if (/get|create|update|delete|batchCreate|batchUpdate|batchDelete|import/.test(calleeN) && entity) {
279
+ const r3 = /app\.dataSources\.([^.]+)\.entities\.([^.]+)\.logics/.exec(ns);
280
+ if(r3) {
281
+ const datasourceName = r3[1];
282
+ const entityName = r3[2];
283
+
284
+ if (/get|create|update|delete|batchCreate|batchUpdate|batchDelete|import/.test(calleeN)) {
259
285
  // const prefix = /(get|create|update|delete|batchCreate|batchUpdate|batchDelete|import)/.exec(calleeN)[1];
260
- callback(TRACK_TYPE.CALLEE_TEMPLATE, propertyName, node[propertyName], {
261
- rootNode: entity,
262
- metaNodes: [entity],
263
- nstemplate: `function(meta){ return "app.entities." + meta.name + ".logics"; }`,
264
- nametemplate: `function(){ return "${calleeN}"; }`,
265
- relatedPropertyName,
266
- AppPropertyName: 'entities',
267
- });
268
- break;
269
- }
270
- } else {
271
- const nsPath = `${ns}.${calleeN}`;
272
- const calleeNode = getNodeByNodeCallee(rootNode, nsPath);
273
- if (calleeNode) {
274
- backtracking({
275
- node,
276
- startNode,
277
- calleeNode,
278
- propertyName,
279
- relatedPropertyName,
280
- }, callback);
286
+ const datasource = rootNode.dataSources.find(d => d.name === datasourceName);
287
+ if (datasource) {
288
+ const entity = datasource.entities.find((e) => e.name === entityName);
289
+ callback(TRACK_TYPE.CALLEE_TEMPLATE, propertyName, node[propertyName], {
290
+ rootNode: datasource,
291
+ metaNodes: [datasource, entity],
292
+ nstemplate: `function(meta, meta2){ return "app.dataSources." + meta.name + ".entities." + meta2.name + ".logics"; }`,
293
+ nametemplate: `function(){ return "${calleeN}"; }`,
294
+ relatedPropertyName,
295
+ AppPropertyName: 'dataSources',
296
+ });
297
+ break;
298
+ }
281
299
  }
282
300
  }
301
+ const nsPath = `${ns}.${calleeN}`;
302
+ const calleeNode = getNodeByNodeCallee(rootNode, nsPath);
303
+ if (calleeNode) {
304
+ backtracking({
305
+ node,
306
+ startNode,
307
+ calleeNode,
308
+ propertyName,
309
+ relatedPropertyName,
310
+ }, callback);
311
+ }
283
312
  }
284
313
  break;
285
314
 
@@ -293,10 +322,11 @@ export function tracking(node, startNode, callback) {
293
322
  callback(TRACK_TYPE.PROPERTY_TEMPLATE, propertyName, property, {
294
323
  getRelatedVar: () => {
295
324
  const queryCom = node.getAncestor('CallQueryComponent');
296
- if (queryCom) {
297
- const entities = node.app.entities;
298
- // entityAsName === entity.name
299
- return entities.find((e) => e.name === property);
325
+ const entityNamespace = queryCom?.from?.entityNamespace;
326
+ if (queryCom && entityNamespace && property) {
327
+ const rootNode = queryCom.rootNode;
328
+ const entity = getNodeByNodeCallee(rootNode, `${entityNamespace}.${property}`);
329
+ return entity;
300
330
  }
301
331
  return null;
302
332
  },
@@ -304,7 +334,18 @@ export function tracking(node, startNode, callback) {
304
334
  });
305
335
 
306
336
  break;
307
-
337
+ case BACKTRACKING_MODULE_COMPONENT:
338
+ // 条件 break 一定要放到最后
339
+ if(node.concept === 'ViewElement'){
340
+ const componentDependencies = node.app.componentDependencies;
341
+ const tag = node[propertyName];
342
+ const dep = componentDependencies.find(c => c.name === tag);
343
+ if(dep) {
344
+ callback(TRACK_TYPE.PLAIN, propertyName, tag);
345
+ callback(TRACK_TYPE.MODULE, undefined, dep);
346
+ break;
347
+ }
348
+ }
308
349
  default:
309
350
  if (property !== undefined) {
310
351
  if (objectRef && property !== null) {
@@ -347,7 +388,7 @@ export function backtracking({ node, startNode, calleeNode, propertyName, relate
347
388
  while (t) {
348
389
  const pnode = t.parentNode;
349
390
  if (pnode === approot) {
350
- AppPropertyName = getAppPropertyName(calleeNode);
391
+ AppPropertyName = getAppPropertyName(t);
351
392
  }
352
393
  if (pnode !== approot && pnode !== startNode) {
353
394
  t = pnode;