@lcap/nasl 1.0.0-alpha.8 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/out/automate/engine/index.d.ts +3 -0
  2. package/out/automate/engine/index.js +414 -0
  3. package/out/automate/engine/index.js.map +1 -0
  4. package/out/automate/engine/operators.d.ts +13 -0
  5. package/out/automate/engine/operators.js +63 -0
  6. package/out/automate/engine/operators.js.map +1 -0
  7. package/out/automate/engine/uniqueName.d.ts +6 -0
  8. package/out/automate/engine/uniqueName.js +39 -0
  9. package/out/automate/engine/uniqueName.js.map +1 -0
  10. package/out/automate/engine/utils.d.ts +24 -0
  11. package/out/automate/engine/utils.js +363 -0
  12. package/out/automate/engine/utils.js.map +1 -0
  13. package/out/common/BaseNode.d.ts +20 -0
  14. package/out/common/BaseNode.js +219 -81
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/concepts/App__.d.ts +18 -1
  17. package/out/concepts/App__.js +84 -44
  18. package/out/concepts/App__.js.map +1 -1
  19. package/out/concepts/Argument__.d.ts +5 -1
  20. package/out/concepts/Argument__.js +21 -3
  21. package/out/concepts/Argument__.js.map +1 -1
  22. package/out/concepts/Assignee__.d.ts +190 -0
  23. package/out/concepts/Assignee__.js +264 -0
  24. package/out/concepts/Assignee__.js.map +1 -0
  25. package/out/concepts/Assignment__.js +5 -0
  26. package/out/concepts/Assignment__.js.map +1 -1
  27. package/out/concepts/BinaryExpression__.js +8 -7
  28. package/out/concepts/BinaryExpression__.js.map +1 -1
  29. package/out/concepts/BindAttribute__.d.ts +19 -0
  30. package/out/concepts/BindAttribute__.js +55 -10
  31. package/out/concepts/BindAttribute__.js.map +1 -1
  32. package/out/concepts/BindDirective__.js +23 -3
  33. package/out/concepts/BindDirective__.js.map +1 -1
  34. package/out/concepts/BindEvent__.d.ts +2 -2
  35. package/out/concepts/BindEvent__.js +67 -34
  36. package/out/concepts/BindEvent__.js.map +1 -1
  37. package/out/concepts/BooleanLiteral__.d.ts +2 -0
  38. package/out/concepts/BooleanLiteral__.js +10 -0
  39. package/out/concepts/BooleanLiteral__.js.map +1 -1
  40. package/out/concepts/CallFunction__.js +57 -23
  41. package/out/concepts/CallFunction__.js.map +1 -1
  42. package/out/concepts/CallInterface__.d.ts +5 -0
  43. package/out/concepts/CallInterface__.js +238 -31
  44. package/out/concepts/CallInterface__.js.map +1 -1
  45. package/out/concepts/CallLogic__.d.ts +4 -4
  46. package/out/concepts/CallLogic__.js +107 -50
  47. package/out/concepts/CallLogic__.js.map +1 -1
  48. package/out/concepts/CallQueryComponent__.d.ts +7 -1
  49. package/out/concepts/CallQueryComponent__.js +45 -26
  50. package/out/concepts/CallQueryComponent__.js.map +1 -1
  51. package/out/concepts/Comment__.js +6 -2
  52. package/out/concepts/Comment__.js.map +1 -1
  53. package/out/concepts/CompletionProperty__.d.ts +3 -1
  54. package/out/concepts/CompletionProperty__.js +2 -0
  55. package/out/concepts/CompletionProperty__.js.map +1 -1
  56. package/out/concepts/ConfigGroup__.js +3 -3
  57. package/out/concepts/ConfigGroup__.js.map +1 -1
  58. package/out/concepts/ConfigProperty__.js +3 -3
  59. package/out/concepts/ConfigProperty__.js.map +1 -1
  60. package/out/concepts/Configuration__.js +3 -3
  61. package/out/concepts/Configuration__.js.map +1 -1
  62. package/out/concepts/Constant__.d.ts +1 -0
  63. package/out/concepts/Constant__.js +14 -0
  64. package/out/concepts/Constant__.js.map +1 -1
  65. package/out/concepts/Destination__.d.ts +12 -0
  66. package/out/concepts/Destination__.js +98 -19
  67. package/out/concepts/Destination__.js.map +1 -1
  68. package/out/concepts/End__.js +9 -1
  69. package/out/concepts/End__.js.map +1 -1
  70. package/out/concepts/EntityProperty__.d.ts +11 -0
  71. package/out/concepts/EntityProperty__.js +73 -5
  72. package/out/concepts/EntityProperty__.js.map +1 -1
  73. package/out/concepts/Entity__.d.ts +4 -4
  74. package/out/concepts/Entity__.js +30 -20
  75. package/out/concepts/Entity__.js.map +1 -1
  76. package/out/concepts/Enum__.d.ts +4 -0
  77. package/out/concepts/Enum__.js +18 -10
  78. package/out/concepts/Enum__.js.map +1 -1
  79. package/out/concepts/Event__.js +3 -3
  80. package/out/concepts/Event__.js.map +1 -1
  81. package/out/concepts/ForEachStatement__.d.ts +1 -1
  82. package/out/concepts/ForEachStatement__.js +11 -15
  83. package/out/concepts/ForEachStatement__.js.map +1 -1
  84. package/out/concepts/Function__.js +13 -13
  85. package/out/concepts/Function__.js.map +1 -1
  86. package/out/concepts/Identifier__.d.ts +3 -0
  87. package/out/concepts/Identifier__.js +76 -29
  88. package/out/concepts/Identifier__.js.map +1 -1
  89. package/out/concepts/IfStatement__.js +4 -4
  90. package/out/concepts/IfStatement__.js.map +1 -1
  91. package/out/concepts/InterfaceParam__.d.ts +6 -4
  92. package/out/concepts/InterfaceParam__.js +52 -19
  93. package/out/concepts/InterfaceParam__.js.map +1 -1
  94. package/out/concepts/Interface__.d.ts +42 -30
  95. package/out/concepts/Interface__.js +133 -17
  96. package/out/concepts/Interface__.js.map +1 -1
  97. package/out/concepts/JSBlock__.d.ts +1 -0
  98. package/out/concepts/JSBlock__.js +3 -0
  99. package/out/concepts/JSBlock__.js.map +1 -1
  100. package/out/concepts/LogicItem__.d.ts +2 -1
  101. package/out/concepts/LogicItem__.js +14 -0
  102. package/out/concepts/LogicItem__.js.map +1 -1
  103. package/out/concepts/Logic__.d.ts +20 -1
  104. package/out/concepts/Logic__.js +194 -37
  105. package/out/concepts/Logic__.js.map +1 -1
  106. package/out/concepts/MemberExpression__.d.ts +2 -0
  107. package/out/concepts/MemberExpression__.js +49 -13
  108. package/out/concepts/MemberExpression__.js.map +1 -1
  109. package/out/concepts/Module__.d.ts +126 -120
  110. package/out/concepts/Module__.js +36 -26
  111. package/out/concepts/Module__.js.map +1 -1
  112. package/out/concepts/Namespace__.d.ts +5 -1
  113. package/out/concepts/Namespace__.js +48 -37
  114. package/out/concepts/Namespace__.js.map +1 -1
  115. package/out/concepts/NullLiteral__.d.ts +3 -0
  116. package/out/concepts/NullLiteral__.js +11 -1
  117. package/out/concepts/NullLiteral__.js.map +1 -1
  118. package/out/concepts/NumericLiteral__.d.ts +1 -1
  119. package/out/concepts/NumericLiteral__.js +17 -6
  120. package/out/concepts/NumericLiteral__.js.map +1 -1
  121. package/out/concepts/Param__.d.ts +7 -3
  122. package/out/concepts/Param__.js +57 -28
  123. package/out/concepts/Param__.js.map +1 -1
  124. package/out/concepts/ProcessComponent__.js +6 -6
  125. package/out/concepts/ProcessComponent__.js.map +1 -1
  126. package/out/concepts/ProcessElement__.d.ts +0 -4
  127. package/out/concepts/ProcessElement__.js +117 -54
  128. package/out/concepts/ProcessElement__.js.map +1 -1
  129. package/out/concepts/ProcessOutcome__.js +1 -1
  130. package/out/concepts/ProcessOutcome__.js.map +1 -1
  131. package/out/concepts/Process__.d.ts +7 -1
  132. package/out/concepts/Process__.js +81 -85
  133. package/out/concepts/Process__.js.map +1 -1
  134. package/out/concepts/QueryAggregateExpression__.js +1 -1
  135. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  136. package/out/concepts/QueryFromExpression__.js +2 -2
  137. package/out/concepts/QueryFromExpression__.js.map +1 -1
  138. package/out/concepts/QueryJoinExpression__.js +5 -5
  139. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  140. package/out/concepts/QueryLimitExpression__.js +2 -2
  141. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  142. package/out/concepts/QuerySelectExpression__.js +3 -3
  143. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  144. package/out/concepts/Return__.d.ts +4 -1
  145. package/out/concepts/Return__.js +67 -21
  146. package/out/concepts/Return__.js.map +1 -1
  147. package/out/concepts/Role__.d.ts +4 -0
  148. package/out/concepts/Role__.js +13 -4
  149. package/out/concepts/Role__.js.map +1 -1
  150. package/out/concepts/SqlQueryComponent__.js +2 -2
  151. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  152. package/out/concepts/StringLiteral__.d.ts +1 -1
  153. package/out/concepts/StringLiteral__.js +21 -31
  154. package/out/concepts/StringLiteral__.js.map +1 -1
  155. package/out/concepts/StructureProperty__.d.ts +5 -4
  156. package/out/concepts/StructureProperty__.js +55 -26
  157. package/out/concepts/StructureProperty__.js.map +1 -1
  158. package/out/concepts/Structure__.d.ts +44 -30
  159. package/out/concepts/Structure__.js +44 -12
  160. package/out/concepts/Structure__.js.map +1 -1
  161. package/out/concepts/SwitchCase__.js +4 -4
  162. package/out/concepts/SwitchCase__.js.map +1 -1
  163. package/out/concepts/SwitchStatement__.js +2 -2
  164. package/out/concepts/SwitchStatement__.js.map +1 -1
  165. package/out/concepts/TypeAnnotation__.d.ts +5 -5
  166. package/out/concepts/TypeAnnotation__.js +74 -20
  167. package/out/concepts/TypeAnnotation__.js.map +1 -1
  168. package/out/concepts/UnaryExpression__.js +10 -8
  169. package/out/concepts/UnaryExpression__.js.map +1 -1
  170. package/out/concepts/Unparsed__.js +1 -1
  171. package/out/concepts/Unparsed__.js.map +1 -1
  172. package/out/concepts/ValidationRule__.d.ts +1 -0
  173. package/out/concepts/ValidationRule__.js +48 -13
  174. package/out/concepts/ValidationRule__.js.map +1 -1
  175. package/out/concepts/Variable__.d.ts +10 -1
  176. package/out/concepts/Variable__.js +70 -18
  177. package/out/concepts/Variable__.js.map +1 -1
  178. package/out/concepts/ViewComponent__.js +15 -15
  179. package/out/concepts/ViewComponent__.js.map +1 -1
  180. package/out/concepts/ViewElement__.d.ts +17 -11
  181. package/out/concepts/ViewElement__.js +302 -204
  182. package/out/concepts/ViewElement__.js.map +1 -1
  183. package/out/concepts/View__.d.ts +12 -11
  184. package/out/concepts/View__.js +109 -98
  185. package/out/concepts/View__.js.map +1 -1
  186. package/out/concepts/WhileStatement__.js +3 -3
  187. package/out/concepts/WhileStatement__.js.map +1 -1
  188. package/out/concepts/basics/stdlib/index.js +4 -1
  189. package/out/concepts/basics/stdlib/index.js.map +1 -1
  190. package/out/concepts/basics/stdlib/{nasl.validate.d.ts → nasl.auth.d.ts} +0 -0
  191. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  192. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  193. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  194. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  195. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  196. package/out/concepts/basics/stdlib/nasl.browser.d.ts +3 -0
  197. package/out/concepts/basics/stdlib/nasl.browser.js +41 -0
  198. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -0
  199. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  200. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  201. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  202. package/out/concepts/basics/stdlib/nasl.ui.js +20 -0
  203. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  204. package/out/concepts/basics/stdlib/nasl.util.js +149 -13
  205. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  206. package/out/concepts/basics/stdlib/nasl.validation.js +54 -20
  207. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  208. package/out/concepts/basics/types/coreTypeList.js +11 -10
  209. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  210. package/out/concepts/index__.d.ts +1 -0
  211. package/out/concepts/index__.js +1 -0
  212. package/out/concepts/index__.js.map +1 -1
  213. package/out/config.d.ts +1 -2
  214. package/out/config.js +1 -2
  215. package/out/config.js.map +1 -1
  216. package/out/enums/KEYWORDS.d.ts +3 -0
  217. package/out/enums/KEYWORDS.js +1206 -0
  218. package/out/enums/KEYWORDS.js.map +1 -0
  219. package/out/enums/LEVEL_NAME_MAP.d.ts +26 -0
  220. package/out/enums/LEVEL_NAME_MAP.js +30 -0
  221. package/out/enums/LEVEL_NAME_MAP.js.map +1 -0
  222. package/out/eventBus.d.ts +3 -0
  223. package/out/eventBus.js +7 -0
  224. package/out/eventBus.js.map +1 -0
  225. package/out/generator/genBundleFiles.d.ts +7 -2
  226. package/out/generator/genBundleFiles.js +168 -27
  227. package/out/generator/genBundleFiles.js.map +1 -1
  228. package/out/generator/genMetaData.d.ts +20 -20
  229. package/out/generator/genMetaData.js +50 -15
  230. package/out/generator/genMetaData.js.map +1 -1
  231. package/out/index.d.ts +2 -0
  232. package/out/index.js +2 -0
  233. package/out/index.js.map +1 -1
  234. package/out/manager/diagnostic.d.ts +1 -1
  235. package/out/server/createUiTs.d.ts +1 -0
  236. package/out/server/createUiTs.js +49 -5
  237. package/out/server/createUiTs.js.map +1 -1
  238. package/out/server/entity2LogicNamespace.js +38 -23
  239. package/out/server/entity2LogicNamespace.js.map +1 -1
  240. package/out/server/getExtensionModules.js +2 -0
  241. package/out/server/getExtensionModules.js.map +1 -1
  242. package/out/server/getFunctions.d.ts +1 -0
  243. package/out/server/getFunctions.js +7 -1
  244. package/out/server/getFunctions.js.map +1 -1
  245. package/out/server/getLogics.js +63 -18
  246. package/out/server/getLogics.js.map +1 -1
  247. package/out/server/getMemberIdentifier.d.ts +16 -1
  248. package/out/server/getMemberIdentifier.js +279 -36
  249. package/out/server/getMemberIdentifier.js.map +1 -1
  250. package/out/server/getProcesses.d.ts +6 -1
  251. package/out/server/getProcesses.js +243 -1
  252. package/out/server/getProcesses.js.map +1 -1
  253. package/out/server/getScope.d.ts +12 -0
  254. package/out/server/getScope.js +57 -0
  255. package/out/server/getScope.js.map +1 -0
  256. package/out/server/index.js +4 -0
  257. package/out/server/index.js.map +1 -1
  258. package/out/server/naslServer.d.ts +30 -53
  259. package/out/server/naslServer.js +721 -381
  260. package/out/server/naslServer.js.map +1 -1
  261. package/out/server/process2LogicNamespace.d.ts +10 -0
  262. package/out/server/process2LogicNamespace.js +29 -1
  263. package/out/server/process2LogicNamespace.js.map +1 -1
  264. package/out/server/translator.d.ts +22 -3
  265. package/out/server/translator.js +367 -123
  266. package/out/server/translator.js.map +1 -1
  267. package/out/service/creator/add.configs.d.ts +1 -0
  268. package/out/service/creator/add.configs.js +68 -0
  269. package/out/service/creator/add.configs.js.map +1 -0
  270. package/out/service/creator/errHandles.d.ts +18 -0
  271. package/out/service/creator/errHandles.js +60 -0
  272. package/out/service/creator/errHandles.js.map +1 -0
  273. package/out/service/creator/index.d.ts +1 -0
  274. package/out/service/creator/index.js +72 -0
  275. package/out/service/creator/index.js.map +1 -0
  276. package/out/service/storage/api.d.ts +18 -0
  277. package/out/service/storage/api.js +17 -0
  278. package/out/service/storage/api.js.map +1 -0
  279. package/out/service/storage/init.js +213 -37
  280. package/out/service/storage/init.js.map +1 -1
  281. package/out/service/storage/service.d.ts +2 -0
  282. package/out/service/storage/service.js +10 -0
  283. package/out/service/storage/service.js.map +1 -0
  284. package/out/service/storage/storagePoint.d.ts +1 -14
  285. package/out/service/storage/storagePoint.js +16 -16
  286. package/out/service/storage/storagePoint.js.map +1 -1
  287. package/out/templator/genCreateBlock.js +6 -6
  288. package/out/templator/genCreateBlock.js.map +1 -1
  289. package/out/templator/genCurdEditMultipleKeyBlock.js +13 -17
  290. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  291. package/out/templator/genCurdMultipleKeyBlock.js +11 -11
  292. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  293. package/out/templator/genEditTableBlock.js +5 -5
  294. package/out/templator/genEditTableBlock.js.map +1 -1
  295. package/out/templator/genEnumSelectBlock.js +2 -2
  296. package/out/templator/genEnumSelectBlock.js.map +1 -1
  297. package/out/templator/genGetBlock.js +5 -3
  298. package/out/templator/genGetBlock.js.map +1 -1
  299. package/out/templator/genGridViewBlock.d.ts +3 -1
  300. package/out/templator/genGridViewBlock.js +61 -6
  301. package/out/templator/genGridViewBlock.js.map +1 -1
  302. package/out/templator/genQueryComponent.d.ts +2 -0
  303. package/out/templator/genQueryComponent.js +27 -14
  304. package/out/templator/genQueryComponent.js.map +1 -1
  305. package/out/templator/genTableBlock.d.ts +1 -1
  306. package/out/templator/genTableBlock.js +4 -5
  307. package/out/templator/genTableBlock.js.map +1 -1
  308. package/out/templator/genUpdateBlock.js +9 -10
  309. package/out/templator/genUpdateBlock.js.map +1 -1
  310. package/out/templator/utils.d.ts +13 -4
  311. package/out/templator/utils.js +8 -4
  312. package/out/templator/utils.js.map +1 -1
  313. package/out/test/fixtures/env.js +0 -1
  314. package/out/test/fixtures/env.js.map +1 -1
  315. package/out/test/integration/connect-file copy.d.ts +1 -0
  316. package/out/test/integration/connect-file copy.js +50 -0
  317. package/out/test/integration/connect-file copy.js.map +1 -0
  318. package/out/test/integration/node-nasl-server.d.ts +1 -0
  319. package/out/test/integration/node-nasl-server.js +41 -0
  320. package/out/test/integration/node-nasl-server.js.map +1 -0
  321. package/out/test/units/page/Element.spec.js +3 -3
  322. package/out/test/units/page/Element.spec.js.map +1 -1
  323. package/out/test/units/temp/temp.spec.js +1 -1
  324. package/out/test/units/temp/temp.spec.js.map +1 -1
  325. package/out/utils/index.d.ts +6 -0
  326. package/out/utils/index.js +25 -1
  327. package/out/utils/index.js.map +1 -1
  328. package/out/utils/string.d.ts +1 -1
  329. package/out/utils/string.js +38 -9
  330. package/out/utils/string.js.map +1 -1
  331. package/package.json +2 -1
  332. package/src/automate/engine/index.js +97 -118
  333. package/src/automate/engine/operators.js +63 -0
  334. package/src/automate/engine/uniqueName.js +36 -0
  335. package/src/automate/engine/utils.js +49 -19
  336. package/src/common/BaseNode.ts +223 -87
  337. package/src/concepts/App__.ts +86 -46
  338. package/src/concepts/Argument__.ts +23 -3
  339. package/src/concepts/Assignee__.ts +437 -0
  340. package/src/concepts/Assignment__.ts +4 -1
  341. package/src/concepts/BinaryExpression__.ts +9 -7
  342. package/src/concepts/BindAttribute__.ts +69 -9
  343. package/src/concepts/BindDirective__.ts +22 -3
  344. package/src/concepts/BindEvent__.ts +67 -23
  345. package/src/concepts/BooleanLiteral__.ts +8 -0
  346. package/src/concepts/CallFunction__.ts +58 -25
  347. package/src/concepts/CallInterface__.ts +236 -26
  348. package/src/concepts/CallLogic__.ts +111 -52
  349. package/src/concepts/CallQueryComponent__.ts +36 -21
  350. package/src/concepts/Comment__.ts +6 -2
  351. package/src/concepts/CompletionProperty__.ts +5 -1
  352. package/src/concepts/ConfigGroup__.ts +3 -3
  353. package/src/concepts/ConfigProperty__.ts +3 -3
  354. package/src/concepts/Configuration__.ts +3 -3
  355. package/src/concepts/Constant__.ts +12 -0
  356. package/src/concepts/Destination__.ts +106 -18
  357. package/src/concepts/End__.ts +8 -1
  358. package/src/concepts/EntityProperty__.ts +69 -5
  359. package/src/concepts/Entity__.ts +33 -28
  360. package/src/concepts/Enum__.ts +16 -11
  361. package/src/concepts/Event__.ts +3 -3
  362. package/src/concepts/ForEachStatement__.ts +16 -21
  363. package/src/concepts/Function__.ts +13 -13
  364. package/src/concepts/Identifier__.ts +82 -32
  365. package/src/concepts/IfStatement__.ts +4 -4
  366. package/src/concepts/InterfaceParam__.ts +49 -27
  367. package/src/concepts/Interface__.ts +130 -16
  368. package/src/concepts/JSBlock__.ts +4 -0
  369. package/src/concepts/LogicItem__.ts +16 -1
  370. package/src/concepts/Logic__.ts +201 -39
  371. package/src/concepts/MemberExpression__.ts +58 -15
  372. package/src/concepts/Module__.ts +35 -24
  373. package/src/concepts/Namespace__.ts +49 -37
  374. package/src/concepts/NullLiteral__.ts +8 -1
  375. package/src/concepts/NumericLiteral__.ts +17 -6
  376. package/src/concepts/Param__.ts +54 -28
  377. package/src/concepts/ProcessComponent__.ts +6 -6
  378. package/src/concepts/ProcessElement__.ts +143 -44
  379. package/src/concepts/ProcessOutcome__.ts +1 -1
  380. package/src/concepts/Process__.ts +85 -98
  381. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  382. package/src/concepts/QueryFromExpression__.ts +2 -2
  383. package/src/concepts/QueryJoinExpression__.ts +5 -5
  384. package/src/concepts/QueryLimitExpression__.ts +2 -2
  385. package/src/concepts/QuerySelectExpression__.ts +3 -3
  386. package/src/concepts/Return__.ts +60 -29
  387. package/src/concepts/Role__.ts +11 -4
  388. package/src/concepts/SqlQueryComponent__.ts +2 -2
  389. package/src/concepts/StringLiteral__.ts +20 -31
  390. package/src/concepts/StructureProperty__.ts +50 -33
  391. package/src/concepts/Structure__.ts +32 -10
  392. package/src/concepts/SwitchCase__.ts +4 -4
  393. package/src/concepts/SwitchStatement__.ts +2 -2
  394. package/src/concepts/TypeAnnotation__.ts +59 -16
  395. package/src/concepts/UnaryExpression__.ts +10 -8
  396. package/src/concepts/Unparsed__.ts +1 -1
  397. package/src/concepts/ValidationRule__.ts +44 -14
  398. package/src/concepts/Variable__.ts +67 -25
  399. package/src/concepts/ViewComponent__.ts +15 -15
  400. package/src/concepts/ViewElement__.ts +380 -264
  401. package/src/concepts/View__.ts +139 -94
  402. package/src/concepts/WhileStatement__.ts +4 -4
  403. package/src/concepts/basics/stdlib/index.ts +4 -2
  404. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  405. package/src/concepts/basics/stdlib/nasl.browser.ts +37 -0
  406. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  407. package/src/concepts/basics/stdlib/nasl.ui.ts +20 -1
  408. package/src/concepts/basics/stdlib/nasl.util.ts +151 -13
  409. package/src/concepts/basics/stdlib/nasl.validation.ts +45 -11
  410. package/src/concepts/basics/types/coreTypeList.ts +11 -10
  411. package/src/concepts/index__.ts +1 -0
  412. package/src/config.ts +1 -2
  413. package/src/enums/KEYWORDS.ts +1204 -0
  414. package/src/{terms → enums}/LEVEL_NAME_MAP.ts +0 -0
  415. package/src/eventBus.ts +5 -0
  416. package/src/generator/genBundleFiles.ts +182 -30
  417. package/src/generator/genMetaData.ts +72 -21
  418. package/src/index.ts +2 -0
  419. package/src/manager/diagnostic.ts +1 -1
  420. package/src/server/createUiTs.ts +50 -8
  421. package/src/server/entity2LogicNamespace.ts +41 -25
  422. package/src/server/getExtensionModules.ts +2 -0
  423. package/src/server/getFunctions.ts +6 -0
  424. package/src/server/getLogics.ts +66 -19
  425. package/src/server/getMemberIdentifier.ts +275 -46
  426. package/src/server/getProcesses.ts +248 -4
  427. package/src/server/getScope.ts +62 -0
  428. package/src/server/index.ts +12 -1
  429. package/src/server/naslServer.ts +715 -398
  430. package/src/server/process2LogicNamespace.ts +30 -2
  431. package/src/server/translator.ts +423 -128
  432. package/src/service/config/index.js +1 -1
  433. package/src/service/creator/errHandles.js +5 -2
  434. package/src/service/creator/index.js +0 -6
  435. package/src/service/storage/api.js +14 -0
  436. package/src/service/storage/init.ts +217 -47
  437. package/src/service/storage/service.ts +6 -0
  438. package/src/service/storage/storagePoint.ts +16 -16
  439. package/src/templator/genCreateBlock.ts +6 -6
  440. package/src/templator/genCurdEditMultipleKeyBlock.ts +29 -30
  441. package/src/templator/genCurdMultipleKeyBlock.ts +11 -11
  442. package/src/templator/genEditTableBlock.ts +5 -5
  443. package/src/templator/genEnumSelectBlock.ts +2 -2
  444. package/src/templator/genGetBlock.ts +6 -8
  445. package/src/templator/genGridViewBlock.ts +59 -9
  446. package/src/templator/genQueryComponent.ts +39 -28
  447. package/src/templator/genTableBlock.ts +5 -9
  448. package/src/templator/genUpdateBlock.ts +9 -11
  449. package/src/templator/utils.ts +9 -6
  450. package/src/test/fixtures/env.ts +0 -2
  451. package/src/test/units/page/Element.spec.ts +3 -3
  452. package/src/test/units/temp/temp.spec.ts +1 -1
  453. package/src/utils/index.ts +24 -0
  454. package/src/utils/string.ts +39 -9
  455. package/out/concepts/basics/stdlib/nasl.validate.js +0 -527
  456. package/out/concepts/basics/stdlib/nasl.validate.js.map +0 -1
  457. package/out/data/Module.d.ts +0 -34
  458. package/out/data/Module.js +0 -53
  459. package/out/data/Module.js.map +0 -1
  460. 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[];
