@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
@@ -60,7 +60,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
60
60
  /**
61
61
  * 表示是从实体还是流程等概念产生的
62
62
  */
63
- originConcept = 'Namespace';
63
+ originConcept = undefined;
64
64
  /**
65
65
  * 命名空间名称
66
66
  */
@@ -148,7 +148,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
148
148
  return (this.children || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
149
149
  }
150
150
  getNamespaceUniqueName(name = 'namespace1') {
151
- return utils.unique(name, this.getNamespaceExistingNames());
151
+ return utils.unique(name, this.getNamespaceExistingNames(), undefined, false);
152
152
  }
153
153
  _insertNamespaceAt(options, index) {
154
154
  const namespaceOptions = {};
@@ -167,7 +167,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
167
167
  }, this, 'children');
168
168
  }
169
169
  else if (options instanceof Namespace_1) {
170
- options.delete(); // 同一实例不支持多处存在
170
+ options.ensureDelete(); // 同一实例不支持多处存在
171
171
  namespace = options;
172
172
  Object.assign(namespace, relationOptions);
173
173
  }
@@ -195,7 +195,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
195
195
  }
196
196
  addNamespace(options) {
197
197
  const node = this._addNamespace(options);
198
- const index = this.children.length;
198
+ const index = this.children.indexOf(node);
199
199
  node.create({
200
200
  index,
201
201
  parentNode: this,
@@ -208,7 +208,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
208
208
  return (this.processes || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
209
209
  }
210
210
  getProcessUniqueName(name = 'Process1') {
211
- return utils.unique(name, this.getProcessExistingNames());
211
+ return utils.unique(name, this.getProcessExistingNames(), undefined, false);
212
212
  }
213
213
  _insertProcessAt(options, index) {
214
214
  const processOptions = {};
@@ -227,7 +227,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
227
227
  }, this, 'processes');
228
228
  }
229
229
  else if (options instanceof Process__1.default) {
230
- options.delete(); // 同一实例不支持多处存在
230
+ options.ensureDelete(); // 同一实例不支持多处存在
231
231
  process = options;
232
232
  Object.assign(process, relationOptions);
233
233
  }
@@ -255,7 +255,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
255
255
  }
256
256
  addProcess(options) {
257
257
  const node = this._addProcess(options);
258
- const index = 0;
258
+ const index = this.processes.indexOf(node);
259
259
  node.create({
260
260
  index,
261
261
  parentNode: this,
@@ -268,7 +268,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
268
268
  return (this.entities || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
269
269
  }
270
270
  getEntityUniqueName(name = 'Entity1') {
271
- return utils.unique(name, this.getEntityExistingNames());
271
+ return utils.unique(name, this.getEntityExistingNames(), undefined, false);
272
272
  }
273
273
  _insertEntityAt(options, index) {
274
274
  const entityOptions = {};
@@ -287,7 +287,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
287
287
  }, this, 'entities');
288
288
  }
289
289
  else if (options instanceof Entity__1.default) {
290
- options.delete(); // 同一实例不支持多处存在
290
+ options.ensureDelete(); // 同一实例不支持多处存在
291
291
  entity = options;
292
292
  Object.assign(entity, relationOptions);
293
293
  }
@@ -315,7 +315,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
315
315
  }
316
316
  addEntity(options) {
317
317
  const node = this._addEntity(options);
318
- const index = 0;
318
+ const index = this.entities.indexOf(node);
319
319
  node.create({
320
320
  index,
321
321
  parentNode: this,
@@ -328,7 +328,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
328
328
  return (this.structures || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
329
329
  }
330
330
  getStructureUniqueName(name = 'Structure1') {
331
- return utils.unique(name, this.getStructureExistingNames());
331
+ return utils.unique(name, this.getStructureExistingNames(), undefined, false);
332
332
  }
333
333
  _insertStructureAt(options, index) {
334
334
  const structureOptions = {};
@@ -347,7 +347,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
347
347
  }, this, 'structures');
348
348
  }
349
349
  else if (options instanceof Structure__1.default) {
350
- options.delete(); // 同一实例不支持多处存在
350
+ options.ensureDelete(); // 同一实例不支持多处存在
351
351
  structure = options;
352
352
  Object.assign(structure, relationOptions);
353
353
  }
@@ -375,7 +375,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
375
375
  }
