@lcap/nasl 1.0.0 → 2.12.0-beta

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 (422) hide show
  1. package/out/automate/engine/index.js +39 -127
  2. package/out/automate/engine/index.js.map +1 -1
  3. package/out/automate/engine/operators.d.ts +13 -0
  4. package/out/automate/engine/operators.js +63 -0
  5. package/out/automate/engine/operators.js.map +1 -0
  6. package/out/automate/engine/uniqueName.d.ts +6 -0
  7. package/out/automate/engine/uniqueName.js +39 -0
  8. package/out/automate/engine/uniqueName.js.map +1 -0
  9. package/out/automate/engine/utils.d.ts +1 -0
  10. package/out/automate/engine/utils.js +105 -67
  11. package/out/automate/engine/utils.js.map +1 -1
  12. package/out/common/BaseNode.d.ts +1 -1
  13. package/out/common/BaseNode.js +13 -3
  14. package/out/common/BaseNode.js.map +1 -1
  15. package/out/concepts/App__.d.ts +52 -49
  16. package/out/concepts/App__.js +95 -60
  17. package/out/concepts/App__.js.map +1 -1
  18. package/out/concepts/Argument__.js +1 -1
  19. package/out/concepts/Argument__.js.map +1 -1
  20. package/out/concepts/Assignee__.d.ts +11 -0
  21. package/out/concepts/Assignee__.js +36 -2
  22. package/out/concepts/Assignee__.js.map +1 -1
  23. package/out/concepts/Assignment__.js +1 -1
  24. package/out/concepts/Assignment__.js.map +1 -1
  25. package/out/concepts/Attribute__.js +1 -1
  26. package/out/concepts/Attribute__.js.map +1 -1
  27. package/out/concepts/BinaryExpression__.js +1 -1
  28. package/out/concepts/BinaryExpression__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.js +4 -4
  30. package/out/concepts/BindAttribute__.js.map +1 -1
  31. package/out/concepts/BindDirective__.js +2 -2
  32. package/out/concepts/BindDirective__.js.map +1 -1
  33. package/out/concepts/BindEvent__.js +11 -6
  34. package/out/concepts/BindEvent__.js.map +1 -1
  35. package/out/concepts/BooleanLiteral__.js +1 -1
  36. package/out/concepts/BooleanLiteral__.js.map +1 -1
  37. package/out/concepts/CallFunction__.js +25 -5
  38. package/out/concepts/CallFunction__.js.map +1 -1
  39. package/out/concepts/CallInterface__.js +1 -1
  40. package/out/concepts/CallInterface__.js.map +1 -1
  41. package/out/concepts/CallLogic__.js +24 -22
  42. package/out/concepts/CallLogic__.js.map +1 -1
  43. package/out/concepts/CallQueryComponent__.d.ts +35 -5
  44. package/out/concepts/CallQueryComponent__.js +344 -99
  45. package/out/concepts/CallQueryComponent__.js.map +1 -1
  46. package/out/concepts/Comment__.js +2 -2
  47. package/out/concepts/Comment__.js.map +1 -1
  48. package/out/concepts/CompletionProperty__.js +1 -1
  49. package/out/concepts/CompletionProperty__.js.map +1 -1
  50. package/out/concepts/ConfigGroup__.d.ts +1 -0
  51. package/out/concepts/ConfigGroup__.js +9 -2
  52. package/out/concepts/ConfigGroup__.js.map +1 -1
  53. package/out/concepts/ConfigPropertyValue__.js +1 -1
  54. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  55. package/out/concepts/ConfigProperty__.d.ts +1 -0
  56. package/out/concepts/ConfigProperty__.js +5 -2
  57. package/out/concepts/ConfigProperty__.js.map +1 -1
  58. package/out/concepts/Configuration__.d.ts +1 -0
  59. package/out/concepts/Configuration__.js +5 -2
  60. package/out/concepts/Configuration__.js.map +1 -1
  61. package/out/concepts/Constant__.js +7 -7
  62. package/out/concepts/Constant__.js.map +1 -1
  63. package/out/concepts/DataElement__.js +1 -1
  64. package/out/concepts/DataElement__.js.map +1 -1
  65. package/out/concepts/DataSource__.d.ts +143 -0
  66. package/out/concepts/DataSource__.js +316 -0
  67. package/out/concepts/DataSource__.js.map +1 -0
  68. package/out/concepts/Destination__.js +26 -9
  69. package/out/concepts/Destination__.js.map +1 -1
  70. package/out/concepts/End__.js +3 -3
  71. package/out/concepts/End__.js.map +1 -1
  72. package/out/concepts/EntityIndex__.d.ts +5 -0
  73. package/out/concepts/EntityIndex__.js +11 -3
  74. package/out/concepts/EntityIndex__.js.map +1 -1
  75. package/out/concepts/EntityProperty__.d.ts +9 -0
  76. package/out/concepts/EntityProperty__.js +23 -8
  77. package/out/concepts/EntityProperty__.js.map +1 -1
  78. package/out/concepts/Entity__.d.ts +6 -3
  79. package/out/concepts/Entity__.js +28 -24
  80. package/out/concepts/Entity__.js.map +1 -1
  81. package/out/concepts/EnumItem__.js +1 -1
  82. package/out/concepts/EnumItem__.js.map +1 -1
  83. package/out/concepts/Enum__.d.ts +1 -0
  84. package/out/concepts/Enum__.js +15 -5
  85. package/out/concepts/Enum__.js.map +1 -1
  86. package/out/concepts/Event__.js +2 -2
  87. package/out/concepts/Event__.js.map +1 -1
  88. package/out/concepts/ForEachStatement__.d.ts +1 -1
  89. package/out/concepts/ForEachStatement__.js +5 -5
  90. package/out/concepts/ForEachStatement__.js.map +1 -1
  91. package/out/concepts/Function__.d.ts +18 -0
  92. package/out/concepts/Function__.js +100 -5
  93. package/out/concepts/Function__.js.map +1 -1
  94. package/out/concepts/Identifier__.js +2 -12
  95. package/out/concepts/Identifier__.js.map +1 -1
  96. package/out/concepts/IfStatement__.js +9 -9
  97. package/out/concepts/IfStatement__.js.map +1 -1
  98. package/out/concepts/InterfaceParam__.js +10 -5
  99. package/out/concepts/InterfaceParam__.js.map +1 -1
  100. package/out/concepts/Interface__.js +21 -14
  101. package/out/concepts/Interface__.js.map +1 -1
  102. package/out/concepts/JSBlock__.js +1 -1
  103. package/out/concepts/JSBlock__.js.map +1 -1
  104. package/out/concepts/LogicItem__.js +1 -1
  105. package/out/concepts/LogicItem__.js.map +1 -1
  106. package/out/concepts/Logic__.d.ts +4 -0
  107. package/out/concepts/Logic__.js +59 -46
  108. package/out/concepts/Logic__.js.map +1 -1
  109. package/out/concepts/MemberExpression__.js +1 -2
  110. package/out/concepts/MemberExpression__.js.map +1 -1
  111. package/out/concepts/Module__.d.ts +1 -85
  112. package/out/concepts/Module__.js +13 -114
  113. package/out/concepts/Module__.js.map +1 -1
  114. package/out/concepts/Namespace__.d.ts +0 -86
  115. package/out/concepts/Namespace__.js +12 -119
  116. package/out/concepts/Namespace__.js.map +1 -1
  117. package/out/concepts/NullLiteral__.js +1 -1
  118. package/out/concepts/NullLiteral__.js.map +1 -1
  119. package/out/concepts/NumericLiteral__.js +1 -1
  120. package/out/concepts/NumericLiteral__.js.map +1 -1
  121. package/out/concepts/Param__.d.ts +3 -2
  122. package/out/concepts/Param__.js +15 -8
  123. package/out/concepts/Param__.js.map +1 -1
  124. package/out/concepts/Point__.js +1 -1
  125. package/out/concepts/Point__.js.map +1 -1
  126. package/out/concepts/ProcessComponent__.js +3 -3
  127. package/out/concepts/ProcessComponent__.js.map +1 -1
  128. package/out/concepts/ProcessElement__.js +39 -18
  129. package/out/concepts/ProcessElement__.js.map +1 -1
  130. package/out/concepts/ProcessOutcome__.js +1 -1
  131. package/out/concepts/ProcessOutcome__.js.map +1 -1
  132. package/out/concepts/Process__.js +21 -14
  133. package/out/concepts/Process__.js.map +1 -1
  134. package/out/concepts/QueryAggregateExpression__.js +2 -2
  135. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  136. package/out/concepts/QueryFieldExpression__.d.ts +1 -0
  137. package/out/concepts/QueryFieldExpression__.js +12 -2
  138. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  139. package/out/concepts/QueryFromExpression__.d.ts +4 -0
  140. package/out/concepts/QueryFromExpression__.js +14 -3
  141. package/out/concepts/QueryFromExpression__.js.map +1 -1
  142. package/out/concepts/QueryGroupByExpression__.d.ts +3 -0
  143. package/out/concepts/QueryGroupByExpression__.js +21 -1
  144. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  145. package/out/concepts/QueryJoinExpression__.d.ts +4 -0
  146. package/out/concepts/QueryJoinExpression__.js +16 -5
  147. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  148. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  149. package/out/concepts/QueryOrderByExpression__.js +1 -1
  150. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  151. package/out/concepts/QuerySelectExpression__.js +2 -2
  152. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  153. package/out/concepts/Rect__.js +1 -1
  154. package/out/concepts/Rect__.js.map +1 -1
  155. package/out/concepts/Return__.d.ts +1 -1
  156. package/out/concepts/Return__.js +16 -11
  157. package/out/concepts/Return__.js.map +1 -1
  158. package/out/concepts/Role__.js +11 -4
  159. package/out/concepts/Role__.js.map +1 -1
  160. package/out/concepts/Slot__.js +1 -1
  161. package/out/concepts/Slot__.js.map +1 -1
  162. package/out/concepts/SqlQueryComponent__.d.ts +10 -0
  163. package/out/concepts/SqlQueryComponent__.js +32 -5
  164. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  165. package/out/concepts/Start__.js +1 -1
  166. package/out/concepts/Start__.js.map +1 -1
  167. package/out/concepts/StringLiteral__.js +2 -9
  168. package/out/concepts/StringLiteral__.js.map +1 -1
  169. package/out/concepts/StructureProperty__.js +6 -6
  170. package/out/concepts/StructureProperty__.js.map +1 -1
  171. package/out/concepts/Structure__.js +22 -15
  172. package/out/concepts/Structure__.js.map +1 -1
  173. package/out/concepts/SwitchCase__.js +6 -6
  174. package/out/concepts/SwitchCase__.js.map +1 -1
  175. package/out/concepts/SwitchStatement__.js +1 -1
  176. package/out/concepts/SwitchStatement__.js.map +1 -1
  177. package/out/concepts/Theme__.js +1 -1
  178. package/out/concepts/Theme__.js.map +1 -1
  179. package/out/concepts/Transactional__.js +1 -1
  180. package/out/concepts/Transactional__.js.map +1 -1
  181. package/out/concepts/TypeAnnotation__.d.ts +8 -0
  182. package/out/concepts/TypeAnnotation__.js +56 -6
  183. package/out/concepts/TypeAnnotation__.js.map +1 -1
  184. package/out/concepts/TypeParam__.js +1 -1
  185. package/out/concepts/TypeParam__.js.map +1 -1
  186. package/out/concepts/UnaryExpression__.js +1 -1
  187. package/out/concepts/UnaryExpression__.js.map +1 -1
  188. package/out/concepts/Unparsed__.js +1 -1
  189. package/out/concepts/Unparsed__.js.map +1 -1
  190. package/out/concepts/UseComponent__.js +1 -1
  191. package/out/concepts/UseComponent__.js.map +1 -1
  192. package/out/concepts/ValidationRule__.js +1 -1
  193. package/out/concepts/ValidationRule__.js.map +1 -1
  194. package/out/concepts/Variable__.d.ts +1 -1
  195. package/out/concepts/Variable__.js +16 -11
  196. package/out/concepts/Variable__.js.map +1 -1
  197. package/out/concepts/ViewComponent__.js +6 -6
  198. package/out/concepts/ViewComponent__.js.map +1 -1
  199. package/out/concepts/ViewElement__.js +21 -21
  200. package/out/concepts/ViewElement__.js.map +1 -1
  201. package/out/concepts/View__.d.ts +3 -1
  202. package/out/concepts/View__.js +53 -32
  203. package/out/concepts/View__.js.map +1 -1
  204. package/out/concepts/WhileStatement__.js +5 -5
  205. package/out/concepts/WhileStatement__.js.map +1 -1
  206. package/out/concepts/basics/stdlib/nasl.configuration.js +1 -1
  207. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  208. package/out/concepts/basics/stdlib/nasl.interface.d.ts +2 -0
  209. package/out/concepts/basics/stdlib/nasl.interface.js +4 -4
  210. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  211. package/out/concepts/basics/stdlib/nasl.util.js +268 -6
  212. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  213. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +1 -1
  214. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +1 -1
  215. package/out/concepts/basics/types/index.d.ts +1 -0
  216. package/out/concepts/basics/types/index.js +3 -1
  217. package/out/concepts/basics/types/index.js.map +1 -1
  218. package/out/concepts/index__.d.ts +1 -0
  219. package/out/concepts/index__.js +1 -0
  220. package/out/concepts/index__.js.map +1 -1
  221. package/out/enums/KEYWORDS.js +0 -9
  222. package/out/enums/KEYWORDS.js.map +1 -1
  223. package/out/generator/genBundleFiles.js +8 -3
  224. package/out/generator/genBundleFiles.js.map +1 -1
  225. package/out/generator/genMetaData.js +13 -12
  226. package/out/generator/genMetaData.js.map +1 -1
  227. package/out/manager/diagnostic.d.ts +1 -1
  228. package/out/server/createUiTs.js +1 -0
  229. package/out/server/createUiTs.js.map +1 -1
  230. package/out/server/extendBaseNode.d.ts +1 -0
  231. package/out/server/extendBaseNode.js +323 -0
  232. package/out/server/extendBaseNode.js.map +1 -0
  233. package/out/server/getLogics.js +31 -2
  234. package/out/server/getLogics.js.map +1 -1
  235. package/out/server/getMemberIdentifier.js +47 -2
  236. package/out/server/getMemberIdentifier.js.map +1 -1
  237. package/out/server/getProcesses.d.ts +7 -2
  238. package/out/server/getProcesses.js +220 -20
  239. package/out/server/getProcesses.js.map +1 -1
  240. package/out/server/getScope.d.ts +3 -1
  241. package/out/server/getScope.js +30 -14
  242. package/out/server/getScope.js.map +1 -1
  243. package/out/server/index.d.ts +1 -0
  244. package/out/server/index.js +1 -0
  245. package/out/server/index.js.map +1 -1
  246. package/out/server/naslServer.d.ts +7 -5
  247. package/out/server/naslServer.js +249 -372
  248. package/out/server/naslServer.js.map +1 -1
  249. package/out/server/process2LogicNamespace.js +10 -1
  250. package/out/server/process2LogicNamespace.js.map +1 -1
  251. package/out/server/translator.d.ts +1 -1
  252. package/out/server/translator.js +22 -2
  253. package/out/server/translator.js.map +1 -1
  254. package/out/service/storage/init.js +32 -11
  255. package/out/service/storage/init.js.map +1 -1
  256. package/out/templator/genCreateBlock.js +15 -11
  257. package/out/templator/genCreateBlock.js.map +1 -1
  258. package/out/templator/genCurdEditMultipleKeyBlock.js +15 -12
  259. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  260. package/out/templator/genCurdMultipleKeyBlock.js +25 -21
  261. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  262. package/out/templator/genEditTableBlock.js +12 -12
  263. package/out/templator/genEditTableBlock.js.map +1 -1
  264. package/out/templator/genGetBlock.js +1 -1
  265. package/out/templator/genGetBlock.js.map +1 -1
  266. package/out/templator/genGridViewBlock.js +21 -20
  267. package/out/templator/genGridViewBlock.js.map +1 -1
  268. package/out/templator/genListViewBlock.js +6 -3
  269. package/out/templator/genListViewBlock.js.map +1 -1
  270. package/out/templator/genQueryComponent.js +11 -8
  271. package/out/templator/genQueryComponent.js.map +1 -1
  272. package/out/templator/genSelectBlock.js +13 -22
  273. package/out/templator/genSelectBlock.js.map +1 -1
  274. package/out/templator/genTableBlock.js +17 -15
  275. package/out/templator/genTableBlock.js.map +1 -1
  276. package/out/templator/genUpdateBlock.js +16 -12
  277. package/out/templator/genUpdateBlock.js.map +1 -1
  278. package/out/templator/utils.d.ts +5 -3
  279. package/out/templator/utils.js +2 -1
  280. package/out/templator/utils.js.map +1 -1
  281. package/out/test/integration/connect-file.js +6 -6
  282. package/out/test/integration/connect-file.js.map +1 -1
  283. package/out/translator/index.js +1 -1
  284. package/out/translator/index.js.map +1 -1
  285. package/out/utils/index.d.ts +4 -0
  286. package/out/utils/index.js +38 -2
  287. package/out/utils/index.js.map +1 -1
  288. package/out/utils/string.d.ts +1 -1
  289. package/out/utils/string.js +38 -9
  290. package/out/utils/string.js.map +1 -1
  291. package/package.json +1 -2
  292. package/src/automate/engine/index.js +38 -128
  293. package/src/automate/engine/operators.js +63 -0
  294. package/src/automate/engine/uniqueName.js +36 -0
  295. package/src/automate/engine/utils.js +108 -69
  296. package/src/common/BaseNode.ts +14 -3
  297. package/src/concepts/App__.ts +138 -101
  298. package/src/concepts/Argument__.ts +1 -1
  299. package/src/concepts/Assignee__.ts +32 -2
  300. package/src/concepts/Assignment__.ts +1 -1
  301. package/src/concepts/Attribute__.ts +1 -1
  302. package/src/concepts/BinaryExpression__.ts +1 -1
  303. package/src/concepts/BindAttribute__.ts +4 -4
  304. package/src/concepts/BindDirective__.ts +2 -2
  305. package/src/concepts/BindEvent__.ts +10 -6
  306. package/src/concepts/BooleanLiteral__.ts +1 -1
  307. package/src/concepts/CallFunction__.ts +36 -18
  308. package/src/concepts/CallInterface__.ts +1 -1
  309. package/src/concepts/CallLogic__.ts +55 -24
  310. package/src/concepts/CallQueryComponent__.ts +357 -134
  311. package/src/concepts/Comment__.ts +2 -2
  312. package/src/concepts/CompletionProperty__.ts +1 -1
  313. package/src/concepts/ConfigGroup__.ts +5 -3
  314. package/src/concepts/ConfigPropertyValue__.ts +1 -1
  315. package/src/concepts/ConfigProperty__.ts +6 -2
  316. package/src/concepts/Configuration__.ts +5 -2
  317. package/src/concepts/Constant__.ts +7 -7
  318. package/src/concepts/DataElement__.ts +1 -1
  319. package/src/concepts/DataSource__.ts +389 -0
  320. package/src/concepts/Destination__.ts +28 -10
  321. package/src/concepts/End__.ts +3 -3
  322. package/src/concepts/EntityIndex__.ts +12 -3
  323. package/src/concepts/EntityProperty__.ts +24 -8
  324. package/src/concepts/Entity__.ts +39 -27
  325. package/src/concepts/EnumItem__.ts +1 -1
  326. package/src/concepts/Enum__.ts +16 -5
  327. package/src/concepts/Event__.ts +2 -2
  328. package/src/concepts/ForEachStatement__.ts +5 -5
  329. package/src/concepts/Function__.ts +101 -7
  330. package/src/concepts/Identifier__.ts +2 -12
  331. package/src/concepts/IfStatement__.ts +10 -10
  332. package/src/concepts/InterfaceParam__.ts +10 -5
  333. package/src/concepts/Interface__.ts +22 -14
  334. package/src/concepts/JSBlock__.ts +1 -1
  335. package/src/concepts/LogicItem__.ts +1 -1
  336. package/src/concepts/Logic__.ts +60 -43
  337. package/src/concepts/MemberExpression__.ts +1 -2
  338. package/src/concepts/Module__.ts +16 -211
  339. package/src/concepts/Namespace__.ts +12 -215
  340. package/src/concepts/NullLiteral__.ts +1 -1
  341. package/src/concepts/NumericLiteral__.ts +1 -1
  342. package/src/concepts/Param__.ts +17 -9
  343. package/src/concepts/Point__.ts +1 -1
  344. package/src/concepts/ProcessComponent__.ts +3 -3
  345. package/src/concepts/ProcessElement__.ts +43 -21
  346. package/src/concepts/ProcessOutcome__.ts +1 -1
  347. package/src/concepts/Process__.ts +21 -15
  348. package/src/concepts/QueryAggregateExpression__.ts +2 -2
  349. package/src/concepts/QueryFieldExpression__.ts +14 -2
  350. package/src/concepts/QueryFromExpression__.ts +14 -3
  351. package/src/concepts/QueryGroupByExpression__.ts +24 -1
  352. package/src/concepts/QueryJoinExpression__.ts +16 -5
  353. package/src/concepts/QueryLimitExpression__.ts +9 -0
  354. package/src/concepts/QueryOrderByExpression__.ts +1 -1
  355. package/src/concepts/QuerySelectExpression__.ts +2 -2
  356. package/src/concepts/Rect__.ts +1 -1
  357. package/src/concepts/Return__.ts +16 -11
  358. package/src/concepts/Role__.ts +11 -5
  359. package/src/concepts/Slot__.ts +1 -1
  360. package/src/concepts/SqlQueryComponent__.ts +30 -11
  361. package/src/concepts/Start__.ts +1 -1
  362. package/src/concepts/StringLiteral__.ts +2 -9
  363. package/src/concepts/StructureProperty__.ts +6 -6
  364. package/src/concepts/Structure__.ts +22 -14
  365. package/src/concepts/SwitchCase__.ts +6 -6
  366. package/src/concepts/SwitchStatement__.ts +1 -1
  367. package/src/concepts/Theme__.ts +1 -1
  368. package/src/concepts/Transactional__.ts +1 -1
  369. package/src/concepts/TypeAnnotation__.ts +55 -25
  370. package/src/concepts/TypeParam__.ts +1 -1
  371. package/src/concepts/UnaryExpression__.ts +1 -1
  372. package/src/concepts/Unparsed__.ts +1 -1
  373. package/src/concepts/UseComponent__.ts +1 -1
  374. package/src/concepts/ValidationRule__.ts +1 -1
  375. package/src/concepts/Variable__.ts +16 -11
  376. package/src/concepts/ViewComponent__.ts +6 -6
  377. package/src/concepts/ViewElement__.ts +21 -21
  378. package/src/concepts/View__.ts +54 -32
  379. package/src/concepts/WhileStatement__.ts +5 -5
  380. package/src/concepts/basics/stdlib/nasl.configuration.ts +1 -1
  381. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  382. package/src/concepts/basics/stdlib/nasl.util.ts +269 -6
  383. package/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts +1 -1
  384. package/src/concepts/basics/types/index.ts +1 -0
  385. package/src/concepts/index__.ts +1 -0
  386. package/src/enums/KEYWORDS.ts +0 -9
  387. package/src/generator/genBundleFiles.ts +8 -3
  388. package/src/generator/genMetaData.ts +13 -13
  389. package/src/manager/diagnostic.ts +1 -1
  390. package/src/server/createUiTs.ts +1 -0
  391. package/src/server/extendBaseNode.ts +318 -0
  392. package/src/server/getLogics.ts +33 -4
  393. package/src/server/getMemberIdentifier.ts +49 -2
  394. package/src/server/getProcesses.ts +231 -21
  395. package/src/server/getScope.ts +41 -24
  396. package/src/server/index.ts +1 -0
  397. package/src/server/naslServer.ts +248 -366
  398. package/src/server/process2LogicNamespace.ts +29 -19
  399. package/src/server/translator.ts +25 -2
  400. package/src/service/storage/init.ts +32 -12
  401. package/src/templator/genCreateBlock.ts +16 -13
  402. package/src/templator/genCurdEditMultipleKeyBlock.ts +16 -13
  403. package/src/templator/genCurdMultipleKeyBlock.ts +26 -22
  404. package/src/templator/genEditTableBlock.ts +14 -13
  405. package/src/templator/genGetBlock.ts +1 -1
  406. package/src/templator/genGridViewBlock.ts +22 -21
  407. package/src/templator/genListViewBlock.ts +9 -5
  408. package/src/templator/genQueryComponent.ts +12 -9
  409. package/src/templator/genSelectBlock.ts +14 -23
  410. package/src/templator/genTableBlock.ts +18 -16
  411. package/src/templator/genUpdateBlock.ts +17 -13
  412. package/src/templator/utils.ts +5 -2
  413. package/src/test/integration/connect-file.ts +6 -6
  414. package/src/translator/index.ts +1 -1
  415. package/src/utils/index.ts +38 -1
  416. package/src/utils/string.ts +39 -9
  417. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +0 -3
  418. package/out/concepts/basics/stdlib/nasl.browser copy.js +0 -70
  419. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +0 -1
  420. package/out/terms/LEVEL_NAME_MAP.d.ts +0 -26
  421. package/out/terms/LEVEL_NAME_MAP.js +0 -30
  422. package/out/terms/LEVEL_NAME_MAP.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as utils from '../utils';