@@ -41,8 +42,37 @@ export async function genBundleFiles(app: App,
41
42
  nuimsDomain: string;
42
43
  STATIC_URL: string;
43
44
  USER_STATIC_URL: string;
45
+ extendedConfig: string;
46
+ lowcodeDomain: string;
47
+ appid: string;
44
48
  }) {
45
- const { views = [], entities = [], structures = [], enums = [], logics = [], interfaceDependencies = [] } = 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
+ });
46
76
 
47
77
  const componentMap: {
48
78
  [name: string]: RawOptions;
@@ -84,7 +114,7 @@ export async function genBundleFiles(app: App,
84
114
  };
85
115
  } = {};
86
116
  const _custom: {
87
- [id: string]: BaseNode;
117
+ [id: string]: any;
88
118
  } = {};
89
119
  const allLogics: Logic[] = [];
90
120
 
@@ -102,6 +132,7 @@ export async function genBundleFiles(app: App,
102
132
  domainName: app.name,
103
133
  nuimsDomain: config.nuimsDomain,
104
134
  auth: view.auth,
135
+ documentTitle: app.documentTitle,
105
136
  router: {
106
137
  notFound: '/',
107
138
  middleware: ['first', 'lock', 'auth', 'login'],
@@ -186,17 +217,27 @@ export async function genBundleFiles(app: App,
186
217
  }
187
218
 
188
219
  allLogics.forEach((node) => {
189
- logicsMap[node.name] = node.toService();
220
+ const namespace = node.getNamespace();
221
+ const id = namespace ? `${namespace}.${node.name}` : node.name;
222
+ logicsMap[id] = node.toService();
190
223
  });
191
224
 
192
- interfaceDependencies.forEach((node) => {
193
- const namespace = node.getNamespace();
194
- const id = `${namespace}.${node.name}`;
195
- _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();
196
237
  });
197
238
 
198
239
  const data = JSON5.stringify({
199
- pages,
240
+ // pages,
200
241
  metaData: {
201
242
  dataTypesMap,
202
243
  enumsMap,
@@ -205,13 +246,15 @@ export async function genBundleFiles(app: App,
205
246
  _custom,
206
247
  },
207
248
  },
249
+ extendedConfig: config.extendedConfig,
250
+ lowcodeDomain: config.lowcodeDomain,
208
251
  tenant: config.tenant,
209
252
  env: config.env,
210
253
  indexName,
211
- // extendedConfig: app.extendedConfig,
212
254
  }, null, 4);
255
+
213
256
  const assetsInfo = app.genAllAssetsInfo(config.STATIC_URL);
214
- console.log(assetsInfo);
257
+ // console.log(assetsInfo);
215
258
  // debugger;
216
259
  const customNames = JSON5.stringify(assetsInfo.custom.names);
217
260
  let content = `(function(){
@@ -228,54 +271,163 @@ export async function genBundleFiles(app: App,
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
- })()`;
344
+ })();`;
255
345
 
256
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;
257
413
  }
258
- // // 加载资源js
259
- // const str = ` const el = document.createElement('iframe');
260
- // el.setAttribute('src', "http://defaulttenant.localhost.qa-ci.lcap.group:8850/empty?url=qa-ci.lcap.group");
261
- // el.setAttribute('name', 'iframe');
262
- // el.setAttribute('width', 0);
263
- // el.setAttribute('height', 0);
264
- // el.style.borderWidth = 0
265
- // el.style.display= "block"
266
- // document.getElementsByTagName('body')[0].appendChild(el);
267
- // document.domain = '${mainCallbackService.envConfig.lowcodeDomain}'
268
- // `;
269
-
270
- const outputs: { [name: string]: string } = {};
271
414
 
272
415
  const bundlePath = `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/bundle.${genHash(content)}.js`;
273
- outputs[bundlePath] = content;
274
416
  const assetsContent = `(function() {
275
417
  LazyLoad.js(${JSON5.stringify(assetsInfo.basic.js.concat(assetsInfo.custom.js).concat([bundlePath]))});
276
418
  LazyLoad.css(${JSON5.stringify(assetsInfo.basic.css.concat(assetsInfo.custom.css))});
277
419
  })()
278
420
  `;
279
- outputs[`${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/client.js`] = assetsContent;
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
  }