376
376
  addStructure(options) {
377
377
  const node = this._addStructure(options);
378
- const index = 0;
378
+ const index = this.structures.indexOf(node);
379
379
  node.create({
380
380
  index,
381
381
  parentNode: this,
@@ -388,7 +388,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
388
388
  return (this.enums || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
389
389
  }
390
390
  getEnumUniqueName(name = 'Enum1') {
391
- return utils.unique(name, this.getEnumExistingNames());
391
+ return utils.unique(name, this.getEnumExistingNames(), undefined, false);
392
392
  }
393
393
  _insertEnumAt(options, index) {
394
394
  const enumerationOptions = {};
@@ -407,7 +407,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
407
407
  }, this, 'enums');
408
408
  }
409
409
  else if (options instanceof Enum__1.default) {
410
- options.delete(); // 同一实例不支持多处存在
410
+ options.ensureDelete(); // 同一实例不支持多处存在
411
411
  enumeration = options;
412
412
  Object.assign(enumeration, relationOptions);
413
413
  }
@@ -435,7 +435,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
435
435
  }
436
436
  addEnum(options) {
437
437
  const node = this._addEnum(options);
438
- const index = 0;
438
+ const index = this.enums.indexOf(node);
439
439
  node.create({
440
440
  index,
441
441
  parentNode: this,
@@ -448,7 +448,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
448
448
  return (this.logics || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
449
449
  }
450
450
  getLogicUniqueName(name = 'logic1') {
451
- return utils.unique(name, this.getLogicExistingNames());
451
+ return utils.unique(name, this.getLogicExistingNames(), undefined, false);
452
452
  }
453
453
  _insertLogicAt(options, index) {
454
454
  const logicOptions = {};
@@ -467,7 +467,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
467
467
  }, this, 'logics');
468
468
  }
469
469
  else if (options instanceof Logic__1.default) {
470
- options.delete(); // 同一实例不支持多处存在
470
+ options.ensureDelete(); // 同一实例不支持多处存在
471
471
  logic = options;
472
472
  Object.assign(logic, relationOptions);
473
473
  }
@@ -495,7 +495,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
495
495
  }
496
496
  addLogic(options) {
497
497
  const node = this._addLogic(options);
498
- const index = 0;
498
+ const index = this.logics.indexOf(node);
499
499
  node.create({
500
500
  index,
501
501
  parentNode: this,
@@ -508,7 +508,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
508
508
  return (this.functions || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
509
509
  }
510
510
  getFunctionUniqueName(name = 'func1') {
511
- return utils.unique(name, this.getFunctionExistingNames());
511
+ return utils.unique(name, this.getFunctionExistingNames(), undefined, false);
512
512
  }
513
513
  _insertFunctionAt(options, index) {
514
514
  const funcOptions = {};
@@ -527,7 +527,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
527
527
  }, this, 'functions');
528
528
  }
529
529
  else if (options instanceof Function__1.default) {
530
- options.delete(); // 同一实例不支持多处存在
530
+ options.ensureDelete(); // 同一实例不支持多处存在
531
531
  func = options;
532
532
  Object.assign(func, relationOptions);
533
533
  }
@@ -555,7 +555,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
555
555
  }
556
556
  addFunction(options) {
557
557
  const node = this._addFunction(options);
558
- const index = 0;
558
+ const index = this.functions.indexOf(node);
559
559
  node.create({
560
560
  index,
561
561
  parentNode: this,
@@ -568,7 +568,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
568
568
  return (this.interfaces || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
569
569
  }
570
570
  getInterfaceUniqueName(name = 'Interface1') {
571
- return utils.unique(name, this.getInterfaceExistingNames());
571
+ return utils.unique(name, this.getInterfaceExistingNames(), undefined, false);
572
572
  }
573
573
  _insertInterfaceAt(options, index) {
574
574
  const itfaceOptions = {};
@@ -587,7 +587,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
587
587
  }, this, 'interfaces');
588
588
  }
589
589
  else if (options instanceof Interface__1.default) {
590
- options.delete(); // 同一实例不支持多处存在
590
+ options.ensureDelete(); // 同一实例不支持多处存在
591
591
  itface = options;
592
592
  Object.assign(itface, relationOptions);
593
593
  }
@@ -615,7 +615,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
615
615
  }
