@lcap/nasl 3.3.0-beta.0 → 3.4.0-alpha.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 (790) hide show
  1. package/out/bak/translator.js +5 -8
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/breakpoint/generator/AfterStartNode.js +1 -2
  4. package/out/breakpoint/generator/AfterStartNode.js.map +1 -1
  5. package/out/breakpoint/generator/BeforeEndNode.js +1 -2
  6. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -1
  7. package/out/breakpoint/generator/BreakpointNode.js +9 -30
  8. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  9. package/out/breakpoint/shared/constants.d.ts +0 -1
  10. package/out/breakpoint/shared/constants.js +1 -7
  11. package/out/breakpoint/shared/constants.js.map +1 -1
  12. package/out/breakpoint/shared/utils.d.ts +1 -3
  13. package/out/breakpoint/shared/utils.js +4 -25
  14. package/out/breakpoint/shared/utils.js.map +1 -1
  15. package/out/common/BaseNode.d.ts +8 -21
  16. package/out/common/BaseNode.js +69 -115
  17. package/out/common/BaseNode.js.map +1 -1
  18. package/out/common/Command.js +1 -6
  19. package/out/common/Command.js.map +1 -1
  20. package/out/common/EventEmitter.d.ts +1 -1
  21. package/out/common/EventEmitter.js +3 -1
  22. package/out/common/EventEmitter.js.map +1 -1
  23. package/out/common/classMap.d.ts +4 -0
  24. package/out/common/classMap.js +5 -0
  25. package/out/common/classMap.js.map +1 -0
  26. package/out/common/index.d.ts +1 -0
  27. package/out/common/index.js +1 -0
  28. package/out/common/index.js.map +1 -1
  29. package/out/concepts/Abort__.d.ts +2 -3
  30. package/out/concepts/Abort__.js +18 -15
  31. package/out/concepts/Abort__.js.map +1 -1
  32. package/out/concepts/Anchor__.d.ts +3 -3
  33. package/out/concepts/Anchor__.js +35 -18
  34. package/out/concepts/Anchor__.js.map +1 -1
  35. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  36. package/out/concepts/AnonymousFunction__.js +53 -29
  37. package/out/concepts/AnonymousFunction__.js.map +1 -1
  38. package/out/concepts/App__.d.ts +157 -160
  39. package/out/concepts/App__.js +80 -106
  40. package/out/concepts/App__.js.map +1 -1
  41. package/out/concepts/Argument__.d.ts +3 -3
  42. package/out/concepts/Argument__.js +42 -22
  43. package/out/concepts/Argument__.js.map +1 -1
  44. package/out/concepts/Assignee__.d.ts +2 -3
  45. package/out/concepts/Assignee__.js +21 -19
  46. package/out/concepts/Assignee__.js.map +1 -1
  47. package/out/concepts/AssignmentLine__.d.ts +2 -3
  48. package/out/concepts/AssignmentLine__.js +17 -15
  49. package/out/concepts/AssignmentLine__.js.map +1 -1
  50. package/out/concepts/Assignment__.d.ts +3 -3
  51. package/out/concepts/Assignment__.js +42 -34
  52. package/out/concepts/Assignment__.js.map +1 -1
  53. package/out/concepts/Attribute__.d.ts +2 -3
  54. package/out/concepts/Attribute__.js +28 -36
  55. package/out/concepts/Attribute__.js.map +1 -1
  56. package/out/concepts/AuthInterface__.d.ts +3 -4
  57. package/out/concepts/AuthInterface__.js +17 -16
  58. package/out/concepts/AuthInterface__.js.map +1 -1
  59. package/out/concepts/AuthLogicForCallInterface__.d.ts +3 -4
  60. package/out/concepts/AuthLogicForCallInterface__.js +27 -37
  61. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  62. package/out/concepts/AuthLogic__.d.ts +3 -4
  63. package/out/concepts/AuthLogic__.js +19 -18
  64. package/out/concepts/AuthLogic__.js.map +1 -1
  65. package/out/concepts/BackendVariable__.d.ts +7 -8
  66. package/out/concepts/BackendVariable__.js +34 -39
  67. package/out/concepts/BackendVariable__.js.map +1 -1
  68. package/out/concepts/Backend__.d.ts +31 -32
  69. package/out/concepts/Backend__.js +22 -23
  70. package/out/concepts/Backend__.js.map +1 -1
  71. package/out/concepts/BatchAssignment__.d.ts +3 -3
  72. package/out/concepts/BatchAssignment__.js +54 -46
  73. package/out/concepts/BatchAssignment__.js.map +1 -1
  74. package/out/concepts/BinaryExpression__.d.ts +3 -3
  75. package/out/concepts/BinaryExpression__.js +62 -30
  76. package/out/concepts/BinaryExpression__.js.map +1 -1
  77. package/out/concepts/BindAttribute__.d.ts +9 -12
  78. package/out/concepts/BindAttribute__.js +102 -81
  79. package/out/concepts/BindAttribute__.js.map +1 -1
  80. package/out/concepts/BindDirective__.d.ts +3 -5
  81. package/out/concepts/BindDirective__.js +28 -34
  82. package/out/concepts/BindDirective__.js.map +1 -1
  83. package/out/concepts/BindEvent__.d.ts +3 -3
  84. package/out/concepts/BindEvent__.js +74 -51
  85. package/out/concepts/BindEvent__.js.map +1 -1
  86. package/out/concepts/BindStyle__.d.ts +3 -5
  87. package/out/concepts/BindStyle__.js +23 -24
  88. package/out/concepts/BindStyle__.js.map +1 -1
  89. package/out/concepts/BooleanLiteral__.d.ts +3 -3
  90. package/out/concepts/BooleanLiteral__.js +24 -17
  91. package/out/concepts/BooleanLiteral__.js.map +1 -1
  92. package/out/concepts/CallAuthInterface__.d.ts +2 -3
  93. package/out/concepts/CallAuthInterface__.js +19 -17
  94. package/out/concepts/CallAuthInterface__.js.map +1 -1
  95. package/out/concepts/CallConnector__.d.ts +4 -5
  96. package/out/concepts/CallConnector__.js +34 -41
  97. package/out/concepts/CallConnector__.js.map +1 -1
  98. package/out/concepts/CallFunction__.d.ts +3 -3
  99. package/out/concepts/CallFunction__.js +71 -33
  100. package/out/concepts/CallFunction__.js.map +1 -1
  101. package/out/concepts/CallInterface__.d.ts +3 -3
  102. package/out/concepts/CallInterface__.js +57 -26
  103. package/out/concepts/CallInterface__.js.map +1 -1
  104. package/out/concepts/CallLogic__.d.ts +6 -6
  105. package/out/concepts/CallLogic__.js +180 -135
  106. package/out/concepts/CallLogic__.js.map +1 -1
  107. package/out/concepts/CallQueryComponent__.d.ts +2 -3
  108. package/out/concepts/CallQueryComponent__.js +41 -57
  109. package/out/concepts/CallQueryComponent__.js.map +1 -1
  110. package/out/concepts/Comment__.d.ts +3 -3
  111. package/out/concepts/Comment__.js +24 -17
  112. package/out/concepts/Comment__.js.map +1 -1
  113. package/out/concepts/CompletionProperty__.d.ts +2 -3
  114. package/out/concepts/CompletionProperty__.js +25 -30
  115. package/out/concepts/CompletionProperty__.js.map +1 -1
  116. package/out/concepts/ConfigGroup__.d.ts +2 -3
  117. package/out/concepts/ConfigGroup__.js +20 -21
  118. package/out/concepts/ConfigGroup__.js.map +1 -1
  119. package/out/concepts/ConfigPropertyValue__.d.ts +2 -3
  120. package/out/concepts/ConfigPropertyValue__.js +16 -16
  121. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  122. package/out/concepts/ConfigProperty__.d.ts +2 -3
  123. package/out/concepts/ConfigProperty__.js +23 -26
  124. package/out/concepts/ConfigProperty__.js.map +1 -1
  125. package/out/concepts/Configuration__.d.ts +2 -3
  126. package/out/concepts/Configuration__.js +18 -16
  127. package/out/concepts/Configuration__.js.map +1 -1
  128. package/out/concepts/Connection__.d.ts +4 -4
  129. package/out/concepts/Connection__.js +18 -22
  130. package/out/concepts/Connection__.js.map +1 -1
  131. package/out/concepts/ConnectorTrigger__.d.ts +6 -7
  132. package/out/concepts/ConnectorTrigger__.js +21 -22
  133. package/out/concepts/ConnectorTrigger__.js.map +1 -1
  134. package/out/concepts/Connector__.d.ts +33 -139
  135. package/out/concepts/Connector__.js +34 -191
  136. package/out/concepts/Connector__.js.map +1 -1
  137. package/out/concepts/Constant__.d.ts +2 -3
  138. package/out/concepts/Constant__.js +23 -25
  139. package/out/concepts/Constant__.js.map +1 -1
  140. package/out/concepts/DataElement__.d.ts +46 -0
  141. package/out/concepts/DataElement__.js +118 -0
  142. package/out/concepts/DataElement__.js.map +1 -0
  143. package/out/concepts/DataSource__.d.ts +2 -7
  144. package/out/concepts/DataSource__.js +23 -31
  145. package/out/concepts/DataSource__.js.map +1 -1
  146. package/out/concepts/DatabaseTypeAnnotation__.d.ts +4 -5
  147. package/out/concepts/DatabaseTypeAnnotation__.js +18 -18
  148. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -1
  149. package/out/concepts/Destination__.d.ts +11 -11
  150. package/out/concepts/Destination__.js +89 -39
  151. package/out/concepts/Destination__.js.map +1 -1
  152. package/out/concepts/End__.d.ts +2 -3
  153. package/out/concepts/End__.js +17 -15
  154. package/out/concepts/End__.js.map +1 -1
  155. package/out/concepts/EntityIndex__.d.ts +3 -4
  156. package/out/concepts/EntityIndex__.js +21 -23
  157. package/out/concepts/EntityIndex__.js.map +1 -1
  158. package/out/concepts/EntityProperty__.d.ts +4 -4
  159. package/out/concepts/EntityProperty__.js +67 -51
  160. package/out/concepts/EntityProperty__.js.map +1 -1
  161. package/out/concepts/Entity__.d.ts +3 -3
  162. package/out/concepts/Entity__.js +51 -32
  163. package/out/concepts/Entity__.js.map +1 -1
  164. package/out/concepts/EnumItem__.d.ts +3 -3
  165. package/out/concepts/EnumItem__.js +25 -19
  166. package/out/concepts/EnumItem__.js.map +1 -1
  167. package/out/concepts/Enum__.d.ts +3 -3
  168. package/out/concepts/Enum__.js +35 -23
  169. package/out/concepts/Enum__.js.map +1 -1
  170. package/out/concepts/Event__.d.ts +2 -3
  171. package/out/concepts/Event__.js +21 -24
  172. package/out/concepts/Event__.js.map +1 -1
  173. package/out/concepts/ExternalDestination__.d.ts +5 -6
  174. package/out/concepts/ExternalDestination__.js +25 -25
  175. package/out/concepts/ExternalDestination__.js.map +1 -1
  176. package/out/concepts/ForEachStatement__.d.ts +3 -3
  177. package/out/concepts/ForEachStatement__.js +60 -21
  178. package/out/concepts/ForEachStatement__.js.map +1 -1
  179. package/out/concepts/FrontendLibrary__.d.ts +3 -4
  180. package/out/concepts/FrontendLibrary__.js +25 -27
  181. package/out/concepts/FrontendLibrary__.js.map +1 -1
  182. package/out/concepts/FrontendVariable__.d.ts +3 -4
  183. package/out/concepts/FrontendVariable__.js +12 -12
  184. package/out/concepts/FrontendVariable__.js.map +1 -1
  185. package/out/concepts/Frontend__.d.ts +6 -8
  186. package/out/concepts/Frontend__.js +39 -47
  187. package/out/concepts/Frontend__.js.map +1 -1
  188. package/out/concepts/Function__.d.ts +3 -3
  189. package/out/concepts/Function__.js +60 -37
  190. package/out/concepts/Function__.js.map +1 -1
  191. package/out/concepts/Identifier__.d.ts +3 -4
  192. package/out/concepts/Identifier__.js +29 -30
  193. package/out/concepts/Identifier__.js.map +1 -1
  194. package/out/concepts/IfStatement__.d.ts +3 -3
  195. package/out/concepts/IfStatement__.js +51 -21
  196. package/out/concepts/IfStatement__.js.map +1 -1
  197. package/out/concepts/Integration__.d.ts +2 -93
  198. package/out/concepts/Integration__.js +19 -157
  199. package/out/concepts/Integration__.js.map +1 -1
  200. package/out/concepts/InterfaceParam__.d.ts +4 -30
  201. package/out/concepts/InterfaceParam__.js +24 -58
  202. package/out/concepts/InterfaceParam__.js.map +1 -1
  203. package/out/concepts/Interface__.d.ts +5 -31
  204. package/out/concepts/Interface__.js +34 -89
  205. package/out/concepts/Interface__.js.map +1 -1
  206. package/out/concepts/JSBlock__.d.ts +3 -3
  207. package/out/concepts/JSBlock__.js +24 -17
  208. package/out/concepts/JSBlock__.js.map +1 -1
  209. package/out/concepts/JavaLogic__.d.ts +3 -4
  210. package/out/concepts/JavaLogic__.js +21 -22
  211. package/out/concepts/JavaLogic__.js.map +1 -1
  212. package/out/concepts/LogicItem__.d.ts +8 -3
  213. package/out/concepts/LogicItem__.js +30 -23
  214. package/out/concepts/LogicItem__.js.map +1 -1
  215. package/out/concepts/Logic__.d.ts +18 -17
  216. package/out/concepts/Logic__.js +188 -113
  217. package/out/concepts/Logic__.js.map +1 -1
  218. package/out/concepts/MatchCase__.d.ts +3 -3
  219. package/out/concepts/MatchCase__.js +110 -23
  220. package/out/concepts/MatchCase__.js.map +1 -1
  221. package/out/concepts/Match__.d.ts +3 -3
  222. package/out/concepts/Match__.js +64 -20
  223. package/out/concepts/Match__.js.map +1 -1
  224. package/out/concepts/MemberExpression__.d.ts +3 -3
  225. package/out/concepts/MemberExpression__.js +59 -65
  226. package/out/concepts/MemberExpression__.js.map +1 -1
  227. package/out/concepts/MicroApp__.d.ts +2 -3
  228. package/out/concepts/MicroApp__.js +21 -26
  229. package/out/concepts/MicroApp__.js.map +1 -1
  230. package/out/concepts/Module__.d.ts +47 -219
  231. package/out/concepts/Module__.js +32 -232
  232. package/out/concepts/Module__.js.map +1 -1
  233. package/out/concepts/MsgTriggerEvent__.d.ts +3 -4
  234. package/out/concepts/MsgTriggerEvent__.js +18 -16
  235. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  236. package/out/concepts/MsgTriggerLauncher__.d.ts +3 -4
  237. package/out/concepts/MsgTriggerLauncher__.js +19 -18
  238. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  239. package/out/concepts/Namespace__.d.ts +2 -4
  240. package/out/concepts/Namespace__.js +46 -64
  241. package/out/concepts/Namespace__.js.map +1 -1
  242. package/out/concepts/NewComposite__.d.ts +3 -4
  243. package/out/concepts/NewComposite__.js +133 -71
  244. package/out/concepts/NewComposite__.js.map +1 -1
  245. package/out/concepts/NewList__.d.ts +4 -5
  246. package/out/concepts/NewList__.js +41 -35
  247. package/out/concepts/NewList__.js.map +1 -1
  248. package/out/concepts/NewMap__.d.ts +4 -5
  249. package/out/concepts/NewMap__.js +38 -39
  250. package/out/concepts/NewMap__.js.map +1 -1
  251. package/out/concepts/New__.d.ts +2 -3
  252. package/out/concepts/New__.js +17 -15
  253. package/out/concepts/New__.js.map +1 -1
  254. package/out/concepts/NullLiteral__.d.ts +2 -3
  255. package/out/concepts/NullLiteral__.js +17 -15
  256. package/out/concepts/NullLiteral__.js.map +1 -1
  257. package/out/concepts/NumericLiteral__.d.ts +3 -3
  258. package/out/concepts/NumericLiteral__.js +27 -21
  259. package/out/concepts/NumericLiteral__.js.map +1 -1
  260. package/out/concepts/OqlQueryComponent__.d.ts +3 -3
  261. package/out/concepts/OqlQueryComponent__.js +30 -26
  262. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  263. package/out/concepts/OverriddenLogic__.d.ts +22 -14
  264. package/out/concepts/OverriddenLogic__.js +62 -73
  265. package/out/concepts/OverriddenLogic__.js.map +1 -1
  266. package/out/concepts/Param__.d.ts +3 -3
  267. package/out/concepts/Param__.js +69 -34
  268. package/out/concepts/Param__.js.map +1 -1
  269. package/out/concepts/Point__.d.ts +2 -3
  270. package/out/concepts/Point__.js +16 -16
  271. package/out/concepts/Point__.js.map +1 -1
  272. package/out/concepts/ProcessComponent__.d.ts +2 -3
  273. package/out/concepts/ProcessComponent__.js +22 -24
  274. package/out/concepts/ProcessComponent__.js.map +1 -1
  275. package/out/concepts/ProcessElement__.d.ts +2 -3
  276. package/out/concepts/ProcessElement__.js +46 -61
  277. package/out/concepts/ProcessElement__.js.map +1 -1
  278. package/out/concepts/ProcessOutcome__.d.ts +2 -3
  279. package/out/concepts/ProcessOutcome__.js +18 -17
  280. package/out/concepts/ProcessOutcome__.js.map +1 -1
  281. package/out/concepts/ProcessOutcomes__.d.ts +2 -3
  282. package/out/concepts/ProcessOutcomes__.js +17 -15
  283. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  284. package/out/concepts/Process__.d.ts +7 -5
  285. package/out/concepts/Process__.js +35 -46
  286. package/out/concepts/Process__.js.map +1 -1
  287. package/out/concepts/QueryAggregateExpression__.d.ts +2 -3
  288. package/out/concepts/QueryAggregateExpression__.js +22 -23
  289. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  290. package/out/concepts/QueryFieldExpression__.d.ts +3 -4
  291. package/out/concepts/QueryFieldExpression__.js +20 -21
  292. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  293. package/out/concepts/QueryFromExpression__.d.ts +3 -4
  294. package/out/concepts/QueryFromExpression__.js +22 -23
  295. package/out/concepts/QueryFromExpression__.js.map +1 -1
  296. package/out/concepts/QueryGroupByExpression__.d.ts +2 -3
  297. package/out/concepts/QueryGroupByExpression__.js +19 -18
  298. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  299. package/out/concepts/QueryJoinExpression__.d.ts +3 -4
  300. package/out/concepts/QueryJoinExpression__.js +25 -29
  301. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  302. package/out/concepts/QueryLimitExpression__.d.ts +2 -3
  303. package/out/concepts/QueryLimitExpression__.js +22 -22
  304. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  305. package/out/concepts/QueryOrderByExpression__.d.ts +2 -3
  306. package/out/concepts/QueryOrderByExpression__.js +22 -22
  307. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  308. package/out/concepts/QuerySelectExpression__.d.ts +2 -3
  309. package/out/concepts/QuerySelectExpression__.js +21 -23
  310. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  311. package/out/concepts/Rect__.d.ts +2 -3
  312. package/out/concepts/Rect__.js +18 -20
  313. package/out/concepts/Rect__.js.map +1 -1
  314. package/out/concepts/Return__.d.ts +3 -3
  315. package/out/concepts/Return__.js +45 -29
  316. package/out/concepts/Return__.js.map +1 -1
  317. package/out/concepts/Role__.d.ts +2 -3
  318. package/out/concepts/Role__.js +21 -22
  319. package/out/concepts/Role__.js.map +1 -1
  320. package/out/concepts/SelectMembers__.d.ts +2 -3
  321. package/out/concepts/SelectMembers__.js +21 -20
  322. package/out/concepts/SelectMembers__.js.map +1 -1
  323. package/out/concepts/Slot__.d.ts +2 -3
  324. package/out/concepts/Slot__.js +22 -26
  325. package/out/concepts/Slot__.js.map +1 -1
  326. package/out/concepts/SqlQueryComponent__.d.ts +3 -3
  327. package/out/concepts/SqlQueryComponent__.js +31 -28
  328. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  329. package/out/concepts/Start__.d.ts +2 -3
  330. package/out/concepts/Start__.js +17 -15
  331. package/out/concepts/Start__.js.map +1 -1
  332. package/out/concepts/StringInterpolation__.d.ts +3 -3
  333. package/out/concepts/StringInterpolation__.js +37 -17
  334. package/out/concepts/StringInterpolation__.js.map +1 -1
  335. package/out/concepts/StringLiteral__.d.ts +3 -3
  336. package/out/concepts/StringLiteral__.js +22 -14
  337. package/out/concepts/StringLiteral__.js.map +1 -1
  338. package/out/concepts/StructureProperty__.d.ts +5 -5
  339. package/out/concepts/StructureProperty__.js +40 -33
  340. package/out/concepts/StructureProperty__.js.map +1 -1
  341. package/out/concepts/Structure__.d.ts +12 -3
  342. package/out/concepts/Structure__.js +46 -45
  343. package/out/concepts/Structure__.js.map +1 -1
  344. package/out/concepts/SwitchCase__.d.ts +3 -3
  345. package/out/concepts/SwitchCase__.js +54 -19
  346. package/out/concepts/SwitchCase__.js.map +1 -1
  347. package/out/concepts/SwitchStatement__.d.ts +3 -3
  348. package/out/concepts/SwitchStatement__.js +39 -23
  349. package/out/concepts/SwitchStatement__.js.map +1 -1
  350. package/out/concepts/Theme__.d.ts +2 -3
  351. package/out/concepts/Theme__.js +14 -12
  352. package/out/concepts/Theme__.js.map +1 -1
  353. package/out/concepts/Transactional__.d.ts +2 -3
  354. package/out/concepts/Transactional__.js +17 -18
  355. package/out/concepts/Transactional__.js.map +1 -1
  356. package/out/concepts/TriggerEvent__.d.ts +2 -3
  357. package/out/concepts/TriggerEvent__.js +18 -19
  358. package/out/concepts/TriggerEvent__.js.map +1 -1
  359. package/out/concepts/TriggerLauncher__.d.ts +17 -6
  360. package/out/concepts/TriggerLauncher__.js +63 -26
  361. package/out/concepts/TriggerLauncher__.js.map +1 -1
  362. package/out/concepts/TypeAnnotation__.d.ts +6 -8
  363. package/out/concepts/TypeAnnotation__.js +79 -56
  364. package/out/concepts/TypeAnnotation__.js.map +1 -1
  365. package/out/concepts/TypeParam__.d.ts +3 -3
  366. package/out/concepts/TypeParam__.js +23 -16
  367. package/out/concepts/TypeParam__.js.map +1 -1
  368. package/out/concepts/UnaryExpression__.d.ts +3 -3
  369. package/out/concepts/UnaryExpression__.js +39 -21
  370. package/out/concepts/UnaryExpression__.js.map +1 -1
  371. package/out/concepts/Unparsed__.d.ts +3 -3
  372. package/out/concepts/Unparsed__.js +23 -16
  373. package/out/concepts/Unparsed__.js.map +1 -1
  374. package/out/concepts/UseComponent__.d.ts +2 -3
  375. package/out/concepts/UseComponent__.js +16 -16
  376. package/out/concepts/UseComponent__.js.map +1 -1
  377. package/out/concepts/ValidationRule__.d.ts +16 -17
  378. package/out/concepts/ValidationRule__.js +15 -18
  379. package/out/concepts/ValidationRule__.js.map +1 -1
  380. package/out/concepts/Variable__.d.ts +3 -3
  381. package/out/concepts/Variable__.js +45 -29
  382. package/out/concepts/Variable__.js.map +1 -1
  383. package/out/concepts/ViewBlock__.d.ts +3 -4
  384. package/out/concepts/ViewBlock__.js +19 -20
  385. package/out/concepts/ViewBlock__.js.map +1 -1
  386. package/out/concepts/ViewComponent__.d.ts +31 -32
  387. package/out/concepts/ViewComponent__.js +32 -35
  388. package/out/concepts/ViewComponent__.js.map +1 -1
  389. package/out/concepts/ViewElement__.d.ts +81 -82
  390. package/out/concepts/ViewElement__.js +155 -259
  391. package/out/concepts/ViewElement__.js.map +1 -1
  392. package/out/concepts/View__.d.ts +4 -5
  393. package/out/concepts/View__.js +207 -141
  394. package/out/concepts/View__.js.map +1 -1
  395. package/out/concepts/WhileStatement__.d.ts +3 -3
  396. package/out/concepts/WhileStatement__.js +41 -20
  397. package/out/concepts/WhileStatement__.js.map +1 -1
  398. package/out/concepts/index__.d.ts +1 -0
  399. package/out/concepts/index__.js +1 -0
  400. package/out/concepts/index__.js.map +1 -1
  401. package/out/concepts/types__.d.ts +2 -2
  402. package/out/decorators/index.d.ts +0 -2
  403. package/out/decorators/index.js +8 -12
  404. package/out/decorators/index.js.map +1 -1
  405. package/out/generator/genBundleFiles.d.ts +2 -2
  406. package/out/generator/genBundleFiles.js +4 -11
  407. package/out/generator/genBundleFiles.js.map +1 -1
  408. package/out/generator/genReleaseBody.d.ts +2 -4
  409. package/out/generator/genReleaseBody.js +136 -192
  410. package/out/generator/genReleaseBody.js.map +1 -1
  411. package/out/index.d.ts +1 -0
  412. package/out/index.js +1 -0
  413. package/out/index.js.map +1 -1
  414. package/out/natural/RequirementAnalyzer.d.ts +22 -0
  415. package/out/natural/RequirementAnalyzer.js +196 -0
  416. package/out/natural/RequirementAnalyzer.js.map +1 -0
  417. package/out/natural/RequirementExecutor.d.ts +51 -0
  418. package/out/natural/RequirementExecutor.js +692 -0
  419. package/out/natural/RequirementExecutor.js.map +1 -0
  420. package/out/natural/componentData.d.ts +31 -0
  421. package/out/natural/componentData.js +85 -0
  422. package/out/natural/componentData.js.map +1 -0
  423. package/out/natural/genNaturalTS.d.ts +3 -0
  424. package/out/natural/genNaturalTS.js +90 -0
  425. package/out/natural/genNaturalTS.js.map +1 -0
  426. package/out/natural/index.d.ts +4 -0
  427. package/out/natural/index.js +21 -0
  428. package/out/natural/index.js.map +1 -0
  429. package/out/natural/knowledgeMap.d.ts +4 -0
  430. package/out/natural/knowledgeMap.js +40 -0
  431. package/out/natural/knowledgeMap.js.map +1 -0
  432. package/out/natural/naslStdlibMap.d.ts +2 -0
  433. package/out/natural/naslStdlibMap.js +26 -0
  434. package/out/natural/naslStdlibMap.js.map +1 -0
  435. package/out/natural/transformTSCode.d.ts +7 -0
  436. package/out/natural/transformTSCode.js +878 -0
  437. package/out/natural/transformTSCode.js.map +1 -0
  438. package/out/sentry/index.js +2 -2
  439. package/out/sentry/index.js.map +1 -1
  440. package/out/server/createUiTs.js +1 -34
  441. package/out/server/createUiTs.js.map +1 -1
  442. package/out/server/extendBaseNode.js +17 -17
  443. package/out/server/extendBaseNode.js.map +1 -1
  444. package/out/server/formatTsUtils.js +10 -0
  445. package/out/server/formatTsUtils.js.map +1 -1
  446. package/out/server/getConnector.d.ts +0 -3
  447. package/out/server/getConnector.js +1 -38
  448. package/out/server/getConnector.js.map +1 -1
  449. package/out/server/getMemberIdentifier.js +2 -1
  450. package/out/server/getMemberIdentifier.js.map +1 -1
  451. package/out/server/index.js +0 -2
  452. package/out/server/index.js.map +1 -1
  453. package/out/server/naslServer.d.ts +6 -17
  454. package/out/server/naslServer.js +213 -321
  455. package/out/server/naslServer.js.map +1 -1
  456. package/out/server/translator.js +4 -2
  457. package/out/server/translator.js.map +1 -1
  458. package/out/service/creator/add.configs.js +0 -26
  459. package/out/service/creator/add.configs.js.map +1 -1
  460. package/out/service/creator/errHandles.js +3 -5
  461. package/out/service/creator/errHandles.js.map +1 -1
  462. package/out/service/creator/index.js +0 -13
  463. package/out/service/creator/index.js.map +1 -1
  464. package/out/service/storage/init.js +16 -0
  465. package/out/service/storage/init.js.map +1 -1
  466. package/out/service/storage/jsoner.js +1 -1
  467. package/out/service/storage/jsoner.js.map +1 -1
  468. package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
  469. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  470. package/out/templator/genCurdMultipleKeyBlock.js +3 -3
  471. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  472. package/out/templator/genTableBlock.js +1 -1
  473. package/out/templator/genTableBlock.js.map +1 -1
  474. package/out/translator/index.d.ts +48 -3
  475. package/out/translator/index.js +110 -17
  476. package/out/translator/index.js.map +1 -1
  477. package/out/translator/lsp.d.ts +45 -0
  478. package/out/translator/lsp.js +6 -0
  479. package/out/translator/lsp.js.map +1 -0
  480. package/out/translator/tsp.d.ts +12 -0
  481. package/out/translator/{types.js → tsp.js} +1 -1
  482. package/out/translator/tsp.js.map +1 -0
  483. package/out/utils/index.d.ts +0 -2
  484. package/out/utils/index.js +0 -2
  485. package/out/utils/index.js.map +1 -1
  486. package/out/utils/logger.d.ts +0 -4
  487. package/out/utils/logger.js +1 -13
  488. package/out/utils/logger.js.map +1 -1
  489. package/out/utils/time-slicing.js +1 -1
  490. package/out/utils/time-slicing.js.map +1 -1
  491. package/package.json +11 -5
  492. package/sandbox/stdlib/nasl.oql.ts +0 -2
  493. package/sandbox/stdlib/nasl.ui.definition.ts +1415 -2218
  494. package/sandbox-natural/stdlib/nasl.core.ts +36 -0
  495. package/sandbox-natural/stdlib/nasl.oql.ts +8 -0
  496. package/sandbox-natural/stdlib/nasl.ui.ts +63 -0
  497. package/sandbox-natural/stdlib/nasl.util.ts +119 -0
  498. package/sandbox-natural/tsconfig.json +12 -0
  499. package/src/bak/translator.js +5 -8
  500. package/src/breakpoint/generator/AfterStartNode.ts +1 -2
  501. package/src/breakpoint/generator/BeforeEndNode.ts +1 -2
  502. package/src/breakpoint/generator/BreakpointNode.ts +9 -36
  503. package/src/breakpoint/shared/constants.ts +0 -7
  504. package/src/breakpoint/shared/utils.ts +3 -36
  505. package/src/common/BaseNode.ts +81 -140
  506. package/src/common/Command.ts +1 -6
  507. package/src/common/EventEmitter.ts +4 -2
  508. package/src/common/classMap.ts +3 -0
  509. package/src/common/index.ts +1 -0
  510. package/src/concepts/Abort__.ts +22 -20
  511. package/src/concepts/Anchor__.ts +38 -23
  512. package/src/concepts/AnonymousFunction__.ts +63 -39
  513. package/src/concepts/App__.ts +314 -364
  514. package/src/concepts/Argument__.ts +44 -27
  515. package/src/concepts/Assignee__.ts +39 -41
  516. package/src/concepts/AssignmentLine__.ts +23 -20
  517. package/src/concepts/Assignment__.ts +58 -54
  518. package/src/concepts/Attribute__.ts +34 -40
  519. package/src/concepts/AuthInterface__.ts +24 -22
  520. package/src/concepts/AuthLogicForCallInterface__.ts +41 -71
  521. package/src/concepts/AuthLogic__.ts +30 -21
  522. package/src/concepts/BackendVariable__.ts +54 -55
  523. package/src/concepts/Backend__.ts +59 -58
  524. package/src/concepts/BatchAssignment__.ts +78 -88
  525. package/src/concepts/BinaryExpression__.ts +66 -72
  526. package/src/concepts/BindAttribute__.ts +155 -135
  527. package/src/concepts/BindDirective__.ts +41 -45
  528. package/src/concepts/BindEvent__.ts +89 -80
  529. package/src/concepts/BindStyle__.ts +36 -37
  530. package/src/concepts/BooleanLiteral__.ts +28 -22
  531. package/src/concepts/CallAuthInterface__.ts +32 -29
  532. package/src/concepts/CallConnector__.ts +41 -50
  533. package/src/concepts/CallFunction__.ts +77 -45
  534. package/src/concepts/CallInterface__.ts +68 -36
  535. package/src/concepts/CallLogic__.ts +213 -166
  536. package/src/concepts/CallQueryComponent__.ts +88 -156
  537. package/src/concepts/Comment__.ts +29 -22
  538. package/src/concepts/CompletionProperty__.ts +30 -34
  539. package/src/concepts/ConfigGroup__.ts +29 -28
  540. package/src/concepts/ConfigPropertyValue__.ts +23 -22
  541. package/src/concepts/ConfigProperty__.ts +36 -42
  542. package/src/concepts/Configuration__.ts +26 -23
  543. package/src/concepts/Connection__.ts +21 -26
  544. package/src/concepts/ConnectorTrigger__.ts +34 -30
  545. package/src/concepts/Connector__.ts +87 -342
  546. package/src/concepts/Constant__.ts +36 -30
  547. package/src/concepts/DataElement__.ts +131 -0
  548. package/src/concepts/DataSource__.ts +33 -37
  549. package/src/concepts/DatabaseTypeAnnotation__.ts +24 -24
  550. package/src/concepts/Destination__.ts +104 -51
  551. package/src/concepts/End__.ts +25 -23
  552. package/src/concepts/EntityIndex__.ts +33 -36
  553. package/src/concepts/EntityProperty__.ts +84 -64
  554. package/src/concepts/Entity__.ts +67 -41
  555. package/src/concepts/EnumItem__.ts +32 -24
  556. package/src/concepts/Enum__.ts +42 -28
  557. package/src/concepts/Event__.ts +33 -33
  558. package/src/concepts/ExternalDestination__.ts +29 -29
  559. package/src/concepts/ForEachStatement__.ts +73 -34
  560. package/src/concepts/FrontendLibrary__.ts +38 -37
  561. package/src/concepts/FrontendVariable__.ts +20 -18
  562. package/src/concepts/Frontend__.ts +62 -66
  563. package/src/concepts/Function__.ts +80 -54
  564. package/src/concepts/Identifier__.ts +34 -37
  565. package/src/concepts/IfStatement__.ts +77 -40
  566. package/src/concepts/Integration__.ts +24 -244
  567. package/src/concepts/InterfaceParam__.ts +33 -69
  568. package/src/concepts/Interface__.ts +46 -104
  569. package/src/concepts/JSBlock__.ts +28 -22
  570. package/src/concepts/JavaLogic__.ts +26 -27
  571. package/src/concepts/LogicItem__.ts +47 -29
  572. package/src/concepts/Logic__.ts +226 -168
  573. package/src/concepts/MatchCase__.ts +128 -38
  574. package/src/concepts/Match__.ts +73 -28
  575. package/src/concepts/MemberExpression__.ts +139 -174
  576. package/src/concepts/MicroApp__.ts +27 -32
  577. package/src/concepts/Module__.ts +107 -527
  578. package/src/concepts/MsgTriggerEvent__.ts +33 -25
  579. package/src/concepts/MsgTriggerLauncher__.ts +30 -27
  580. package/src/concepts/Namespace__.ts +99 -109
  581. package/src/concepts/NewComposite__.ts +161 -130
  582. package/src/concepts/NewList__.ts +51 -45
  583. package/src/concepts/NewMap__.ts +48 -51
  584. package/src/concepts/New__.ts +22 -20
  585. package/src/concepts/NullLiteral__.ts +22 -20
  586. package/src/concepts/NumericLiteral__.ts +31 -26
  587. package/src/concepts/OqlQueryComponent__.ts +34 -33
  588. package/src/concepts/OverriddenLogic__.ts +94 -128
  589. package/src/concepts/Param__.ts +90 -51
  590. package/src/concepts/Point__.ts +22 -22
  591. package/src/concepts/ProcessComponent__.ts +37 -36
  592. package/src/concepts/ProcessElement__.ts +86 -114
  593. package/src/concepts/ProcessOutcome__.ts +23 -22
  594. package/src/concepts/ProcessOutcomes__.ts +22 -20
  595. package/src/concepts/Process__.ts +63 -69
  596. package/src/concepts/QueryAggregateExpression__.ts +27 -28
  597. package/src/concepts/QueryFieldExpression__.ts +25 -26
  598. package/src/concepts/QueryFromExpression__.ts +28 -29
  599. package/src/concepts/QueryGroupByExpression__.ts +23 -22
  600. package/src/concepts/QueryJoinExpression__.ts +41 -62
  601. package/src/concepts/QueryLimitExpression__.ts +27 -27
  602. package/src/concepts/QueryOrderByExpression__.ts +27 -27
  603. package/src/concepts/QuerySelectExpression__.ts +54 -105
  604. package/src/concepts/Rect__.ts +24 -26
  605. package/src/concepts/Return__.ts +67 -42
  606. package/src/concepts/Role__.ts +25 -25
  607. package/src/concepts/SelectMembers__.ts +32 -30
  608. package/src/concepts/Slot__.ts +30 -32
  609. package/src/concepts/SqlQueryComponent__.ts +37 -41
  610. package/src/concepts/Start__.ts +22 -20
  611. package/src/concepts/StringInterpolation__.ts +45 -25
  612. package/src/concepts/StringLiteral__.ts +26 -19
  613. package/src/concepts/StructureProperty__.ts +47 -38
  614. package/src/concepts/Structure__.ts +58 -55
  615. package/src/concepts/SwitchCase__.ts +74 -40
  616. package/src/concepts/SwitchStatement__.ts +44 -29
  617. package/src/concepts/Theme__.ts +21 -18
  618. package/src/concepts/Transactional__.ts +31 -24
  619. package/src/concepts/TriggerEvent__.ts +29 -28
  620. package/src/concepts/TriggerLauncher__.ts +82 -32
  621. package/src/concepts/TypeAnnotation__.ts +98 -92
  622. package/src/concepts/TypeParam__.ts +28 -21
  623. package/src/concepts/UnaryExpression__.ts +45 -26
  624. package/src/concepts/Unparsed__.ts +25 -20
  625. package/src/concepts/UseComponent__.ts +22 -22
  626. package/src/concepts/ValidationRule__.ts +555 -539
  627. package/src/concepts/Variable__.ts +67 -43
  628. package/src/concepts/ViewBlock__.ts +25 -26
  629. package/src/concepts/ViewComponent__.ts +91 -87
  630. package/src/concepts/ViewElement__.ts +2437 -2696
  631. package/src/concepts/View__.ts +407 -345
  632. package/src/concepts/WhileStatement__.ts +59 -36
  633. package/src/concepts/index__.ts +1 -0
  634. package/src/concepts/types__.ts +124 -124
  635. package/src/decorators/index.ts +7 -11
  636. package/src/generator/genBundleFiles.ts +4 -14
  637. package/src/generator/genReleaseBody.ts +182 -198
  638. package/src/index.ts +1 -0
  639. package/src/natural/RequirementAnalyzer.ts +208 -0
  640. package/src/natural/RequirementExecutor.ts +685 -0
  641. package/src/natural/componentData.ts +81 -0
  642. package/src/natural/genNaturalTS.ts +90 -0
  643. package/src/natural/index.ts +4 -0
  644. package/src/natural/knowledgeMap.ts +39 -0
  645. package/src/natural/naslStdlibMap.ts +24 -0
  646. package/src/natural/transformTSCode.ts +834 -0
  647. package/src/sentry/index.ts +2 -2
  648. package/src/server/createUiTs.ts +1 -30
  649. package/src/server/extendBaseNode.ts +18 -18
  650. package/src/server/formatTsUtils.ts +11 -0
  651. package/src/server/getConnector.ts +27 -63
  652. package/src/server/getMemberIdentifier.ts +3 -2
  653. package/src/server/index.ts +1 -4
  654. package/src/server/naslServer.ts +212 -302
  655. package/src/server/translator.ts +3 -1
  656. package/src/service/creator/add.configs.js +1 -26
  657. package/src/service/creator/errHandles.js +4 -5
  658. package/src/service/creator/index.js +0 -12
  659. package/src/service/storage/init.ts +17 -0
  660. package/src/service/storage/jsoner.ts +1 -1
  661. package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
  662. package/src/templator/genCurdMultipleKeyBlock.ts +3 -3
  663. package/src/templator/genTableBlock.ts +1 -1
  664. package/src/test/examples/app1.json +1406 -0
  665. package/src/test/fixtures/env.ts +19 -0
  666. package/src/test/integration/connect-create-file.ts +14 -0
  667. package/src/test/integration/connect-file.ts +24 -0
  668. package/src/test/integration/node-nasl-server.ts +14 -0
  669. package/src/test/units/baseTypes/Assignment.spec.ts +20 -0
  670. package/src/test/units/baseTypes/CallLogic.spec.ts +22 -0
  671. package/src/test/units/baseTypes/StringLiteral.spec.ts +60 -0
  672. package/src/test/units/baseTypes/new.spec.ts +13 -0
  673. package/src/test/units/common/Vertex.spec.ts +23 -0
  674. package/src/test/units/data/Entity.spec.ts +10 -0
  675. package/src/test/units/login.spec.ts +10 -0
  676. package/src/test/units/page/Block.spec.ts +15 -0
  677. package/src/test/units/page/Element.spec.ts +45 -0
  678. package/src/test/units/page/example.dashboard.html +46 -0
  679. package/src/test/units/page/example.view1.html +63 -0
  680. package/src/test/units/temp/temp.spec.ts +66 -0
  681. package/src/translator/index.ts +137 -3
  682. package/src/translator/lsp.ts +50 -0
  683. package/src/translator/tsp.ts +14 -0
  684. package/src/utils/index.ts +0 -2
  685. package/src/utils/logger.ts +0 -13
  686. package/src/utils/time-slicing.ts +1 -1
  687. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +6 -6
  688. package/test/concepts/call-interface/toJS.spec.ts +6 -6
  689. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -45
  690. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +0 -102
  691. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +6 -6
  692. package/test/concepts/call-logic/toJS.spec.ts +6 -6
  693. package/test/concepts/match/toEmbeddedTS.spec.ts +6 -6
  694. package/test/concepts/match/toJS.spec.ts +6 -6
  695. package/test/concepts/utils.ts +43 -46
  696. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +6 -6
  697. package/test/concepts/validation-rule/toJS.spec.ts +6 -6
  698. package/test/concepts/validation-rule/validation-rule.spec.ts +8 -8
  699. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -592
  700. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -308
  701. package/test/concepts/view-element/fixtures/default-not-found.json +313 -313
  702. package/test/concepts/view-element/toEmbeddedTS.spec.ts +6 -6
  703. package/test/concepts/view-element/toVue.spec.ts +6 -6
  704. package/ts-worker/package-lock.json +101 -6663
  705. package/ts-worker/webpack.config.js +1 -1
  706. package/out/translator/constant.d.ts +0 -6
  707. package/out/translator/constant.js +0 -10
  708. package/out/translator/constant.js.map +0 -1
  709. package/out/translator/types.d.ts +0 -32
  710. package/out/translator/types.js.map +0 -1
  711. package/out/translator/utils.d.ts +0 -17
  712. package/out/translator/utils.js +0 -102
  713. package/out/translator/utils.js.map +0 -1
  714. package/out/utils/cookie.d.ts +0 -9
  715. package/out/utils/cookie.js +0 -62
  716. package/out/utils/cookie.js.map +0 -1
  717. package/out/utils/types.d.ts +0 -1
  718. package/out/utils/types.js +0 -3
  719. package/out/utils/types.js.map +0 -1
  720. package/out/utils/window.d.ts +0 -7
  721. package/out/utils/window.js +0 -14
  722. package/out/utils/window.js.map +0 -1
  723. package/src/translator/constant.ts +0 -7
  724. package/src/translator/types.ts +0 -40
  725. package/src/translator/utils.ts +0 -104
  726. package/src/utils/cookie.ts +0 -60
  727. package/src/utils/types.ts +0 -1
  728. package/src/utils/window.ts +0 -9
  729. package/test/concepts/boolean-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -11
  730. package/test/concepts/boolean-literal/__snapshots__/toJS.spec.ts.snap +0 -11
  731. package/test/concepts/boolean-literal/__snapshots__/toVue.spec.ts.snap +0 -11
  732. package/test/concepts/boolean-literal/constant.ts +0 -5
  733. package/test/concepts/boolean-literal/fixtures/false.json +0 -4
  734. package/test/concepts/boolean-literal/fixtures/true.json +0 -4
  735. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +0 -14
  736. package/test/concepts/boolean-literal/toJS.spec.ts +0 -14
  737. package/test/concepts/boolean-literal/toVue.spec.ts +0 -14
  738. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +0 -106
  739. package/test/concepts/call-logic/fixtures/nested-call-logic.json +0 -860
  740. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +0 -23
  741. package/test/concepts/identifier/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
  742. package/test/concepts/identifier/__snapshots__/toJS.spec.ts.snap +0 -16
  743. package/test/concepts/identifier/__snapshots__/toVue.spec.ts.snap +0 -16
  744. package/test/concepts/identifier/constant.ts +0 -5
  745. package/test/concepts/identifier/fixtures/data-source.json +0 -5
  746. package/test/concepts/identifier/fixtures/no-namespace.json +0 -4
  747. package/test/concepts/identifier/fixtures/view-variable.json +0 -201
  748. package/test/concepts/identifier/toEmbeddedTS.spec.ts +0 -14
  749. package/test/concepts/identifier/toJS.spec.ts +0 -14
  750. package/test/concepts/identifier/toVue.spec.ts +0 -14
  751. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -21
  752. package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +0 -21
  753. package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +0 -21
  754. package/test/concepts/member-expression/constant.ts +0 -5
  755. package/test/concepts/member-expression/fixtures/app.enums.UserStatusEnum.json +0 -13
  756. package/test/concepts/member-expression/fixtures/elements.table-view.data.json +0 -13
  757. package/test/concepts/member-expression/fixtures/entry.created-by.json +0 -18
  758. package/test/concepts/member-expression/fixtures/nasl.auth.userInfo.json +0 -19
  759. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +0 -14
  760. package/test/concepts/member-expression/toJS.spec.ts +0 -14
  761. package/test/concepts/member-expression/toVue.spec.ts +0 -14
  762. package/test/concepts/null-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
  763. package/test/concepts/null-literal/__snapshots__/toJS.spec.ts.snap +0 -6
  764. package/test/concepts/null-literal/__snapshots__/toVue.spec.ts.snap +0 -6
  765. package/test/concepts/null-literal/constant.ts +0 -5
  766. package/test/concepts/null-literal/fixtures/null.json +0 -3
  767. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +0 -14
  768. package/test/concepts/null-literal/toJS.spec.ts +0 -14
  769. package/test/concepts/null-literal/toVue.spec.ts +0 -14
  770. package/test/concepts/numeric-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -6
  771. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +0 -6
  772. package/test/concepts/numeric-literal/__snapshots__/toVue.spec.ts.snap +0 -6
  773. package/test/concepts/numeric-literal/constant.ts +0 -5
  774. package/test/concepts/numeric-literal/fixtures/number.json +0 -10
  775. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +0 -14
  776. package/test/concepts/numeric-literal/toJS.spec.ts +0 -14
  777. package/test/concepts/numeric-literal/toVue.spec.ts +0 -14
  778. package/test/concepts/string-literal/__snapshots__/toEmbeddedTS.spec.ts.snap +0 -16
  779. package/test/concepts/string-literal/__snapshots__/toJS.spec.ts.snap +0 -16
  780. package/test/concepts/string-literal/__snapshots__/toVue.spec.ts.snap +0 -16
  781. package/test/concepts/string-literal/constant.ts +0 -5
  782. package/test/concepts/string-literal/fixtures/escape.json +0 -4
  783. package/test/concepts/string-literal/fixtures/space.json +0 -4
  784. package/test/concepts/string-literal/fixtures/string.json +0 -4
  785. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +0 -14
  786. package/test/concepts/string-literal/toJS.spec.ts +0 -14
  787. package/test/concepts/string-literal/toVue.spec.ts +0 -14
  788. package/test/concepts/view-element/fixtures/default-login.json +0 -333
  789. package/test/concepts/view-element/fixtures/with-role-auth.json +0 -148
  790. package/test/concepts/view-element/fixtures/with-table.json +0 -3473
