@lcap/nasl 3.7.3-beta.1 → 3.8.0-beta.2

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 (370) hide show
  1. package/.mocharc.js +0 -1
  2. package/out/automate/engine/utils.js +6 -1
  3. package/out/automate/engine/utils.js.map +1 -1
  4. package/out/bak/translator.js +37 -0
  5. package/out/bak/translator.js.map +1 -1
  6. package/out/breakpoint/shared/utils.d.ts +1 -0
  7. package/out/breakpoint/shared/utils.js +1 -1
  8. package/out/breakpoint/shared/utils.js.map +1 -1
  9. package/out/common/BaseNode.d.ts +11 -0
  10. package/out/common/BaseNode.js +101 -5
  11. package/out/common/BaseNode.js.map +1 -1
  12. package/out/concepts/Annotatable__.d.ts +109 -0
  13. package/out/concepts/Annotatable__.js +161 -0
  14. package/out/concepts/Annotatable__.js.map +1 -0
  15. package/out/concepts/AnnotationProperty__.d.ts +48 -0
  16. package/out/concepts/AnnotationProperty__.js +74 -0
  17. package/out/concepts/AnnotationProperty__.js.map +1 -0
  18. package/out/concepts/Annotation__.d.ts +128 -0
  19. package/out/concepts/Annotation__.js +248 -0
  20. package/out/concepts/Annotation__.js.map +1 -0
  21. package/out/concepts/App__.d.ts +14 -26
  22. package/out/concepts/App__.js +50 -20
  23. package/out/concepts/App__.js.map +1 -1
  24. package/out/concepts/ApplyAnnotation__.d.ts +87 -0
  25. package/out/concepts/ApplyAnnotation__.js +140 -0
  26. package/out/concepts/ApplyAnnotation__.js.map +1 -0
  27. package/out/concepts/Argument__.d.ts +19 -0
  28. package/out/concepts/Argument__.js +126 -0
  29. package/out/concepts/Argument__.js.map +1 -1
  30. package/out/concepts/AssigneeV2__.d.ts +169 -0
  31. package/out/concepts/AssigneeV2__.js +176 -1
  32. package/out/concepts/AssigneeV2__.js.map +1 -1
  33. package/out/concepts/AuthLogicForCallInterface__.js +1 -1
  34. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  35. package/out/concepts/AuthLogic__.js +1 -1
  36. package/out/concepts/AuthLogic__.js.map +1 -1
  37. package/out/concepts/BooleanLiteral__.d.ts +1 -0
  38. package/out/concepts/BooleanLiteral__.js +9 -0
  39. package/out/concepts/BooleanLiteral__.js.map +1 -1
  40. package/out/concepts/BusinessLogic__.js +1 -1
  41. package/out/concepts/BusinessLogic__.js.map +1 -1
  42. package/out/concepts/CallFunction__.js +1 -1
  43. package/out/concepts/CallFunction__.js.map +1 -1
  44. package/out/concepts/CallLogic__.d.ts +15 -0
  45. package/out/concepts/CallLogic__.js +149 -17
  46. package/out/concepts/CallLogic__.js.map +1 -1
  47. package/out/concepts/ConnectorLogic__.js +1 -1
  48. package/out/concepts/ConnectorLogic__.js.map +1 -1
  49. package/out/concepts/DatabaseTypeAnnotation__.d.ts +0 -2
  50. package/out/concepts/DatabaseTypeAnnotation__.js +0 -20
  51. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  52. package/out/concepts/DepartmentManagerV2__.d.ts +29 -0
  53. package/out/concepts/DepartmentManagerV2__.js +56 -0
  54. package/out/concepts/DepartmentManagerV2__.js.map +1 -0
  55. package/out/concepts/DepartmentV2__.d.ts +33 -0
  56. package/out/concepts/DepartmentV2__.js +63 -0
  57. package/out/concepts/DepartmentV2__.js.map +1 -0
  58. package/out/concepts/DirectManagerV2__.d.ts +25 -0
  59. package/out/concepts/DirectManagerV2__.js +53 -0
  60. package/out/concepts/DirectManagerV2__.js.map +1 -0
  61. package/out/concepts/End__.js +9 -1
  62. package/out/concepts/End__.js.map +1 -1
  63. package/out/concepts/EntityProperty__.js +0 -2
  64. package/out/concepts/EntityProperty__.js.map +1 -1
  65. package/out/concepts/Entity__.d.ts +2 -2
  66. package/out/concepts/Entity__.js +4 -7
  67. package/out/concepts/Entity__.js.map +1 -1
  68. package/out/concepts/EnumItem__.d.ts +1 -12
  69. package/out/concepts/EnumItem__.js +17 -49
  70. package/out/concepts/EnumItem__.js.map +1 -1
  71. package/out/concepts/EnumSelectSetter__.d.ts +4 -0
  72. package/out/concepts/EnumSelectSetter__.js +7 -0
  73. package/out/concepts/EnumSelectSetter__.js.map +1 -1
  74. package/out/concepts/Enum__.js +1 -4
  75. package/out/concepts/Enum__.js.map +1 -1
  76. package/out/concepts/ForEachStatement__.js +1 -1
  77. package/out/concepts/ForEachStatement__.js.map +1 -1
  78. package/out/concepts/FrontendLibrary__.d.ts +52 -48
  79. package/out/concepts/FrontendLibrary__.js +45 -36
  80. package/out/concepts/FrontendLibrary__.js.map +1 -1
  81. package/out/concepts/FrontendType__.d.ts +4 -0
  82. package/out/concepts/FrontendType__.js +7 -0
  83. package/out/concepts/FrontendType__.js.map +1 -1
  84. package/out/concepts/Frontend__.d.ts +2 -0
  85. package/out/concepts/Frontend__.js +21 -2
  86. package/out/concepts/Frontend__.js.map +1 -1
  87. package/out/concepts/HistoryProcessV2__.js +4 -1
  88. package/out/concepts/HistoryProcessV2__.js.map +1 -1
  89. package/out/concepts/I18nInfo__.d.ts +0 -1
  90. package/out/concepts/I18nInfo__.js +0 -7
  91. package/out/concepts/I18nInfo__.js.map +1 -1
  92. package/out/concepts/Identifier__.d.ts +2 -0
  93. package/out/concepts/Identifier__.js +31 -0
  94. package/out/concepts/Identifier__.js.map +1 -1
  95. package/out/concepts/IfStatement__.js +2 -2
  96. package/out/concepts/IfStatement__.js.map +1 -1
  97. package/out/concepts/Interface__.js +1 -4
  98. package/out/concepts/Interface__.js.map +1 -1
  99. package/out/concepts/LogicItem__.d.ts +1 -1
  100. package/out/concepts/LogicItem__.js.map +1 -1
  101. package/out/concepts/Logic__.d.ts +16 -1
  102. package/out/concepts/Logic__.js +133 -15
  103. package/out/concepts/Logic__.js.map +1 -1
  104. package/out/concepts/ManagerV2__.d.ts +34 -0
  105. package/out/concepts/ManagerV2__.js +61 -0
  106. package/out/concepts/ManagerV2__.js.map +1 -0
  107. package/out/concepts/MatchCase__.d.ts +2 -2
  108. package/out/concepts/MatchCase__.js +7 -7
  109. package/out/concepts/MatchCase__.js.map +1 -1
  110. package/out/concepts/MemberExpression__.js +1 -0
  111. package/out/concepts/MemberExpression__.js.map +1 -1
  112. package/out/concepts/Module__.d.ts +88 -0
  113. package/out/concepts/Module__.js +85 -0
  114. package/out/concepts/Module__.js.map +1 -1
  115. package/out/concepts/OperatePermissionV2__.d.ts +1 -1
  116. package/out/concepts/OperatePermissionV2__.js.map +1 -1
  117. package/out/concepts/Param__.d.ts +4 -0
  118. package/out/concepts/Param__.js +13 -21
  119. package/out/concepts/Param__.js.map +1 -1
  120. package/out/concepts/ProcessElementV2__.d.ts +6 -1
  121. package/out/concepts/ProcessElementV2__.js +20 -0
  122. package/out/concepts/ProcessElementV2__.js.map +1 -1
  123. package/out/concepts/ProcessElement__.d.ts +7 -0
  124. package/out/concepts/ProcessElement__.js +47 -0
  125. package/out/concepts/ProcessElement__.js.map +1 -1
  126. package/out/concepts/ProcessV2__.d.ts +1 -34
  127. package/out/concepts/ProcessV2__.js +3 -70
  128. package/out/concepts/ProcessV2__.js.map +1 -1
  129. package/out/concepts/QueryFromExpression__.js +2 -2
  130. package/out/concepts/QueryFromExpression__.js.map +1 -1
  131. package/out/concepts/QueryJoinExpression__.js +2 -2
  132. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  133. package/out/concepts/StaticString__.d.ts +0 -4
  134. package/out/concepts/StaticString__.js +0 -11
  135. package/out/concepts/StaticString__.js.map +1 -1
  136. package/out/concepts/StructureProperty__.d.ts +1 -0
  137. package/out/concepts/StructureProperty__.js +14 -5
  138. package/out/concepts/StructureProperty__.js.map +1 -1
  139. package/out/concepts/Structure__.d.ts +4 -0
  140. package/out/concepts/Structure__.js +6 -9
  141. package/out/concepts/Structure__.js.map +1 -1
  142. package/out/concepts/SubLogic__.d.ts +418 -0
  143. package/out/concepts/SubLogic__.js +992 -0
  144. package/out/concepts/SubLogic__.js.map +1 -0
  145. package/out/concepts/Theme__.d.ts +9 -0
  146. package/out/concepts/Theme__.js +10 -0
  147. package/out/concepts/Theme__.js.map +1 -1
  148. package/out/concepts/Transactional__.d.ts +0 -1
  149. package/out/concepts/Transactional__.js +0 -7
  150. package/out/concepts/Transactional__.js.map +1 -1
  151. package/out/concepts/TypeAnnotation__.js +18 -0
  152. package/out/concepts/TypeAnnotation__.js.map +1 -1
  153. package/out/concepts/TypeParam__.d.ts +1 -0
  154. package/out/concepts/TypeParam__.js.map +1 -1
  155. package/out/concepts/ValidationRule__.d.ts +6 -1
  156. package/out/concepts/ValidationRule__.js +6 -1
  157. package/out/concepts/ValidationRule__.js.map +1 -1
  158. package/out/concepts/ViewElement__.d.ts +8 -2
  159. package/out/concepts/ViewElement__.js +213 -32
  160. package/out/concepts/ViewElement__.js.map +1 -1
  161. package/out/concepts/View__.d.ts +10 -2
  162. package/out/concepts/View__.js +129 -17
  163. package/out/concepts/View__.js.map +1 -1
  164. package/out/concepts/basics/stdlib/nasl.processV2.d.ts +2 -0
  165. package/out/concepts/basics/stdlib/nasl.processV2.js +50 -4
  166. package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
  167. package/out/concepts/basics/types/index.d.ts +1 -1
  168. package/out/concepts/basics/types/index.js +2 -1
  169. package/out/concepts/basics/types/index.js.map +1 -1
  170. package/out/concepts/index__.d.ts +9 -0
  171. package/out/concepts/index__.js +9 -0
  172. package/out/concepts/index__.js.map +1 -1
  173. package/out/concepts/utils/asserts.d.ts +409 -0
  174. package/out/concepts/utils/asserts.js +564 -14
  175. package/out/concepts/utils/asserts.js.map +1 -1
  176. package/out/concepts/utils/types.d.ts +33 -2
  177. package/out/generator/genBundleFiles.d.ts +13 -9
  178. package/out/generator/genBundleFiles.js +383 -63
  179. package/out/generator/genBundleFiles.js.map +1 -1
  180. package/out/generator/genMetaData.js +2 -0
  181. package/out/generator/genMetaData.js.map +1 -1
  182. package/out/generator/release-body/body.js +1 -0
  183. package/out/generator/release-body/body.js.map +1 -1
  184. package/out/generator/release-body/utils.d.ts +15 -7
  185. package/out/generator/release-body/utils.js +50 -7
  186. package/out/generator/release-body/utils.js.map +1 -1
  187. package/out/natural/genNaturalTS.js +2 -4
  188. package/out/natural/genNaturalTS.js.map +1 -1
  189. package/out/natural/getContext/index.js +0 -2
  190. package/out/natural/getContext/index.js.map +1 -1
  191. package/out/natural/transformTS2UI.js.map +1 -1
  192. package/out/natural/transformTSCode.d.ts +1 -1
  193. package/out/natural/transformTSCode.js.map +1 -1
  194. package/out/server/extendBaseNode.js +9 -0
  195. package/out/server/extendBaseNode.js.map +1 -1
  196. package/out/server/getLogics.js +10 -6
  197. package/out/server/getLogics.js.map +1 -1
  198. package/out/server/getMemberIdentifier.js +6 -0
  199. package/out/server/getMemberIdentifier.js.map +1 -1
  200. package/out/server/getProcessesV2.d.ts +3 -2
  201. package/out/server/getProcessesV2.js +15 -6
  202. package/out/server/getProcessesV2.js.map +1 -1
  203. package/out/server/naslServer.d.ts +5 -1
  204. package/out/server/naslServer.js +120 -30
  205. package/out/server/naslServer.js.map +1 -1
  206. package/out/server/translator.js +4 -0
  207. package/out/server/translator.js.map +1 -1
  208. package/out/service/storage/init.d.ts +2 -1
  209. package/out/service/storage/init.js +28 -71
  210. package/out/service/storage/init.js.map +1 -1
  211. package/out/templator/genCreateBlock.d.ts +6 -2
  212. package/out/templator/genCreateBlock.js +25 -8
  213. package/out/templator/genCreateBlock.js.map +1 -1
  214. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +22 -0
  215. package/out/templator/genCurdEditMultipleKeyBlock.js +60 -1
  216. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  217. package/out/templator/genCurdMultipleKeyBlock.d.ts +13 -3
  218. package/out/templator/genCurdMultipleKeyBlock.js +29 -23
  219. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  220. package/out/templator/genGetBlock.d.ts +1 -1
  221. package/out/templator/genGetBlock.js +3 -2
  222. package/out/templator/genGetBlock.js.map +1 -1
  223. package/out/templator/genListViewBlock.d.ts +1 -1
  224. package/out/templator/genListViewBlock.js +3 -2
  225. package/out/templator/genListViewBlock.js.map +1 -1
  226. package/out/templator/genSelectBlock.d.ts +1 -1
  227. package/out/templator/genSelectBlock.js +3 -2
  228. package/out/templator/genSelectBlock.js.map +1 -1
  229. package/out/templator/genTableBlock.d.ts +9 -4
  230. package/out/templator/genTableBlock.js +31 -17
  231. package/out/templator/genTableBlock.js.map +1 -1
  232. package/out/templator/genUpdateBlock.d.ts +2 -2
  233. package/out/templator/genUpdateBlock.js +11 -11
  234. package/out/templator/genUpdateBlock.js.map +1 -1
  235. package/out/translator/types.d.ts +0 -4
  236. package/out/translator/utils.d.ts +0 -1
  237. package/out/translator/utils.js +1 -6
  238. package/out/translator/utils.js.map +1 -1
  239. package/out/utils/delay/index.d.ts +0 -0
  240. package/out/utils/delay/index.js +1 -0
  241. package/out/utils/delay/index.js.map +1 -0
  242. package/out/utils/env.d.ts +0 -4
  243. package/out/utils/env.js +3 -6
  244. package/out/utils/env.js.map +1 -1
  245. package/out/utils/index.d.ts +3 -2
  246. package/out/utils/index.js +18 -14
  247. package/out/utils/index.js.map +1 -1
  248. package/out/utils/time-slicing/controller.js.map +1 -1
  249. package/out/utils/types.d.ts +0 -17
  250. package/package.json +27 -20
  251. package/sandbox/stdlib/extension.component.ts +29 -0
  252. package/sandbox/stdlib/nasl.process.ts +17 -0
  253. package/sandbox/stdlib/nasl.processV2.ts +10 -5
  254. package/sandbox/stdlib/nasl.util.ts +3 -1
  255. package/src/automate/engine/utils.js +7 -2
  256. package/src/bak/translator.js +42 -1
  257. package/src/breakpoint/shared/utils.ts +2 -1
  258. package/src/common/BaseNode.ts +117 -5
  259. package/src/concepts/Annotatable__.ts +263 -0
  260. package/src/concepts/AnnotationProperty__.ts +102 -0
  261. package/src/concepts/Annotation__.ts +344 -0
  262. package/src/concepts/App__.ts +917 -26
  263. package/src/concepts/ApplyAnnotation__.ts +198 -0
  264. package/src/concepts/Argument__.ts +145 -1
  265. package/src/concepts/AssigneeV2__.ts +387 -1
  266. package/src/concepts/AuthLogicForCallInterface__.ts +1 -1
  267. package/src/concepts/AuthLogic__.ts +1 -1
  268. package/src/concepts/BooleanLiteral__.ts +9 -1
  269. package/src/concepts/BusinessLogic__.ts +1 -1
  270. package/src/concepts/CallFunction__.ts +1 -1
  271. package/src/concepts/CallLogic__.ts +153 -16
  272. package/src/concepts/ConnectorLogic__.ts +1 -1
  273. package/src/concepts/DatabaseTypeAnnotation__.ts +0 -11
  274. package/src/concepts/DepartmentManagerV2__.ts +70 -0
  275. package/src/concepts/DepartmentV2__.ts +75 -0
  276. package/src/concepts/DirectManagerV2__.ts +65 -0
  277. package/src/concepts/End__.ts +10 -1
  278. package/src/concepts/EntityProperty__.ts +0 -5
  279. package/src/concepts/Entity__.ts +5 -9
  280. package/src/concepts/EnumItem__.ts +16 -65
  281. package/src/concepts/EnumSelectSetter__.ts +6 -0
  282. package/src/concepts/Enum__.ts +1 -6
  283. package/src/concepts/ForEachStatement__.ts +1 -1
  284. package/src/concepts/FrontendLibrary__.ts +88 -80
  285. package/src/concepts/FrontendType__.ts +6 -0
  286. package/src/concepts/Frontend__.ts +26 -3
  287. package/src/concepts/HistoryProcessV2__.ts +5 -0
  288. package/src/concepts/I18nInfo__.ts +0 -5
  289. package/src/concepts/Identifier__.ts +32 -0
  290. package/src/concepts/IfStatement__.ts +2 -2
  291. package/src/concepts/Interface__.ts +1 -6
  292. package/src/concepts/LogicItem__.ts +1 -0
  293. package/src/concepts/Logic__.ts +140 -17
  294. package/src/concepts/ManagerV2__.ts +78 -0
  295. package/src/concepts/MatchCase__.ts +9 -8
  296. package/src/concepts/MemberExpression__.ts +1 -0
  297. package/src/concepts/Module__.ts +194 -0
  298. package/src/concepts/OperatePermissionV2__.ts +1 -1
  299. package/src/concepts/Param__.ts +17 -20
  300. package/src/concepts/ProcessElementV2__.ts +23 -0
  301. package/src/concepts/ProcessElement__.ts +18 -0
  302. package/src/concepts/ProcessV2__.ts +4 -70
  303. package/src/concepts/QueryFromExpression__.ts +2 -2
  304. package/src/concepts/QueryJoinExpression__.ts +2 -2
  305. package/src/concepts/StaticString__.ts +0 -13
  306. package/src/concepts/StructureProperty__.ts +16 -7
  307. package/src/concepts/Structure__.ts +10 -11
  308. package/src/concepts/SubLogic__.ts +1516 -0
  309. package/src/concepts/Theme__.ts +9 -0
  310. package/src/concepts/Transactional__.ts +0 -5
  311. package/src/concepts/TriggerLauncher__.ts +1 -1
  312. package/src/concepts/TypeAnnotation__.ts +17 -0
  313. package/src/concepts/TypeParam__.ts +3 -0
  314. package/src/concepts/ValidationRule__.ts +6 -1
  315. package/src/concepts/ViewElement__.ts +224 -34
  316. package/src/concepts/View__.ts +135 -22
  317. package/src/concepts/basics/stdlib/nasl.processV2.ts +56 -3
  318. package/src/concepts/basics/types/index.ts +1 -1
  319. package/src/concepts/index__.ts +9 -0
  320. package/src/concepts/utils/asserts.ts +595 -0
  321. package/src/concepts/utils/types.ts +53 -0
  322. package/src/generator/genBundleFiles.ts +408 -68
  323. package/src/generator/genMetaData.ts +3 -0
  324. package/src/generator/release-body/body.ts +1 -0
  325. package/src/generator/release-body/utils.ts +159 -55
  326. package/src/natural/genNaturalTS.ts +3 -5
  327. package/src/natural/getContext/index.ts +0 -2
  328. package/src/natural/transformTS2UI.ts +5 -2
  329. package/src/natural/transformTSCode.ts +2 -2
  330. package/src/server/extendBaseNode.ts +11 -2
  331. package/src/server/getLogics.ts +9 -7
  332. package/src/server/getMemberIdentifier.ts +7 -0
  333. package/src/server/getProcessesV2.ts +16 -6
  334. package/src/server/naslServer.ts +133 -30
  335. package/src/server/translator.ts +4 -0
  336. package/src/service/storage/init.ts +52 -97
  337. package/src/templator/genCreateBlock.ts +35 -14
  338. package/src/templator/genCurdEditMultipleKeyBlock.ts +65 -1
  339. package/src/templator/genCurdMultipleKeyBlock.ts +42 -23
  340. package/src/templator/genGetBlock.ts +4 -3
  341. package/src/templator/genListViewBlock.ts +3 -3
  342. package/src/templator/genSelectBlock.ts +4 -2
  343. package/src/templator/genTableBlock.ts +32 -17
  344. package/src/templator/genUpdateBlock.ts +21 -18
  345. package/src/translator/types.ts +0 -4
  346. package/src/translator/utils.ts +0 -6
  347. package/src/utils/delay/index.ts +0 -0
  348. package/src/utils/env.ts +4 -5
  349. package/src/utils/index.ts +16 -4
  350. package/src/utils/time-slicing/controller.ts +1 -0
  351. package/src/utils/types.ts +0 -20
  352. package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +2 -1
  353. package/ts-worker/bundle.js +1 -1
  354. package/ts-worker/src/index.js +1 -0
  355. package/out/utils/language-cache/constant.d.ts +0 -18
  356. package/out/utils/language-cache/constant.js +0 -35
  357. package/out/utils/language-cache/constant.js.map +0 -1
  358. package/out/utils/language-cache/index.d.ts +0 -2
  359. package/out/utils/language-cache/index.js +0 -19
  360. package/out/utils/language-cache/index.js.map +0 -1
  361. package/out/utils/language-cache/nasl.d.ts +0 -10
  362. package/out/utils/language-cache/nasl.js +0 -98
  363. package/out/utils/language-cache/nasl.js.map +0 -1
  364. package/out/utils/language-cache/types.d.ts +0 -44
  365. package/out/utils/language-cache/types.js +0 -4
  366. package/out/utils/language-cache/types.js.map +0 -1
  367. package/src/utils/language-cache/constant.ts +0 -37
  368. package/src/utils/language-cache/index.ts +0 -2
  369. package/src/utils/language-cache/nasl.ts +0 -83
  370. package/src/utils/language-cache/types.ts +0 -48