616
616
  addInterface(options) {
617
617
  const node = this._addInterface(options);
618
- const index = 0;
618
+ const index = this.interfaces.indexOf(node);
619
619
  node.create({
620
620
  index,
621
621
  parentNode: this,
@@ -628,7 +628,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
628
628
  return (this.views || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
629
629
  }
630
630
  getViewUniqueName(name = 'view1') {
631
- return utils.unique(name, this.getViewExistingNames());
631
+ return utils.unique(name, this.getViewExistingNames(), undefined, false);
632
632
  }
633
633
  _insertViewAt(options, index) {
634
634
  const viewOptions = {};
@@ -647,7 +647,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
647
647
  }, this, 'views');
648
648
  }
649
649
  else if (options instanceof View__1.default) {
650
- options.delete(); // 同一实例不支持多处存在
650
+ options.ensureDelete(); // 同一实例不支持多处存在
651
651
  view = options;
652
652
  Object.assign(view, relationOptions);
653
653
  }
@@ -675,7 +675,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
675
675
  }
676
676
  addView(options) {
677
677
  const node = this._addView(options);
678
- const index = this.views.length;
678
+ const index = this.views.indexOf(node);
679
679
  node.create({
680
680
  index,
681
681
  parentNode: this,
@@ -688,7 +688,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
688
688
  return (this.variables || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
689
689
  }
690
690
  getVariableUniqueName(name = 'variable1') {
691
- return utils.unique(name, this.getVariableExistingNames());
691
+ return utils.unique(name, this.getVariableExistingNames(), undefined, false);
692
692
  }
693
693
  _insertVariableAt(options, index) {
694
694
  const variableOptions = {};
@@ -707,7 +707,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
707
707
  }, this, 'variables');
708
708
  }
709
709
  else if (options instanceof Variable__1.default) {
710
- options.delete(); // 同一实例不支持多处存在
710
+ options.ensureDelete(); // 同一实例不支持多处存在
711
711
  variable = options;
712
712
  Object.assign(variable, relationOptions);
713
713
  }
@@ -735,7 +735,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
735
735
  }
736
736
  addVariable(options) {
737
737
  const node = this._addVariable(options);
738
- const index = this.variables.length;
738
+ const index = this.variables.indexOf(node);
739
739
  node.create({
740
740
  index,
741
741
  parentNode: this,
@@ -748,7 +748,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
748
748
  return (this.viewComponents || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
749
749
  }
750
750
  getViewComponentUniqueName(name = 'viewComponent1') {
751
- return utils.unique(name, this.getViewComponentExistingNames());
751
+ return utils.unique(name, this.getViewComponentExistingNames(), undefined, false);
752
752
  }
753
753
  _insertViewComponentAt(options, index) {
754
754
  const viewComponentOptions = {};
@@ -767,7 +767,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
767
767
  }, this, 'viewComponents');
768
768
  }
769
769
  else if (options instanceof ViewComponent__1.default) {
770
- options.delete(); // 同一实例不支持多处存在
770
+ options.ensureDelete(); // 同一实例不支持多处存在
771
771
  viewComponent = options;
772
772
  Object.assign(viewComponent, relationOptions);
773
773
  }
@@ -795,7 +795,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
795
795
  }
796
796
  addViewComponent(options) {
797
797
  const node = this._addViewComponent(options);
798
- const index = this.viewComponents.length;
798
+ const index = this.viewComponents.indexOf(node);
799
799
  node.create({
800
800
  index,
801
801
  parentNode: this,
@@ -808,7 +808,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
808
808
  return (this.processComponents || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
809
809
  }
810
810
  getProcessComponentUniqueName(name = 'processComponent1') {
811
- return utils.unique(name, this.getProcessComponentExistingNames());
811
+ return utils.unique(name, this.getProcessComponentExistingNames(), undefined, false);
812
812
  }
813
813
  _insertProcessComponentAt(options, index) {
814
814
  const processComponentOptions = {};
@@ -827,7 +827,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
827
827
  }, this, 'processComponents');
828
828
  }
829
829
  else if (options instanceof ProcessComponent__1.default) {
830
- options.delete(); // 同一实例不支持多处存在
830
+ options.ensureDelete(); // 同一实例不支持多处存在
831
831
  processComponent = options;
832
832
  Object.assign(processComponent, relationOptions);
833
833
  }
@@ -855,7 +855,7 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
855
855
  }