2
- import { App, Namespace, Entity, EntityProperty } from '../concepts';
2
+ import { App, Module, Namespace, Entity, EntityProperty, DataSource } from '../concepts';
3
3
  import {
4
4
  getExpression, filterProperty, NameGroup,
5
5
  getFirstDisplayedProperty, getParamFromLogic, genCallComponentLogic,
@@ -15,7 +15,7 @@ import {
15
15
  * @param property 实体属性
16
16
  */
17
17
  export function genEditTableColumnTemplate(entity: Entity, property: EntityProperty, nameGroup: NameGroup, selectNameGroupMap?: Map<string, NameGroup>) {
18
- const parentNode = entity.parentNode as App | Namespace;
18
+ const dataSource = entity.parentNode as DataSource;
19
19
  const lowerEntityName = utils.firstLowerCase(entity.name);
20
20
  const valueExpression = `scope.item.${lowerEntityName}.${property.name}`;
21
21
  const title = property.label || property.name;
@@ -45,7 +45,7 @@ export function genEditTableColumnTemplate(entity: Entity, property: EntityPrope
45
45
  const propertyTypeName = property.typeAnnotation.typeName;
46
46
  if (property.relationEntity && selectNameGroupMap) {
47
47
  // 有外键关联
48
- const relationEntity = parentNode?.findEntityByName(property.relationEntity);
48
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
49
49
  if (relationEntity) {
50
50
  const relationProperty = relationEntity.properties.find((prop) => prop.name === property.relationProperty);
51
51
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
@@ -135,8 +135,9 @@ export function genEditTableTemplate(entity: Entity, nameGroup: NameGroup, selec
135
135
  * @param entity 实体
136
136
  */
137
137
  export function genEditTableLoadLogic(entity: Entity, nameGroup: NameGroup, newLogic: any, supportFilter: boolean) {
138
- const parentNode = entity.parentNode as App | Namespace;
139
- const parentNamespace = parentNode?.getNamespace();
138
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
139
+ const moduleNamespace = moduleNode?.getNamespace();
140
+
140
141
  const params = [
141
142
  genLogicParam(`${newLogic.params[0].name}`, 'params.page'),
142
143
  genLogicParam(`${newLogic.params[1].name}`, 'params.size'),
@@ -160,7 +161,7 @@ export function genEditTableLoadLogic(entity: Entity, nameGroup: NameGroup, newL
160
161
  name: 'result',
161
162
  typeAnnotation: NaslCollectionTypeAnnotation.PageOf([
162
163
  NaslTypeAnnotation.Reference({
163
- typeNamespace: `${parentNamespace}.structures`,
164
+ typeNamespace: `${moduleNamespace}.structures`,
164
165
  typeName: nameGroup.structure,
165
166
  }),
166
167
  ]),
@@ -174,7 +175,7 @@ export function genEditTableLoadLogic(entity: Entity, nameGroup: NameGroup, newL
174
175
  name: 'result',
175
176
  }),
176
177
  right: NaslLogicItem.CallLogic({
177
- calleeNamespace: `${parentNamespace}.logics`,
178
+ calleeNamespace: `${moduleNamespace}.logics`,
178
179
  calleeName: newLogic.name,
179
180
  arguments: params,
180
181
  }),
@@ -190,8 +191,8 @@ export function genEditTableLoadLogic(entity: Entity, nameGroup: NameGroup, newL
190
191
  */
191
192
  export function genEditTableRemoveLogic(entity: Entity, nameGroup: NameGroup) {
192
193
  const lowerEntityName = utils.firstLowerCase(entity.name);
193
- const parentNode = entity.parentNode as App | Namespace;
194
- const parentNamespace = parentNode?.getNamespace();
194
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
195
+ const moduleNamespace = moduleNode?.getNamespace();
195
196
 
196
197
  const ns = entity.ns;
197
198
  const deleteLogic = ns?.logics?.find((logic) => logic.name === `delete`);
@@ -208,7 +209,7 @@ export function genEditTableRemoveLogic(entity: Entity, nameGroup: NameGroup) {
208
209
  name: 'scope',
209
210
  typeAnnotation: NaslUITypeAnnotation.ScopeOf([
210
211
  NaslTypeAnnotation.Reference({
211
- typeNamespace: `${parentNamespace}.structures`,
212
+ typeNamespace: `${moduleNamespace}.structures`,
212
213
  typeName: nameGroup.structure,
213
214
  }),
214
215
  ]),
@@ -239,8 +240,8 @@ export function genEditTableRemoveLogic(entity: Entity, nameGroup: NameGroup) {
239
240
 
240
241
  export function genBlurUpdateLogic(entity: Entity, nameGroup: NameGroup) {
241
242
  const lowerEntityName = utils.firstLowerCase(entity.name);
242
- const parentNode = entity.parentNode as App | Namespace;
243
- const parentNamespace = parentNode?.getNamespace();
243
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
244
+ const moduleNamespace = moduleNode?.getNamespace();
244
245
  const ns = entity.ns;
245
246
  const updateLogic = ns?.logics?.find((logic) => logic.name === `update`);
246
247
  return NaslNode.Logic({
@@ -255,7 +256,7 @@ export function genBlurUpdateLogic(entity: Entity, nameGroup: NameGroup) {
255
256
  name: 'scope',
256
257
  typeAnnotation: NaslUITypeAnnotation.ScopeOf([
257
258
  NaslTypeAnnotation.Reference({
258
- typeNamespace: `${parentNamespace}.structures`,
259
+ typeNamespace: `${moduleNamespace}.structures`,
259
260
  typeName: nameGroup.structure,
260
261
  }),
261
262
  ]),
@@ -24,7 +24,7 @@ export function genGetTemplate(entity: Entity, nameGroup: NameGroup) {
24
24
  }
25
25
 
26
26
  function genLoadLogic(getLogic: Logic, nameGroup: NameGroup) {
27
- const params = [genLogicParam(`${getLogic.params[0].name}`, 'id')];
27
+ const params = [genLogicParam(`${getLogic.params[0].name}`, nameGroup.viewParamId)];
28
28
 
29
29
  return NaslNode.Logic({
30
30
  name: nameGroup.viewLogicLoad,
@@ -1,6 +1,6 @@
1
1
  import { config } from '../config';
2
2
  import * as utils from '../utils';
3
- import { App, Namespace, Entity, EntityProperty, View } from '../concepts';
3
+ import { App, Module, Namespace, Entity, EntityProperty, View, DataSource } from '../concepts';
4
4
  import {
5
5
  getExpression,
6
6
  filterProperty,
@@ -21,14 +21,14 @@ import { NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslCollectionTypeAnnotat
21
21
  */
22
22
  export function genGridViewCardTemplate(property: EntityProperty) {
23
23
  const entity = property.entity;
24
- const parentNode = entity.parentNode as App | Namespace;
24
+ const dataSource = entity.parentNode as DataSource;
25
25
  const lowerEntityName = utils.firstLowerCase(entity.name);
26
26
  let expression = `scope.item.${lowerEntityName}.${property.name}`;
27
27
  const title = property.label || property.name;
28
28
 
29
29
  if (property.relationEntity) {
30
30
  // 有外键关联
31
- const relationEntity = parentNode?.findEntityByName(property.relationEntity);
31
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
32
32
  if (relationEntity) {
33
33
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
34
34
  if (displayedProperty) {
@@ -60,14 +60,13 @@ export function genGridViewCardTemplate(property: EntityProperty) {
60
60
 
61
61
  export function genH5GridViewCardTemplate(property: EntityProperty) {
62
62
  const entity = property.entity;
63
- const parentNode = entity.parentNode as App | Namespace;
63
+ const dataSource = entity.parentNode as DataSource;
64
64
  const lowerEntityName = utils.firstLowerCase(entity.name);
65
65
  let expression = `scope.item.${lowerEntityName}.${property.name}`;
66
- const title = property.label || property.name;
67
66
 
68
67
  if (property.relationEntity) {
69
68
  // 有外键关联
70
- const relationEntity = parentNode?.findEntityByName(property.relationEntity);
69
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
71
70
  if (relationEntity) {
72
71
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
73
72
  if (displayedProperty) {
@@ -149,8 +148,8 @@ export function genH5GridViewTemplate(entity: Entity, nameGroup: NameGroup) {
149
148
  * @param entity 实体
150
149
  */
151
150
  export function genGridViewLoadLogic(entity: Entity, nameGroup: NameGroup, newLogic: any, supportFilter: boolean) {
152
- const parentNode = entity.parentNode as App | Namespace;
153
- const parentNamespace = parentNode?.getNamespace();
151
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
152
+ const moduleNamespace = moduleNode?.getNamespace();
154
153
  const params = [
155
154
  genLogicParam(`${newLogic.params[0].name}`, 'params.page'),
156
155
  genLogicParam(`${newLogic.params[1].name}`, 'params.size'),
@@ -174,7 +173,7 @@ export function genGridViewLoadLogic(entity: Entity, nameGroup: NameGroup, newLo
174
173
  name: 'result',
175
174
  typeAnnotation: NaslCollectionTypeAnnotation.PageOf([
176
175
  NaslTypeAnnotation.Reference({
177
- typeNamespace: `${parentNamespace}.structures`,
176
+ typeNamespace: `${moduleNamespace}.structures`,
178
177
  typeName: nameGroup.structure,
179
178
  }),
180
179
  ]),
@@ -188,7 +187,7 @@ export function genGridViewLoadLogic(entity: Entity, nameGroup: NameGroup, newLo
188
187
  name: 'result',
189
188
  }),
190
189
  right: NaslLogicItem.CallLogic({
191
- calleeNamespace: `${parentNamespace}.logics`,
190
+ calleeNamespace: `${moduleNamespace}.logics`,
192
191
  calleeName: newLogic.name,
193
192
  arguments: params,
194
193
  }),
@@ -204,8 +203,8 @@ export function genGridViewLoadLogic(entity: Entity, nameGroup: NameGroup, newLo
204
203
  */
205
204
  export function genGridViewRemoveLogic(entity: Entity, nameGroup: NameGroup) {
206
205
  const lowerEntityName = utils.firstLowerCase(entity.name);
207
- const parentNode = entity.parentNode as App | Namespace;
208
- const parentNamespace = parentNode?.getNamespace();
206
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
207
+ const moduleNamespace = moduleNode?.getNamespace();
209
208
  const ns = entity.ns;
210
209
  const deleteLogic = ns?.logics?.find((logic) => logic.name === `delete`);
211
210
  const idPropertys = entity.properties.filter((property) => property.primaryKey || property.name === 'id');
@@ -221,7 +220,7 @@ export function genGridViewRemoveLogic(entity: Entity, nameGroup: NameGroup) {
221
220
  name: 'scope',
222
221
  typeAnnotation: NaslUITypeAnnotation.ScopeOf([
223
222
  NaslTypeAnnotation.Reference({
224
- typeNamespace: `${parentNamespace}.structures`,
223
+ typeNamespace: `${moduleNamespace}.structures`,
225
224
  typeName: nameGroup.structure,
226
225
  }),
227
226
  ]),
@@ -260,10 +259,11 @@ export function genGridViewRemoveLogic(entity: Entity, nameGroup: NameGroup) {
260
259
  */
261
260
  // 数据网格(简)
262
261
  export function genGridViewBlock(entity: Entity, view: View) {
263
- const parentNode = entity.parentNode as App | Namespace;
262
+ const dataSource = entity.parentNode as DataSource;
263
+ const module = dataSource.parentNode as App | Module | Namespace;
264
264
 
265
265
  const viewElementMainView = view.getViewElementUniqueName('gridView');
266
- const nameGroup = genUniqueQueryNameGroup(parentNode, view, viewElementMainView);
266
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
267
267
  nameGroup.viewElementMainView = viewElementMainView;
268
268
  nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
269
269
  nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
@@ -275,7 +275,7 @@ export function genGridViewBlock(entity: Entity, view: View) {
275
275
  entity.properties.forEach((property) => {
276
276
  if (property.relationEntity) {
277
277
  // 有外键关联
278
- const relationEntity = parentNode?.findEntityByName(property.relationEntity);
278
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
279
279
  if (relationEntity) {
280
280
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
281
281
  if (displayedProperty)
@@ -285,7 +285,7 @@ export function genGridViewBlock(entity: Entity, view: View) {
285
285
  });
286
286
  const entityStructure = genQueryStructure(allEntities, nameGroup);
287
287
  newStructures.push(entityStructure);
288
- const entityLogic = genQueryLogic(allEntities, nameGroup, false, true, parentNode);
288
+ const entityLogic = genQueryLogic(allEntities, nameGroup, false, true, module);
289
289
  newLogics.push(entityLogic);
290
290
 
291
291
  return `
@@ -308,10 +308,11 @@ export function genGridViewBlock(entity: Entity, view: View) {
308
308
 
309
309
  export function genGridViewCardBlock(property: EntityProperty, view: View) {
310
310
  const entity = property.entity;
311
- const parentNode = entity.parentNode as App | Namespace;
311
+ const dataSource = entity.parentNode as DataSource;
312
+ const module = dataSource.parentNode as App | Module | Namespace;
312
313
 
313
314
  const viewElementMainView = view.getViewElementUniqueName('gridView');
314
- const nameGroup = genUniqueQueryNameGroup(parentNode, view, viewElementMainView);
315
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
315
316
  nameGroup.viewElementMainView = viewElementMainView;
316
317
  nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
317
318
  nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
@@ -323,7 +324,7 @@ export function genGridViewCardBlock(property: EntityProperty, view: View) {
323
324
  entity.properties.forEach((property) => {
324
325
  if (property.relationEntity) {
325
326
  // 有外键关联
326
- const relationEntity = parentNode?.findEntityByName(property.relationEntity);
327
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
327
328
  if (relationEntity) {
328
329
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
329
330
  if (displayedProperty)
@@ -333,7 +334,7 @@ export function genGridViewCardBlock(property: EntityProperty, view: View) {
333
334
  });
334
335
  const entityStructure = genQueryStructure(allEntities, nameGroup);
335
336
  newStructures.push(entityStructure);
336
- const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, parentNode);
337
+ const entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);
337
338
  newLogics.push(entityLogic);
338
339
 
339
340
  return `
@@ -1,6 +1,6 @@
1
1
  import { config } from '../config';
2
2
  import * as utils from '../utils';
3
- import { App, Namespace, Entity, EntityProperty, View } from '../concepts';
3
+ import { App, Module, Namespace, Entity, EntityProperty, View, DataSource } from '../concepts';
4
4
  import { getExpression, genUniqueQueryNameGroup, getFirstDisplayedProperty, genQueryLogic, genQueryStructure, genLogicParam } from '.';
5
5
  import {
6
6
  NameGroup, NaslUITypeAnnotation, NaslCollectionTypeAnnotation,
@@ -39,9 +39,12 @@ export function genH5ListViewTemplate(property: EntityProperty, nameGroup: NameG
39
39
  }
40
40
 
41
41
  export function genLoadListViewLogic(entity: Entity, nameGroup: NameGroup, newStructures: Array<any>, newLogics: Array<any>) {
42
- const parentNode = entity.parentNode as App | Namespace;
42
+ const parentNode = entity.parentNode as App | Module | Namespace;
43
43
  const parentNamespace = parentNode?.getNamespace();
44
44
 
45
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
46
+ const moduleNamespace = moduleNode?.getNamespace();
47
+
45
48
  // Select 和 table 不一样,直接在内部产生了
46
49
  const entityStructure = genQueryStructure([entity], nameGroup);
47
50
  const entityLogic = genQueryLogic([entity], nameGroup, false, false, parentNode);
@@ -61,7 +64,7 @@ export function genLoadListViewLogic(entity: Entity, nameGroup: NameGroup, newSt
61
64
  name: 'result',
62
65
  typeAnnotation: NaslCollectionTypeAnnotation.PageOf([
63
66
  NaslTypeAnnotation.Reference({
64
- typeNamespace: `${parentNamespace}.structures`,
67
+ typeNamespace: `${moduleNamespace}.structures`,
65
68
  typeName: nameGroup.structure,
66
69
  }),
67
70
  ]),
@@ -92,10 +95,11 @@ export function genLoadListViewLogic(entity: Entity, nameGroup: NameGroup, newSt
92
95
  * 生成实体选择框区块
93
96
  */
94
97
  export function genListViewBlock(entity: Entity, view: View, property: EntityProperty) {
95
- const parentNode = entity.parentNode as App | Namespace;
98
+ const dataSource = entity.parentNode as DataSource;
99
+ const module = dataSource.parentNode as App | Module | Namespace;
96
100
 
97
101
  const viewElementMainView = view.getViewElementUniqueName('listView');
98
- const nameGroup = genUniqueQueryNameGroup(parentNode, view, viewElementMainView, false);
102
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView, false);
99
103
  nameGroup.viewElementMainView = viewElementMainView;
100
104
  nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
101
105
 
@@ -1,5 +1,5 @@
1
1
  import * as utils from '../utils';
2
- import { App, Namespace, Entity, Structure, QueryJoinExpression, CallQueryComponent, StructureProperty } from '../concepts';
2
+ import { App, Module, Namespace, Entity, Structure, QueryJoinExpression, CallQueryComponent, StructureProperty, DataSource } from '../concepts';
3
3
  import { NameGroup, NaslCoreTypeAnnotation, NaslCollectionTypeAnnotation, NaslTypeAnnotation, NaslQueryExpression, NaslLogicItem, NaslNode } from './utils';
4
4
 
5
5
  export function genQueryStructure(allEntities: Array<Entity>, nameGroup: NameGroup) {
@@ -66,8 +66,8 @@ function genWhereExpression(entity: Entity) {
66
66
  export function genQueryAssignment(allEntities: Array<Entity>, nameGroup: NameGroup, supportFilter: boolean, supportSort: boolean) {
67
67
  allEntities = Array.from(allEntities);
68
68
  const entity = allEntities.shift();
69
- const parentNode = entity.parentNode as App | Namespace;
70
- const parentNamespace = parentNode.getNamespace();
69
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
70
+ const moduleNamespace = moduleNode?.getNamespace();
71
71
 
72
72
  const from = NaslQueryExpression.QueryFromExpression({
73
73
  entityNamespace: entity.getNamespace(),
@@ -106,10 +106,13 @@ export function genQueryAssignment(allEntities: Array<Entity>, nameGroup: NameGr
106
106
  }),
107
107
  right: NaslQueryExpression.CallQueryComponent({
108
108
  label: '数据查询',
109
- typeAnnotation: NaslTypeAnnotation.Reference({
110
- typeNamespace: `${parentNamespace}.structures`,
111
- typeName: nameGroup.structure,
112
- }),
109
+ ideVersion: '2.11', // 2.11版本新创建的数据查询组件,返回类型将自动推断
110
+ typeAnnotation: NaslCollectionTypeAnnotation.PageOf([
111
+ NaslTypeAnnotation.Reference({
112
+ typeNamespace: `${moduleNamespace}.structures`,
113
+ typeName: nameGroup.structure,
114
+ }),
115
+ ]),
113
116
  select: NaslQueryExpression.QuerySelectExpression({
114
117
  label: '查询组件Select子句',
115
118
  distinct: false,
@@ -199,11 +202,11 @@ export function genQueryLogic(allEntities: Array<Entity>, nameGroup: NameGroup,
199
202
  }
200
203
 
201
204
  export async function joinEntity(callQueryComponent: CallQueryComponent, entity: Entity, recordStructure: Structure) {
202
- const parentNode = entity.parentNode as App | Namespace;
205
+ const dataSource = entity.parentNode as DataSource;
203
206
  const from = callQueryComponent.from;
204
207
  let joinInfo;
205
208
  // 无法判断用户行为,优先加有关系的
206
- const lastEntity = parentNode.findEntityByName(from.entityName);
209
+ const lastEntity = dataSource.findEntityByName(from.entityName);
207
210
  // lastEntity 和 entity Join
208
211
  // 判断要不要自动关联 onExpression
209
212
  // 一般左联是自动有的了
@@ -1,6 +1,6 @@
1
1
  import { config } from '../config';
2
2
  import * as utils from '../utils';
3
- import { App, Namespace, Entity, EntityProperty, View } from '../concepts';
3
+ import { App, Module, Namespace, Entity, EntityProperty, View, DataSource } from '../concepts';
4
4
  import { NameGroup, genUniqueQueryNameGroup, getFirstDisplayedProperty, genQueryLogic, genQueryStructure, genLogicParam } from '.';
5
5
  import {
6
6
  NaslUITypeAnnotation, NaslCollectionTypeAnnotation, NaslLogicItem,
@@ -15,8 +15,8 @@ import {
15
15
  */
16
16
  export function genSelectTemplate(property: EntityProperty, nameGroup: NameGroup) {
17
17
  return `<u-select clearable placeholder="请选择" ref="${nameGroup.viewElementMainView}" :data-source="${nameGroup.viewLogicLoad}" data-schema="${nameGroup.structure}"
18
- text-field="${nameGroup.viewVariableEntity}.${property.name}"
19
- value-field="${nameGroup.viewVariableEntity}.id" :pageable="true" :remote-paging="true">
18
+ text-field="${nameGroup.lowerEntity}.${property.name}"
19
+ value-field="${nameGroup.lowerEntity}.id" :pageable="true" :remote-paging="true">
20
20
  </u-select>`;
21
21
  }
22
22
 
@@ -29,14 +29,14 @@ export function genSelectTemplate(property: EntityProperty, nameGroup: NameGroup
29
29
  export function genH5SelectTemplate(property: EntityProperty, nameGroup: NameGroup) {
30
30
  const label = property.label || property.name;
31
31
  return `<van-cascader title="请选择" placeholder="请选择" ref="${nameGroup.viewElementMainView}" :data-source="${nameGroup.viewLogicLoad}" data-schema="${nameGroup.structure}"
32
- text-field="${nameGroup.viewVariableEntity}.${property.name}"
33
- value-field="${nameGroup.viewVariableEntity}.id" :pageable="true" :remote-paging="true" v-model="${nameGroup.viewVariableEntity}.${property.name}" labelField="${label}">
32
+ text-field="${nameGroup.lowerEntity}.${property.name}"
33
+ value-field="${nameGroup.lowerEntity}.id" :pageable="true" :remote-paging="true" labelField="${label}">
34
34
  </van-cascader>`;
35
35
  }
36
36
 
37
37
  export function genLoadSelectLogic(entity: Entity, nameGroup: NameGroup, newLogic: any) {
38
- const parentNode = entity.parentNode as App | Namespace;
39
- const parentNamespace = parentNode?.getNamespace();
38
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
39
+ const moduleNamespace = moduleNode?.getNamespace();
40
40
  const params = [
41
41
  genLogicParam(`${newLogic.params[0].name}`, 'params.page'),
42
42
  genLogicParam(`${newLogic.params[1].name}`, 'params.size'),
@@ -54,7 +54,7 @@ export function genLoadSelectLogic(entity: Entity, nameGroup: NameGroup, newLogi
54
54
  name: 'result',
55
55
  typeAnnotation: NaslCollectionTypeAnnotation.PageOf([
56
56
  NaslTypeAnnotation.Reference({
57
- typeNamespace: `${parentNamespace}.structures`,
57
+ typeNamespace: `${moduleNamespace}.structures`,
58
58
  typeName: nameGroup.structure,
59
59
  }),
60
60
  ]),
@@ -68,7 +68,7 @@ export function genLoadSelectLogic(entity: Entity, nameGroup: NameGroup, newLogi
68
68
  name: 'result',
69
69
  }),
70
70
  right: NaslLogicItem.CallLogic({
71
- calleeNamespace: `${parentNamespace}.logics`,
71
+ calleeNamespace: `${moduleNamespace}.logics`,
72
72
  calleeName: newLogic.name,
73
73
  arguments: params,
74
74
  }),
@@ -85,12 +85,13 @@ export function genLoadSelectLogic(entity: Entity, nameGroup: NameGroup, newLogi
85
85
  * @returns
86
86
  */
87
87
  export function genSelectBlock(entity: Entity, view: View) {
88
- const parentNode = entity.parentNode as App | Namespace;
88
+ const dataSource = entity.parentNode as DataSource;
89
+ const module = dataSource.parentNode as App | Module | Namespace;
89
90
 
90
91
  const viewElementMainView = view.getViewElementUniqueName('select');
91
- const nameGroup = genUniqueQueryNameGroup(parentNode, view, viewElementMainView, false);
92
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView, false);
92
93
  nameGroup.viewElementMainView = viewElementMainView;
93
- nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
94
+ nameGroup.lowerEntity = utils.firstLowerCase(entity.name);
94
95
 
95
96
  const displayedProperty = getFirstDisplayedProperty(entity);
96
97
 
@@ -101,7 +102,7 @@ export function genSelectBlock(entity: Entity, view: View) {
101
102
  const newStructures: Array<any> = [
102
103
  genQueryStructure(allEntities, nameGroup),
103
104
  ];
104
- const newLogic = genQueryLogic(allEntities, nameGroup, false, false, parentNode);
105
+ const newLogic = genQueryLogic(allEntities, nameGroup, false, false, module);
105
106
  const newLogics: Array<any> = [
106
107
  newLogic,
107
108
  ];
@@ -115,16 +116,6 @@ export function genSelectBlock(entity: Entity, view: View) {
115
116
  "viewLogics": [
116
117
  ${JSON.stringify(genLoadSelectLogic(entity, nameGroup, newLogic))}
117
118
  ],
118
- "viewVariables": [
119
- {
120
- "concept": "Variable",
121
- "name": "${nameGroup.viewVariableEntity}",
122
- "typeAnnotation": ${JSON.stringify(NaslTypeAnnotation.Reference({
123
- typeNamespace: entity.getNamespace(),
124
- typeName: entity.name,
125
- }))}
126
- }
127
- ],
128
119
  "logics": ${JSON.stringify(newLogics)},
129
120
  "structures": ${JSON.stringify(newStructures)}
130
121
  }
@@ -1,5 +1,5 @@
1
1
  import * as utils from '../utils';
2
- import { App, Namespace, Entity, EntityProperty, View } from '../concepts';
2
+ import { App, Module, Namespace, Entity, EntityProperty, View, DataSource } from '../concepts';
3
3
  import {
4
4
  getExpression,
5
5
  filterProperty,
@@ -83,8 +83,8 @@ export function genTableTemplate(entity: Entity, nameGroup: NameGroup, modifyabl
83
83
  * @param entity 实体
84
84
  */
85
85
  export function genTableLoadLogic(entity: Entity, nameGroup: NameGroup, newLogic: any, supportFilter: boolean) {
86
- const parentNode = entity.parentNode as App | Namespace;
87
- const parentNamespace = parentNode?.getNamespace();
86
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
87
+ const moduleNamespace = moduleNode?.getNamespace();
88
88
  const params = [
89
89
  genLogicParam(`${newLogic.params[0].name}`, 'params.page'),
90
90
  genLogicParam(`${newLogic.params[1].name}`, 'params.size'),
@@ -108,7 +108,7 @@ export function genTableLoadLogic(entity: Entity, nameGroup: NameGroup, newLogic
108
108
  name: 'result',
109
109
  typeAnnotation: NaslCollectionTypeAnnotation.PageOf([
110
110
  NaslTypeAnnotation.Reference({
111
- typeNamespace: `${parentNamespace}.structures`,
111
+ typeNamespace: `${moduleNamespace}.structures`,
112
112
  typeName: nameGroup.structure,
113
113
  }),
114
114
  ]),
@@ -122,7 +122,7 @@ export function genTableLoadLogic(entity: Entity, nameGroup: NameGroup, newLogic
122
122
  name: 'result',
123
123
  }),
124
124
  right: NaslLogicItem.CallLogic({
125
- calleeNamespace: `${parentNamespace}.logics`,
125
+ calleeNamespace: `${moduleNamespace}.logics`,
126
126
  calleeName: newLogic.name,
127
127
  arguments: params,
128
128
  }),
@@ -138,8 +138,8 @@ export function genTableLoadLogic(entity: Entity, nameGroup: NameGroup, newLogic
138
138
  */
139
139
  export function genTableRemoveLogic(entity: Entity, nameGroup: NameGroup) {
140
140
  const lowerEntityName = utils.firstLowerCase(entity.name);
141
- const parentNode = entity.parentNode as App | Namespace;
142
- const parentNamespace = parentNode?.getNamespace();
141
+ const moduleNode = utils.findClosestModule(entity) as App | Module;
142
+ const moduleNamespace = moduleNode?.getNamespace();
143
143
  const ns = entity.ns;
144
144
  const deleteLogic = ns?.logics?.find((logic) => logic.name === 'delete');
145
145
  const idPropertys = entity.properties.filter((property) => property.primaryKey);
@@ -154,7 +154,7 @@ export function genTableRemoveLogic(entity: Entity, nameGroup: NameGroup) {
154
154
  name: 'scope',
155
155
  typeAnnotation: NaslUITypeAnnotation.ScopeOf([
156
156
  NaslTypeAnnotation.Reference({
157
- typeNamespace: `${parentNamespace}.structures`,
157
+ typeNamespace: `${moduleNamespace}.structures`,
158
158
  typeName: nameGroup.structure,
159
159
  }),
160
160
  ]),
@@ -192,10 +192,11 @@ export function genTableRemoveLogic(entity: Entity, nameGroup: NameGroup) {
192
192
  * load_select_student -> load_someView_select_student
193
193
  */
194
194
  export function genTableBlock(entity: Entity, view: View) {
195
- const parentNode = entity.parentNode as App | Namespace;
195
+ const dataSource = entity.parentNode as DataSource;
196
+ const module = dataSource.parentNode as App | Module | Namespace;
196
197
 
197
198
  const viewElementMainView = view.getViewElementUniqueName('tableView');
198
- const nameGroup = genUniqueQueryNameGroup(parentNode, view, viewElementMainView);
199
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
199
200
  nameGroup.viewElementMainView = viewElementMainView;
200
201
  nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
201
202
  nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
@@ -207,7 +208,7 @@ export function genTableBlock(entity: Entity, view: View) {
207
208
  entity.properties.forEach((property) => {
208
209
  if (property.relationEntity) {
209
210
  // 有外键关联
210
- const relationEntity = parentNode?.findEntityByName(property.relationEntity);
211
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
211
212
  if (relationEntity) {
212
213
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
213
214
  if (displayedProperty)
@@ -217,7 +218,7 @@ export function genTableBlock(entity: Entity, view: View) {
217
218
  });
218
219
  const entityStructure = genQueryStructure(allEntities, nameGroup);
219
220
  newStructures.push(entityStructure);
220
- const entityLogic = genQueryLogic(allEntities, nameGroup, false, true, parentNode);
221
+ const entityLogic = genQueryLogic(allEntities, nameGroup, false, true, module);
221
222
  newLogics.push(entityLogic);
222
223
 
223
224
  return `
@@ -240,10 +241,11 @@ export function genTableBlock(entity: Entity, view: View) {
240
241
 
241
242
  export function genTableColumnBlock(property: EntityProperty, view: View) {
242
243
  const entity = property.entity;
243
- const parentNode = entity.parentNode as App | Namespace;
244
+ const dataSource = entity.parentNode as DataSource;
245
+ const module = dataSource.parentNode as App | Module | Namespace;
244
246
 
245
247
  const viewElementMainView = view.getViewElementUniqueName('tableView');
246
- const nameGroup = genUniqueQueryNameGroup(parentNode, view, viewElementMainView);
248
+ const nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);
247
249
  nameGroup.viewElementMainView = viewElementMainView;
248
250
  nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
249
251
  nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
@@ -256,7 +258,7 @@ export function genTableColumnBlock(property: EntityProperty, view: View) {
256
258
  properties.forEach((property) => {
257
259
  if (property.relationEntity) {
258
260
  // 有外键关联
259
- const relationEntity = parentNode?.findEntityByName(property.relationEntity);
261
+ const relationEntity = dataSource?.findEntityByName(property.relationEntity);
260
262
  if (relationEntity) {
261
263
  const displayedProperty = getFirstDisplayedProperty(relationEntity);
262
264
  if (displayedProperty)
@@ -267,7 +269,7 @@ export function genTableColumnBlock(property: EntityProperty, view: View) {
267
269
 
268
270
  const entityStructure = genQueryStructure(allEntities, nameGroup);
269
271
  newStructures.push(entityStructure);
270
- const entityLogic = genQueryLogic(allEntities, nameGroup, false, true, parentNode);
272
+ const entityLogic = genQueryLogic(allEntities, nameGroup, false, true, module);
271
273
  newLogics.push(entityLogic);
272
274
 
273
275
  return `