@lcap/nasl 1.0.0-alpha.7 → 1.0.0

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 (441) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +513 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/utils.d.ts +24 -0
  5. package/out/automate/engine/utils.js +363 -0
  6. package/out/automate/engine/utils.js.map +1 -0
  7. package/out/common/BaseNode.d.ts +20 -0
  8. package/out/common/BaseNode.js +219 -81
  9. package/out/common/BaseNode.js.map +1 -1
  10. package/out/concepts/App__.d.ts +18 -1
  11. package/out/concepts/App__.js +75 -35
  12. package/out/concepts/App__.js.map +1 -1
  13. package/out/concepts/Argument__.d.ts +5 -1
  14. package/out/concepts/Argument__.js +21 -3
  15. package/out/concepts/Argument__.js.map +1 -1
  16. package/out/concepts/Assignee__.d.ts +190 -0
  17. package/out/concepts/Assignee__.js +264 -0
  18. package/out/concepts/Assignee__.js.map +1 -0
  19. package/out/concepts/Assignment__.js +5 -0
  20. package/out/concepts/Assignment__.js.map +1 -1
  21. package/out/concepts/BinaryExpression__.js +8 -7
  22. package/out/concepts/BinaryExpression__.js.map +1 -1
  23. package/out/concepts/BindAttribute__.d.ts +19 -0
  24. package/out/concepts/BindAttribute__.js +54 -9
  25. package/out/concepts/BindAttribute__.js.map +1 -1
  26. package/out/concepts/BindDirective__.js +22 -2
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +2 -2
  29. package/out/concepts/BindEvent__.js +67 -34
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  32. package/out/concepts/BooleanLiteral__.js +10 -0
  33. package/out/concepts/BooleanLiteral__.js.map +1 -1
  34. package/out/concepts/CallFunction__.js +41 -23
  35. package/out/concepts/CallFunction__.js.map +1 -1
  36. package/out/concepts/CallInterface__.d.ts +5 -0
  37. package/out/concepts/CallInterface__.js +238 -31
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +4 -4
  40. package/out/concepts/CallLogic__.js +110 -53
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  43. package/out/concepts/CallQueryComponent__.js +44 -25
  44. package/out/concepts/CallQueryComponent__.js.map +1 -1
  45. package/out/concepts/Comment__.js +6 -2
  46. package/out/concepts/Comment__.js.map +1 -1
  47. package/out/concepts/CompletionProperty__.d.ts +3 -1
  48. package/out/concepts/CompletionProperty__.js +2 -0
  49. package/out/concepts/CompletionProperty__.js.map +1 -1
  50. package/out/concepts/ConfigGroup__.js +2 -2
  51. package/out/concepts/ConfigGroup__.js.map +1 -1
  52. package/out/concepts/ConfigProperty__.js +2 -2
  53. package/out/concepts/ConfigProperty__.js.map +1 -1
  54. package/out/concepts/Configuration__.js +2 -2
  55. package/out/concepts/Configuration__.js.map +1 -1
  56. package/out/concepts/Constant__.d.ts +1 -0
  57. package/out/concepts/Constant__.js +14 -0
  58. package/out/concepts/Constant__.js.map +1 -1
  59. package/out/concepts/Destination__.d.ts +12 -0
  60. package/out/concepts/Destination__.js +94 -18
  61. package/out/concepts/Destination__.js.map +1 -1
  62. package/out/concepts/End__.js +9 -1
  63. package/out/concepts/End__.js.map +1 -1
  64. package/out/concepts/EntityProperty__.d.ts +11 -0
  65. package/out/concepts/EntityProperty__.js +73 -5
  66. package/out/concepts/EntityProperty__.js.map +1 -1
  67. package/out/concepts/Entity__.d.ts +4 -1
  68. package/out/concepts/Entity__.js +37 -15
  69. package/out/concepts/Entity__.js.map +1 -1
  70. package/out/concepts/Enum__.d.ts +4 -0
  71. package/out/concepts/Enum__.js +18 -10
  72. package/out/concepts/Enum__.js.map +1 -1
  73. package/out/concepts/Event__.js +2 -2
  74. package/out/concepts/Event__.js.map +1 -1
  75. package/out/concepts/ForEachStatement__.js +9 -13
  76. package/out/concepts/ForEachStatement__.js.map +1 -1
  77. package/out/concepts/Function__.js +9 -9
  78. package/out/concepts/Function__.js.map +1 -1
  79. package/out/concepts/Identifier__.d.ts +3 -0
  80. package/out/concepts/Identifier__.js +76 -29
  81. package/out/concepts/Identifier__.js.map +1 -1
  82. package/out/concepts/IfStatement__.js +4 -4
  83. package/out/concepts/IfStatement__.js.map +1 -1
  84. package/out/concepts/InterfaceParam__.d.ts +6 -4
  85. package/out/concepts/InterfaceParam__.js +52 -19
  86. package/out/concepts/InterfaceParam__.js.map +1 -1
  87. package/out/concepts/Interface__.d.ts +42 -30
  88. package/out/concepts/Interface__.js +131 -15
  89. package/out/concepts/Interface__.js.map +1 -1
  90. package/out/concepts/JSBlock__.d.ts +1 -0
  91. package/out/concepts/JSBlock__.js +3 -0
  92. package/out/concepts/JSBlock__.js.map +1 -1
  93. package/out/concepts/LogicItem__.d.ts +2 -1
  94. package/out/concepts/LogicItem__.js +14 -0
  95. package/out/concepts/LogicItem__.js.map +1 -1
  96. package/out/concepts/Logic__.d.ts +16 -1
  97. package/out/concepts/Logic__.js +176 -33
  98. package/out/concepts/Logic__.js.map +1 -1
  99. package/out/concepts/MemberExpression__.d.ts +2 -0
  100. package/out/concepts/MemberExpression__.js +49 -12
  101. package/out/concepts/MemberExpression__.js.map +1 -1
  102. package/out/concepts/Module__.d.ts +126 -120
  103. package/out/concepts/Module__.js +28 -18
  104. package/out/concepts/Module__.js.map +1 -1
  105. package/out/concepts/Namespace__.d.ts +5 -1
  106. package/out/concepts/Namespace__.js +36 -25
  107. package/out/concepts/Namespace__.js.map +1 -1
  108. package/out/concepts/NullLiteral__.d.ts +3 -0
  109. package/out/concepts/NullLiteral__.js +11 -1
  110. package/out/concepts/NullLiteral__.js.map +1 -1
  111. package/out/concepts/NumericLiteral__.d.ts +1 -1
  112. package/out/concepts/NumericLiteral__.js +17 -6
  113. package/out/concepts/NumericLiteral__.js.map +1 -1
  114. package/out/concepts/Param__.d.ts +7 -3
  115. package/out/concepts/Param__.js +57 -28
  116. package/out/concepts/Param__.js.map +1 -1
  117. package/out/concepts/ProcessComponent__.js +4 -4
  118. package/out/concepts/ProcessComponent__.js.map +1 -1
  119. package/out/concepts/ProcessElement__.d.ts +0 -4
  120. package/out/concepts/ProcessElement__.js +112 -49
  121. package/out/concepts/ProcessElement__.js.map +1 -1
  122. package/out/concepts/ProcessOutcome__.js +1 -1
  123. package/out/concepts/ProcessOutcome__.js.map +1 -1
  124. package/out/concepts/Process__.d.ts +7 -1
  125. package/out/concepts/Process__.js +77 -81
  126. package/out/concepts/Process__.js.map +1 -1
  127. package/out/concepts/QueryAggregateExpression__.js +1 -1
  128. package/out/concepts/QueryAggregateExpression__.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 +4 -4
  132. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  133. package/out/concepts/QueryLimitExpression__.js +3 -3
  134. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  135. package/out/concepts/QuerySelectExpression__.js +2 -2
  136. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  137. package/out/concepts/Return__.d.ts +4 -1
  138. package/out/concepts/Return__.js +67 -21
  139. package/out/concepts/Return__.js.map +1 -1
  140. package/out/concepts/Role__.d.ts +4 -0
  141. package/out/concepts/Role__.js +13 -4
  142. package/out/concepts/Role__.js.map +1 -1
  143. package/out/concepts/SqlQueryComponent__.js +2 -2
  144. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  145. package/out/concepts/StringLiteral__.d.ts +1 -1
  146. package/out/concepts/StringLiteral__.js +21 -31
  147. package/out/concepts/StringLiteral__.js.map +1 -1
  148. package/out/concepts/StructureProperty__.d.ts +5 -4
  149. package/out/concepts/StructureProperty__.js +55 -26
  150. package/out/concepts/StructureProperty__.js.map +1 -1
  151. package/out/concepts/Structure__.d.ts +44 -30
  152. package/out/concepts/Structure__.js +42 -10
  153. package/out/concepts/Structure__.js.map +1 -1
  154. package/out/concepts/SwitchCase__.js +4 -4
  155. package/out/concepts/SwitchCase__.js.map +1 -1
  156. package/out/concepts/SwitchStatement__.js +2 -2
  157. package/out/concepts/SwitchStatement__.js.map +1 -1
  158. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  159. package/out/concepts/TypeAnnotation__.js +74 -20
  160. package/out/concepts/TypeAnnotation__.js.map +1 -1
  161. package/out/concepts/UnaryExpression__.js +10 -8
  162. package/out/concepts/UnaryExpression__.js.map +1 -1
  163. package/out/concepts/Unparsed__.js +1 -1
  164. package/out/concepts/Unparsed__.js.map +1 -1
  165. package/out/concepts/ValidationRule__.d.ts +1 -0
  166. package/out/concepts/ValidationRule__.js +48 -13
  167. package/out/concepts/ValidationRule__.js.map +1 -1
  168. package/out/concepts/Variable__.d.ts +10 -1
  169. package/out/concepts/Variable__.js +70 -18
  170. package/out/concepts/Variable__.js.map +1 -1
  171. package/out/concepts/ViewComponent__.js +10 -10
  172. package/out/concepts/ViewComponent__.js.map +1 -1
  173. package/out/concepts/ViewElement__.d.ts +17 -11
  174. package/out/concepts/ViewElement__.js +299 -201
  175. package/out/concepts/ViewElement__.js.map +1 -1
  176. package/out/concepts/View__.d.ts +12 -13
  177. package/out/concepts/View__.js +106 -103
  178. package/out/concepts/View__.js.map +1 -1
  179. package/out/concepts/WhileStatement__.js +3 -3
  180. package/out/concepts/WhileStatement__.js.map +1 -1
  181. package/out/concepts/basics/stdlib/index.js +4 -1
  182. package/out/concepts/basics/stdlib/index.js.map +1 -1
  183. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  184. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  185. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  186. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  187. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  188. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  189. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  190. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  191. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  192. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  193. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  194. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  195. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  196. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  197. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  198. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  199. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  200. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  201. package/out/concepts/basics/types/coreTypeList.js +11 -10
  202. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  203. package/out/concepts/index__.d.ts +1 -0
  204. package/out/concepts/index__.js +1 -0
  205. package/out/concepts/index__.js.map +1 -1
  206. package/out/config.d.ts +1 -2
  207. package/out/config.js +1 -2
  208. package/out/config.js.map +1 -1
  209. package/out/enums/KEYWORDS.d.ts +3 -0
  210. package/out/enums/KEYWORDS.js +1208 -0
  211. package/out/enums/KEYWORDS.js.map +1 -0
  212. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  213. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  214. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  215. package/out/eventBus.d.ts +3 -0
  216. package/out/eventBus.js +7 -0
  217. package/out/eventBus.js.map +1 -0
  218. package/out/generator/genBundleFiles.d.ts +7 -2
  219. package/out/generator/genBundleFiles.js +168 -27
  220. package/out/generator/genBundleFiles.js.map +1 -1
  221. package/out/generator/genMetaData.d.ts +20 -20
  222. package/out/generator/genMetaData.js +50 -15
  223. package/out/generator/genMetaData.js.map +1 -1
  224. package/out/index.d.ts +2 -0
  225. package/out/index.js +2 -0
  226. package/out/index.js.map +1 -1
  227. package/out/manager/diagnostic.d.ts +1 -1
  228. package/out/server/createUiTs.d.ts +1 -0
  229. package/out/server/createUiTs.js +49 -5
  230. package/out/server/createUiTs.js.map +1 -1
  231. package/out/server/entity2LogicNamespace.js +38 -23
  232. package/out/server/entity2LogicNamespace.js.map +1 -1
  233. package/out/server/getExtensionModules.js +2 -0
  234. package/out/server/getExtensionModules.js.map +1 -1
  235. package/out/server/getFunctions.d.ts +1 -0
  236. package/out/server/getFunctions.js +7 -1
  237. package/out/server/getFunctions.js.map +1 -1
  238. package/out/server/getLogics.js +63 -18
  239. package/out/server/getLogics.js.map +1 -1
  240. package/out/server/getMemberIdentifier.d.ts +16 -1
  241. package/out/server/getMemberIdentifier.js +279 -36
  242. package/out/server/getMemberIdentifier.js.map +1 -1
  243. package/out/server/getProcesses.d.ts +6 -1
  244. package/out/server/getProcesses.js +243 -1
  245. package/out/server/getProcesses.js.map +1 -1
  246. package/out/server/getScope.d.ts +11 -0
  247. package/out/server/getScope.js +45 -0
  248. package/out/server/getScope.js.map +1 -0
  249. package/out/server/index.js +4 -0
  250. package/out/server/index.js.map +1 -1
  251. package/out/server/naslServer.d.ts +30 -53
  252. package/out/server/naslServer.js +682 -363
  253. package/out/server/naslServer.js.map +1 -1
  254. package/out/server/process2LogicNamespace.d.ts +10 -0
  255. package/out/server/process2LogicNamespace.js +29 -1
  256. package/out/server/process2LogicNamespace.js.map +1 -1
  257. package/out/server/translator.d.ts +22 -3
  258. package/out/server/translator.js +367 -123
  259. package/out/server/translator.js.map +1 -1
  260. package/out/service/creator/add.configs.d.ts +1 -0
  261. package/out/service/creator/add.configs.js +68 -0
  262. package/out/service/creator/add.configs.js.map +1 -0
  263. package/out/service/creator/errHandles.d.ts +18 -0
  264. package/out/service/creator/errHandles.js +60 -0
  265. package/out/service/creator/errHandles.js.map +1 -0
  266. package/out/service/creator/index.d.ts +1 -0
  267. package/out/service/creator/index.js +72 -0
  268. package/out/service/creator/index.js.map +1 -0
  269. package/out/service/storage/api.d.ts +18 -0
  270. package/out/service/storage/api.js +17 -0
  271. package/out/service/storage/api.js.map +1 -0
  272. package/out/service/storage/init.js +200 -37
  273. package/out/service/storage/init.js.map +1 -1
  274. package/out/service/storage/service.d.ts +2 -0
  275. package/out/service/storage/service.js +10 -0
  276. package/out/service/storage/service.js.map +1 -0
  277. package/out/service/storage/storagePoint.d.ts +1 -14
  278. package/out/service/storage/storagePoint.js +16 -16
  279. package/out/service/storage/storagePoint.js.map +1 -1
  280. package/out/templator/genCreateBlock.js +6 -6
  281. package/out/templator/genCreateBlock.js.map +1 -1
  282. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  283. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  284. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  285. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  286. package/out/templator/genEditTableBlock.js +5 -5
  287. package/out/templator/genEditTableBlock.js.map +1 -1
  288. package/out/templator/genEnumSelectBlock.js +2 -2
  289. package/out/templator/genEnumSelectBlock.js.map +1 -1
  290. package/out/templator/genGetBlock.js +5 -3
  291. package/out/templator/genGetBlock.js.map +1 -1
  292. package/out/templator/genGridViewBlock.d.ts +3 -1
  293. package/out/templator/genGridViewBlock.js +61 -6
  294. package/out/templator/genGridViewBlock.js.map +1 -1
  295. package/out/templator/genQueryComponent.d.ts +2 -0
  296. package/out/templator/genQueryComponent.js +27 -14
  297. package/out/templator/genQueryComponent.js.map +1 -1
  298. package/out/templator/genTableBlock.d.ts +1 -1
  299. package/out/templator/genTableBlock.js +4 -5
  300. package/out/templator/genTableBlock.js.map +1 -1
  301. package/out/templator/genUpdateBlock.js +9 -10
  302. package/out/templator/genUpdateBlock.js.map +1 -1
  303. package/out/templator/utils.d.ts +13 -4
  304. package/out/templator/utils.js +8 -4
  305. package/out/templator/utils.js.map +1 -1
  306. package/out/test/fixtures/env.js +0 -1
  307. package/out/test/fixtures/env.js.map +1 -1
  308. package/out/test/units/page/Element.spec.js +3 -3
  309. package/out/test/units/page/Element.spec.js.map +1 -1
  310. package/out/test/units/temp/temp.spec.js +1 -1
  311. package/out/test/units/temp/temp.spec.js.map +1 -1
  312. package/out/utils/index.d.ts +6 -0
  313. package/out/utils/index.js +20 -1
  314. package/out/utils/index.js.map +1 -1
  315. package/package.json +2 -1
  316. package/src/automate/engine/index.js +118 -38
  317. package/src/automate/engine/utils.js +49 -19
  318. package/src/common/BaseNode.ts +229 -81
  319. package/src/concepts/App__.ts +77 -37
  320. package/src/concepts/Argument__.ts +23 -3
  321. package/src/concepts/Assignee__.ts +437 -0
  322. package/src/concepts/Assignment__.ts +4 -1
  323. package/src/concepts/BinaryExpression__.ts +9 -7
  324. package/src/concepts/BindAttribute__.ts +68 -8
  325. package/src/concepts/BindDirective__.ts +21 -2
  326. package/src/concepts/BindEvent__.ts +67 -35
  327. package/src/concepts/BooleanLiteral__.ts +8 -0
  328. package/src/concepts/CallFunction__.ts +42 -25
  329. package/src/concepts/CallInterface__.ts +236 -26
  330. package/src/concepts/CallLogic__.ts +114 -86
  331. package/src/concepts/CallQueryComponent__.ts +35 -20
  332. package/src/concepts/Comment__.ts +6 -2
  333. package/src/concepts/CompletionProperty__.ts +5 -1
  334. package/src/concepts/ConfigGroup__.ts +2 -2
  335. package/src/concepts/ConfigProperty__.ts +2 -2
  336. package/src/concepts/Configuration__.ts +2 -2
  337. package/src/concepts/Constant__.ts +12 -0
  338. package/src/concepts/Destination__.ts +92 -20
  339. package/src/concepts/End__.ts +8 -1
  340. package/src/concepts/EntityProperty__.ts +69 -5
  341. package/src/concepts/Entity__.ts +40 -23
  342. package/src/concepts/Enum__.ts +16 -11
  343. package/src/concepts/Event__.ts +2 -2
  344. package/src/concepts/ForEachStatement__.ts +14 -19
  345. package/src/concepts/Function__.ts +9 -9
  346. package/src/concepts/Identifier__.ts +82 -33
  347. package/src/concepts/IfStatement__.ts +4 -4
  348. package/src/concepts/InterfaceParam__.ts +51 -21
  349. package/src/concepts/Interface__.ts +166 -46
  350. package/src/concepts/JSBlock__.ts +4 -0
  351. package/src/concepts/LogicItem__.ts +16 -1
  352. package/src/concepts/Logic__.ts +183 -36
  353. package/src/concepts/MemberExpression__.ts +57 -13
  354. package/src/concepts/Module__.ts +176 -140
  355. package/src/concepts/Namespace__.ts +37 -25
  356. package/src/concepts/NullLiteral__.ts +8 -1
  357. package/src/concepts/NumericLiteral__.ts +17 -6
  358. package/src/concepts/Param__.ts +58 -30
  359. package/src/concepts/ProcessComponent__.ts +4 -4
  360. package/src/concepts/ProcessElement__.ts +138 -39
  361. package/src/concepts/ProcessOutcome__.ts +1 -1
  362. package/src/concepts/Process__.ts +81 -94
  363. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  364. package/src/concepts/QueryFromExpression__.ts +2 -2
  365. package/src/concepts/QueryJoinExpression__.ts +4 -4
  366. package/src/concepts/QueryLimitExpression__.ts +3 -12
  367. package/src/concepts/QuerySelectExpression__.ts +2 -2
  368. package/src/concepts/Return__.ts +62 -23
  369. package/src/concepts/Role__.ts +11 -4
  370. package/src/concepts/SqlQueryComponent__.ts +2 -2
  371. package/src/concepts/StringLiteral__.ts +20 -31
  372. package/src/concepts/StructureProperty__.ts +50 -25
  373. package/src/concepts/Structure__.ts +75 -41
  374. package/src/concepts/SwitchCase__.ts +4 -4
  375. package/src/concepts/SwitchStatement__.ts +2 -2
  376. package/src/concepts/TypeAnnotation__.ts +71 -18
  377. package/src/concepts/UnaryExpression__.ts +10 -8
  378. package/src/concepts/Unparsed__.ts +1 -1
  379. package/src/concepts/ValidationRule__.ts +44 -14
  380. package/src/concepts/Variable__.ts +69 -19
  381. package/src/concepts/ViewComponent__.ts +10 -10
  382. package/src/concepts/ViewElement__.ts +297 -199
  383. package/src/concepts/View__.ts +114 -107
  384. package/src/concepts/WhileStatement__.ts +4 -4
  385. package/src/concepts/basics/stdlib/index.ts +4 -2
  386. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  387. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  388. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  389. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  390. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  391. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  392. package/src/concepts/basics/types/coreTypeList.ts +11 -10
  393. package/src/concepts/index__.ts +1 -0
  394. package/src/config.ts +1 -2
  395. package/src/enums/KEYWORDS.ts +1206 -0
  396. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  397. package/src/eventBus.ts +5 -0
  398. package/src/generator/genBundleFiles.ts +192 -40
  399. package/src/generator/genMetaData.ts +72 -21
  400. package/src/index.ts +2 -0
  401. package/src/manager/diagnostic.ts +1 -1
  402. package/src/server/createUiTs.ts +50 -8
  403. package/src/server/entity2LogicNamespace.ts +41 -25
  404. package/src/server/getExtensionModules.ts +2 -0
  405. package/src/server/getFunctions.ts +6 -0
  406. package/src/server/getLogics.ts +66 -19
  407. package/src/server/getMemberIdentifier.ts +276 -39
  408. package/src/server/getProcesses.ts +248 -4
  409. package/src/server/getScope.ts +50 -0
  410. package/src/server/index.ts +12 -1
  411. package/src/server/naslServer.ts +689 -389
  412. package/src/server/process2LogicNamespace.ts +30 -2
  413. package/src/server/translator.ts +423 -128
  414. package/src/service/config/index.js +1 -1
  415. package/src/service/creator/errHandles.js +5 -2
  416. package/src/service/creator/index.js +0 -6
  417. package/src/service/storage/api.js +14 -0
  418. package/src/service/storage/init.ts +204 -47
  419. package/src/service/storage/service.ts +6 -0
  420. package/src/service/storage/storagePoint.ts +16 -16
  421. package/src/templator/genCreateBlock.ts +6 -6
  422. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  423. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  424. package/src/templator/genEditTableBlock.ts +5 -5
  425. package/src/templator/genEnumSelectBlock.ts +2 -2
  426. package/src/templator/genGetBlock.ts +6 -8
  427. package/src/templator/genGridViewBlock.ts +59 -9
  428. package/src/templator/genQueryComponent.ts +39 -28
  429. package/src/templator/genTableBlock.ts +5 -9
  430. package/src/templator/genUpdateBlock.ts +9 -11
  431. package/src/templator/utils.ts +9 -6
  432. package/src/test/fixtures/env.ts +0 -2
  433. package/src/test/units/page/Element.spec.ts +3 -3
  434. package/src/test/units/temp/temp.spec.ts +1 -1
  435. package/src/utils/index.ts +19 -0
  436. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  437. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  438. package/out/data/Module.d.ts +0 -34
  439. package/out/data/Module.js +0 -53
  440. package/out/data/Module.js.map +0 -1
  441. package/src/automate/engine/index.d.ts +0 -3