856
856
  addProcessComponent(options) {
857
857
  const node = this._addProcessComponent(options);
858
- const index = this.processComponents.length;
858
+ const index = this.processComponents.indexOf(node);
859
859
  node.create({
860
860
  index,
861
861
  parentNode: this,
@@ -1323,6 +1323,17 @@ let Namespace = Namespace_1 = class Namespace extends BaseNode_1.default {
1323
1323
  else
1324
1324
  throw new Error('无法获取命名空间,请设置 parentNode 或临时的 path!');
1325
1325
  }
1326
+ /**
1327
+ * 获取命名空间
1328
+ */
1329
+ getTsNamespace() {
1330
+ if (this.path)
1331
+ return this.path;
1332
+ else if (this.parentNode && this.parentNode.getNamespace)
1333
+ return `${this.parentNode.getNamespace()}.${this.tsName}`;
1334
+ else
1335
+ throw new Error('无法获取命名空间,请设置 parentNode 或临时的 path!');
1336
+ }
1326
1337
  findChild(name) {
1327
1338
  return this.children.find((child) => child.name === name);
1328
1339
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Namespace__.js","sourceRoot":"","sources":["../../src/concepts/Namespace__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Namespace__.js","sourceRoot":"","sources":["../../src/concepts/Namespace__.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { TranslatorState } from '../translator';
1
2
  import { ElementToVueOptions } from './ViewElement__';
2
3
  import LogicItem from './LogicItem__';
3
4
  /**
@@ -16,5 +17,7 @@ export declare class NullLiteral extends LogicItem {
16
17
  toVue(options?: ElementToVueOptions): string;
17
18
  toUI(): string;
18
19
  toJS(): string;
20
+ toEmbeddedTS(state?: TranslatorState): string;
21
+ getValue(): string;
19
22
  }
20
23
  export default NullLiteral;
@@ -11,6 +11,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  var NullLiteral_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.NullLiteral = void 0;
14
+ const translator_1 = require("../translator");
14
15
  const decorators_1 = require("../decorators");
15
16
  const classMap_1 = __importDefault(require("../common/classMap"));
16
17
  const LogicItem__1 = __importDefault(require("./LogicItem__"));
@@ -38,18 +39,27 @@ let NullLiteral = NullLiteral_1 = class NullLiteral extends LogicItem__1.default
38
39
  // 自动生成的代码已结束。下面可以手动编写。
39
40
  //================================================================================
40
41
  toVue(options) {
41
- return 'null';
42
+ return 'undefined';
42
43
  }
43
44
  toUI() {
44
45
  return 'null';
45
46
  }
46
47
  toJS() {
48
+ return 'undefined';
49
+ }
50
+ toEmbeddedTS(state) {
51
+ return 'null';
52
+ }
53
+ getValue() {
47
54
  return 'null';
48
55
  }
49
56
  };
50
57
  __decorate([
51
58
  (0, decorators_1.property)()
52
59
  ], NullLiteral.prototype, "concept", void 0);
60
+ __decorate([
61
+ (0, translator_1.withSourceMap)()
62
+ ], NullLiteral.prototype, "toEmbeddedTS", null);
53
63
  NullLiteral = NullLiteral_1 = __decorate([
54
64
  (0, decorators_1.concept)('空字面量')
55
65
  ], NullLiteral);
@@ -1 +1 @@
1
- {"version":3,"file":"NullLiteral__.js","sourceRoot":"","sources":["../../src/concepts/NullLiteral__.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,8CAAkE;AAKlE,kEAA0C;AAC1C,+DAAsC;AAEtC;;GAEG;AAEH,IAAa,WAAW,mBAAxB,MAAa,WAAY,SAAQ,oBAAS;IACtC;;OAEG;IAEH,OAAO,GAAkB,aAAa,CAAC;IAIvC;;OAEG;IACH,YAAY,MAA6B;QACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAgB,EAAE,SAAkB;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAgB,CAAC;IACpE,CAAC;IASD,kFAAkF;IAClF,gEAAgE;IAChE,uBAAuB;IACvB,kFAAkF;IAClF,KAAK,CAAC,OAA6B;QAC/B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI;QACA,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI;QACA,OAAO,MAAM,CAAC;IAClB,CAAC;CAMJ,CAAA;AA5CG;IADC,IAAA,qBAAQ,GAAE;4CAC4B;AAL9B,WAAW;IADvB,IAAA,oBAAO,EAAC,MAAM,CAAC;GACH,WAAW,CAiDvB;AAjDY,kCAAW;AAmDxB,kBAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;AACtC,kBAAe,WAAW,CAAC;AAC3B,kFAAkF;AAClF,gEAAgE;AAChE,uBAAuB;AACvB,kFAAkF"}
1
+ {"version":3,"file":"NullLiteral__.js","sourceRoot":"","sources":["../../src/concepts/NullLiteral__.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,8CAAmF;AAQnF,8CAAkE;AAKlE,kEAA0C;AAC1C,+DAAsC;AAEtC;;GAEG;AAEH,IAAa,WAAW,mBAAxB,MAAa,WAAY,SAAQ,oBAAS;IACtC;;OAEG;IAEH,OAAO,GAAkB,aAAa,CAAC;IAIvC;;OAEG;IACH,YAAY,MAA6B;QACrC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAW,EAAE,UAAgB,EAAE,SAAkB;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAgB,CAAC;IACpE,CAAC;IASD,kFAAkF;IAClF,gEAAgE;IAChE,uBAAuB;IACvB,kFAAkF;IAClF,KAAK,CAAC,OAA6B;QAC/B,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,IAAI;QACA,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI;QACA,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,KAAuB;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,QAAQ;QACJ,OAAO,MAAM,CAAC;IAClB,CAAC;CAMJ,CAAA;AAnDG;IADC,IAAA,qBAAQ,GAAE;4CAC4B;AAwCvC;IADC,IAAA,0BAAa,GAAE;+CAGf;AA/CQ,WAAW;IADvB,IAAA,oBAAO,EAAC,MAAM,CAAC;GACH,WAAW,CAwDvB;AAxDY,kCAAW;AA0DxB,kBAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;AACtC,kBAAe,WAAW,CAAC;AAC3B,kFAAkF;AAClF,gEAAgE;AAChE,uBAAuB;AACvB,kFAAkF"}
@@ -39,7 +39,7 @@ export declare class NumericLiteral extends LogicItem {
39
39
  toUI(): string;
40
40
  toJS(): string;
41
41
  toEmbeddedTS(state?: TranslatorState): string;
42
- changeType(): void;
42
+ changeType(value: string | number): string;
43
43
  /**
44
44
  * 设置数组内容
45
45
  */
@@ -100,27 +100,38 @@ let NumericLiteral = NumericLiteral_1 = class NumericLiteral extends LogicItem__
100
100
  const code = this.value ? `new ${type}(${this.value})` : '__IDENTIFIER__';
101
101
  return code;
102
102
  }
103
- changeType() {
104
- if (this.value.length > 8) {
105
- this.typeAnnotation.typeName = 'Long';
103
+ changeType(value) {
104
+ const newValue = value.toString();
105
+ let typeName = 'Integer';
106
+ if (newValue.length > 8) {
107
+ typeName = 'Long';
106
108
  }
107
109
  else {
108
- this.typeAnnotation.typeName = 'Integer';
110
+ typeName = 'Integer';
109
111
  }
110
- if (this.value.includes('.')) {
111
- this.typeAnnotation.typeName = 'Double';
112
+ if (newValue.includes('.')) {
113
+ typeName = 'Double';
112
114
  }
115
+ return typeName;
113
116
  }
114
117
  /**
115
118
  * 设置数组内容
116
119
  */
117
120
  setValue(value) {
121
+ const typeName = this.changeType(value);
122
+ const App = this.app;
123
+ App.emit('collect:start', {
124
+ actionMsg: '修改数字文本内容',
125
+ });
126
+ this.typeAnnotation.setTypeName(typeName);
118
127
  const object = {
119
128
  value,
120
129
  };
121
130
  this.update({
122
131
  ...object,
123
132
  });
133
+ // 结束修改 ,批量操作
134
+ App.emit('collect:end');
124
135
  }
125
136
  /**
126
137
  * 获取添加时的默认选项