@@ -264,8 +264,9 @@ let NaslServer = NaslServer_1 = class NaslServer {
264
264
  terminate() {
265
265
  this.worker.terminate();
266
266
  }
267
- async createUiTs(components, options) {
268
- const { tsCode, baseComponents } = options;
267
+ async createUiTs(components, optinos) {
268
+ const { standardUIComponents, // 标准组件(带有ts类型定义文件的组件)
269
+ } = optinos;
269
270
  Object.assign(allComponent, components);
270
271
  const { code, elementsLogic } = await (0, createUiTs_1.default)(allComponent);
271
272
  /// process.env.BUILD_TARGET !== 'node'
@@ -289,12 +290,18 @@ let NaslServer = NaslServer_1 = class NaslServer {
289
290
  fileContent: code,
290
291
  }, { cache: true });
291
292
  // 添加基础组件的方法到elementsLogic
292
- Object.assign(elementsLogic, (0, createUiTs_1.createEleLogins)(baseComponents));
293
+ Object.assign(elementsLogic, (0, createUiTs_1.createEleLogins)(standardUIComponents));
293
294
  // 基础组件
294
295
  await this.addFile({
295
296
  file: 'nasl.ui.component.ts',
296
- fileContent: tsCode,
297
+ fileContent: optinos.basicUITsCode,
297
298
  }, { cache: true });
299
+ // 带有类型的依赖库组件
300
+ await this.addFile({
301
+ file: 'extension.component.ts',
302
+ fileContent: optinos.withTypeLibraryTsCode,
303
+ }, { cache: true });
304
+ // 内置标准库类型
298
305
  Object.keys(naslStdlibMap_1.default).forEach(async (libFileName) => {
299
306
  await this.addFile({
300
307
  file: `/${libFileName}`,
@@ -321,7 +328,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
321
328
  self.file2NodeMap.set(result.filePath, node);
322
329
  }
323
330
  catch (err) {
324
- if (utils.isDebugMode) {
331
+ if (process.env.NODE_ENV === 'development') {
325
332
  self.logger.warn(node.nodePath ? node.nodePath : name, '代码转换失败', err);
326
333
  }
327
334
  }
@@ -532,9 +539,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
532
539
  await Promise.all(openFiles.map(async (file) => fs.outputFile(path.join(__dirname, '../debug/apps', app.id, file.file), file.fileContent)));
533
540
  }
534
541
  catch (e) {
535
- if (utils.isDebugMode) {
536
- this.logger.error(e);
537
- }
542
+ this.logger.error(e);
538
543
  }
539
544
  }
540
545
  /// #endif
@@ -639,6 +644,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
639
644
  const quickInfo = await this._getTypeQuickinfo({
640
645
  file: fileNode.getEmbeddedFilePath(),
641
646
  line: (0, translator_1.lsp2tspNumber)(currentSource.start.line),
647
+ // TODO 适配依赖库的extension.xxx
642
648
  offset: (0, translator_1.lsp2tspNumber)(currentSource.start.character) + `new nasl.ui.`.length,
643
649
  });
644
650
  if (quickInfo.responseRequired) {
@@ -1535,9 +1541,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1535
1541
  jsCode = nodeIn.toJS();
1536
1542
  }
1537
1543
  catch (err) {
1538
- if (utils.isDebugMode) {
1539
- self.logger.error(err);
1540
- }
1544
+ self.logger.error(err);
1541
1545
  }
1542
1546
  if (!jsCode.startsWith(`${node.name} = `))
1543
1547
  return;
@@ -1566,7 +1570,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
1566
1570
  const diagnostic = {
1567
1571
  node: nodeIn,
1568
1572
  severity: 'error',
1569
- message: `${nodeIn.label}左边 ${node.name} 未设置类型,右边必须为有返回值的内容。`,
1573
+ message: `${nodeIn.label || ''}左边 ${node.name} 未设置类型,右边必须为有返回值的内容。`,
1570
1574
  };
1571
1575
  nodeIn.tsErrorDetail = diagnostic;
1572
1576
  diagnostics.push(diagnostic);
@@ -2088,7 +2092,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
2088
2092
  const diagnostic = {
2089
2093
  node: nodeIn,
2090
2094
  severity: 'error',
2091
- message: `${nodeIn.label}左边 ${node.name} 未设置类型,右边必须为有返回值的内容。`,
2095
+ message: `${nodeIn.label || ''}左边 ${node.name} 未设置类型,右边必须为有返回值的内容。`,
2092
2096
  };
2093
2097
  nodeIn.tsErrorDetail = diagnostic;
2094
2098
  diagnostics.push(diagnostic);
@@ -2523,6 +2527,50 @@ let NaslServer = NaslServer_1 = class NaslServer {
2523
2527
  }
2524
2528
  }
2525
2529
  }
2530
+ if (node instanceof concepts_1.CallLogic) {
2531
+ // 处理依赖库高阶函数,函数签名和函数调用参数要完全一一对应
2532
+ if (node.calleeNamespace?.startsWith('extensions.')) {
2533
+ const logicNode = node.getCallNode();
2534
+ const params = logicNode?.params?.slice();
2535
+ const findFunction = params.find(param => param?.typeAnnotation?.typeKind === 'function');
2536
+ if (findFunction) {
2537
+ node.arguments?.forEach((argument, index) => {
2538
+ const expression = argument?.expression;
2539
+ const paramType = params[index]?.typeAnnotation;
2540
+ if (!expression?.tsErrorDetail && paramType?.typeKind === 'function' && paramType?.typeArguments?.length) {
2541
+ let hasLengthErrorDetail = {
2542
+ flag: false,
2543
+ message: '',
2544
+ };
2545
+ const isSubLogic = expression instanceof concepts_1.SubLogic;
2546
+ const isCallLogic = expression instanceof concepts_1.Identifier && expression?.namespace?.endsWith('logics');
2547
+ if (isSubLogic) {
2548
+ if (expression?.params?.length !== paramType.typeArguments.length) {
2549
+ hasLengthErrorDetail.flag = true;
2550
+ hasLengthErrorDetail.message = `高阶函数: 参数个数不匹配,期望 ${paramType.typeArguments.length} 个, 实际传入 ${expression.params?.length || 0} 个!`;
2551
+ }
2552
+ }
2553
+ else if (isCallLogic) {
2554
+ const getIdentCallLogic = expression.getFunctionCallNode();
2555
+ if (getIdentCallLogic?.params?.length !== paramType.typeArguments.length) {
2556
+ hasLengthErrorDetail.flag = true;
2557
+ hasLengthErrorDetail.message = `高阶函数: 参数个数不匹配,期望 ${paramType.typeArguments.length} 个, 实际传入 ${getIdentCallLogic.params?.length || 0} 个!`;
2558
+ }
2559
+ }
2560
+ if (hasLengthErrorDetail.flag) {
2561
+ const diagnostic = {
2562
+ node: expression,
2563
+ severity: 'error',
2564
+ message: hasLengthErrorDetail.message,
2565
+ };
2566
+ expression.tsErrorDetail = diagnostic;
2567
+ diagnostics.push(diagnostic);
2568
+ }
2569
+ }
2570
+ });
2571
+ }
2572
+ }
2573
+ }
2526
2574
  // if(node instanceof CallLogic) {
2527
2575
  // const logic = node.getCallNode();
2528
2576
  // const isElementLogic = node.calleeNamespace?.startsWith('elements.');
@@ -2910,9 +2958,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
2910
2958
  }
2911
2959
  }