@@ -1,4 +1,5 @@
1
- import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
2
3
  import Function from './Function__';
3
4
  import { ElementToVueOptions } from './ViewElement__';
4
5
  import { getValidationInFunction } from '../server/getFunctions';
@@ -10,574 +11,589 @@ import BindAttribute from './BindAttribute__';
10
11
  // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
11
12
  //================================================================================
12
13
  import { EventPayload, Params } from '../common/EventEmitter';
13
- import { concept, excludedInJSON, property, className } from '../decorators';
14
+ import { concept, excludedInJSON, property } from '../decorators';
14
15
 
15
16
  import * as utils from '../utils';
16
- import { v4 as uuidv4 } from 'uuid';
17
17
  import BaseNode from '../common/BaseNode';
18
+ import classMap from '../common/classMap';
18
19
  import Argument from './Argument__';
19
20
  import LogicItem from './LogicItem__';
20
21
 
21
22
  /**
22
23
  * 验证规则
23
24
  */
24
- @className
25
25
  @concept('验证规则')
26
- // @ts-ignore
27
26
  export class ValidationRule extends LogicItem {
28
- /** 类名 */
29
- static readonly ConceptName = 'ValidationRule';
30
-
31
- /**
32
- * 产品概念
33
- */
34
- // @ts-ignore
35
- readonly concept!: 'ValidationRule';
36
-
37
- /**
38
- * 验证规则标题
39
- */
40
- @property()
41
- label: string = '验证规则';
42
-
43
- /**
44
- * calleeNamespace
45
- */
46
- @property()
47
- // @ts-ignore
48
- calleeNamespace!: string;
49
-
50
- /**
51
- * calleeName
52
- */
53
- @property()
54
- // @ts-ignore
55
- calleeName!: string;
56
-
57
- /**
58
- * 实际参数
59
- */
60
- @property('Argument')
61
- arguments: Array<Argument> = [];
62
-
63
- /**
64
- * 错误信息
65
- */
66
- @property('LogicItem')
67
- // @ts-ignore
68
- errorMessage!: LogicItem;
69
-
70
- /**
71
- * 验证对象
72
- */
73
- @property('LogicItem')
74
- // @ts-ignore
75
- target!: LogicItem;
76
-
77
- /**
78
- * 是否启用服务端验证
79
- */
80
- @property()
81
- enableServerValidation: boolean = true;
82
-
83
- /**
84
- * @param source 需要合并的部分参数
85
- */
86
- constructor(source?: Partial<ValidationRule>) {
87
- source = Object.assign({}, ValidationRule.getDefaultOptions(), source);
88
- super(source);
89
- super.subConstructor(source);
90
- }
91
-
92
- static from(source: any, parentNode?: any, parentKey?: string): ValidationRule {
93
- return super.from(source, parentNode, parentKey) as ValidationRule;
94
- }
95
-
96
- /**
97
- * 设置错误信息
98
- */
99
- setErrorMessage(errorMessage: LogicItem) {
100
- errorMessage._delete();
101
- const relationOptions = { parentNode: this, parentKey: 'errorMessage' };
102
- Object.assign(errorMessage, relationOptions);
103
- const object = {
104
- errorMessage,
105
- };
106
- this.update({
107
- ...object,
108
- });
109
- }
110
-
111
- /**
112
- * 设置验证对象
113
- */
114
- setTarget(target: LogicItem) {
115
- target._delete();
116
- const relationOptions = { parentNode: this, parentKey: 'target' };
117
- Object.assign(target, relationOptions);
118
- const object = {
119
- target,
120
- };
121
- this.update({
122
- ...object,
123
- });
124
- }
125
-
126
- /**
127
- * 设置是否启用服务端验证
128
- */
129
- setEnableServerValidation(enableServerValidation: boolean) {
130
- const object = {
131
- enableServerValidation,
132
- };
133
- this.update({
134
- ...object,
135
- });
136
- }
137
-
138
- /**
139
- * 插入实际参数
140
- * @internal
141
- * @param argumentOptions 实际参数参数
142
- */
143
- _insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
144
-
145
- /**
146
- * 插入实际参数
147
- * @internal
148
- * @param argument 已有的实际参数实例
149
- */
150
- _insertArgumentAt(argument: Argument, index: number): Argument;
151
-
152
- _insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
153
- const argumentOptions: any = {};
154
- const relationOptions = { parentNode: this, parentKey: 'arguments' };
155
- let argument: Argument;
156
- if (options instanceof Argument) {
157
- options.ensureDelete(); // 同一实例不支持多处存在
158
- argument = options;
159
- Object.assign(argument, relationOptions);
160
- } else {
161
- argument = Argument.from(
162
- {
163
- ...argumentOptions,
164
- ...options,
165
- },
166
- this,
167
- 'arguments',
168
- );
27
+ /**
28
+ * 产品概念
29
+ */
30
+ @property()
31
+ concept: 'ValidationRule' = 'ValidationRule';
32
+
33
+ /**
34
+ * 验证规则标题
35
+ */
36
+ @property()
37
+ label: string = '验证规则';
38
+
39
+ /**
40
+ * calleeNamespace
41
+ */
42
+ @property()
43
+ calleeNamespace: string = undefined;
44
+
45
+ /**
46
+ * calleeName
47
+ */
48
+ @property()
49
+ calleeName: string = undefined;
50
+
51
+ /**
52
+ * 实际参数
53
+ */
54
+ @property('Argument')
55
+ arguments: Array<Argument> = [];
56
+
57
+ /**
58
+ * 错误信息
59
+ */
60
+ @property('LogicItem')
61
+ errorMessage: LogicItem = undefined;
62
+
63
+ /**
64
+ * 验证对象
65
+ */
66
+ @property('LogicItem')
67
+ target: LogicItem = undefined;
68
+
69
+ /**
70
+ * 是否启用服务端验证
71
+ */
72
+ @property()
73
+ enableServerValidation: boolean = true;
74
+
75
+
76
+
77
+ /**
78
+ * @param source 需要合并的部分参数
79
+ */
80
+ constructor(source?: Partial<ValidationRule>) {
81
+ source = Object.assign({}, ValidationRule.getDefaultOptions(), source);
82
+ super(source);
83
+ super.subConstructor(source);
169
84
  }
170
- this.arguments.splice(index, 0, argument);
171
- return argument;
172
- }
173
-
174
- /**
175
- * 插入实际参数
176
- * @param argumentOptions 实际参数参数
177
- */
178
- insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
179
-
180
- /**
181
- * 插入实际参数
182
- * @param argument 已有的实际参数实例
183
- */
184
- insertArgumentAt(argument: Argument, index: number): Argument;
185
-
186
- insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
187
- const node = this._insertArgumentAt(options as any, index);
188
- node.create({
189
- index,
190
- parentNode: this,
191
- parentKey: 'arguments',
192
- });
193
- return node;
194
- }
195
-
196
- /**
197
- * 添加实际参数
198
- * @internal
199
- * @param argumentOptions 实际参数参数
200
- */
201
- _addArgument(argumentOptions: Partial<Argument>): Argument;
202
-
203
- /**
204
- * 添加实际参数
205
- * @internal
206
- * @param argument 已有的实际参数实例
207
- */
208
- _addArgument(argument: Argument): Argument;
209
-
210
- _addArgument(options?: Partial<Argument> | Argument) {
211
- const index = this.arguments.length;
212
- return this._insertArgumentAt(options as any, index);
213
- }
214
-
215
- /**
216
- * 添加实际参数
217
- * @param argumentOptions 实际参数参数
218
- */
219
- addArgument(argumentOptions: Partial<Argument>): Argument;
220
-
221
- /**
222
- * 添加实际参数
223
- * @param argument 已有的实际参数实例
224
- */
225
- addArgument(argument: Argument): Argument;
226
-
227
- addArgument(options?: Partial<Argument> | Argument) {
228
- const node = this._addArgument(options as any);
229
- const index = this.arguments.indexOf(node);
230
- node.create({
231
- index,
232
- parentNode: this,
233
- parentKey: 'arguments',
234
- });
235
- return node;
236
- }
237
-
238
- /**
239
- * 删除实际参数
240
- * @param argument 已有的实际参数实例
241
- */
242
- removeArgumentInArguments(argument: Argument): void;
243
-
244
- removeArgumentInArguments(options: Argument) {
245
- let argument: Argument = options;
246
- return argument.delete();
247
- }
248
-
249
- /**
250
- * 删除逻辑项
251
- * @param name 逻辑项名称
252
- */
253
- removeErrorMessage(name: string): void;
254
-
255
- /**
256
- * 删除逻辑项
257
- * @param errorMessage 已有的逻辑项实例
258
- */
259
- removeErrorMessage(errorMessage: LogicItem): void;
260
-
261
- removeErrorMessage(options: string | LogicItem) {
262
- let errorMessage: LogicItem;
263
- if (typeof options === 'string') {
264
- errorMessage = this.errorMessage;
265
- if (!errorMessage) {
266
- throw new Error('找不到逻辑项 ' + options);
267
- }
268
- } else {
269
- errorMessage = options;
85
+ getClassName() {
86
+ return 'ValidationRule';
270
87
  }
271
- return errorMessage.delete();
272
- }
273
-
274
- /**
275
- * 删除逻辑项
276
- * @param name 逻辑项名称
277
- */
278
- removeTarget(name: string): void;
279
-
280
- /**
281
- * 删除逻辑项
282
- * @param target 已有的逻辑项实例
283
- */
284
- removeTarget(target: LogicItem): void;
285
-
286
- removeTarget(options: string | LogicItem) {
287
- let target: LogicItem;
288
- if (typeof options === 'string') {
289
- target = this.target;
290
- if (!target) {
291
- throw new Error('找不到逻辑项 ' + options);
292
- }
293
- } else {
294
- target = options;
88
+
89
+ static from(source: any, parentNode?: any, parentKey?: string): ValidationRule {
90
+ return super.from(source, parentNode, parentKey) as ValidationRule;
295
91
  }
296
- return target.delete();
297
- }
298
-
299
- __removeLogicItem(logicItem: LogicItem) {
300
- const parentKey = logicItem.parentKey;
301
- const params: Params = {
302
- parentNode: this,
303
- parentKey,
304
- index: -1,
305
- object: null,
306
- oldObject: logicItem,
307
- };
308
- if (parentKey) {
309
- params.parentKey = parentKey;
310
- if (Array.isArray((this as any)[parentKey])) {
311
- const index = (this as any)[parentKey].indexOf(logicItem);
312
- ~index && (this as any)[parentKey].splice(index, 1);
313
- params.index = index;
314
- } else if ((this as any)[parentKey] === logicItem) {
315
- params.index = 0;
316
- (this as any)[parentKey] = undefined;
317
- }
92
+
93
+
94
+ /**
95
+ * 设置错误信息
96
+ */
97
+ setErrorMessage(errorMessage: LogicItem) {
98
+ errorMessage._delete();
99
+ const relationOptions = { parentNode: this, parentKey: 'errorMessage' };
100
+ Object.assign(errorMessage, relationOptions);
101
+ const object = {
102
+ errorMessage,
103
+ };
104
+ this.update({
105
+ ...object,
106
+ });
318
107
  }
319
- return params;
320
- }
321
-
322
- //================================================================================
323
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
324
- // 自动生成的代码已结束。下面可以手动编写。
325
- //================================================================================
326
-
327
- public static getDefaultOptions() {
328
- return {
329
- target: {
330
- concept: 'Identifier',
331
- name: '',
332
- },
333
- };
334
- }
335
-
336
- toInViewMethod() {
337
- let code = '{';
338
- // 兼容就得简写模式
339
- if (this.calleeName && this.calleeName.includes('(')) {
340
- return `'${this.calleeName}'`;
341
- } else if (this.calleeName === 'unique') {
342
- code += `validate: 'excluded',`;
343
- } else if (this.calleeName === 'confirmed') {
344
- code += `validate: 'is',`;
345
- } else {
346
- code += `validate: '${this.calleeName}',`;
108
+
109
+ /**
110
+ * 设置验证对象
111
+ */
112
+ setTarget(target: LogicItem) {
113
+ target._delete();
114
+ const relationOptions = { parentNode: this, parentKey: 'target' };
115
+ Object.assign(target, relationOptions);
116
+ const object = {
117
+ target,
118
+ };
119
+ this.update({
120
+ ...object,
121
+ });
347
122
  }
348
- if (this.arguments.length) {
349
- let args = '[';
350
- this.arguments?.forEach((arg, index) => {
351
- args += arg?.toJS();
352
- if (index !== this.arguments?.length - 1) args += ', ';
353
- });
354
- args += ']';
355
- code += `args: ${args} ,`;
123
+
124
+ /**
125
+ * 设置是否启用服务端验证
126
+ */
127
+ setEnableServerValidation(enableServerValidation: boolean) {
128
+ const object = {
129
+ enableServerValidation,
130
+ };
131
+ this.update({
132
+ ...object,
133
+ });
356
134
  }
357
- if (this.errorMessage) {
358
- code += `message: ${this.errorMessage?.toJS()},`;
359
- } else {
360
- let defaultError = (defaultErrorMessage as Record<string, string>)[this.calleeName];
361
- let index = 0;
362
- while (defaultError && defaultError.indexOf(`{args}`) !== -1) {
363
- defaultError = defaultError.replace(`{args}`, `\${${this.arguments[index]?.toJS()}}`);
364
- index++;
365
- }
366
- const itemTitle = (this?.parentNode as any)?.parentNode?.bindAttrs?.find(
367
- (item: BindAttribute) => item.name === 'label',
368
- );
369
- let labelName;
370
- if (itemTitle?.expression?.toJS()) {
371
- labelName = `\${${itemTitle?.expression?.toJS()}}`;
372
- } else {
373
- labelName = itemTitle?.value || '表单项';
374
- }
375
- defaultError = defaultError && defaultError.replace(`{label}`, labelName);
376
- code += `message: \`${defaultError}\`,`;
135
+
136
+
137
+
138
+
139
+
140
+ /**
141
+ * 插入实际参数
142
+ * @internal
143
+ * @param argumentOptions 实际参数参数
144
+ */
145
+ _insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
146
+
147
+ /**
148
+ * 插入实际参数
149
+ * @internal
150
+ * @param argument 已有的实际参数实例
151
+ */
152
+ _insertArgumentAt(argument: Argument, index: number): Argument;
153
+
154
+ _insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
155
+ const argumentOptions: any = {};
156
+ const relationOptions = { parentNode: this, parentKey: 'arguments' };
157
+ let argument: Argument;
158
+ if (options instanceof Argument) {
159
+ options.ensureDelete(); // 同一实例不支持多处存在
160
+ argument = options;
161
+ Object.assign(argument, relationOptions);
162
+ } else {
163
+ argument = Argument.from({
164
+ ...argumentOptions,
165
+ ...options,
166
+ }, this, 'arguments');
167
+ }
168
+ this.arguments.splice(index, 0, argument);
169
+ return argument;
377
170
  }
378
- code += `trigger: 'input+blur'`;
379
- if (['required', 'filled', 'notEmpty'].includes(this.calleeName)) {
380
- code += ',required: true';
171
+
172
+
173
+
174
+ /**
175
+ * 插入实际参数
176
+ * @param argumentOptions 实际参数参数
177
+ */
178
+ insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
179
+
180
+ /**
181
+ * 插入实际参数
182
+ * @param argument 已有的实际参数实例
183
+ */
184
+ insertArgumentAt(argument: Argument, index: number): Argument;
185
+
186
+ insertArgumentAt(options: Partial<Argument> | Argument, index: number) {
187
+ const node = this._insertArgumentAt(options as any, index);
188
+ node.create({
189
+ index,
190
+ parentNode: this,
191
+ parentKey: 'arguments',
192
+ });
193
+ return node;
381
194
  }
382
- code += '}';
383
- return code;
384
- }
385
-
386
- toVue(options?: ElementToVueOptions) {
387
- let code = '{';
388
- // 兼容就得简写模式
389
- if (this.calleeName && this.calleeName.includes('(')) {
390
- return `'${this.calleeName}'`;
391
- } else if (this.calleeName === 'unique') {
392
- code += `validate: 'excluded',`;
393
- } else if (this.calleeName === 'confirmed') {
394
- code += `validate: 'is',`;
395
- } else {
396
- code += `validate: '${this.calleeName}',`;
195
+
196
+
197
+
198
+ /**
199
+ * 添加实际参数
200
+ * @internal
201
+ * @param argumentOptions 实际参数参数
202
+ */
203
+ _addArgument(argumentOptions: Partial<Argument>): Argument;
204
+
205
+ /**
206
+ * 添加实际参数
207
+ * @internal
208
+ * @param argument 已有的实际参数实例
209
+ */
210
+ _addArgument(argument: Argument): Argument;
211
+
212
+ _addArgument(options?: Partial<Argument> | Argument) {
213
+ const index = this.arguments.length;
214
+ return this._insertArgumentAt(options as any, index);
397
215
  }
398
- if (this.arguments.length) {
399
- let args = '[';
400
- this.arguments?.forEach((arg, index) => {
401
- args += arg?.toVue(options);
402
- if (index !== this.arguments?.length - 1) args += ', ';
403
- });
404
- args += ']';
405
- code += `args: ${args} ,`;
216
+
217
+
218
+
219
+ /**
220
+ * 添加实际参数
221
+ * @param argumentOptions 实际参数参数
222
+ */
223
+ addArgument(argumentOptions: Partial<Argument>): Argument;
224
+
225
+ /**
226
+ * 添加实际参数
227
+ * @param argument 已有的实际参数实例
228
+ */
229
+ addArgument(argument: Argument): Argument;
230
+
231
+ addArgument(options?: Partial<Argument> | Argument) {
232
+ const node = this._addArgument(options as any);
233
+ const index = this.arguments.indexOf(node);
234
+ node.create({
235
+ index,
236
+ parentNode: this,
237
+ parentKey: 'arguments',
238
+ });
239
+ return node;
406
240
  }
407
- if (this.errorMessage) {
408
- code += `message: ${this.errorMessage?.toVue(options)},`;
409
- } else {
410
- let defaultError = (defaultErrorMessage as Record<string, string>)[this.calleeName];
411
- let index = 0;
412
- while (defaultError && defaultError.indexOf(`{args}`) !== -1) {
413
- defaultError = defaultError.replace(`{args}`, `\${${this.arguments[index]?.toVue(options)}}`);
414
- index++;
415
- }
416
- const itemTitle = (this?.parentNode as any)?.parentNode?.bindAttrs?.find(
417
- (item: BindAttribute) => item.name === 'label',
418
- );
419
- let labelName;
420
- if (itemTitle?.expression?.toVue()) {
421
- labelName = `\${${itemTitle?.expression?.toVue()}}`;
422
- } else {
423
- labelName = itemTitle?.value || '表单项';
424
- }
425
- defaultError = defaultError && defaultError.replace(`{label}`, labelName);
426
- code += `message: \`${defaultError}\`,`;
241
+
242
+
243
+
244
+
245
+ /**
246
+ * 删除实际参数
247
+ * @param argument 已有的实际参数实例
248
+ */
249
+ removeArgumentInArguments(argument: Argument): void;
250
+
251
+ removeArgumentInArguments(options: Argument) {
252
+ let argument: Argument = options;
253
+ return argument.delete();
254
+ }
255
+
256
+
257
+
258
+ /**
259
+ * 删除逻辑项
260
+ * @param name 逻辑项名称
261
+ */
262
+ removeErrorMessage(name: string): void;
263
+
264
+ /**
265
+ * 删除逻辑项
266
+ * @param errorMessage 已有的逻辑项实例
267
+ */
268
+ removeErrorMessage(errorMessage: LogicItem): void;
269
+
270
+ removeErrorMessage(options: string | LogicItem) {
271
+ let errorMessage: LogicItem;
272
+ if (typeof options === 'string') {
273
+ errorMessage = this.errorMessage;
274
+ if (!errorMessage) {
275
+ throw new Error('找不到逻辑项 ' + options);
276
+ }
277
+ } else {
278
+ errorMessage = options;
279
+ }
280
+ return errorMessage.delete();
281
+ }
282
+
283
+
284
+
285
+ /**
286
+ * 删除逻辑项
287
+ * @param name 逻辑项名称
288
+ */
289
+ removeTarget(name: string): void;
290
+
291
+ /**
292
+ * 删除逻辑项
293
+ * @param target 已有的逻辑项实例
294
+ */
295
+ removeTarget(target: LogicItem): void;
296
+
297
+ removeTarget(options: string | LogicItem) {
298
+ let target: LogicItem;
299
+ if (typeof options === 'string') {
300
+ target = this.target;
301
+ if (!target) {
302
+ throw new Error('找不到逻辑项 ' + options);
303
+ }
304
+ } else {
305
+ target = options;
306
+ }
307
+ return target.delete();
427
308
  }
428
- code += `trigger: 'input+blur'`;
429
- if (['required', 'filled', 'notEmpty'].includes(this.calleeName)) {
430
- code += ',required: true';
309
+
310
+ __removeLogicItem(logicItem: LogicItem) {
311
+ const parentKey = logicItem.parentKey;
312
+ const params: Params = {
313
+ parentNode: this,
314
+ parentKey,
315
+ index: -1,
316
+ object: null,
317
+ oldObject: logicItem,
318
+ };
319
+ if (parentKey) {
320
+ params.parentKey = parentKey;
321
+ if (Array.isArray((this as any)[parentKey])) {
322
+ const index = (this as any)[parentKey].indexOf(logicItem);
323
+ ~index && (this as any)[parentKey].splice(index, 1);
324
+ params.index = index;
325
+ } else if ((this as any)[parentKey] === logicItem) {
326
+ params.index = 0;
327
+ (this as any)[parentKey] = undefined;
328
+ }
329
+ }
330
+ return params;
431
331
  }
432
- code += '}';
433
- return code;
434
- }
435
-
436
- toUI(state?: TranslatorState): string {
437
- let code = this.calleeName;
438
- if (this.arguments?.length) {
439
- code += '(';
440
- this.arguments?.forEach((arg, index) => {
441
- code += arg?.toUI(shiftState(state, code));
442
- if (index !== this.arguments?.length - 1) code += ', ';
443
- });
444
- code += ')';
332
+
333
+ //================================================================================
334
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
335
+ // 自动生成的代码已结束。下面可以手动编写。
336
+ //================================================================================
337
+
338
+ public static getDefaultOptions() {
339
+ return {
340
+ target: {
341
+ concept: 'Identifier',
342
+ name: '',
343
+ },
344
+ };
445
345
  }
446
- return code;
447
- }
448
-
449
- toJS(state?: TranslatorState): string {
450
- let code = '{';
451
- code += `validate: '${this.calleeName}',`;
452
- if (this.arguments.length) {
453
- let args = '[';
454
- this.arguments?.forEach((arg, index) => {
455
- args += arg?.toJS(shiftState(state, code));
456
- if (index !== this.arguments?.length - 1) args += ', ';
457
- });
458
- args += ']';
459
- code += `args: ${args},`;
346
+
347
+ toInViewMethod() {
348
+ let code = '{';
349
+ // 兼容就得简写模式
350
+ if (this.calleeName && this.calleeName.includes('(')) {
351
+ return `'${this.calleeName}'`;
352
+ } else if (this.calleeName === 'unique') {
353
+ code += `validate: 'excluded',`;
354
+ } else if (this.calleeName === 'confirmed') {
355
+ code += `validate: 'is',`;
356
+ } else {
357
+ code += `validate: '${this.calleeName}',`;
358
+ }
359
+ if (this.arguments.length) {
360
+ let args = '[';
361
+ this.arguments?.forEach((arg, index) => {
362
+ args += arg?.toJS();
363
+ if (index !== this.arguments?.length - 1)
364
+ args += ', ';
365
+ });
366
+ args += ']';
367
+ code += `args: ${args} ,`;
368
+ }
369
+ if (this.errorMessage) {
370
+ code += `message: ${this.errorMessage?.toJS()},`;
371
+ } else {
372
+ let defaultError = (defaultErrorMessage as Record<string, string>)[this.calleeName];
373
+ let index = 0;
374
+ while (defaultError && defaultError.indexOf(`{args}`) !== -1) {
375
+ defaultError = defaultError.replace(`{args}`, `\${${this.arguments[index]?.toJS()}}`);
376
+ index++;
377
+ }
378
+ const itemTitle = (this?.parentNode as any)?.parentNode?.bindAttrs?.find((item: BindAttribute) => item.name === 'label');
379
+ let labelName;
380
+ if (itemTitle?.expression?.toJS()) {
381
+ labelName = `\${${itemTitle?.expression?.toJS()}}`;
382
+ } else {
383
+ labelName = itemTitle?.value || '表单项';
384
+ }
385
+ defaultError = defaultError && defaultError.replace(`{label}`, labelName);
386
+ code += `message: \`${defaultError}\`,`;
387
+ }
388
+ code += `trigger: 'input+blur'`;
389
+ if (['required', 'filled', 'notEmpty'].includes(this.calleeName)) {
390
+ code += ',required: true';
391
+ }
392
+ code += '}';
393
+ return code;
460
394
  }
461
- code += `trigger: 'input+blur',`;
462
- code += `message: ${this.errorMessage?.toJS(shiftState(state, code))}`;
463
- code += '}';
464
- return code;
465
- }
466
-
467
- @withSourceMap()
468
- toEmbeddedTS(state?: TranslatorState): string {
469
- let code = '';
470
-
471
- const { calleeName, target, calleeKey, arguments: args, errorMessage, view } = this;
472
-
473
- if (calleeName) {
474
- // 调用逻辑时绑定的验证器
475
- if (this.getAncestor('CallLogic') || !view) {
476
- code += target.toEmbeddedTS(shiftState(state, code));
477
- code += ';\n';
478
- }
479
-
480
- if (args.length > 0) {
481
- const validationInFunction = getValidationInFunction(calleeName);
482
- code += calleeKey;
483
- code += '(';
484
- args.forEach((arg, index) => {
485
- const param = validationInFunction?.params?.[index];
486
-
487
- // 当前参数缺失 keyword,且原始形参中有名称,则补充参数
488
- if (!arg.keyword && param.name) {
489
- arg.keyword = param.name;
490
- }
491
-
492
- // 如果找到函数而且有参数,就用参数的必填非必填
493
- if (validationInFunction && param) {
494
- code += arg.toEmbeddedTS(shiftState(state, code), param.required, false);
495
- }
496
- // 如果没有就默认不必填
497
- else {
498
- code += arg.toEmbeddedTS(shiftState(state, code), false, false);
499
- }
500
-
501
- if (index !== args.length - 1) {
502
- code += ', ';
503
- }
395
+
396
+ toVue(options?: ElementToVueOptions) {
397
+ let code = '{';
398
+ // 兼容就得简写模式
399
+ if (this.calleeName && this.calleeName.includes('(')) {
400
+ return `'${this.calleeName}'`;
401
+ } else if (this.calleeName === 'unique') {
402
+ code += `validate: 'excluded',`;
403
+ } else if (this.calleeName === 'confirmed') {
404
+ code += `validate: 'is',`;
405
+ } else {
406
+ code += `validate: '${this.calleeName}',`;
407
+ }
408
+ if (this.arguments.length) {
409
+ let args = '[';
410
+ this.arguments?.forEach((arg, index) => {
411
+ args += arg?.toVue(options);
412
+ if (index !== this.arguments?.length - 1)
413
+ args += ', ';
414
+ });
415
+ args += ']';
416
+ code += `args: ${args} ,`;
417
+ }
418
+ if (this.errorMessage) {
419
+ code += `message: ${this.errorMessage?.toVue(options)},`;
420
+ } else {
421
+ let defaultError = (defaultErrorMessage as Record<string, string>)[this.calleeName];
422
+ let index = 0;
423
+ while (defaultError && defaultError.indexOf(`{args}`) !== -1) {
424
+ defaultError = defaultError.replace(`{args}`, `\${${this.arguments[index]?.toVue(options)}}`);
425
+ index++;
426
+ }
427
+ const itemTitle = (this?.parentNode as any)?.parentNode?.bindAttrs?.find((item: BindAttribute) => item.name === 'label');
428
+ let labelName;
429
+ if (itemTitle?.expression?.toVue()) {
430
+ labelName = `\${${itemTitle?.expression?.toVue()}}`;
431
+ } else {
432
+ labelName = itemTitle?.value || '表单项';
433
+ }
434
+ defaultError = defaultError && defaultError.replace(`{label}`, labelName);
435
+ code += `message: \`${defaultError}\`,`;
436
+ }
437
+ code += `trigger: 'input+blur'`;
438
+ if (['required', 'filled', 'notEmpty'].includes(this.calleeName)) {
439
+ code += ',required: true';
440
+ }
441
+ code += '}';
442
+ return code;
443
+ }
444
+
445
+ toUI(state?: TranslatorState): string {
446
+ let code = this.calleeName;
447
+ if (this.arguments?.length) {
448
+ code += '(';
449
+ this.arguments?.forEach((arg, index) => {
450
+ code += arg?.toUI(shiftState(state, code));
451
+ if (index !== this.arguments?.length - 1)
452
+ code += ', ';
453
+ });
454
+ code += ')';
455
+ }
456
+ return code;
457
+ }
458
+
459
+ toJS(state?: TranslatorState): string {
460
+ let code = '{';
461
+ code += `validate: '${this.calleeName}',`;
462
+ if (this.arguments.length) {
463
+ let args = '[';
464
+ this.arguments?.forEach((arg, index) => {
465
+ args += arg?.toJS(shiftState(state, code));
466
+ if (index !== this.arguments?.length - 1)
467
+ args += ', ';
468
+ });
469
+ args += ']';
470
+ code += `args: ${args},`;
471
+ }
472
+ code += `trigger: 'input+blur',`;
473
+ code += `message: ${this.errorMessage?.toJS(shiftState(state, code))}`;
474
+ code += '}';
475
+ return code;
476
+ }
477
+
478
+ @withSourceMap()
479
+ toEmbeddedTS(state?: TranslatorState): string {
480
+ let code = '';
481
+
482
+ const {
483
+ calleeName,
484
+ target,
485
+ calleeKey,
486
+ arguments: args,
487
+ errorMessage,
488
+ view,
489
+ } = this;
490
+
491
+ if (calleeName) {
492
+ // 调用逻辑时绑定的验证器
493
+ if (this.getAncestor('CallLogic') || !view) {
494
+ code += target.toEmbeddedTS(shiftState(state, code));
495
+ code += ';\n';
496
+ }
497
+
498
+ if (args.length > 0) {
499
+ const validationInFunction = getValidationInFunction(calleeName);
500
+ code += calleeKey;
501
+ code += '(';
502
+ args.forEach((arg, index) => {
503
+ const param = validationInFunction?.params?.[index];
504
+
505
+ // 当前参数缺失 keyword,且原始形参中有名称,则补充参数
506
+ if (!arg.keyword && param.name) {
507
+ arg.keyword = param.name;
508
+ }
509
+
510
+ // 如果找到函数而且有参数,就用参数的必填非必填
511
+ if (validationInFunction && param) {
512
+ code += arg.toEmbeddedTS(shiftState(state, code), param.required, false);
513
+ }
514
+ // 如果没有就默认不必填
515
+ else {
516
+ code += arg.toEmbeddedTS(shiftState(state, code), false, false);
517
+ }
518
+
519
+ if (index !== args.length - 1) {
520
+ code += ', ';
521
+ }
522
+ });
523
+ code += ');';
524
+ }
525
+
526
+ if (errorMessage) {
527
+ code += 'nasl.validation.errorMessage(';
528
+ code += errorMessage.toEmbeddedTS(shiftState(state, code));
529
+ code += ')';
530
+ }
531
+ } else {
532
+ code += '__ValidationRule__';
533
+ }
534
+ return code;
535
+ }
536
+
537
+ toBrief(): string {
538
+ return this.arguments.map((a) => a.toBrief()).join('<br />');
539
+ }
540
+
541
+ get calleeKey(): string {
542
+ return `${this.calleeNamespace}.${this.calleeName}`;
543
+ }
544
+
545
+ _setCallee(func: Function) {
546
+ this.calleeNamespace = func.getNamespace();
547
+ this.calleeName = func.name;
548
+ this.arguments = [];
549
+ func.params.forEach((param) => {
550
+ this._addArgument(undefined);
504
551
  });
505
- code += ');';
506
- }
507
-
508
- if (errorMessage) {
509
- code += 'nasl.validation.errorMessage(';
510
- code += errorMessage.toEmbeddedTS(shiftState(state, code));
511
- code += ')';
512
- }
513
- } else {
514
- code += '__ValidationRule__';
515
552
  }
516
- return code;
517
- }
518
-
519
- toBrief(): string {
520
- return this.arguments.map((a) => a.toBrief()).join('<br />');
521
- }
522
-
523
- get calleeKey(): string {
524
- return `${this.calleeNamespace}.${this.calleeName}`;
525
- }
526
-
527
- _setCallee(func: Function) {
528
- this.calleeNamespace = func.getNamespace();
529
- this.calleeName = func.name;
530
- this.arguments = [];
531
- func.params.forEach((param) => {
532
- this._addArgument(undefined);
533
- });
534
- }
535
-
536
- setCallee(func: Function) {
537
- const calleeNamespace = func.getNamespace();
538
- const calleeName = func.name;
539
- const params = func.params.map((param) => {
540
- const relationOptions = { parentNode: this, parentKey: 'arguments' };
541
- const argument = Argument.from(
542
- {
543
- keyword: param.name,
544
- },
545
- this,
546
- );
547
- Object.assign(argument, relationOptions);
548
- return argument;
549
- });
550
- if (this.app) {
551
- this.app.emit('collect:start', {
552
- actionMsg: `切换调用逻辑`,
553
- });
554
- const parentNode: any = this.parentNode;
555
- this.update({
556
- calleeNamespace,
557
- calleeName,
558
- arguments: params,
559
- folded: false,
560
- });
561
- if (parentNode.concept === 'MemberExpression') {
562
- const topNode = parentNode.firstMemberExpressionNode();
563
- topNode.replaceNode(this);
564
- }
565
- this.app.emit('collect:end');
566
- } else {
567
- this.update({
568
- calleeNamespace,
569
- calleeName,
570
- arguments: params,
571
- folded: false,
572
- });
553
+
554
+ setCallee(func: Function) {
555
+ const calleeNamespace = func.getNamespace();
556
+ const calleeName = func.name;
557
+ const params = func.params.map((param) => {
558
+ const relationOptions = { parentNode: this, parentKey: 'arguments' };
559
+ const argument = Argument.from({
560
+ keyword: param.name,
561
+ }, this);
562
+ Object.assign(argument, relationOptions);
563
+ return argument;
564
+ });
565
+ if (this.app) {
566
+ this.app.emit('collect:start', {
567
+ actionMsg: `切换调用逻辑`,
568
+ });
569
+ const parentNode: any = this.parentNode;
570
+ this.update({
571
+ calleeNamespace,
572
+ calleeName,
573
+ arguments: params,
574
+ folded: false,
575
+ });
576
+ if (parentNode.concept === 'MemberExpression') {
577
+ const topNode = parentNode.firstMemberExpressionNode();
578
+ topNode.replaceNode(this);
579
+ }
580
+ this.app.emit('collect:end');
581
+ } else {
582
+ this.update({
583
+ calleeNamespace,
584
+ calleeName,
585
+ arguments: params,
586
+ folded: false,
587
+ });
588
+ }
573
589
  }
574
- }
575
- //================================================================================
576
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
577
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
578
- //================================================================================
590
+ //================================================================================
591
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
592
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
593
+ //================================================================================
579
594
  }
580
595
 
596
+ classMap.ValidationRule = ValidationRule;
581
597
  export default ValidationRule;
582
598
  //================================================================================
583
599
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