File without changes
@@ -0,0 +1,5 @@
1
+ import { EventEmitter } from './common/EventEmitter';
2
+
3
+ export const eventBus = new EventEmitter();
4
+
5
+ export default eventBus;
@@ -1,4 +1,4 @@
1
- import { App, View, BaseNode, Entity, Structure, Enum, uiStructures, collectionStructures, Logic } from '../concepts';
1
+ import { App, Module, View, BaseNode, Entity, Structure, Enum, uiStructures, collectionStructures, Logic, Interface, Process } from '../concepts';
2
2
  import * as utils from '../utils';
3
3
  import { genHash, RawOptions } from '.';
4
4
  import { compileComponent } from './compileComponent';
@@ -22,6 +22,7 @@ export interface PageOptions {
22
22
  domainName: string;
23
23
  nuimsDomain: string;
24
24
  auth: boolean;
25
+ documentTitle?: string;
25
26
  router: {
26
27
  notFound: string;
27
28
  middleware: string[];
@@ -34,20 +35,47 @@ export interface PageOptions {
34
35
  rootRoute?: Route;
35
36
  }
36
37
 
37
- export async function genBundleFiles(app: App, config: {
38
+ export async function genBundleFiles(app: App,
39
+ config: {
38
40
  tenant: string;
39
41
  env: string;
40
42
  nuimsDomain: string;
41
43
  STATIC_URL: string;
42
44
  USER_STATIC_URL: string;
45
+ extendedConfig: string;
46
+ lowcodeDomain: string;
47
+ appid: string;
43
48
  }) {
44
- const {
45
- views = [], entities = [], structures = [],
46
- enums = [], logics = [], interfaceDependencies = [],
47
- } = app || {};
49
+ const modules: Module[] = [];
50
+ const views: View[] = [];
51
+ const entities: Entity[] = [];
52
+ const structures: Structure[] = [];
53
+ const enums: Enum[] = [];
54
+ const logics: Logic[] = [];
55
+ const interfaces: Interface[] = [];
56
+ const processes: Process[] = [];
57
+
58
+ app.views && views.push(...app.views);
59
+ app.entities && entities.push(...app.entities);
60
+ app.structures && structures.push(...app.structures);
61
+ app.enums && enums.push(...app.enums);
62
+ app.logics && logics.push(...app.logics);
63
+ app.processes && processes.push(...app.processes);
64
+
65
+ app.dependencies && modules.push(...app.dependencies);
66
+ app.interfaceDependencies && modules.push(...app.interfaceDependencies);
67
+
68
+ modules.forEach((module: Module) => {
69
+ module.views && views.push(...module.views);
70
+ module.entities && entities.push(...module.entities);
71
+ module.structures && structures.push(...module.structures);
72
+ module.enums && enums.push(...module.enums);
73
+ module.logics && logics.push(...module.logics);
74
+ module.interfaces && interfaces.push(...module.interfaces);
75
+ });
48
76
 
49
77
  const componentMap: {
50
- [name: string]: RawOptions
78
+ [name: string]: RawOptions;
51
79
  } = {};
52
80
  utils.traverse((current) => {
53
81
  if (current.node.toVueOptions)
@@ -72,21 +100,21 @@ export async function genBundleFiles(app: App, config: {
72
100
  const enumsMap: {
73
101
  [name: string]: {
74
102
  [label: string]: string;
75
- }
103
+ };
76
104
  } = {};
77
105
  const logicsMap: {
78
106
  [id: string]: {
79
107
  config: {
80
108
  serviceType: string;
81
- },
109
+ };
82
110
  url: {
83
111
  method: string;
84
112
  path: string;
85
- },
113
+ };
86
114
  };
87
115
  } = {};
88
116
  const _custom: {
89
- [id: string]: BaseNode;
117
+ [id: string]: any;
90
118
  } = {};
91
119
  const allLogics: Logic[] = [];
92
120
 
@@ -104,6 +132,7 @@ export async function genBundleFiles(app: App, config: {
104
132
  domainName: app.name,
105
133
  nuimsDomain: config.nuimsDomain,
106
134
  auth: view.auth,
135
+ documentTitle: app.documentTitle,
107
136
  router: {
108
137
  notFound: '/',
109
138
  middleware: ['first', 'lock', 'auth', 'login'],
@@ -139,7 +168,7 @@ export async function genBundleFiles(app: App, config: {
139
168
  enums.forEach((node) => {
140
169
  const { name, enumItems } = node || {};
141
170
  const enumObj: {
142
- [value: string]: string
171
+ [value: string]: string;
143
172
  } = {};
144
173
  enumItems.forEach(({ label, value }) => {
145
174
  enumObj[value] = label;
@@ -188,17 +217,27 @@ export async function genBundleFiles(app: App, config: {
188
217
  }
189
218
 
190
219
  allLogics.forEach((node) => {
191
- logicsMap[node.name] = node.toService();
220
+ const namespace = node.getNamespace();
221
+ const id = namespace ? `${namespace}.${node.name}` : node.name;
222
+ logicsMap[id] = node.toService();
192
223
  });
193
224
 
194
- interfaceDependencies.forEach((node) => {
195
- const namespace = node.getNamespace();
196
- const id = `${namespace}.${node.name}`;
197
- _custom[id] = node;
225
+ processes.forEach((process) => {
226
+ if (Array.isArray(process.logics)) {
227
+ process.logics.forEach((node) => {
228
+ const namespace = node.getNamespace();
229
+ const id = namespace ? `${namespace}.${node.name}` : node.name;
230
+ logicsMap[id] = node.toProcessService();
231
+ });
232
+ }
233
+ });
234
+
235
+ interfaces.forEach((interfaceItem: Interface) => {
236
+ _custom[`${interfaceItem.getNamespace()}.${interfaceItem.name}`] = interfaceItem.toService();
198
237
  });
199
238
 
200
239
  const data = JSON5.stringify({
201
- pages,
240
+ // pages,
202
241
  metaData: {
203
242
  dataTypesMap,
204
243
  enumsMap,
@@ -207,12 +246,16 @@ export async function genBundleFiles(app: App, config: {
207
246
  _custom,
208
247
  },
209
248
  },
249
+ extendedConfig: config.extendedConfig,
250
+ lowcodeDomain: config.lowcodeDomain,
210
251
  tenant: config.tenant,
211
252
  env: config.env,
212
253
  indexName,
213
- // extendedConfig: app.extendedConfig,
214
254
  }, null, 4);
255
+
215
256
  const assetsInfo = app.genAllAssetsInfo(config.STATIC_URL);
257
+ // console.log(assetsInfo);
258
+ // debugger;
216
259
  const customNames = JSON5.stringify(assetsInfo.custom.names);
217
260
  let content = `(function(){
218
261
  `;
@@ -228,54 +271,163 @@ export async function genBundleFiles(app: App, config: {
228
271
  `;
229
272
  }
230
273
 
274
+ if (app.documentIcon) {
275
+ content += `{
276
+ const link = document.createElement('link');
277
+ link.rel = 'shortcut icon';
278
+ link.href = \`${app.documentIcon}\`;
279
+ document.head.appendChild(link);
280
+ }`;
281
+ }
282
+
231
283
  content += `
232
284
  var customNames = ${customNames};
233
285
  for(var i=0;i<customNames.length;i++){
234
- var name = kebab2Camel(customNames[i]);
286
+ var name = window.kebab2Camel(customNames[i]);
235
287
  if(window[name]){
236
288
  window.CloudUI.install(window.Vue, window[name]);
237
289
  }
238
290
  }`;
291
+
292
+ function routeToString(route: Route): string {
293
+ return `{
294
+ path: '${route.path}',
295
+ component: (function(){
296
+ var componentOptions = ${route.component.script ? '(function(){\n' + route.component.script.trim().replace(/export default |module\.exports +=/, 'return ') + '\n})()' : '{}'};
297
+ Object.assign(componentOptions, {
298
+ template: \`${route.component.template.replace(/[`$]/g, (m) => '\\' + m)}\`,
299
+ });
300
+ return componentOptions;
301
+ // return window.Vue.extend(componentOptions);
302
+ })(),
303
+ children: [
304
+ ${route.children.map(routeToString).join(',\n')}
305
+ ],
306
+ }`;
307
+ }
308
+
239
309
  content += `
240
310
  var data = ${data};
311
+ data.pages = {
312
+ ${Object.keys(pages)
313
+ .map((pageName) => {
314
+ const page = pages[pageName];
315
+ const rootRoute = page.rootRoute;
316
+ delete page.rootRoute;
317
+
318
+ let pageJSON = JSON5.stringify(page, null, 4);
319
+ pageJSON = pageJSON.slice(0, -1) + `\nrootRoute: ${routeToString(rootRoute)} }`;
320
+
321
+ return `${pageName}: ${pageJSON},`;
322
+ })
323
+ .join('\n')}
324
+ };
241
325
  var pageName = window.pageName;
242
326
  if(!pageName){
243
327
  pageName = data.indexName;
244
328
  }
245
329
  var page = data.pages[pageName];
246
330
  page.router.noLogin = noLogin;
247
- compileComponent(page.rootRoute);
331
+
332
+ if(appVM){
333
+ appVM=null
334
+ }
248
335
  var appVM = window.cloudAdminDesigner.init(page, {
249
336
  tenant: data.tenant,
250
337
  env: data.env,
251
- extendedConfig: data.extendedConfig
338
+ extendedConfig: data.extendedConfig,
339
+ envConfig: {
340
+ lowcodeDomain: data.lowcodeDomain,
341
+ },
252
342
  }, page.rootRoute, data.metaData);
253
343
  window.appVM = appVM;
254
- })()`;
255
-
256
- // // 加载资源js
257
- // const str = ` const el = document.createElement('iframe');
258
- // el.setAttribute('src', "http://defaulttenant.localhost.qa-ci.lcap.group:8850/empty?url=qa-ci.lcap.group");
259
- // el.setAttribute('name', 'iframe');
260
- // el.setAttribute('width', 0);
261
- // el.setAttribute('height', 0);
262
- // el.style.borderWidth = 0
263
- // el.style.display= "block"
264
- // document.getElementsByTagName('body')[0].appendChild(el);
265
- // document.domain = '${mainCallbackService.envConfig.lowcodeDomain}'
266
- // `;
267
-
268
- const outputs: { [name: string]: string } = {};
344
+ })();`;
345
+
346
+ if (config.env === 'dev') {
347
+ // 加载资源js
348
+ const domain = config.lowcodeDomain.slice(5);
349
+ const targetUrl = `${location.origin}/empty?url=${domain}&appid=${config.appid}`;
350
+ const str = `
351
+ if(!document.querySelector("iframe[name='iframeEmpty']")){
352
+ var el = document.createElement('iframe');
353
+ el.setAttribute('src', "${targetUrl}");
354
+ el.setAttribute('name', 'iframeEmpty');
355
+ el.setAttribute('width', 0);
356
+ el.setAttribute('height', 0);
357
+ el.style.borderWidth = 0
358
+ el.style.display= "block"
359
+ document.getElementsByTagName('body')[0].appendChild(el);
360
+ document.domain = '${domain}'
361
+ var _div = document.createElement('div');
362
+ _div.classList = "div-load"
363
+ _div.innerHTML = "<div class='loading-container'></div><div>正在更新最新发布内容...</div>"
364
+ document.getElementsByTagName('body')[0].appendChild(_div);
365
+ window.showLoading = function(){
366
+ document.querySelector(".div-load").style.display ="flex"
367
+ }
368
+ window.hideLoading = function(){
369
+ document.querySelector(".div-load").style.display ="none"
370
+ }
371
+ var style = document.createElement('style');
372
+ style.innerHTML=\`.div-load{
373
+ width: 208px;
374
+ height: 40px;
375
+ background: rgba(48, 48, 48, 0.8);
376
+ box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1);
377
+ border-radius: 4px;
378
+ position: fixed;
379
+ top: 120px;
380
+ left: 50%;
381
+ margin-left: -104px;
382
+ color: #FFFFFF;
383
+ font-size: 14px;
384
+ display: none;
385
+ justify-content: center;
386
+ align-items: center;
387
+ }
388
+
389
+ .loading-container{
390
+ width: 12px;
391
+ height: 12px;
392
+ margin-right: 10px;
393
+ animation: loading-animation 0.8s infinite linear;
394
+ border: 2px solid #f3f3f3;
395
+ border-top: 2px solid rgb(109, 108, 108);
396
+ border-right: 2px solid rgb(109, 108, 108);
397
+ border-bottom: 2px solid rgb(109, 108, 108);
398
+ border-radius: 50%;
399
+ }
400
+
401
+ @keyframes loading-animation{
402
+ 0% {
403
+ transform: rotate(0deg);
404
+ }
405
+ 100% {
406
+ transform: rotate(360deg);
407
+ }
408
+ }\`
409
+ document.getElementsByTagName('body')[0].appendChild(style);
410
+ }
411
+ `;
412
+ content += str;
413
+ }
269
414
 
270
415
  const bundlePath = `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/bundle.${genHash(content)}.js`;
271
- outputs[bundlePath] = content;
272
416
  const assetsContent = `(function() {
273
417
  LazyLoad.js(${JSON5.stringify(assetsInfo.basic.js.concat(assetsInfo.custom.js).concat([bundlePath]))});
274
418
  LazyLoad.css(${JSON5.stringify(assetsInfo.basic.css.concat(assetsInfo.custom.css))});
275
419
  })()
276
420
  `;
277
- // ${str}`;
278
- outputs[`${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/client.js`] = assetsContent;
279
421
 
422
+ const outputs = [
423
+ {
424
+ name: bundlePath,
425
+ content,
426
+ },
427
+ {
428
+ name: `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/client.js`,
429
+ content: assetsContent,
430
+ },
431
+ ];
280
432
  return outputs;
281
433
  }
@@ -1,4 +1,4 @@
1
- import { App, View, BaseNode, Entity, Structure, Enum, uiStructures, collectionStructures, Logic } from '../concepts';
1
+ import { App, View, BaseNode, Module, Interface, Entity, Structure, Enum, uiStructures, collectionStructures, Logic, Process } from '../concepts';
2
2
 
3
3
  export function genMetaData(app: App,
4
4
  config: {
@@ -7,13 +7,59 @@ export function genMetaData(app: App,
7
7
  nuimsDomain: string;
8
8
  STATIC_URL: string;
9
9
  USER_STATIC_URL: string;
10
+ extendedConfig: string;
11
+ lowcodeDomain: string;
10
12
  }) {
13
+ const modules: Module[] = [];
14
+ const views: View[] = [];
15
+ const entities: Entity[] = [];
16
+ const structures: Structure[] = [];
17
+ const enums: Enum[] = [];
18
+ const logics: Logic[] = [];
19
+ const interfaces: Interface[] = [];
20
+ const processes: Process[] = [];
21
+
22
+ const {
23
+ entities: appEntities = [],
24
+ structures: appStructures = [],
25
+ enums: appEnums = [],
26
+ logics: appLogics = [],
27
+ interfaceDependencies: appInterfaceDependencies = [],
28
+ dependencies: appDependencies = [],
29
+ processes: appProcesses = [],
30
+ } = app || {};
31
+ entities.push(...appEntities);
32
+ structures.push(...appStructures);
33
+ enums.push(...appEnums);
34
+ logics.push(...appLogics);
35
+ processes.push(...appProcesses);
36
+ if (Array.isArray(appDependencies)) {
37
+ modules.push(...appDependencies);
38
+ }
39
+ if (Array.isArray(appInterfaceDependencies)) {
40
+ modules.push(...appInterfaceDependencies);
41
+ }
42
+ modules.forEach((module: Module) => {
43
+ const {
44
+ views: moduleViews = [],
45
+ entities: moduleEntities = [],
46
+ structures: moduleStructures = [],
47
+ enums: moduleEnums = [],
48
+ logics: moduleLogics = [],
49
+ interfaces: moduleInterfaces = [],
50
+ } = module;
51
+ views.push(...moduleViews);
52
+ entities.push(...moduleEntities);
53
+ structures.push(...moduleStructures);
54
+ enums.push(...moduleEnums);
55
+ logics.push(...moduleLogics);
56
+ interfaces.push(...moduleInterfaces);
57
+ });
58
+ const dataTypes: (Entity | Structure | Enum)[] = [];
59
+
11
60
  const dataTypesMap: {
12
61
  [id: string]: BaseNode;
13
62
  } = {};
14
- const { entities = [], structures = [], enums = [], logics = [], interfaceDependencies = [] } = app || {};
15
- const dataTypes: (Entity | Structure | Enum)[] = [];
16
- const allLogics: Logic[] = [];
17
63
  const enumsMap: {
18
64
  [name: string]: {
19
65
  [label: string]: string;
@@ -30,11 +76,10 @@ export function genMetaData(app: App,
30
76
  };
31
77
  };
32
78
  } = {};
33
-
34
79
  const _custom: {
35
- [id: string]: BaseNode;
80
+ [id: string]: any;
36
81
  } = {};
37
-
82
+ const allLogics: Logic[] = [];
38
83
  if (Array.isArray(enums)) {
39
84
  dataTypes.push(...enums);
40
85
  enums.forEach((node) => {
@@ -48,7 +93,6 @@ export function genMetaData(app: App,
48
93
  enumsMap[name] = enumObj;
49
94
  });
50
95
  }
51
-
52
96
  if (Array.isArray(entities)) {
53
97
  dataTypes.push(...entities);
54
98
  entities.forEach((entity) => {
@@ -67,7 +111,6 @@ export function genMetaData(app: App,
67
111
  const id = `${namespace}.${node.name}`;
68
112
  dataTypesMap[id] = node;
69
113
  });
70
-
71
114
  if (Array.isArray(uiStructures)) {
72
115
  const namespace = 'nasl.ui';
73
116
  uiStructures.forEach((node) => {
@@ -89,23 +132,31 @@ export function genMetaData(app: App,
89
132
  }
90
133
 
91
134
  allLogics.forEach((node) => {
92
- logicsMap[node.name] = node.toService();
135
+ const namespace = node.getNamespace();
136
+ const id = namespace ? `${namespace}.${node.name}` : node.name;
137
+ logicsMap[id] = node.toService();
93
138
  });
94
139
 
95
- interfaceDependencies.forEach((node) => {
96
- const namespace = node.getNamespace();
97
- const id = `${namespace}.${node.name}`;
98
- _custom[id] = node;
140
+ processes.forEach((process) => {
141
+ if (Array.isArray(process.logics)) {
142
+ process.logics.forEach((node) => {
143
+ const namespace = node.getNamespace();
144
+ const id = namespace ? `${namespace}.${node.name}` : node.name;
145
+ logicsMap[id] = node.toProcessService();
146
+ });
147
+ }
148
+ });
149
+
150
+ interfaces.forEach((interfaceItem: Interface) => {
151
+ _custom[`${interfaceItem.getNamespace()}.${interfaceItem.name}`] = interfaceItem.toService();
99
152
  });
100
153
 
101
154
  return {
102
- metaData: {
103
- dataTypesMap,
104
- enumsMap,
105
- logicsMap,
106
- servicesMap: {
107
- _custom,
108
- },
155
+ dataTypesMap,
156
+ enumsMap,
157
+ logicsMap,
158
+ servicesMap: {
159
+ _custom,
109
160
  },
110
161
  };
111
162
  }
package/src/index.ts CHANGED
@@ -7,4 +7,6 @@ export { default as diagnosticManager } from './manager/diagnostic';
7
7
  export * as genBlock from './templator';
8
8
  export * as utils from './utils';
9
9
  export * from './config';
10
+ export * from './eventBus';
10
11
  export { loadApp, loadAppSync } from './service/storage/init';
12
+ import './automate/engine';
@@ -11,7 +11,7 @@ export interface Diagnostic {
11
11
  id?: string;
12
12
  severity: string;
13
13
  originalDiagnostic: tsProtocol.DiagnosticWithFileName;
14
- message: string;
14
+ message?: string;
15
15
  code?: number;
16
16
  node?: BaseNode;
17
17
  text?: string;
@@ -1,9 +1,23 @@
1
- import { Logic, TypeAnnotation, Param } from '..';
1
+ import { Logic, TypeAnnotation, Param, LogicItem, NumericLiteral, BooleanLiteral, StringLiteral, Identifier, MemberExpression } from '..';
2
+
3
+ const naslStdlibMap: any = {
4
+ 'nasl.core.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.core.ts').default,
5
+ 'nasl.collection.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.collection.ts').default,
6
+ 'nasl.interface.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.interface.ts').default,
7
+ 'nasl.util.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.util.ts').default,
8
+ 'nasl.ui.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.ui.ts').default,
9
+ 'nasl.browser.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.browser.ts').default,
10
+ 'nasl.auth.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.auth.ts').default,
11
+ 'nasl.configuration.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.configuration.ts').default,
12
+ 'nasl.langUtil.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.langUtil.ts').default,
13
+ 'nasl.annotation.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.annotation.ts').default,
14
+ 'nasl.validation.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.validation.ts').default,
15
+ };
2
16
 
3
17
  export default function formatUiTs(allComponent: any) {
4
18
  const indent = (tabSize: number) => ' '.repeat(tabSize * 2);
5
19
 
6
- const toHump = (name: string) => name ? name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase()) : '';
20
+ const toHump = (name: string) => (name ? name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase()) : '');
7
21
 
8
22
  const toNaslType = (type: string) => {
9
23
  if (type === 'number')
@@ -17,12 +31,29 @@ export default function formatUiTs(allComponent: any) {
17
31
  else
18
32
  return type;
19
33
  };
20
-
21
- const creatMethodLogic = (method: {name: string, params: any[]}) => {
34
+ const createDefault = (param: any): LogicItem => {
35
+ const defaultValue = param.default;
36
+ if (defaultValue) {
37
+ if (typeof defaultValue === 'number') {
38
+ return new NumericLiteral({ value: `${defaultValue}` });
39
+ } else if (typeof defaultValue === 'boolean') {
40
+ return new BooleanLiteral({ value: `${defaultValue}` });
41
+ } else if (typeof defaultValue === 'string' && !defaultValue.includes('.')) {
42
+ return new StringLiteral({ value: defaultValue });
43
+ }
44
+ return null;
45
+ }
46
+ return null;
47
+ };
48
+ const creatMethodLogic = (method: { name: string; params: any[] }) => {
22
49
  const { name, params } = method;
23
50
  const logic = new Logic({
24
51
  name,
25
52
  params: params.map((param) => {
53
+ let required = true;
54
+ if (param.required === false) {
55
+ required = false;
56
+ }
26
57
  let typeAnnotation = null;
27
58
  const { name, type } = param;
28
59
  if (type === 'number')
@@ -41,6 +72,8 @@ export default function formatUiTs(allComponent: any) {
41
72
  return new Param({
42
73
  name,
43
74
  typeAnnotation,
75
+ defaultExpression: createDefault(param),
76
+ required,
44
77
  });
45
78
  }),
46
79
  });
@@ -53,18 +86,25 @@ export default function formatUiTs(allComponent: any) {
53
86
  export class lRoot<T> extends VueComponent{
54
87
  constructor(
55
88
  options?: {
89
+ [propname: string]: any,
90
+ bindAttr?: () => Array<any>,
56
91
  slotDefault?: ()=> Array<any>,
57
92
  }){super()}
58
93
  }
59
94
  export class div<T> extends VueComponent {
60
95
  constructor(
61
96
  options?: {
97
+ [propname: string]: any,
98
+ bindAttr?: () => Array<any>,
62
99
  slotDefault?: ()=> Array<any>,
100
+ click?: (event) => Array<any>,
63
101
  }){super()}
64
102
  }
65
103
  export class template<T> extends VueComponent {
66
104
  constructor(
67
105
  options?: {
106
+ [propname: string]: any,
107
+ bindAttr?: () => Array<any>,
68
108
  slotDefault?: ()=> Array<any>,
69
109
  }){super()}
70
110
  }
@@ -74,12 +114,13 @@ export default function formatUiTs(allComponent: any) {
74
114
  const item = allComponent[i];
75
115
  const componentName = toHump(item.name);
76
116
  if (!componentName)
77
- break;
117
+ continue;
78
118
  // console.log(item);
79
119
  value += `export class ${componentName}<T> extends VueComponent{\n
80
120
  constructor(\n
81
121
  options?: {\n
82
- [propname: string]: any,\n`;
122
+ [propname: string]: any,
123
+ bindAttr?: () => Array<any>,\n`;
83
124
  // 生成slot
84
125
  if (Object.prototype.toString.call(item.slots) === '[object Array]') {
85
126
  let hasDefault = false;
@@ -107,7 +148,7 @@ export default function formatUiTs(allComponent: any) {
107
148
  value += `}) => Array<any>,\n`;
108
149
  } else {
109
150
  value += indent(3);
110
- value += slotName + `?: ()=> Array<any>,\n`;
151
+ value += slotName + `?: (scope: any)=> Array<any>,\n`;
111
152
  }
112
153
  }
113
154
  });
@@ -136,7 +177,7 @@ export default function formatUiTs(allComponent: any) {
136
177
  logics.push(creatMethodLogic(method));
137
178
  } else {
138
179
  value += indent(1);
139
- value += methodName + `: () => void;\n`;
180
+ value += methodName + `: () => any;\n`;
140
181
  logics.push(creatMethodLogic({ name: methodName, params: [] }));
141
182
  }
142
183
  }
@@ -151,5 +192,6 @@ export default function formatUiTs(allComponent: any) {
151
192
  return {
152
193
  code: value,
153
194
  elementsLogic,
195
+ naslStdlibMap,
154
196
  };
155
197
  }