2912
2960
  catch (e) {
2913
- if (utils.isDebugMode) {
2914
- this.logger.error('naslServer实体引用', e);
2915
- }
2961
+ this.logger.error('naslServer实体引用', e);
2916
2962
  }
2917
2963
  }
2918
2964
  }
@@ -3332,9 +3378,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
3332
3378
  }
3333
3379
  }
3334
3380
  catch (error) {
3335
- if (utils.isDebugMode) {
3336
- this.logger.error(error);
3337
- }
3381
+ console.error(error);
3338
3382
  }
3339
3383
  }
3340
3384
  else if (minRange.node instanceof concepts_1.Identifier) {
@@ -3673,6 +3717,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
3673
3717
  App.emit('collect:start', {
3674
3718
  actionMsg: '增加逻辑参数',
3675
3719
  });
3720
+ console.log('-----增加逻辑参数-----');
3676
3721
  const index = node.getIndexOfParent();
3677
3722
  node.create({
3678
3723
  index,
@@ -3681,6 +3726,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
3681
3726
  });
3682
3727
  this._addParamsEffect(refsList, node);
3683
3728
  // 结束修改 ,批量操作
3729
+ console.log('-----增加逻辑参数 结束-----');
3684
3730
  App.emit('collect:end');
3685
3731
  return node;
3686
3732
  }
@@ -3719,9 +3765,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
3719
3765
  }
3720
3766
  }
3721
3767
  catch (err) {
3722
- if (utils.isDebugMode) {
3723
- this.logger.error(err);
3724
- }
3768
+ this.logger.error(err);
3725
3769
  }
3726
3770
  return result;
3727
3771
  }
@@ -3746,9 +3790,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
3746
3790
  });
3747
3791
  }
3748
3792
  catch (err) {
3749
- if (utils.isDebugMode) {
3750
- this.logger.error(err);
3751
- }
3793
+ this.logger.error(err);
3752
3794
  }
3753
3795
  return [...result];
3754
3796
  }
@@ -4226,6 +4268,48 @@ let NaslServer = NaslServer_1 = class NaslServer {
4226
4268
  else {
4227
4269
  // 清空原来已经赋值上去的类型,可能原来有现在没有了
4228
4270
  delete node.__TypeAnnotation;
4271
+ // 给一些泛型标注的推导泛型
4272
+ delete node.__TypeArguments;
4273
+ /**
4274
+ * 特殊处理,calllogic 有泛型的情况,拿到的类型是错误的编译不出来的类型,所以要特殊处理一下
4275
+ * 不想去查两次类型, 因为是从函数签名上拿类型,所以直接合并在一起,先这样
4276
+ */
4277
+ if (node instanceof concepts_1.CallLogic &&
4278
+ node.completeTypeParams?.length &&
4279
+ node?.__nodeType) {
4280
+ const logicNode = node.getCallNode();
4281
+ const autoTypeArguments = node.__nodeType?.typeArguments || [];
4282
+ const newAutoTypeArguments = [...autoTypeArguments];
4283
+ if (logicNode.returns?.length) {
4284
+ let returnType = newAutoTypeArguments.shift();
4285
+ if (node.handleError && returnType.typeName === 'Union') {
4286
+ const returnTypeArguments = returnType.typeArguments || [];
4287
+ const typeArguments = [...returnTypeArguments];
4288
+ const errorType = typeArguments.find((t) => t.typeName === 'Error');
4289
+ if (errorType) {
4290
+ if (typeArguments.length === 2) {
4291
+ returnType = typeArguments.filter((t) => t !== errorType)[0];
4292
+ }
4293
+ else {
4294
+ returnType.typeArguments = typeArguments.filter((t) => t !== errorType);
4295
+ }
4296
+ }
4297
+ }
4298
+ node.__TypeAnnotation = utils.runGeneratorSync((0, formatTsUtils_1.type2TypeAnnotation)(returnType));
4299
+ }
4300
+ const typeArgs = [];
4301
+ const typeArguments = node.typeArguments;
4302
+ node.completeTypeParams.forEach((typeArg, typeIndex) => {
4303
+ if (typeArg.needChoose) {
4304
+ typeArgs.push(typeArguments?.[typeIndex]);
4305
+ }
4306
+ else {
4307
+ const newType = utils.runGeneratorSync((0, formatTsUtils_1.type2TypeAnnotation)(newAutoTypeArguments.shift()));
4308
+ typeArgs.push(newType);
4309
+ }
4310
+ });
4311
+ node.__TypeArguments = typeArgs;
4312
+ }
4229
4313
  }
4230
4314
  }
4231
4315
  catch (err) {
@@ -4264,8 +4348,8 @@ let NaslServer = NaslServer_1 = class NaslServer {
4264
4348
  const typesMap = await this.getQuickInfoNodesTypeMap(nodes, true);
4265
4349
  const json = app.toJSON();
4266
4350
  this.logger.timeEnd('全量标注');
4267
- // 测试环境或者是调试模式打印数据
4268
- if (utils.isDebugMode || utils.isTestBrowser) {
4351
+ // 测试环境打印数据
4352
+ if (utils.isTestBrowser) {
4269
4353
  this.logger.info('全量标注数据', json);
4270
4354
  }
4271
4355
  if (releaseFlag) {
@@ -4409,6 +4493,14 @@ let NaslServer = NaslServer_1 = class NaslServer {
4409
4493
  node.arguments.pop();
4410
4494
  }
4411
4495
  }
4496
+ /**
4497
+ * 特殊处理,不想去查两次类型, 因为是从函数签名上拿类型,所以直接合并在一起,先这样
4498
+ */
4499
+ if (node instanceof concepts_1.CallLogic && node.__TypeArguments?.length) {
4500
+ const jsonNode = jsoner.queryNodeByPath(json, node.getNodePath(false));
4501
+ jsonNode.typeArguments = node.__TypeArguments;
4502
+ jsonNode.typeAnnotation = node.__TypeAnnotation;
4503
+ }
4412
4504
  }
4413
4505
  // 服务端需要默认值节点有类型来判断父节点是否是日期类型
4414
4506
  if (node instanceof concepts_1.DefaultValue && !value) {
@@ -4466,9 +4558,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
4466
4558
  }
4467
4559
  return new Promise((resolve, reject) => {
4468
4560
  const myTimer = setTimeout(() => {
4469
- if (utils.isDebugMode) {
4470
- this.logger.warn(node, '没有获取到类型');
4471
- }
4561
+ this.logger.warn(node, '没有获取到类型');
4472
4562
  clearTimeout(myTimer);
4473
4563
  clearInterval(mySetInterval);
4474
4564
  if (node.__isCorrectTypeAnnotation) {