@lcap/nasl 0.3.15 → 1.0.0-alpha.10

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 (1675) hide show
  1. package/DEVELOPMENT.md +39 -55
  2. package/README.md +78 -5
  3. package/bin/naslc +3 -0
  4. package/docs/.nojekyll +1 -0
  5. package/docs/assets/custom.css +3 -0
  6. package/docs/assets/highlight.css +78 -0
  7. package/docs/assets/icons.css +1043 -0
  8. package/docs/assets/icons.png +0 -0
  9. package/docs/assets/icons@2x.png +0 -0
  10. package/docs/assets/main.js +52 -0
  11. package/docs/assets/search.js +1 -0
  12. package/docs/assets/style.css +1414 -0
  13. package/docs/assets/widgets.png +0 -0
  14. package/docs/assets/widgets@2x.png +0 -0
  15. package/docs/classes/App.html +509 -0
  16. package/docs/classes/Argument.html +191 -0
  17. package/docs/classes/Assignment.html +195 -0
  18. package/docs/classes/Attribute.html +169 -0
  19. package/docs/classes/BaseNode.html +128 -0
  20. package/docs/classes/BinaryExpression.html +199 -0
  21. package/docs/classes/BindAttribute.html +209 -0
  22. package/docs/classes/BindDirective.html +161 -0
  23. package/docs/classes/BindEvent.html +173 -0
  24. package/docs/classes/BooleanLiteral.html +177 -0
  25. package/docs/classes/CallFunction.html +201 -0
  26. package/docs/classes/CallInterface.html +201 -0
  27. package/docs/classes/CallLogic.html +207 -0
  28. package/docs/classes/CallQueryComponent.html +301 -0
  29. package/docs/classes/Comment.html +175 -0
  30. package/docs/classes/CompletionProperty.html +167 -0
  31. package/docs/classes/Constant.html +161 -0
  32. package/docs/classes/DataElement.html +143 -0
  33. package/docs/classes/Destination.html +205 -0
  34. package/docs/classes/End.html +173 -0
  35. package/docs/classes/Entity.html +2833 -0
  36. package/docs/classes/EntityIndex.html +153 -0
  37. package/docs/classes/EntityProperty.html +211 -0
  38. package/docs/classes/Enum.html +171 -0
  39. package/docs/classes/EnumItem.html +143 -0
  40. package/docs/classes/Event.html +173 -0
  41. package/docs/classes/ForEachStatement.html +253 -0
  42. package/docs/classes/Function.html +259 -0
  43. package/docs/classes/Identifier.html +181 -0
  44. package/docs/classes/IfStatement.html +229 -0
  45. package/docs/classes/Interface.html +211 -0
  46. package/docs/classes/InterfaceParam.html +171 -0
  47. package/docs/classes/JSBlock.html +179 -0
  48. package/docs/classes/Logic.html +327 -0
  49. package/docs/classes/LogicItem.html +175 -0
  50. package/docs/classes/MemberExpression.html +196 -0
  51. package/docs/classes/Module.html +386 -0
  52. package/docs/classes/Namespace.html +497 -0
  53. package/docs/classes/NullLiteral.html +175 -0
  54. package/docs/classes/NumericLiteral.html +187 -0
  55. package/docs/classes/Param.html +173 -0
  56. package/docs/classes/Point.html +131 -0
  57. package/docs/classes/Process.html +261 -0
  58. package/docs/classes/ProcessComponent.html +199 -0
  59. package/docs/classes/ProcessElement.html +333 -0
  60. package/docs/classes/ProcessOutcome.html +179 -0
  61. package/docs/classes/QueryAggregateExpression.html +185 -0
  62. package/docs/classes/QueryFieldExpression.html +185 -0
  63. package/docs/classes/QueryFromExpression.html +205 -0
  64. package/docs/classes/QueryGroupByExpression.html +187 -0
  65. package/docs/classes/QueryJoinExpression.html +237 -0
  66. package/docs/classes/QueryLimitExpression.html +199 -0
  67. package/docs/classes/QueryOrderByExpression.html +197 -0
  68. package/docs/classes/QuerySelectExpression.html +213 -0
  69. package/docs/classes/Rect.html +135 -0
  70. package/docs/classes/Return.html +169 -0
  71. package/docs/classes/Role.html +139 -0
  72. package/docs/classes/Slot.html +143 -0
  73. package/docs/classes/SqlQueryComponent.html +191 -0
  74. package/docs/classes/Start.html +173 -0
  75. package/docs/classes/StringLiteral.html +177 -0
  76. package/docs/classes/Structure.html +203 -0
  77. package/docs/classes/StructureProperty.html +171 -0
  78. package/docs/classes/SwitchCase.html +207 -0
  79. package/docs/classes/SwitchStatement.html +193 -0
  80. package/docs/classes/Theme.html +133 -0
  81. package/docs/classes/Transactional.html +151 -0
  82. package/docs/classes/TypeAnnotation.html +163 -0
  83. package/docs/classes/TypeParam.html +129 -0
  84. package/docs/classes/UnaryExpression.html +187 -0
  85. package/docs/classes/Unparsed.html +177 -0
  86. package/docs/classes/UseComponent.html +131 -0
  87. package/docs/classes/ValidationRule.html +201 -0
  88. package/docs/classes/Variable.html +167 -0
  89. package/docs/classes/View.html +4568 -0
  90. package/docs/classes/ViewComponent.html +289 -0
  91. package/docs/classes/ViewElement.html +296 -0
  92. package/docs/classes/WhileStatement.html +207 -0
  93. package/docs/index.html +69 -313
  94. package/docs/modules.html +31 -377
  95. package/docs-theme/LICENSE +21 -0
  96. package/docs-theme/README.md +9 -0
  97. package/docs-theme/package.json +81 -0
  98. package/docs-theme/src/assets/common.js +2 -0
  99. package/docs-theme/src/assets/common.js.LICENSE.txt +61 -0
  100. package/docs-theme/src/assets/css/main.css +1 -0
  101. package/docs-theme/src/assets/images/icons.png +0 -0
  102. package/docs-theme/src/assets/images/icons@2x.png +0 -0
  103. package/docs-theme/src/config.json +25 -0
  104. package/docs-theme/src/index.js +45 -0
  105. package/docs-theme/src/layouts/default.js +88 -0
  106. package/docs-theme/src/partials/analytics.js +22 -0
  107. package/docs-theme/src/partials/breadcrumb.js +9 -0
  108. package/docs-theme/src/partials/footer.js +96 -0
  109. package/docs-theme/src/partials/header.js +25 -0
  110. package/docs-theme/src/partials/infrafoot.js +113 -0
  111. package/docs-theme/src/partials/infranav.js +187 -0
  112. package/docs-theme/src/partials/navigation.js +39 -0
  113. package/docs-theme/src/templates/index.js +7 -0
  114. package/docs-theme/src/templates/reflection.js +41 -0
  115. package/docs-theme/src/utils/lib.js +109 -0
  116. package/out/automate/engine/index.d.ts +3 -0
  117. package/out/automate/engine/index.js +436 -0
  118. package/out/automate/engine/index.js.map +1 -0
  119. package/out/automate/engine/utils.d.ts +19 -0
  120. package/out/automate/engine/utils.js +333 -0
  121. package/out/automate/engine/utils.js.map +1 -0
  122. package/out/bak/translator.d.ts +1 -0
  123. package/out/bak/translator.js +111 -0
  124. package/out/bak/translator.js.map +1 -0
  125. package/out/common/BaseNode.d.ts +235 -0
  126. package/out/common/BaseNode.js +726 -0
  127. package/out/common/BaseNode.js.map +1 -0
  128. package/out/common/Command.d.ts +8 -0
  129. package/out/common/Command.js +32 -0
  130. package/out/common/Command.js.map +1 -0
  131. package/out/{types/common → common}/ComponentAPI.d.ts +0 -0
  132. package/out/{types/common → common}/ComponentAPI.js +0 -0
  133. package/out/common/ComponentAPI.js.map +1 -0
  134. package/out/common/EventEmitter.d.ts +58 -0
  135. package/out/common/EventEmitter.js +68 -0
  136. package/out/common/EventEmitter.js.map +1 -0
  137. package/out/common/Messager.d.ts +86 -0
  138. package/out/common/Messager.js +187 -0
  139. package/out/common/Messager.js.map +1 -0
  140. package/out/common/classMap.d.ts +4 -0
  141. package/out/common/classMap.js +5 -0
  142. package/out/common/classMap.js.map +1 -0
  143. package/out/common/index.d.ts +4 -0
  144. package/out/common/index.js +21 -0
  145. package/out/common/index.js.map +1 -0
  146. package/out/concepts/App__.d.ts +1099 -0
  147. package/out/concepts/App__.js +1515 -0
  148. package/out/concepts/App__.js.map +1 -0
  149. package/out/concepts/Argument__.d.ts +54 -0
  150. package/out/concepts/Argument__.js +180 -0
  151. package/out/concepts/Argument__.js.map +1 -0
  152. package/out/concepts/Assignment__.d.ts +70 -0
  153. package/out/concepts/Assignment__.js +196 -0
  154. package/out/concepts/Assignment__.js.map +1 -0
  155. package/out/concepts/Attribute__.d.ts +101 -0
  156. package/out/concepts/Attribute__.js +221 -0
  157. package/out/concepts/Attribute__.js.map +1 -0
  158. package/out/concepts/BinaryExpression__.d.ts +64 -0
  159. package/out/concepts/BinaryExpression__.js +251 -0
  160. package/out/concepts/BinaryExpression__.js.map +1 -0
  161. package/out/concepts/BindAttribute__.d.ts +212 -0
  162. package/out/concepts/BindAttribute__.js +405 -0
  163. package/out/concepts/BindAttribute__.js.map +1 -0
  164. package/out/concepts/BindDirective__.d.ts +93 -0
  165. package/out/concepts/BindDirective__.js +224 -0
  166. package/out/concepts/BindDirective__.js.map +1 -0
  167. package/out/concepts/BindEvent__.d.ts +138 -0
  168. package/out/concepts/BindEvent__.js +315 -0
  169. package/out/concepts/BindEvent__.js.map +1 -0
  170. package/out/concepts/BooleanLiteral__.d.ts +25 -0
  171. package/out/concepts/BooleanLiteral__.js +70 -0
  172. package/out/concepts/BooleanLiteral__.js.map +1 -0
  173. package/out/concepts/CallFunction__.d.ts +153 -0
  174. package/out/concepts/CallFunction__.js +342 -0
  175. package/out/concepts/CallFunction__.js.map +1 -0
  176. package/out/concepts/CallInterface__.d.ts +98 -0
  177. package/out/concepts/CallInterface__.js +234 -0
  178. package/out/concepts/CallInterface__.js.map +1 -0
  179. package/out/concepts/CallLogic__.d.ts +170 -0
  180. package/out/concepts/CallLogic__.js +529 -0
  181. package/out/concepts/CallLogic__.js.map +1 -0
  182. package/out/concepts/CallQueryComponent__.d.ts +310 -0
  183. package/out/concepts/CallQueryComponent__.js +753 -0
  184. package/out/concepts/CallQueryComponent__.js.map +1 -0
  185. package/out/concepts/Comment__.d.ts +30 -0
  186. package/out/concepts/Comment__.js +89 -0
  187. package/out/concepts/Comment__.js.map +1 -0
  188. package/out/concepts/CompletionProperty__.d.ts +99 -0
  189. package/out/concepts/CompletionProperty__.js +235 -0
  190. package/out/concepts/CompletionProperty__.js.map +1 -0
  191. package/out/concepts/ConfigGroup__.d.ts +120 -0
  192. package/out/concepts/ConfigGroup__.js +214 -0
  193. package/out/concepts/ConfigGroup__.js.map +1 -0
  194. package/out/concepts/ConfigPropertyValue__.d.ts +43 -0
  195. package/out/concepts/ConfigPropertyValue__.js +103 -0
  196. package/out/concepts/ConfigPropertyValue__.js.map +1 -0
  197. package/out/concepts/ConfigProperty__.d.ts +128 -0
  198. package/out/concepts/ConfigProperty__.js +236 -0
  199. package/out/concepts/ConfigProperty__.js.map +1 -0
  200. package/out/concepts/Configuration__.d.ts +120 -0
  201. package/out/concepts/Configuration__.js +210 -0
  202. package/out/concepts/Configuration__.js.map +1 -0
  203. package/out/concepts/Constant__.d.ts +98 -0
  204. package/out/concepts/Constant__.js +223 -0
  205. package/out/concepts/Constant__.js.map +1 -0
  206. package/out/concepts/DataElement__.d.ts +45 -0
  207. package/out/concepts/DataElement__.js +114 -0
  208. package/out/concepts/DataElement__.js.map +1 -0
  209. package/out/concepts/Destination__.d.ts +107 -0
  210. package/out/concepts/Destination__.js +328 -0
  211. package/out/concepts/Destination__.js.map +1 -0
  212. package/out/concepts/End__.d.ts +23 -0
  213. package/out/concepts/End__.js +76 -0
  214. package/out/concepts/End__.js.map +1 -0
  215. package/out/concepts/EntityIndex__.d.ts +89 -0
  216. package/out/concepts/EntityIndex__.js +207 -0
  217. package/out/concepts/EntityIndex__.js.map +1 -0
  218. package/out/concepts/EntityProperty__.d.ts +215 -0
  219. package/out/concepts/EntityProperty__.js +495 -0
  220. package/out/concepts/EntityProperty__.js.map +1 -0
  221. package/out/concepts/Entity__.d.ts +291 -0
  222. package/out/concepts/Entity__.js +546 -0
  223. package/out/concepts/Entity__.js.map +1 -0
  224. package/out/concepts/EnumItem__.d.ts +60 -0
  225. package/out/concepts/EnumItem__.js +136 -0
  226. package/out/concepts/EnumItem__.js.map +1 -0
  227. package/out/concepts/Enum__.d.ts +130 -0
  228. package/out/concepts/Enum__.js +275 -0
  229. package/out/concepts/Enum__.js.map +1 -0
  230. package/out/concepts/Event__.d.ts +142 -0
  231. package/out/concepts/Event__.js +242 -0
  232. package/out/concepts/Event__.js.map +1 -0
  233. package/out/concepts/ForEachStatement__.d.ts +191 -0
  234. package/out/concepts/ForEachStatement__.js +445 -0
  235. package/out/concepts/ForEachStatement__.js.map +1 -0
  236. package/out/concepts/Function__.d.ts +388 -0
  237. package/out/concepts/Function__.js +562 -0
  238. package/out/concepts/Function__.js.map +1 -0
  239. package/out/concepts/Identifier__.d.ts +42 -0
  240. package/out/concepts/Identifier__.js +164 -0
  241. package/out/concepts/Identifier__.js.map +1 -0
  242. package/out/concepts/IfStatement__.d.ts +148 -0
  243. package/out/concepts/IfStatement__.js +280 -0
  244. package/out/concepts/IfStatement__.js.map +1 -0
  245. package/out/concepts/InterfaceParam__.d.ts +110 -0
  246. package/out/concepts/InterfaceParam__.js +265 -0
  247. package/out/concepts/InterfaceParam__.js.map +1 -0
  248. package/out/concepts/Interface__.d.ts +256 -0
  249. package/out/concepts/Interface__.js +475 -0
  250. package/out/concepts/Interface__.js.map +1 -0
  251. package/out/concepts/JSBlock__.d.ts +30 -0
  252. package/out/concepts/JSBlock__.js +89 -0
  253. package/out/concepts/JSBlock__.js.map +1 -0
  254. package/out/concepts/LogicItem__.d.ts +116 -0
  255. package/out/concepts/LogicItem__.js +219 -0
  256. package/out/concepts/LogicItem__.js.map +1 -0
  257. package/out/concepts/Logic__.d.ts +592 -0
  258. package/out/concepts/Logic__.js +1056 -0
  259. package/out/concepts/Logic__.js.map +1 -0
  260. package/out/concepts/MemberExpression__.d.ts +63 -0
  261. package/out/concepts/MemberExpression__.js +201 -0
  262. package/out/concepts/MemberExpression__.js.map +1 -0
  263. package/out/concepts/Module__.d.ts +747 -0
  264. package/out/concepts/Module__.js +987 -0
  265. package/out/concepts/Module__.js.map +1 -0
  266. package/out/concepts/Namespace__.d.ts +1068 -0
  267. package/out/concepts/Namespace__.js +1397 -0
  268. package/out/concepts/Namespace__.js.map +1 -0
  269. package/out/concepts/NullLiteral__.d.ts +20 -0
  270. package/out/concepts/NullLiteral__.js +63 -0
  271. package/out/concepts/NullLiteral__.js.map +1 -0
  272. package/out/concepts/NumericLiteral__.d.ts +53 -0
  273. package/out/concepts/NumericLiteral__.js +161 -0
  274. package/out/concepts/NumericLiteral__.js.map +1 -0
  275. package/out/concepts/Param__.d.ts +142 -0
  276. package/out/concepts/Param__.js +315 -0
  277. package/out/concepts/Param__.js.map +1 -0
  278. package/out/concepts/Point__.d.ts +30 -0
  279. package/out/concepts/Point__.js +75 -0
  280. package/out/concepts/Point__.js.map +1 -0
  281. package/out/concepts/ProcessComponent__.d.ts +218 -0
  282. package/out/concepts/ProcessComponent__.js +333 -0
  283. package/out/concepts/ProcessComponent__.js.map +1 -0
  284. package/out/concepts/ProcessElement__.d.ts +558 -0
  285. package/out/concepts/ProcessElement__.js +909 -0
  286. package/out/concepts/ProcessElement__.js.map +1 -0
  287. package/out/concepts/ProcessOutcome__.d.ts +30 -0
  288. package/out/concepts/ProcessOutcome__.js +87 -0
  289. package/out/concepts/ProcessOutcome__.js.map +1 -0
  290. package/out/concepts/Process__.d.ts +445 -0
  291. package/out/concepts/Process__.js +770 -0
  292. package/out/concepts/Process__.js.map +1 -0
  293. package/out/concepts/QueryAggregateExpression__.d.ts +50 -0
  294. package/out/concepts/QueryAggregateExpression__.js +144 -0
  295. package/out/concepts/QueryAggregateExpression__.js.map +1 -0
  296. package/out/concepts/QueryFieldExpression__.d.ts +47 -0
  297. package/out/concepts/QueryFieldExpression__.js +122 -0
  298. package/out/concepts/QueryFieldExpression__.js.map +1 -0
  299. package/out/concepts/QueryFromExpression__.d.ts +91 -0
  300. package/out/concepts/QueryFromExpression__.js +181 -0
  301. package/out/concepts/QueryFromExpression__.js.map +1 -0
  302. package/out/concepts/QueryGroupByExpression__.d.ts +42 -0
  303. package/out/concepts/QueryGroupByExpression__.js +119 -0
  304. package/out/concepts/QueryGroupByExpression__.js.map +1 -0
  305. package/out/concepts/QueryJoinExpression__.d.ts +178 -0
  306. package/out/concepts/QueryJoinExpression__.js +301 -0
  307. package/out/concepts/QueryJoinExpression__.js.map +1 -0
  308. package/out/concepts/QueryLimitExpression__.d.ts +56 -0
  309. package/out/concepts/QueryLimitExpression__.js +156 -0
  310. package/out/concepts/QueryLimitExpression__.js.map +1 -0
  311. package/out/concepts/QueryOrderByExpression__.d.ts +67 -0
  312. package/out/concepts/QueryOrderByExpression__.js +169 -0
  313. package/out/concepts/QueryOrderByExpression__.js.map +1 -0
  314. package/out/concepts/QuerySelectExpression__.d.ts +114 -0
  315. package/out/concepts/QuerySelectExpression__.js +203 -0
  316. package/out/concepts/QuerySelectExpression__.js.map +1 -0
  317. package/out/concepts/Rect__.d.ts +38 -0
  318. package/out/concepts/Rect__.js +89 -0
  319. package/out/concepts/Rect__.js.map +1 -0
  320. package/out/concepts/Return__.d.ts +128 -0
  321. package/out/concepts/Return__.js +281 -0
  322. package/out/concepts/Return__.js.map +1 -0
  323. package/out/concepts/Role__.d.ts +61 -0
  324. package/out/concepts/Role__.js +155 -0
  325. package/out/concepts/Role__.js.map +1 -0
  326. package/out/concepts/Slot__.d.ts +57 -0
  327. package/out/concepts/Slot__.js +114 -0
  328. package/out/concepts/Slot__.js.map +1 -0
  329. package/out/concepts/SqlQueryComponent__.d.ts +47 -0
  330. package/out/concepts/SqlQueryComponent__.js +134 -0
  331. package/out/concepts/SqlQueryComponent__.js.map +1 -0
  332. package/out/concepts/Start__.d.ts +23 -0
  333. package/out/concepts/Start__.js +71 -0
  334. package/out/concepts/Start__.js.map +1 -0
  335. package/out/concepts/StringLiteral__.d.ts +35 -0
  336. package/out/concepts/StringLiteral__.js +142 -0
  337. package/out/concepts/StringLiteral__.js.map +1 -0
  338. package/out/concepts/StructureProperty__.d.ts +123 -0
  339. package/out/concepts/StructureProperty__.js +286 -0
  340. package/out/concepts/StructureProperty__.js.map +1 -0
  341. package/out/concepts/Structure__.d.ts +245 -0
  342. package/out/concepts/Structure__.js +408 -0
  343. package/out/concepts/Structure__.js.map +1 -0
  344. package/out/concepts/SwitchCase__.d.ts +92 -0
  345. package/out/concepts/SwitchCase__.js +231 -0
  346. package/out/concepts/SwitchCase__.js.map +1 -0
  347. package/out/concepts/SwitchStatement__.d.ts +82 -0
  348. package/out/concepts/SwitchStatement__.js +180 -0
  349. package/out/concepts/SwitchStatement__.js.map +1 -0
  350. package/out/concepts/Theme__.d.ts +36 -0
  351. package/out/concepts/Theme__.js +86 -0
  352. package/out/concepts/Theme__.js.map +1 -0
  353. package/out/concepts/Transactional__.d.ts +76 -0
  354. package/out/concepts/Transactional__.js +151 -0
  355. package/out/concepts/Transactional__.js.map +1 -0
  356. package/out/concepts/TypeAnnotation__.d.ts +126 -0
  357. package/out/concepts/TypeAnnotation__.js +317 -0
  358. package/out/concepts/TypeAnnotation__.js.map +1 -0
  359. package/out/concepts/TypeParam__.d.ts +20 -0
  360. package/out/concepts/TypeParam__.js +57 -0
  361. package/out/concepts/TypeParam__.js.map +1 -0
  362. package/out/concepts/UnaryExpression__.d.ts +46 -0
  363. package/out/concepts/UnaryExpression__.js +164 -0
  364. package/out/concepts/UnaryExpression__.js.map +1 -0
  365. package/out/concepts/Unparsed__.d.ts +29 -0
  366. package/out/concepts/Unparsed__.js +88 -0
  367. package/out/concepts/Unparsed__.js.map +1 -0
  368. package/out/concepts/UseComponent__.d.ts +30 -0
  369. package/out/concepts/UseComponent__.js +75 -0
  370. package/out/concepts/UseComponent__.js.map +1 -0
  371. package/out/concepts/ValidationRule__.d.ts +93 -0
  372. package/out/concepts/ValidationRule__.js +219 -0
  373. package/out/concepts/ValidationRule__.js.map +1 -0
  374. package/out/concepts/Variable__.d.ts +127 -0
  375. package/out/concepts/Variable__.js +279 -0
  376. package/out/concepts/Variable__.js.map +1 -0
  377. package/out/concepts/ViewComponent__.d.ts +472 -0
  378. package/out/concepts/ViewComponent__.js +644 -0
  379. package/out/concepts/ViewComponent__.js.map +1 -0
  380. package/out/concepts/ViewElement__.d.ts +475 -0
  381. package/out/concepts/ViewElement__.js +1285 -0
  382. package/out/concepts/ViewElement__.js.map +1 -0
  383. package/out/concepts/View__.d.ts +674 -0
  384. package/out/concepts/View__.js +1280 -0
  385. package/out/concepts/View__.js.map +1 -0
  386. package/out/concepts/WhileStatement__.d.ts +95 -0
  387. package/out/concepts/WhileStatement__.js +208 -0
  388. package/out/concepts/WhileStatement__.js.map +1 -0
  389. package/out/concepts/basics/stdlib/index.d.ts +4 -0
  390. package/out/concepts/basics/stdlib/index.js +23 -0
  391. package/out/concepts/basics/stdlib/index.js.map +1 -0
  392. package/out/concepts/basics/stdlib/nasl.collection.d.ts +7 -0
  393. package/out/concepts/basics/stdlib/nasl.collection.js +83 -0
  394. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -0
  395. package/out/concepts/basics/stdlib/nasl.core.d.ts +3 -0
  396. package/out/concepts/basics/stdlib/nasl.core.js +15 -0
  397. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -0
  398. package/out/concepts/basics/stdlib/nasl.interface.d.ts +5 -0
  399. package/out/concepts/basics/stdlib/nasl.interface.js +43 -0
  400. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -0
  401. package/out/concepts/basics/stdlib/nasl.process.d.ts +3 -0
  402. package/out/concepts/basics/stdlib/nasl.process.js +43 -0
  403. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -0
  404. package/out/concepts/basics/stdlib/nasl.ui.d.ts +7 -0
  405. package/out/concepts/basics/stdlib/nasl.ui.js +814 -0
  406. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -0
  407. package/out/concepts/basics/stdlib/nasl.util.d.ts +3 -0
  408. package/out/concepts/basics/stdlib/nasl.util.js +632 -0
  409. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -0
  410. package/out/concepts/basics/stdlib/nasl.validation.d.ts +3 -0
  411. package/out/concepts/basics/stdlib/nasl.validation.js +527 -0
  412. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -0
  413. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +5 -0
  414. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +26 -0
  415. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +1 -0
  416. package/out/concepts/basics/types/coreTypeList.d.ts +2 -0
  417. package/out/concepts/basics/types/coreTypeList.js +18 -0
  418. package/out/concepts/basics/types/coreTypeList.js.map +1 -0
  419. package/out/concepts/basics/types/index.d.ts +11 -0
  420. package/out/concepts/basics/types/index.js +22 -0
  421. package/out/concepts/basics/types/index.js.map +1 -0
  422. package/out/concepts/index.d.ts +5 -0
  423. package/out/concepts/index.js +24 -0
  424. package/out/concepts/index.js.map +1 -0
  425. package/out/concepts/index__.d.ts +81 -0
  426. package/out/concepts/index__.js +98 -0
  427. package/out/concepts/index__.js.map +1 -0
  428. package/out/config.d.ts +43 -0
  429. package/out/config.js +72 -0
  430. package/out/config.js.map +1 -0
  431. package/out/decorators/index.d.ts +54 -0
  432. package/out/decorators/index.js +149 -0
  433. package/out/decorators/index.js.map +1 -0
  434. package/out/generator/compileComponent.d.ts +11 -0
  435. package/out/generator/compileComponent.js +12 -0
  436. package/out/generator/compileComponent.js.map +1 -0
  437. package/out/generator/genBundleFiles.d.ts +37 -0
  438. package/out/generator/genBundleFiles.js +231 -0
  439. package/out/generator/genBundleFiles.js.map +1 -0
  440. package/out/generator/genHash.d.ts +7 -0
  441. package/out/generator/genHash.js +39 -0
  442. package/out/generator/genHash.js.map +1 -0
  443. package/out/generator/genMetaData.d.ts +35 -0
  444. package/out/generator/genMetaData.js +78 -0
  445. package/out/generator/genMetaData.js.map +1 -0
  446. package/out/generator/index.d.ts +5 -0
  447. package/out/generator/index.js +22 -0
  448. package/out/generator/index.js.map +1 -0
  449. package/out/generator/styleReplacer.d.ts +3 -0
  450. package/out/generator/styleReplacer.js +71 -0
  451. package/out/generator/styleReplacer.js.map +1 -0
  452. package/out/index.d.ts +10 -0
  453. package/out/index.js +51 -0
  454. package/out/index.js.map +1 -0
  455. package/out/manager/diagnostic.d.ts +38 -0
  456. package/out/manager/diagnostic.js +84 -0
  457. package/out/manager/diagnostic.js.map +1 -0
  458. package/{analysis/mergeBlock/raw1.json → out/manager/history.d.ts} +0 -0
  459. package/out/manager/history.js +1 -0
  460. package/out/manager/history.js.map +1 -0
  461. package/out/manager/problem.d.ts +0 -0
  462. package/out/manager/problem.js +1 -0
  463. package/out/manager/problem.js.map +1 -0
  464. package/out/server/createUiTs.d.ts +7 -0
  465. package/out/server/createUiTs.js +163 -0
  466. package/out/server/createUiTs.js.map +1 -0
  467. package/out/server/entity2LogicNamespace.d.ts +10 -0
  468. package/out/server/entity2LogicNamespace.js +202 -0
  469. package/out/server/entity2LogicNamespace.js.map +1 -0
  470. package/out/server/getExtensionModules.d.ts +3 -0
  471. package/out/server/getExtensionModules.js +18 -0
  472. package/out/server/getExtensionModules.js.map +1 -0
  473. package/out/server/getFunctions.d.ts +2 -0
  474. package/out/server/getFunctions.js +14 -0
  475. package/out/server/getFunctions.js.map +1 -0
  476. package/out/server/getInterfaces.d.ts +2 -0
  477. package/out/server/getInterfaces.js +48 -0
  478. package/out/server/getInterfaces.js.map +1 -0
  479. package/out/server/getLogics.d.ts +3 -0
  480. package/out/server/getLogics.js +118 -0
  481. package/out/server/getLogics.js.map +1 -0
  482. package/out/server/getMemberIdentifier.d.ts +7 -0
  483. package/out/server/getMemberIdentifier.js +230 -0
  484. package/out/server/getMemberIdentifier.js.map +1 -0
  485. package/out/server/getProcessComponents.d.ts +2 -0
  486. package/out/server/getProcessComponents.js +13 -0
  487. package/out/server/getProcessComponents.js.map +1 -0
  488. package/out/server/getProcesses.d.ts +22 -0
  489. package/out/server/getProcesses.js +115 -0
  490. package/out/server/getProcesses.js.map +1 -0
  491. package/out/server/getValidates.d.ts +3 -0
  492. package/out/server/getValidates.js +14 -0
  493. package/out/server/getValidates.js.map +1 -0
  494. package/out/server/index.d.ts +2 -0
  495. package/out/server/index.js +28 -0
  496. package/out/server/index.js.map +1 -0
  497. package/out/server/naslServer.d.ts +156 -0
  498. package/out/server/naslServer.js +1465 -0
  499. package/out/server/naslServer.js.map +1 -0
  500. package/out/server/process2LogicNamespace.d.ts +16 -0
  501. package/out/server/process2LogicNamespace.js +60 -0
  502. package/out/server/process2LogicNamespace.js.map +1 -0
  503. package/out/server/translator.d.ts +5 -0
  504. package/out/server/translator.js +178 -0
  505. package/out/server/translator.js.map +1 -0
  506. package/out/service/storage/index.d.ts +2 -0
  507. package/out/service/storage/index.js +10 -0
  508. package/out/service/storage/index.js.map +1 -0
  509. package/out/service/storage/init.d.ts +12 -0
  510. package/out/service/storage/init.js +278 -0
  511. package/out/service/storage/init.js.map +1 -0
  512. package/out/service/storage/jsoner.d.ts +29 -0
  513. package/out/service/storage/jsoner.js +130 -0
  514. package/out/service/storage/jsoner.js.map +1 -0
  515. package/out/service/storage/map.d.ts +4 -0
  516. package/out/service/storage/map.js +54 -0
  517. package/out/service/storage/map.js.map +1 -0
  518. package/out/service/storage/storagePoint.d.ts +30 -0
  519. package/out/service/storage/storagePoint.js +76 -0
  520. package/out/service/storage/storagePoint.js.map +1 -0
  521. package/out/templator/genCallComponentLogic.d.ts +17 -0
  522. package/out/templator/genCallComponentLogic.js +30 -0
  523. package/out/templator/genCallComponentLogic.js.map +1 -0
  524. package/out/templator/genCreateBlock.d.ts +10 -0
  525. package/out/templator/genCreateBlock.js +317 -0
  526. package/out/templator/genCreateBlock.js.map +1 -0
  527. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +2 -0
  528. package/out/templator/genCurdEditMultipleKeyBlock.js +469 -0
  529. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -0
  530. package/out/templator/genCurdMultipleKeyBlock.d.ts +3 -0
  531. package/out/templator/genCurdMultipleKeyBlock.js +656 -0
  532. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -0
  533. package/out/templator/genEditTableBlock.d.ts +51 -0
  534. package/out/templator/genEditTableBlock.js +301 -0
  535. package/out/templator/genEditTableBlock.js.map +1 -0
  536. package/out/templator/genEnumSelectBlock.d.ts +10 -0
  537. package/out/templator/genEnumSelectBlock.js +23 -0
  538. package/out/templator/genEnumSelectBlock.js.map +1 -0
  539. package/out/templator/genGetBlock.d.ts +6 -0
  540. package/out/templator/genGetBlock.js +133 -0
  541. package/out/templator/genGetBlock.js.map +1 -0
  542. package/out/templator/genGridViewBlock.d.ts +53 -0
  543. package/out/templator/genGridViewBlock.js +308 -0
  544. package/out/templator/genGridViewBlock.js.map +1 -0
  545. package/out/templator/genListViewBlock.d.ts +19 -0
  546. package/out/templator/genListViewBlock.js +139 -0
  547. package/out/templator/genListViewBlock.js.map +1 -0
  548. package/out/templator/genQueryComponent.d.ts +32 -0
  549. package/out/templator/genQueryComponent.js +307 -0
  550. package/out/templator/genQueryComponent.js.map +1 -0
  551. package/out/templator/genSelectBlock.d.ts +34 -0
  552. package/out/templator/genSelectBlock.js +152 -0
  553. package/out/templator/genSelectBlock.js.map +1 -0
  554. package/out/templator/genTableBlock.d.ts +53 -0
  555. package/out/templator/genTableBlock.js +296 -0
  556. package/out/templator/genTableBlock.js.map +1 -0
  557. package/out/templator/genUpdateBlock.d.ts +6 -0
  558. package/out/templator/genUpdateBlock.js +359 -0
  559. package/out/templator/genUpdateBlock.js.map +1 -0
  560. package/out/templator/index.d.ts +16 -0
  561. package/out/templator/index.js +34 -0
  562. package/out/templator/index.js.map +1 -0
  563. package/out/templator/utils.d.ts +634 -0
  564. package/out/templator/utils.js +421 -0
  565. package/out/templator/utils.js.map +1 -0
  566. package/out/terms/LEVEL_NAME_MAP.d.ts +26 -0
  567. package/out/terms/LEVEL_NAME_MAP.js +30 -0
  568. package/out/terms/LEVEL_NAME_MAP.js.map +1 -0
  569. package/out/test/fixtures/env.d.ts +1 -1
  570. package/out/test/fixtures/env.js +7 -7
  571. package/out/test/fixtures/env.js.map +1 -1
  572. package/out/test/{units/app/App.spec.d.ts → integration/connect-create-file.d.ts} +0 -0
  573. package/out/test/integration/connect-create-file.js +39 -0
  574. package/out/test/integration/connect-create-file.js.map +1 -0
  575. package/out/test/{units/app/Service.spec.d.ts → integration/connect-file.d.ts} +0 -0
  576. package/out/test/integration/connect-file.js +49 -0
  577. package/out/test/integration/connect-file.js.map +1 -0
  578. package/out/{types/eventBus.d.ts → test/units/baseTypes/Assignment.spec.d.ts} +0 -0
  579. package/out/test/units/baseTypes/Assignment.spec.js +43 -0
  580. package/out/test/units/baseTypes/Assignment.spec.js.map +1 -0
  581. package/out/{types/logic/CallInterface.d.ts → test/units/baseTypes/CallLogic.spec.d.ts} +0 -0
  582. package/out/test/units/baseTypes/CallLogic.spec.js +44 -0
  583. package/out/test/units/baseTypes/CallLogic.spec.js.map +1 -0
  584. package/out/test/units/baseTypes/StringLiteral.spec.d.ts +1 -0
  585. package/out/test/units/baseTypes/StringLiteral.spec.js +75 -0
  586. package/out/test/units/baseTypes/StringLiteral.spec.js.map +1 -0
  587. package/out/test/units/baseTypes/new.spec.d.ts +1 -0
  588. package/out/test/units/baseTypes/new.spec.js +37 -0
  589. package/out/test/units/baseTypes/new.spec.js.map +1 -0
  590. package/out/test/units/common/Vertex.spec.js +16 -38
  591. package/out/test/units/common/Vertex.spec.js.map +1 -1
  592. package/out/test/units/data/Entity.spec.js +3 -3
  593. package/out/test/units/data/Entity.spec.js.map +1 -1
  594. package/out/test/units/login.spec.js +4 -4
  595. package/out/test/units/login.spec.js.map +1 -1
  596. package/out/test/units/page/Block.spec.d.ts +0 -1
  597. package/out/test/units/page/Block.spec.js +12 -33
  598. package/out/test/units/page/Block.spec.js.map +1 -1
  599. package/out/test/units/page/Element.spec.js +14 -14
  600. package/out/test/units/page/Element.spec.js.map +1 -1
  601. package/out/test/units/temp/temp.spec.js +2 -2
  602. package/out/test/units/temp/temp.spec.js.map +1 -1
  603. package/out/translator/index.d.ts +47 -0
  604. package/out/translator/index.js +108 -0
  605. package/out/translator/index.js.map +1 -0
  606. package/out/translator/lsp.d.ts +45 -0
  607. package/out/translator/lsp.js +6 -0
  608. package/out/translator/lsp.js.map +1 -0
  609. package/out/translator/tsp.d.ts +12 -0
  610. package/out/translator/tsp.js +3 -0
  611. package/out/translator/tsp.js.map +1 -0
  612. package/out/utils/index.d.ts +26 -0
  613. package/out/utils/index.js +52 -0
  614. package/out/utils/index.js.map +1 -0
  615. package/out/{types/utils → utils}/logger.d.ts +0 -0
  616. package/out/utils/logger.js +11 -0
  617. package/out/utils/logger.js.map +1 -0
  618. package/out/utils/string.d.ts +38 -0
  619. package/out/utils/string.js +66 -0
  620. package/out/utils/string.js.map +1 -0
  621. package/out/utils/traverse.d.ts +36 -0
  622. package/out/utils/traverse.js +132 -0
  623. package/out/utils/traverse.js.map +1 -0
  624. package/package.json +16 -14
  625. package/src/automate/engine/index.js +454 -0
  626. package/src/automate/engine/utils.js +335 -0
  627. package/src/bak/translator.js +124 -0
  628. package/src/common/BaseNode.ts +677 -0
  629. package/src/common/Command.ts +27 -0
  630. package/src/common/ComponentAPI.ts +103 -0
  631. package/src/common/EventEmitter.ts +90 -0
  632. package/src/common/Messager.ts +225 -0
  633. package/src/common/classMap.ts +3 -0
  634. package/src/common/index.ts +4 -0
  635. package/src/concepts/App__.ts +2568 -0
  636. package/src/concepts/Argument__.ts +197 -0
  637. package/src/concepts/Assignment__.ts +236 -0
  638. package/src/concepts/Attribute__.ts +252 -0
  639. package/src/concepts/BinaryExpression__.ts +288 -0
  640. package/src/concepts/BindAttribute__.ts +508 -0
  641. package/src/concepts/BindDirective__.ts +242 -0
  642. package/src/concepts/BindEvent__.ts +400 -0
  643. package/src/concepts/BooleanLiteral__.ts +82 -0
  644. package/src/concepts/CallFunction__.ts +496 -0
  645. package/src/concepts/CallInterface__.ts +314 -0
  646. package/src/concepts/CallLogic__.ts +685 -0
  647. package/src/concepts/CallQueryComponent__.ts +1023 -0
  648. package/src/concepts/Comment__.ts +96 -0
  649. package/src/concepts/CompletionProperty__.ts +250 -0
  650. package/src/concepts/ConfigGroup__.ts +290 -0
  651. package/src/concepts/ConfigPropertyValue__.ts +112 -0
  652. package/src/concepts/ConfigProperty__.ts +306 -0
  653. package/src/concepts/Configuration__.ts +286 -0
  654. package/src/concepts/Constant__.ts +249 -0
  655. package/src/concepts/DataElement__.ts +135 -0
  656. package/src/concepts/Destination__.ts +386 -0
  657. package/src/concepts/End__.ts +84 -0
  658. package/src/concepts/EntityIndex__.ts +216 -0
  659. package/src/concepts/EntityProperty__.ts +520 -0
  660. package/src/concepts/Entity__.ts +719 -0
  661. package/src/concepts/EnumItem__.ts +140 -0
  662. package/src/concepts/Enum__.ts +354 -0
  663. package/src/concepts/Event__.ts +317 -0
  664. package/src/concepts/ForEachStatement__.ts +575 -0
  665. package/src/concepts/Function__.ts +922 -0
  666. package/src/concepts/Identifier__.ts +181 -0
  667. package/src/concepts/IfStatement__.ts +446 -0
  668. package/src/concepts/InterfaceParam__.ts +300 -0
  669. package/src/concepts/Interface__.ts +648 -0
  670. package/src/concepts/JSBlock__.ts +97 -0
  671. package/src/concepts/LogicItem__.ts +238 -0
  672. package/src/concepts/Logic__.ts +1591 -0
  673. package/src/concepts/MemberExpression__.ts +244 -0
  674. package/src/concepts/Module__.ts +1725 -0
  675. package/src/concepts/Namespace__.ts +2518 -0
  676. package/src/concepts/NullLiteral__.ts +77 -0
  677. package/src/concepts/NumericLiteral__.ts +184 -0
  678. package/src/concepts/Param__.ts +353 -0
  679. package/src/concepts/Point__.ts +85 -0
  680. package/src/concepts/ProcessComponent__.ts +503 -0
  681. package/src/concepts/ProcessElement__.ts +1393 -0
  682. package/src/concepts/ProcessOutcome__.ts +92 -0
  683. package/src/concepts/Process__.ts +1154 -0
  684. package/src/concepts/QueryAggregateExpression__.ts +164 -0
  685. package/src/concepts/QueryFieldExpression__.ts +128 -0
  686. package/src/concepts/QueryFromExpression__.ts +256 -0
  687. package/src/concepts/QueryGroupByExpression__.ts +139 -0
  688. package/src/concepts/QueryJoinExpression__.ts +443 -0
  689. package/src/concepts/QueryLimitExpression__.ts +188 -0
  690. package/src/concepts/QueryOrderByExpression__.ts +202 -0
  691. package/src/concepts/QuerySelectExpression__.ts +280 -0
  692. package/src/concepts/Rect__.ts +97 -0
  693. package/src/concepts/Return__.ts +324 -0
  694. package/src/concepts/Role__.ts +162 -0
  695. package/src/concepts/Slot__.ts +122 -0
  696. package/src/concepts/SqlQueryComponent__.ts +149 -0
  697. package/src/concepts/Start__.ts +79 -0
  698. package/src/concepts/StringLiteral__.ts +151 -0
  699. package/src/concepts/StructureProperty__.ts +321 -0
  700. package/src/concepts/Structure__.ts +581 -0
  701. package/src/concepts/SwitchCase__.ts +325 -0
  702. package/src/concepts/SwitchStatement__.ts +256 -0
  703. package/src/concepts/Theme__.ts +95 -0
  704. package/src/concepts/Transactional__.ts +165 -0
  705. package/src/concepts/TypeAnnotation__.ts +387 -0
  706. package/src/concepts/TypeParam__.ts +69 -0
  707. package/src/concepts/UnaryExpression__.ts +182 -0
  708. package/src/concepts/Unparsed__.ts +98 -0
  709. package/src/concepts/UseComponent__.ts +85 -0
  710. package/src/concepts/ValidationRule__.ts +302 -0
  711. package/src/concepts/Variable__.ts +316 -0
  712. package/src/concepts/ViewComponent__.ts +1099 -0
  713. package/src/concepts/ViewElement__.ts +1686 -0
  714. package/src/concepts/View__.ts +1856 -0
  715. package/src/concepts/WhileStatement__.ts +301 -0
  716. package/src/concepts/basics/stdlib/index.ts +20 -0
  717. package/src/concepts/basics/stdlib/nasl.collection.ts +78 -0
  718. package/src/concepts/basics/stdlib/nasl.core.ts +12 -0
  719. package/src/concepts/basics/stdlib/nasl.interface.ts +43 -0
  720. package/src/concepts/basics/stdlib/nasl.process.ts +47 -0
  721. package/src/concepts/basics/stdlib/nasl.ui.ts +810 -0
  722. package/src/concepts/basics/stdlib/nasl.util.ts +630 -0
  723. package/src/concepts/basics/stdlib/nasl.validation.ts +523 -0
  724. package/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts +26 -0
  725. package/src/concepts/basics/types/coreTypeList.ts +15 -0
  726. package/src/concepts/basics/types/index.ts +20 -0
  727. package/src/concepts/index.ts +5 -0
  728. package/src/concepts/index__.ts +81 -0
  729. package/src/config.ts +80 -0
  730. package/src/decorators/index.ts +156 -0
  731. package/src/generator/compileComponent.ts +19 -0
  732. package/src/generator/genBundleFiles.ts +281 -0
  733. package/src/generator/genHash.ts +13 -0
  734. package/src/generator/genMetaData.ts +111 -0
  735. package/src/generator/index.ts +5 -0
  736. package/src/generator/styleReplacer.ts +41 -0
  737. package/src/index.ts +11 -0
  738. package/src/manager/diagnostic.ts +129 -0
  739. package/src/manager/history.ts +0 -0
  740. package/src/manager/problem.ts +0 -0
  741. package/src/server/createUiTs.ts +159 -0
  742. package/src/server/entity2LogicNamespace.ts +204 -0
  743. package/src/server/getExtensionModules.ts +13 -0
  744. package/src/server/getFunctions.ts +10 -0
  745. package/src/server/getInterfaces.ts +47 -0
  746. package/src/server/getLogics.ts +124 -0
  747. package/src/server/getMemberIdentifier.ts +251 -0
  748. package/src/server/getProcessComponents.ts +9 -0
  749. package/src/server/getProcesses.ts +136 -0
  750. package/src/server/getValidates.ts +10 -0
  751. package/src/server/index.ts +23 -0
  752. package/src/server/naslServer.ts +1545 -0
  753. package/src/server/process2LogicNamespace.ts +70 -0
  754. package/src/server/translator.ts +172 -0
  755. package/src/service/app/index.js +1 -1
  756. package/src/service/assets/index.js +1 -1
  757. package/src/service/{create → creator}/add.configs.js +0 -0
  758. package/src/service/{create → creator}/errHandles.js +0 -0
  759. package/src/service/creator/index.js +80 -0
  760. package/src/service/storage/index.ts +6 -0
  761. package/src/service/storage/init.ts +253 -0
  762. package/src/service/storage/jsoner.ts +139 -0
  763. package/src/service/storage/map.ts +57 -0
  764. package/src/service/storage/storagePoint.ts +73 -0
  765. package/src/service/video/BaseService.js +68 -0
  766. package/src/service/video/MainCallbackService.js +207 -0
  767. package/src/service/video/VideoTranscribe.js +102 -0
  768. package/src/service/video/publishService.js +61 -0
  769. package/src/templator/builtInFunctions.json +1 -0
  770. package/src/templator/genCallComponentLogic.ts +27 -0
  771. package/src/templator/genCreateBlock.ts +291 -0
  772. package/src/templator/genCurdEditMultipleKeyBlock.ts +452 -0
  773. package/src/templator/genCurdMultipleKeyBlock.ts +645 -0
  774. package/src/templator/genEditTableBlock.ts +284 -0
  775. package/src/templator/genEnumSelectBlock.ts +22 -0
  776. package/src/templator/genGetBlock.ts +121 -0
  777. package/src/templator/genGridViewBlock.ts +306 -0
  778. package/src/templator/genListViewBlock.ts +124 -0
  779. package/src/templator/genQueryComponent.ts +287 -0
  780. package/src/templator/genSelectBlock.ts +135 -0
  781. package/src/templator/genTableBlock.ts +296 -0
  782. package/src/templator/genUpdateBlock.ts +338 -0
  783. package/src/templator/index.ts +19 -0
  784. package/src/templator/utils.ts +523 -0
  785. package/src/terms/LEVEL_NAME_MAP.ts +31 -0
  786. package/src/test/examples/app1.json +17 -0
  787. package/src/test/fixtures/env.ts +4 -4
  788. package/src/test/integration/connect-create-file.ts +14 -0
  789. package/src/test/integration/connect-file.ts +24 -0
  790. package/src/test/units/baseTypes/Assignment.spec.ts +20 -0
  791. package/src/test/units/baseTypes/CallLogic.spec.ts +22 -0
  792. package/src/test/units/baseTypes/StringLiteral.spec.ts +60 -0
  793. package/src/test/units/baseTypes/new.spec.ts +13 -0
  794. package/src/test/units/common/Vertex.spec.ts +17 -19
  795. package/src/test/units/data/Entity.spec.ts +1 -1
  796. package/src/test/units/login.spec.ts +3 -3
  797. package/src/test/units/page/Block.spec.ts +12 -12
  798. package/src/test/units/page/Element.spec.ts +11 -11
  799. package/src/test/units/temp/temp.spec.ts +2 -2
  800. package/src/translator/index.ts +131 -0
  801. package/src/translator/lsp.ts +50 -0
  802. package/src/translator/tsp.ts +14 -0
  803. package/src/utils/index.ts +52 -0
  804. package/src/utils/logger.ts +8 -0
  805. package/src/utils/string.ts +60 -0
  806. package/src/utils/traverse.ts +158 -0
  807. package/tsconfig.json +5 -12
  808. package/analysis/mergeBlock/README.md +0 -14
  809. package/analysis/mergeBlock/raw2.json +0 -2522
  810. package/analysis/mergeBlock/raw3.json +0 -505
  811. package/analysis/mergeBlock/req2.json +0 -2219
  812. package/analysis/mergeBlock/req3.json +0 -462
  813. package/analysis/mergeBlock/script.js +0 -159
  814. package/docs/assets/css/main.css +0 -2638
  815. package/docs/assets/js/main.js +0 -248
  816. package/docs/assets/js/search.js +0 -1
  817. package/docs/classes/app_app.app.html +0 -1359
  818. package/docs/classes/app_service.microservice.html +0 -1572
  819. package/docs/classes/app_service.service.html +0 -1233
  820. package/docs/classes/app_service.webservice.html +0 -1635
  821. package/docs/classes/common_eventemitter.eventemitter.html +0 -387
  822. package/docs/classes/common_vertex.vertex.html +0 -1086
  823. package/docs/classes/data_datanode.datanode.html +0 -1157
  824. package/docs/classes/data_entity.entity.html +0 -1656
  825. package/docs/classes/data_entityproperty.entityproperty.html +0 -1903
  826. package/docs/classes/data_enum.enum.html +0 -1402
  827. package/docs/classes/data_enumitem.enumitem.html +0 -1252
  828. package/docs/classes/data_interface.interface.html +0 -1673
  829. package/docs/classes/data_structure.structure.html +0 -1427
  830. package/docs/classes/data_structureproperty.structureproperty.html +0 -1656
  831. package/docs/classes/logic_basevariable.basevariable.html +0 -1261
  832. package/docs/classes/logic_logic.logic.html +0 -1639
  833. package/docs/classes/logic_logicitem.expressionnode.html +0 -1982
  834. package/docs/classes/logic_logicitem.logicitem.html +0 -1828
  835. package/docs/classes/logic_logicitem.logicnode.html +0 -2229
  836. package/docs/classes/logic_param.param.html +0 -1707
  837. package/docs/classes/logic_return.return.html +0 -1605
  838. package/docs/classes/logic_variable.variable.html +0 -1631
  839. package/docs/classes/nuims_nuims.nuims.html +0 -596
  840. package/docs/classes/page_attr.attr.html +0 -1335
  841. package/docs/classes/page_block.block.html +0 -1272
  842. package/docs/classes/page_directive.directive.html +0 -1350
  843. package/docs/classes/page_element.element.html +0 -2118
  844. package/docs/classes/page_event.event.html +0 -1284
  845. package/docs/classes/page_lifecycle.lifecycle.html +0 -1286
  846. package/docs/classes/page_page.page.html +0 -1389
  847. package/docs/classes/page_view.view.html +0 -2299
  848. package/docs/classes/page_viewparam.viewparam.html +0 -1727
  849. package/docs/classes/page_viewvariable.viewvariable.html +0 -1668
  850. package/docs/classes/process_process.process.html +0 -1532
  851. package/docs/classes/process_processcomponent.processcomponent.html +0 -1589
  852. package/docs/classes/process_processcomponentattribute.processcomponentattribute.html +0 -1236
  853. package/docs/classes/process_processcomponentproperty.processcomponentproperty.html +0 -1727
  854. package/docs/classes/process_processcomponentreturn.processcomponentreturn.html +0 -1704
  855. package/docs/classes/process_processcomponentvariable.processcomponentvariable.html +0 -1679
  856. package/docs/classes/process_processinterface.processinterface.html +0 -1462
  857. package/docs/classes/process_processparam.processparam.html +0 -1778
  858. package/docs/classes/process_processproperty.processproperty.html +0 -1727
  859. package/docs/classes/process_processreturn.processreturn.html +0 -1678
  860. package/docs/enums/app_service.service_type.html +0 -186
  861. package/docs/enums/data_basictypes.basic_type.html +0 -312
  862. package/docs/enums/index.level_enum.html +0 -655
  863. package/docs/enums/logic_logicitem.logic_type.html +0 -441
  864. package/docs/interfaces/app_service.assetsinfo.html +0 -209
  865. package/docs/interfaces/common_packagejson.default.html +0 -431
  866. package/docs/interfaces/data_entity.resolver.html +0 -228
  867. package/docs/interfaces/data_entityproperty.display.html +0 -214
  868. package/docs/interfaces/data_schema.arrayschema.html +0 -306
  869. package/docs/interfaces/data_schema.baseschema.html +0 -361
  870. package/docs/interfaces/data_schema.basicrefschema.html +0 -362
  871. package/docs/interfaces/data_schema.basicschema.html +0 -334
  872. package/docs/interfaces/data_schema.booleanschema.html +0 -306
  873. package/docs/interfaces/data_schema.enumitemschema.html +0 -225
  874. package/docs/interfaces/data_schema.enumschema.html +0 -306
  875. package/docs/interfaces/data_schema.integerschema.html +0 -334
  876. package/docs/interfaces/data_schema.mapschema.html +0 -320
  877. package/docs/interfaces/data_schema.numberschema.html +0 -334
  878. package/docs/interfaces/data_schema.objectschema.html +0 -313
  879. package/docs/interfaces/data_schema.refschema.html +0 -332
  880. package/docs/interfaces/data_schema.schema.html +0 -511
  881. package/docs/interfaces/data_schema.setschema.html +0 -306
  882. package/docs/interfaces/data_schema.stringschema.html +0 -334
  883. package/docs/interfaces/history.historyrecord.html +0 -183
  884. package/docs/interfaces/index.arrayschema.html +0 -261
  885. package/docs/interfaces/index.baseschema.html +0 -236
  886. package/docs/interfaces/index.basicrefschema.html +0 -317
  887. package/docs/interfaces/index.basicschema.html +0 -289
  888. package/docs/interfaces/index.booleanschema.html +0 -261
  889. package/docs/interfaces/index.enumitemschema.html +0 -180
  890. package/docs/interfaces/index.enumschema.html +0 -261
  891. package/docs/interfaces/index.integerschema.html +0 -289
  892. package/docs/interfaces/index.mapschema.html +0 -275
  893. package/docs/interfaces/index.numberschema.html +0 -289
  894. package/docs/interfaces/index.objectschema.html +0 -261
  895. package/docs/interfaces/index.refschema.html +0 -287
  896. package/docs/interfaces/index.schema.html +0 -459
  897. package/docs/interfaces/index.setschema.html +0 -261
  898. package/docs/interfaces/index.stringschema.html +0 -289
  899. package/docs/interfaces/page_element.elementtovueoptions.html +0 -283
  900. package/docs/interfaces/typecheck.typecheckrecord.html +0 -211
  901. package/docs/interfaces/utils.inode.html +0 -212
  902. package/docs/interfaces/utils.inodeinfo.html +0 -295
  903. package/docs/interfaces/utils_traverse.inode.html +0 -191
  904. package/docs/interfaces/utils_traverse.inodeinfo.html +0 -274
  905. package/docs/modules/app_app.html +0 -149
  906. package/docs/modules/app_service.html +0 -175
  907. package/docs/modules/cachedata.html +0 -198
  908. package/docs/modules/common_eventemitter.html +0 -192
  909. package/docs/modules/common_packagejson.html +0 -132
  910. package/docs/modules/common_vertex.html +0 -149
  911. package/docs/modules/config.html +0 -168
  912. package/docs/modules/data_basictypes.html +0 -271
  913. package/docs/modules/data_datanode.html +0 -149
  914. package/docs/modules/data_datatypes.html +0 -196
  915. package/docs/modules/data_datatypeutils.html +0 -430
  916. package/docs/modules/data_entity.html +0 -158
  917. package/docs/modules/data_entityproperty.html +0 -158
  918. package/docs/modules/data_entityutils.html +0 -342
  919. package/docs/modules/data_enum.html +0 -149
  920. package/docs/modules/data_enumitem.html +0 -149
  921. package/docs/modules/data_interface.html +0 -149
  922. package/docs/modules/data_schema.html +0 -205
  923. package/docs/modules/data_structure.html +0 -149
  924. package/docs/modules/data_structureproperty.html +0 -149
  925. package/docs/modules/data_systemtypes.html +0 -167
  926. package/docs/modules/decorators.html +0 -333
  927. package/docs/modules/eventbus.html +0 -116
  928. package/docs/modules/generator.html +0 -749
  929. package/docs/modules/generator_data.html +0 -495
  930. package/docs/modules/generator_hotreload.html +0 -200
  931. package/docs/modules/generator_load.html +0 -247
  932. package/docs/modules/generator_page.html +0 -200
  933. package/docs/modules/history.html +0 -200
  934. package/docs/modules/index.html +0 -1163
  935. package/docs/modules/logic_basevariable.html +0 -238
  936. package/docs/modules/logic_callinterface.html +0 -116
  937. package/docs/modules/logic_logic.html +0 -149
  938. package/docs/modules/logic_logicitem.html +0 -220
  939. package/docs/modules/logic_param.html +0 -149
  940. package/docs/modules/logic_return.html +0 -149
  941. package/docs/modules/logic_tools.html +0 -326
  942. package/docs/modules/logic_translator.html +0 -158
  943. package/docs/modules/logic_variable.html +0 -149
  944. package/docs/modules/nuims_nuims.html +0 -149
  945. package/docs/modules/page_attr.html +0 -149
  946. package/docs/modules/page_block.html +0 -149
  947. package/docs/modules/page_directive.html +0 -149
  948. package/docs/modules/page_element.html +0 -158
  949. package/docs/modules/page_event.html +0 -149
  950. package/docs/modules/page_lifecycle.html +0 -149
  951. package/docs/modules/page_page.html +0 -149
  952. package/docs/modules/page_view.html +0 -149
  953. package/docs/modules/page_viewparam.html +0 -149
  954. package/docs/modules/page_viewvariable.html +0 -149
  955. package/docs/modules/process_process.html +0 -149
  956. package/docs/modules/process_processcomponent.html +0 -149
  957. package/docs/modules/process_processcomponentattribute.html +0 -149
  958. package/docs/modules/process_processcomponentproperty.html +0 -149
  959. package/docs/modules/process_processcomponentreturn.html +0 -149
  960. package/docs/modules/process_processcomponentvariable.html +0 -149
  961. package/docs/modules/process_processinterface.html +0 -149
  962. package/docs/modules/process_processparam.html +0 -149
  963. package/docs/modules/process_processproperty.html +0 -149
  964. package/docs/modules/process_processreturn.html +0 -149
  965. package/docs/modules/typecheck.html +0 -269
  966. package/docs/modules/utils.html +0 -536
  967. package/docs/modules/utils_logger.html +0 -172
  968. package/docs/modules/utils_string.html +0 -347
  969. package/docs/modules/utils_traverse.html +0 -248
  970. package/index.js +0 -12
  971. package/module/base.js +0 -11
  972. package/out/service/app/api.d.ts +0 -75
  973. package/out/service/app/api.js +0 -87
  974. package/out/service/app/api.js.map +0 -1
  975. package/out/service/app/index.d.ts +0 -2
  976. package/out/service/app/index.js +0 -10
  977. package/out/service/app/index.js.map +0 -1
  978. package/out/service/assets/asset.d.ts +0 -104
  979. package/out/service/assets/asset.js +0 -78
  980. package/out/service/assets/asset.js.map +0 -1
  981. package/out/service/assets/block.d.ts +0 -9
  982. package/out/service/assets/block.js +0 -11
  983. package/out/service/assets/block.js.map +0 -1
  984. package/out/service/assets/index.d.ts +0 -2
  985. package/out/service/assets/index.js +0 -12
  986. package/out/service/assets/index.js.map +0 -1
  987. package/out/service/common/findUsage.d.ts +0 -9
  988. package/out/service/common/findUsage.js +0 -11
  989. package/out/service/common/findUsage.js.map +0 -1
  990. package/out/service/common/index.d.ts +0 -2
  991. package/out/service/common/index.js +0 -12
  992. package/out/service/common/index.js.map +0 -1
  993. package/out/service/common/preprocess.d.ts +0 -14
  994. package/out/service/common/preprocess.js +0 -75
  995. package/out/service/common/preprocess.js.map +0 -1
  996. package/out/service/common/schema.d.ts +0 -9
  997. package/out/service/common/schema.js +0 -12
  998. package/out/service/common/schema.js.map +0 -1
  999. package/out/service/create/add.configs.d.ts +0 -1
  1000. package/out/service/create/add.configs.js +0 -68
  1001. package/out/service/create/add.configs.js.map +0 -1
  1002. package/out/service/create/errHandles.d.ts +0 -18
  1003. package/out/service/create/errHandles.js +0 -57
  1004. package/out/service/create/errHandles.js.map +0 -1
  1005. package/out/service/create/index.d.ts +0 -1
  1006. package/out/service/create/index.js +0 -77
  1007. package/out/service/create/index.js.map +0 -1
  1008. package/out/service/data/api.d.ts +0 -36
  1009. package/out/service/data/api.js +0 -36
  1010. package/out/service/data/api.js.map +0 -1
  1011. package/out/service/data/entity.d.ts +0 -135
  1012. package/out/service/data/entity.js +0 -103
  1013. package/out/service/data/entity.js.map +0 -1
  1014. package/out/service/data/enum.d.ts +0 -63
  1015. package/out/service/data/enum.js +0 -55
  1016. package/out/service/data/enum.js.map +0 -1
  1017. package/out/service/data/enumProperty.d.ts +0 -28
  1018. package/out/service/data/enumProperty.js +0 -23
  1019. package/out/service/data/enumProperty.js.map +0 -1
  1020. package/out/service/data/generic.d.ts +0 -9
  1021. package/out/service/data/generic.js +0 -11
  1022. package/out/service/data/generic.js.map +0 -1
  1023. package/out/service/data/index.d.ts +0 -8
  1024. package/out/service/data/index.js +0 -23
  1025. package/out/service/data/index.js.map +0 -1
  1026. package/out/service/data/interface.d.ts +0 -67
  1027. package/out/service/data/interface.js +0 -58
  1028. package/out/service/data/interface.js.map +0 -1
  1029. package/out/service/data/structure.d.ts +0 -92
  1030. package/out/service/data/structure.js +0 -77
  1031. package/out/service/data/structure.js.map +0 -1
  1032. package/out/service/logic/checktypeSocket.d.ts +0 -5
  1033. package/out/service/logic/checktypeSocket.js +0 -55
  1034. package/out/service/logic/checktypeSocket.js.map +0 -1
  1035. package/out/service/logic/index.d.ts +0 -5
  1036. package/out/service/logic/index.js +0 -17
  1037. package/out/service/logic/index.js.map +0 -1
  1038. package/out/service/logic/logic.d.ts +0 -166
  1039. package/out/service/logic/logic.js +0 -123
  1040. package/out/service/logic/logic.js.map +0 -1
  1041. package/out/service/logic/param.d.ts +0 -37
  1042. package/out/service/logic/param.js +0 -29
  1043. package/out/service/logic/param.js.map +0 -1
  1044. package/out/service/nuims/api.d.ts +0 -264
  1045. package/out/service/nuims/api.js +0 -194
  1046. package/out/service/nuims/api.js.map +0 -1
  1047. package/out/service/nuims/index.d.ts +0 -2
  1048. package/out/service/nuims/index.js +0 -17
  1049. package/out/service/nuims/index.js.map +0 -1
  1050. package/out/service/page/api.d.ts +0 -186
  1051. package/out/service/page/api.js +0 -1376
  1052. package/out/service/page/api.js.map +0 -1
  1053. package/out/service/page/attribute.d.ts +0 -28
  1054. package/out/service/page/attribute.js +0 -23
  1055. package/out/service/page/attribute.js.map +0 -1
  1056. package/out/service/page/directive.d.ts +0 -28
  1057. package/out/service/page/directive.js +0 -23
  1058. package/out/service/page/directive.js.map +0 -1
  1059. package/out/service/page/element.d.ts +0 -45
  1060. package/out/service/page/element.js +0 -42
  1061. package/out/service/page/element.js.map +0 -1
  1062. package/out/service/page/event.d.ts +0 -28
  1063. package/out/service/page/event.js +0 -23
  1064. package/out/service/page/event.js.map +0 -1
  1065. package/out/service/page/index.d.ts +0 -8
  1066. package/out/service/page/index.js +0 -23
  1067. package/out/service/page/index.js.map +0 -1
  1068. package/out/service/page/lifecycle.d.ts +0 -28
  1069. package/out/service/page/lifecycle.js +0 -23
  1070. package/out/service/page/lifecycle.js.map +0 -1
  1071. package/out/service/page/templates.d.ts +0 -14
  1072. package/out/service/page/templates.js +0 -70
  1073. package/out/service/page/templates.js.map +0 -1
  1074. package/out/service/page/view.d.ts +0 -130
  1075. package/out/service/page/view.js +0 -116
  1076. package/out/service/page/view.js.map +0 -1
  1077. package/out/service/permission/api.d.ts +0 -57
  1078. package/out/service/permission/api.js +0 -41
  1079. package/out/service/permission/api.js.map +0 -1
  1080. package/out/service/permission/index.d.ts +0 -2
  1081. package/out/service/permission/index.js +0 -17
  1082. package/out/service/permission/index.js.map +0 -1
  1083. package/out/service/process/api.d.ts +0 -136
  1084. package/out/service/process/api.js +0 -95
  1085. package/out/service/process/api.js.map +0 -1
  1086. package/out/service/process/index.d.ts +0 -2
  1087. package/out/service/process/index.js +0 -10
  1088. package/out/service/process/index.js.map +0 -1
  1089. package/out/service/undoredo/api.d.ts +0 -36
  1090. package/out/service/undoredo/api.js +0 -29
  1091. package/out/service/undoredo/api.js.map +0 -1
  1092. package/out/service/undoredo/index.d.ts +0 -2
  1093. package/out/service/undoredo/index.js +0 -10
  1094. package/out/service/undoredo/index.js.map +0 -1
  1095. package/out/service/webFile/api.d.ts +0 -45
  1096. package/out/service/webFile/api.js +0 -35
  1097. package/out/service/webFile/api.js.map +0 -1
  1098. package/out/service/webFile/index.d.ts +0 -3
  1099. package/out/service/webFile/index.js +0 -32
  1100. package/out/service/webFile/index.js.map +0 -1
  1101. package/out/service/webFile/loadCache.d.ts +0 -18
  1102. package/out/service/webFile/loadCache.js +0 -17
  1103. package/out/service/webFile/loadCache.js.map +0 -1
  1104. package/out/test/units/app/App.spec.js +0 -17
  1105. package/out/test/units/app/App.spec.js.map +0 -1
  1106. package/out/test/units/app/Service.spec.js +0 -24
  1107. package/out/test/units/app/Service.spec.js.map +0 -1
  1108. package/out/types/app/App.d.ts +0 -151
  1109. package/out/types/app/App.js +0 -385
  1110. package/out/types/app/App.js.map +0 -1
  1111. package/out/types/app/History.d.ts +0 -36
  1112. package/out/types/app/History.js +0 -366
  1113. package/out/types/app/History.js.map +0 -1
  1114. package/out/types/app/Service.d.ts +0 -251
  1115. package/out/types/app/Service.js +0 -955
  1116. package/out/types/app/Service.js.map +0 -1
  1117. package/out/types/cache.d.ts +0 -6
  1118. package/out/types/cache.js +0 -54
  1119. package/out/types/cache.js.map +0 -1
  1120. package/out/types/cacheData.d.ts +0 -4
  1121. package/out/types/cacheData.js +0 -34
  1122. package/out/types/cacheData.js.map +0 -1
  1123. package/out/types/common/ComponentAPI.js.map +0 -1
  1124. package/out/types/common/EventEmitter.d.ts +0 -29
  1125. package/out/types/common/EventEmitter.js +0 -66
  1126. package/out/types/common/EventEmitter.js.map +0 -1
  1127. package/out/types/common/PackageJSON.d.ts +0 -32
  1128. package/out/types/common/PackageJSON.js +0 -3
  1129. package/out/types/common/PackageJSON.js.map +0 -1
  1130. package/out/types/common/Vertex.d.ts +0 -150
  1131. package/out/types/common/Vertex.js +0 -324
  1132. package/out/types/common/Vertex.js.map +0 -1
  1133. package/out/types/config.d.ts +0 -25
  1134. package/out/types/config.js +0 -23
  1135. package/out/types/config.js.map +0 -1
  1136. package/out/types/data/DataNode.d.ts +0 -24
  1137. package/out/types/data/DataNode.js +0 -52
  1138. package/out/types/data/DataNode.js.map +0 -1
  1139. package/out/types/data/Entity.d.ts +0 -143
  1140. package/out/types/data/Entity.js +0 -582
  1141. package/out/types/data/Entity.js.map +0 -1
  1142. package/out/types/data/EntityIndex.d.ts +0 -87
  1143. package/out/types/data/EntityIndex.js +0 -262
  1144. package/out/types/data/EntityIndex.js.map +0 -1
  1145. package/out/types/data/EntityProperty.d.ts +0 -200
  1146. package/out/types/data/EntityProperty.js +0 -591
  1147. package/out/types/data/EntityProperty.js.map +0 -1
  1148. package/out/types/data/Enum.d.ts +0 -101
  1149. package/out/types/data/Enum.js +0 -274
  1150. package/out/types/data/Enum.js.map +0 -1
  1151. package/out/types/data/EnumItem.d.ts +0 -57
  1152. package/out/types/data/EnumItem.js +0 -170
  1153. package/out/types/data/EnumItem.js.map +0 -1
  1154. package/out/types/data/GlobalLogicNode.d.ts +0 -44
  1155. package/out/types/data/GlobalLogicNode.js +0 -201
  1156. package/out/types/data/GlobalLogicNode.js.map +0 -1
  1157. package/out/types/data/Interface.d.ts +0 -153
  1158. package/out/types/data/Interface.js +0 -483
  1159. package/out/types/data/Interface.js.map +0 -1
  1160. package/out/types/data/Module.d.ts +0 -34
  1161. package/out/types/data/Module.js +0 -53
  1162. package/out/types/data/Module.js.map +0 -1
  1163. package/out/types/data/Schema.d.ts +0 -121
  1164. package/out/types/data/Schema.js +0 -3
  1165. package/out/types/data/Schema.js.map +0 -1
  1166. package/out/types/data/Structure.d.ts +0 -112
  1167. package/out/types/data/Structure.js +0 -338
  1168. package/out/types/data/Structure.js.map +0 -1
  1169. package/out/types/data/StructureProperty.d.ts +0 -134
  1170. package/out/types/data/StructureProperty.js +0 -380
  1171. package/out/types/data/StructureProperty.js.map +0 -1
  1172. package/out/types/data/basicTypes.d.ts +0 -25
  1173. package/out/types/data/basicTypes.js +0 -77
  1174. package/out/types/data/basicTypes.js.map +0 -1
  1175. package/out/types/data/dataTypeUtils.d.ts +0 -94
  1176. package/out/types/data/dataTypeUtils.js +0 -441
  1177. package/out/types/data/dataTypeUtils.js.map +0 -1
  1178. package/out/types/data/dataTypes.d.ts +0 -21
  1179. package/out/types/data/dataTypes.js +0 -81
  1180. package/out/types/data/dataTypes.js.map +0 -1
  1181. package/out/types/data/entityUtils.d.ts +0 -164
  1182. package/out/types/data/entityUtils.js +0 -632
  1183. package/out/types/data/entityUtils.js.map +0 -1
  1184. package/out/types/data/genBlock/builtInFunctions.json +0 -560
  1185. package/out/types/data/genBlock/genCallComponentLogic.d.ts +0 -20
  1186. package/out/types/data/genBlock/genCallComponentLogic.js +0 -32
  1187. package/out/types/data/genBlock/genCallComponentLogic.js.map +0 -1
  1188. package/out/types/data/genBlock/genCallInterface.d.ts +0 -41
  1189. package/out/types/data/genBlock/genCallInterface.js +0 -86
  1190. package/out/types/data/genBlock/genCallInterface.js.map +0 -1
  1191. package/out/types/data/genBlock/genCreateBlock.d.ts +0 -10
  1192. package/out/types/data/genBlock/genCreateBlock.js +0 -312
  1193. package/out/types/data/genBlock/genCreateBlock.js.map +0 -1
  1194. package/out/types/data/genBlock/genCurdBlock.d.ts +0 -4
  1195. package/out/types/data/genBlock/genCurdBlock.js +0 -648
  1196. package/out/types/data/genBlock/genCurdBlock.js.map +0 -1
  1197. package/out/types/data/genBlock/genCurdEditMultipleKeyBlock.d.ts +0 -7
  1198. package/out/types/data/genBlock/genCurdEditMultipleKeyBlock.js +0 -470
  1199. package/out/types/data/genBlock/genCurdEditMultipleKeyBlock.js.map +0 -1
  1200. package/out/types/data/genBlock/genCurdEditTableBlock.d.ts +0 -3
  1201. package/out/types/data/genBlock/genCurdEditTableBlock.js +0 -578
  1202. package/out/types/data/genBlock/genCurdEditTableBlock.js.map +0 -1
  1203. package/out/types/data/genBlock/genCurdMultipleKeyBlock.d.ts +0 -9
  1204. package/out/types/data/genBlock/genCurdMultipleKeyBlock.js +0 -662
  1205. package/out/types/data/genBlock/genCurdMultipleKeyBlock.js.map +0 -1
  1206. package/out/types/data/genBlock/genEditTableBlock.d.ts +0 -234
  1207. package/out/types/data/genBlock/genEditTableBlock.js +0 -419
  1208. package/out/types/data/genBlock/genEditTableBlock.js.map +0 -1
  1209. package/out/types/data/genBlock/genEnumSelectBlock.d.ts +0 -10
  1210. package/out/types/data/genBlock/genEnumSelectBlock.js +0 -23
  1211. package/out/types/data/genBlock/genEnumSelectBlock.js.map +0 -1
  1212. package/out/types/data/genBlock/genGetBlock.d.ts +0 -6
  1213. package/out/types/data/genBlock/genGetBlock.js +0 -151
  1214. package/out/types/data/genBlock/genGetBlock.js.map +0 -1
  1215. package/out/types/data/genBlock/genGridViewBlock.d.ts +0 -139
  1216. package/out/types/data/genBlock/genGridViewBlock.js +0 -367
  1217. package/out/types/data/genBlock/genGridViewBlock.js.map +0 -1
  1218. package/out/types/data/genBlock/genListViewBlock.d.ts +0 -63
  1219. package/out/types/data/genBlock/genListViewBlock.js +0 -110
  1220. package/out/types/data/genBlock/genListViewBlock.js.map +0 -1
  1221. package/out/types/data/genBlock/genQueryComponent.d.ts +0 -336
  1222. package/out/types/data/genBlock/genQueryComponent.js +0 -526
  1223. package/out/types/data/genBlock/genQueryComponent.js.map +0 -1
  1224. package/out/types/data/genBlock/genSelectBlock.d.ts +0 -63
  1225. package/out/types/data/genBlock/genSelectBlock.js +0 -107
  1226. package/out/types/data/genBlock/genSelectBlock.js.map +0 -1
  1227. package/out/types/data/genBlock/genTableBlock.d.ts +0 -136
  1228. package/out/types/data/genBlock/genTableBlock.js +0 -270
  1229. package/out/types/data/genBlock/genTableBlock.js.map +0 -1
  1230. package/out/types/data/genBlock/genUpdateBlock.d.ts +0 -6
  1231. package/out/types/data/genBlock/genUpdateBlock.js +0 -383
  1232. package/out/types/data/genBlock/genUpdateBlock.js.map +0 -1
  1233. package/out/types/data/genBlock/index.d.ts +0 -17
  1234. package/out/types/data/genBlock/index.js +0 -31
  1235. package/out/types/data/genBlock/index.js.map +0 -1
  1236. package/out/types/data/genBlock/utils.d.ts +0 -99
  1237. package/out/types/data/genBlock/utils.js +0 -224
  1238. package/out/types/data/genBlock/utils.js.map +0 -1
  1239. package/out/types/data/genericTypes.d.ts +0 -40
  1240. package/out/types/data/genericTypes.js +0 -149
  1241. package/out/types/data/genericTypes.js.map +0 -1
  1242. package/out/types/data/systemTypes.d.ts +0 -9
  1243. package/out/types/data/systemTypes.js +0 -1636
  1244. package/out/types/data/systemTypes.js.map +0 -1
  1245. package/out/types/decorators/index.d.ts +0 -25
  1246. package/out/types/decorators/index.js +0 -57
  1247. package/out/types/decorators/index.js.map +0 -1
  1248. package/out/types/enum.d.ts +0 -6
  1249. package/out/types/enum.js +0 -11
  1250. package/out/types/enum.js.map +0 -1
  1251. package/out/types/eventBus.js +0 -5
  1252. package/out/types/eventBus.js.map +0 -1
  1253. package/out/types/generator/data.d.ts +0 -36
  1254. package/out/types/generator/data.js +0 -201
  1255. package/out/types/generator/data.js.map +0 -1
  1256. package/out/types/generator/hotReload.d.ts +0 -14
  1257. package/out/types/generator/hotReload.js +0 -50
  1258. package/out/types/generator/hotReload.js.map +0 -1
  1259. package/out/types/generator/index.d.ts +0 -4
  1260. package/out/types/generator/index.js +0 -17
  1261. package/out/types/generator/index.js.map +0 -1
  1262. package/out/types/generator/load.d.ts +0 -8
  1263. package/out/types/generator/load.js +0 -92
  1264. package/out/types/generator/load.js.map +0 -1
  1265. package/out/types/generator/page.d.ts +0 -11
  1266. package/out/types/generator/page.js +0 -42
  1267. package/out/types/generator/page.js.map +0 -1
  1268. package/out/types/history.d.ts +0 -10
  1269. package/out/types/history.js +0 -13
  1270. package/out/types/history.js.map +0 -1
  1271. package/out/types/index.d.ts +0 -148
  1272. package/out/types/index.js +0 -230
  1273. package/out/types/index.js.map +0 -1
  1274. package/out/types/logic/BaseVariable.d.ts +0 -75
  1275. package/out/types/logic/BaseVariable.js +0 -159
  1276. package/out/types/logic/BaseVariable.js.map +0 -1
  1277. package/out/types/logic/CallInterface.js +0 -9
  1278. package/out/types/logic/CallInterface.js.map +0 -1
  1279. package/out/types/logic/Logic.d.ts +0 -204
  1280. package/out/types/logic/Logic.js +0 -643
  1281. package/out/types/logic/Logic.js.map +0 -1
  1282. package/out/types/logic/LogicItem.d.ts +0 -321
  1283. package/out/types/logic/LogicItem.js +0 -1360
  1284. package/out/types/logic/LogicItem.js.map +0 -1
  1285. package/out/types/logic/Param.d.ts +0 -86
  1286. package/out/types/logic/Param.js +0 -367
  1287. package/out/types/logic/Param.js.map +0 -1
  1288. package/out/types/logic/Return.d.ts +0 -73
  1289. package/out/types/logic/Return.js +0 -313
  1290. package/out/types/logic/Return.js.map +0 -1
  1291. package/out/types/logic/Variable.d.ts +0 -72
  1292. package/out/types/logic/Variable.js +0 -309
  1293. package/out/types/logic/Variable.js.map +0 -1
  1294. package/out/types/logic/expressions/BinaryExpression.d.ts +0 -27
  1295. package/out/types/logic/expressions/BinaryExpression.js +0 -56
  1296. package/out/types/logic/expressions/BinaryExpression.js.map +0 -1
  1297. package/out/types/logic/expressions/BooleanLiteral.d.ts +0 -19
  1298. package/out/types/logic/expressions/BooleanLiteral.js +0 -42
  1299. package/out/types/logic/expressions/BooleanLiteral.js.map +0 -1
  1300. package/out/types/logic/expressions/Identifier.d.ts +0 -28
  1301. package/out/types/logic/expressions/Identifier.js +0 -57
  1302. package/out/types/logic/expressions/Identifier.js.map +0 -1
  1303. package/out/types/logic/expressions/LogicalExpression.d.ts +0 -27
  1304. package/out/types/logic/expressions/LogicalExpression.js +0 -56
  1305. package/out/types/logic/expressions/LogicalExpression.js.map +0 -1
  1306. package/out/types/logic/expressions/MemberExpression.d.ts +0 -23
  1307. package/out/types/logic/expressions/MemberExpression.js +0 -52
  1308. package/out/types/logic/expressions/MemberExpression.js.map +0 -1
  1309. package/out/types/logic/expressions/NullLiteral.d.ts +0 -15
  1310. package/out/types/logic/expressions/NullLiteral.js +0 -35
  1311. package/out/types/logic/expressions/NullLiteral.js.map +0 -1
  1312. package/out/types/logic/expressions/NumericLiteral.d.ts +0 -19
  1313. package/out/types/logic/expressions/NumericLiteral.js +0 -42
  1314. package/out/types/logic/expressions/NumericLiteral.js.map +0 -1
  1315. package/out/types/logic/expressions/StringLiteral.d.ts +0 -19
  1316. package/out/types/logic/expressions/StringLiteral.js +0 -42
  1317. package/out/types/logic/expressions/StringLiteral.js.map +0 -1
  1318. package/out/types/logic/expressions/UnaryExpression.d.ts +0 -23
  1319. package/out/types/logic/expressions/UnaryExpression.js +0 -49
  1320. package/out/types/logic/expressions/UnaryExpression.js.map +0 -1
  1321. package/out/types/logic/expressions/Unparsed.d.ts +0 -19
  1322. package/out/types/logic/expressions/Unparsed.js +0 -42
  1323. package/out/types/logic/expressions/Unparsed.js.map +0 -1
  1324. package/out/types/logic/nodes/AssignmentExpression.d.ts +0 -23
  1325. package/out/types/logic/nodes/AssignmentExpression.js +0 -49
  1326. package/out/types/logic/nodes/AssignmentExpression.js.map +0 -1
  1327. package/out/types/logic/nodes/BuiltInFuncParam.d.ts +0 -27
  1328. package/out/types/logic/nodes/BuiltInFuncParam.js +0 -56
  1329. package/out/types/logic/nodes/BuiltInFuncParam.js.map +0 -1
  1330. package/out/types/logic/nodes/BuiltInFunction.d.ts +0 -24
  1331. package/out/types/logic/nodes/BuiltInFunction.js +0 -55
  1332. package/out/types/logic/nodes/BuiltInFunction.js.map +0 -1
  1333. package/out/types/logic/nodes/CallConsoleLog.d.ts +0 -19
  1334. package/out/types/logic/nodes/CallConsoleLog.js +0 -42
  1335. package/out/types/logic/nodes/CallConsoleLog.js.map +0 -1
  1336. package/out/types/logic/nodes/CallGraphQL.d.ts +0 -28
  1337. package/out/types/logic/nodes/CallGraphQL.js +0 -56
  1338. package/out/types/logic/nodes/CallGraphQL.js.map +0 -1
  1339. package/out/types/logic/nodes/CallInterParam.d.ts +0 -23
  1340. package/out/types/logic/nodes/CallInterParam.js +0 -49
  1341. package/out/types/logic/nodes/CallInterParam.js.map +0 -1
  1342. package/out/types/logic/nodes/CallInterface.d.ts +0 -24
  1343. package/out/types/logic/nodes/CallInterface.js +0 -49
  1344. package/out/types/logic/nodes/CallInterface.js.map +0 -1
  1345. package/out/types/logic/nodes/CallLogic.d.ts +0 -24
  1346. package/out/types/logic/nodes/CallLogic.js +0 -55
  1347. package/out/types/logic/nodes/CallLogic.js.map +0 -1
  1348. package/out/types/logic/nodes/CallMessageShow.d.ts +0 -27
  1349. package/out/types/logic/nodes/CallMessageShow.js +0 -56
  1350. package/out/types/logic/nodes/CallMessageShow.js.map +0 -1
  1351. package/out/types/logic/nodes/Comment.d.ts +0 -19
  1352. package/out/types/logic/nodes/Comment.js +0 -42
  1353. package/out/types/logic/nodes/Comment.js.map +0 -1
  1354. package/out/types/logic/nodes/CronJob.d.ts +0 -19
  1355. package/out/types/logic/nodes/CronJob.js +0 -42
  1356. package/out/types/logic/nodes/CronJob.js.map +0 -1
  1357. package/out/types/logic/nodes/DBQuery.d.ts +0 -19
  1358. package/out/types/logic/nodes/DBQuery.js +0 -42
  1359. package/out/types/logic/nodes/DBQuery.js.map +0 -1
  1360. package/out/types/logic/nodes/Destination.d.ts +0 -32
  1361. package/out/types/logic/nodes/Destination.js +0 -73
  1362. package/out/types/logic/nodes/Destination.js.map +0 -1
  1363. package/out/types/logic/nodes/DestinationParam.d.ts +0 -24
  1364. package/out/types/logic/nodes/DestinationParam.js +0 -49
  1365. package/out/types/logic/nodes/DestinationParam.js.map +0 -1
  1366. package/out/types/logic/nodes/End.d.ts +0 -15
  1367. package/out/types/logic/nodes/End.js +0 -36
  1368. package/out/types/logic/nodes/End.js.map +0 -1
  1369. package/out/types/logic/nodes/ForEachStatement.d.ts +0 -40
  1370. package/out/types/logic/nodes/ForEachStatement.js +0 -77
  1371. package/out/types/logic/nodes/ForEachStatement.js.map +0 -1
  1372. package/out/types/logic/nodes/IfStatement.d.ts +0 -27
  1373. package/out/types/logic/nodes/IfStatement.js +0 -56
  1374. package/out/types/logic/nodes/IfStatement.js.map +0 -1
  1375. package/out/types/logic/nodes/JSBlock.d.ts +0 -19
  1376. package/out/types/logic/nodes/JSBlock.js +0 -46
  1377. package/out/types/logic/nodes/JSBlock.js.map +0 -1
  1378. package/out/types/logic/nodes/JSONDeserialize.d.ts +0 -19
  1379. package/out/types/logic/nodes/JSONDeserialize.js +0 -42
  1380. package/out/types/logic/nodes/JSONDeserialize.js.map +0 -1
  1381. package/out/types/logic/nodes/JSONSerialize.d.ts +0 -19
  1382. package/out/types/logic/nodes/JSONSerialize.js +0 -42
  1383. package/out/types/logic/nodes/JSONSerialize.js.map +0 -1
  1384. package/out/types/logic/nodes/ProcessOutcome.d.ts +0 -27
  1385. package/out/types/logic/nodes/ProcessOutcome.js +0 -56
  1386. package/out/types/logic/nodes/ProcessOutcome.js.map +0 -1
  1387. package/out/types/logic/nodes/Start.d.ts +0 -15
  1388. package/out/types/logic/nodes/Start.js +0 -35
  1389. package/out/types/logic/nodes/Start.js.map +0 -1
  1390. package/out/types/logic/nodes/SwitchCase.d.ts +0 -23
  1391. package/out/types/logic/nodes/SwitchCase.js +0 -49
  1392. package/out/types/logic/nodes/SwitchCase.js.map +0 -1
  1393. package/out/types/logic/nodes/SwitchStatement.d.ts +0 -20
  1394. package/out/types/logic/nodes/SwitchStatement.js +0 -42
  1395. package/out/types/logic/nodes/SwitchStatement.js.map +0 -1
  1396. package/out/types/logic/nodes/TypeNote.d.ts +0 -19
  1397. package/out/types/logic/nodes/TypeNote.js +0 -42
  1398. package/out/types/logic/nodes/TypeNote.js.map +0 -1
  1399. package/out/types/logic/nodes/WhileStatement.d.ts +0 -23
  1400. package/out/types/logic/nodes/WhileStatement.js +0 -49
  1401. package/out/types/logic/nodes/WhileStatement.js.map +0 -1
  1402. package/out/types/logic/tools.d.ts +0 -15
  1403. package/out/types/logic/tools.js +0 -164
  1404. package/out/types/logic/tools.js.map +0 -1
  1405. package/out/types/logic/translator.d.ts +0 -1
  1406. package/out/types/logic/translator.js +0 -647
  1407. package/out/types/logic/translator.js.map +0 -1
  1408. package/out/types/login.d.ts +0 -7
  1409. package/out/types/login.js +0 -39
  1410. package/out/types/login.js.map +0 -1
  1411. package/out/types/nuims/Nuims.d.ts +0 -128
  1412. package/out/types/nuims/Nuims.js +0 -446
  1413. package/out/types/nuims/Nuims.js.map +0 -1
  1414. package/out/types/page/Attr.d.ts +0 -79
  1415. package/out/types/page/Attr.js +0 -217
  1416. package/out/types/page/Attr.js.map +0 -1
  1417. package/out/types/page/Block.d.ts +0 -65
  1418. package/out/types/page/Block.js +0 -82
  1419. package/out/types/page/Block.js.map +0 -1
  1420. package/out/types/page/Directive.d.ts +0 -78
  1421. package/out/types/page/Directive.js +0 -202
  1422. package/out/types/page/Directive.js.map +0 -1
  1423. package/out/types/page/Element.d.ts +0 -266
  1424. package/out/types/page/Element.js +0 -1430
  1425. package/out/types/page/Element.js.map +0 -1
  1426. package/out/types/page/Event.d.ts +0 -63
  1427. package/out/types/page/Event.js +0 -212
  1428. package/out/types/page/Event.js.map +0 -1
  1429. package/out/types/page/Lifecycle.d.ts +0 -58
  1430. package/out/types/page/Lifecycle.js +0 -192
  1431. package/out/types/page/Lifecycle.js.map +0 -1
  1432. package/out/types/page/Page.d.ts +0 -95
  1433. package/out/types/page/Page.js +0 -428
  1434. package/out/types/page/Page.js.map +0 -1
  1435. package/out/types/page/View.d.ts +0 -257
  1436. package/out/types/page/View.js +0 -1218
  1437. package/out/types/page/View.js.map +0 -1
  1438. package/out/types/page/ViewParam.d.ts +0 -73
  1439. package/out/types/page/ViewParam.js +0 -296
  1440. package/out/types/page/ViewParam.js.map +0 -1
  1441. package/out/types/page/ViewVariable.d.ts +0 -73
  1442. package/out/types/page/ViewVariable.js +0 -276
  1443. package/out/types/page/ViewVariable.js.map +0 -1
  1444. package/out/types/permission/Permission.d.ts +0 -41
  1445. package/out/types/permission/Permission.js +0 -122
  1446. package/out/types/permission/Permission.js.map +0 -1
  1447. package/out/types/process/Process.d.ts +0 -118
  1448. package/out/types/process/Process.js +0 -357
  1449. package/out/types/process/Process.js.map +0 -1
  1450. package/out/types/process/ProcessComponent.d.ts +0 -133
  1451. package/out/types/process/ProcessComponent.js +0 -339
  1452. package/out/types/process/ProcessComponent.js.map +0 -1
  1453. package/out/types/process/ProcessComponentAttribute.d.ts +0 -63
  1454. package/out/types/process/ProcessComponentAttribute.js +0 -163
  1455. package/out/types/process/ProcessComponentAttribute.js.map +0 -1
  1456. package/out/types/process/ProcessComponentProperty.d.ts +0 -37
  1457. package/out/types/process/ProcessComponentProperty.js +0 -81
  1458. package/out/types/process/ProcessComponentProperty.js.map +0 -1
  1459. package/out/types/process/ProcessComponentReturn.d.ts +0 -77
  1460. package/out/types/process/ProcessComponentReturn.js +0 -260
  1461. package/out/types/process/ProcessComponentReturn.js.map +0 -1
  1462. package/out/types/process/ProcessComponentVariable.d.ts +0 -78
  1463. package/out/types/process/ProcessComponentVariable.js +0 -252
  1464. package/out/types/process/ProcessComponentVariable.js.map +0 -1
  1465. package/out/types/process/ProcessInterface.d.ts +0 -112
  1466. package/out/types/process/ProcessInterface.js +0 -227
  1467. package/out/types/process/ProcessInterface.js.map +0 -1
  1468. package/out/types/process/ProcessParam.d.ts +0 -77
  1469. package/out/types/process/ProcessParam.js +0 -261
  1470. package/out/types/process/ProcessParam.js.map +0 -1
  1471. package/out/types/process/ProcessProperty.d.ts +0 -37
  1472. package/out/types/process/ProcessProperty.js +0 -81
  1473. package/out/types/process/ProcessProperty.js.map +0 -1
  1474. package/out/types/process/ProcessReturn.d.ts +0 -73
  1475. package/out/types/process/ProcessReturn.js +0 -237
  1476. package/out/types/process/ProcessReturn.js.map +0 -1
  1477. package/out/types/typeCheck.d.ts +0 -30
  1478. package/out/types/typeCheck.js +0 -91
  1479. package/out/types/typeCheck.js.map +0 -1
  1480. package/out/types/utils/index.d.ts +0 -26
  1481. package/out/types/utils/index.js +0 -90
  1482. package/out/types/utils/index.js.map +0 -1
  1483. package/out/types/utils/logger.js +0 -14
  1484. package/out/types/utils/logger.js.map +0 -1
  1485. package/out/types/utils/string.d.ts +0 -34
  1486. package/out/types/utils/string.js +0 -62
  1487. package/out/types/utils/string.js.map +0 -1
  1488. package/out/types/utils/traverse.d.ts +0 -35
  1489. package/out/types/utils/traverse.js +0 -126
  1490. package/out/types/utils/traverse.js.map +0 -1
  1491. package/spec/conceptMap.json +0 -3310
  1492. package/spec/spec.yaml +0 -416
  1493. package/spec-build/index.ts +0 -98
  1494. package/src/routes.map.js +0 -5
  1495. package/src/service/common/findUsage.js +0 -8
  1496. package/src/service/common/index.js +0 -6
  1497. package/src/service/common/preprocess.js +0 -54
  1498. package/src/service/common/schema.js +0 -9
  1499. package/src/service/create/index.js +0 -80
  1500. package/src/service/data/api.js +0 -33
  1501. package/src/service/data/entity.js +0 -101
  1502. package/src/service/data/enum.js +0 -53
  1503. package/src/service/data/enumProperty.js +0 -20
  1504. package/src/service/data/generic.js +0 -8
  1505. package/src/service/data/index.js +0 -18
  1506. package/src/service/data/interface.js +0 -56
  1507. package/src/service/data/structure.js +0 -75
  1508. package/src/service/developPermission/api.js +0 -37
  1509. package/src/service/developPermission/index.js +0 -13
  1510. package/src/service/logic/index.js +0 -14
  1511. package/src/service/logic/logic.js +0 -121
  1512. package/src/service/logic/param.js +0 -26
  1513. package/src/service/nuims/api.js +0 -192
  1514. package/src/service/nuims/index.js +0 -13
  1515. package/src/service/page/api.js +0 -1374
  1516. package/src/service/page/attribute.js +0 -20
  1517. package/src/service/page/directive.js +0 -20
  1518. package/src/service/page/element.js +0 -40
  1519. package/src/service/page/event.js +0 -20
  1520. package/src/service/page/index.js +0 -19
  1521. package/src/service/page/lifecycle.js +0 -20
  1522. package/src/service/page/templates.ts +0 -72
  1523. package/src/service/page/view.js +0 -116
  1524. package/src/service/permission/api.js +0 -38
  1525. package/src/service/permission/index.js +0 -13
  1526. package/src/service/process/api.js +0 -92
  1527. package/src/service/process/index.js +0 -6
  1528. package/src/service/undoredo/api.js +0 -26
  1529. package/src/service/undoredo/index.js +0 -6
  1530. package/src/service/webFile/api.js +0 -32
  1531. package/src/service/webFile/index.d.tmp +0 -62
  1532. package/src/service/webFile/index.js +0 -28
  1533. package/src/service/webFile/loadCache.js +0 -14
  1534. package/src/test/units/app/App.spec.ts +0 -16
  1535. package/src/test/units/app/Service.spec.ts +0 -31
  1536. package/src/types/app/App.ts +0 -349
  1537. package/src/types/app/History.ts +0 -389
  1538. package/src/types/app/Service.ts +0 -1036
  1539. package/src/types/cache.ts +0 -50
  1540. package/src/types/cacheData.ts +0 -33
  1541. package/src/types/common/ComponentAPI.ts +0 -103
  1542. package/src/types/common/EventEmitter.ts +0 -56
  1543. package/src/types/common/PackageJSON.ts +0 -22
  1544. package/src/types/common/Vertex.ts +0 -296
  1545. package/src/types/config.ts +0 -23
  1546. package/src/types/data/DataNode.ts +0 -37
  1547. package/src/types/data/Entity.ts +0 -563
  1548. package/src/types/data/EntityIndex.ts +0 -238
  1549. package/src/types/data/EntityProperty.ts +0 -524
  1550. package/src/types/data/Enum.ts +0 -245
  1551. package/src/types/data/EnumItem.ts +0 -156
  1552. package/src/types/data/GlobalLogicNode.ts +0 -208
  1553. package/src/types/data/Interface.ts +0 -438
  1554. package/src/types/data/Module.ts +0 -51
  1555. package/src/types/data/Schema.ts +0 -133
  1556. package/src/types/data/Structure.ts +0 -315
  1557. package/src/types/data/StructureProperty.ts +0 -332
  1558. package/src/types/data/basicTypes.ts +0 -76
  1559. package/src/types/data/dataTypeUtils.ts +0 -426
  1560. package/src/types/data/dataTypes.ts +0 -88
  1561. package/src/types/data/entityUtils.ts +0 -681
  1562. package/src/types/data/genBlock/builtInFunctions.json +0 -560
  1563. package/src/types/data/genBlock/genCallComponentLogic.ts +0 -28
  1564. package/src/types/data/genBlock/genCallInterface.ts +0 -87
  1565. package/src/types/data/genBlock/genCreateBlock.ts +0 -305
  1566. package/src/types/data/genBlock/genCurdEditMultipleKeyBlock.ts +0 -468
  1567. package/src/types/data/genBlock/genCurdMultipleKeyBlock.ts +0 -665
  1568. package/src/types/data/genBlock/genEditTableBlock.ts +0 -470
  1569. package/src/types/data/genBlock/genEnumSelectBlock.ts +0 -21
  1570. package/src/types/data/genBlock/genGetBlock.ts +0 -160
  1571. package/src/types/data/genBlock/genGridViewBlock.ts +0 -410
  1572. package/src/types/data/genBlock/genListViewBlock.ts +0 -130
  1573. package/src/types/data/genBlock/genQueryComponent.ts +0 -548
  1574. package/src/types/data/genBlock/genSelectBlock.ts +0 -124
  1575. package/src/types/data/genBlock/genTableBlock.ts +0 -315
  1576. package/src/types/data/genBlock/genUpdateBlock.ts +0 -389
  1577. package/src/types/data/genBlock/index.ts +0 -20
  1578. package/src/types/data/genBlock/utils.ts +0 -252
  1579. package/src/types/data/genericTypes.ts +0 -151
  1580. package/src/types/data/systemTypes.ts +0 -1635
  1581. package/src/types/decorators/index.ts +0 -52
  1582. package/src/types/enum.ts +0 -6
  1583. package/src/types/generator/data.ts +0 -210
  1584. package/src/types/generator/hotReload.ts +0 -41
  1585. package/src/types/generator/index.ts +0 -4
  1586. package/src/types/generator/load.ts +0 -97
  1587. package/src/types/generator/page.ts +0 -37
  1588. package/src/types/history.ts +0 -14
  1589. package/src/types/index.ts +0 -167
  1590. package/src/types/logic/BaseVariable.ts +0 -130
  1591. package/src/types/logic/Logic.ts +0 -597
  1592. package/src/types/logic/LogicItem.ts +0 -1371
  1593. package/src/types/logic/Param.ts +0 -336
  1594. package/src/types/logic/Return.ts +0 -292
  1595. package/src/types/logic/Variable.ts +0 -288
  1596. package/src/types/logic/expressions/BinaryExpression.ts +0 -35
  1597. package/src/types/logic/expressions/BooleanLiteral.ts +0 -25
  1598. package/src/types/logic/expressions/Identifier.ts +0 -36
  1599. package/src/types/logic/expressions/LogicalExpression.ts +0 -35
  1600. package/src/types/logic/expressions/MemberExpression.ts +0 -33
  1601. package/src/types/logic/expressions/NullLiteral.ts +0 -20
  1602. package/src/types/logic/expressions/NumericLiteral.ts +0 -25
  1603. package/src/types/logic/expressions/StringLiteral.ts +0 -25
  1604. package/src/types/logic/expressions/UnaryExpression.ts +0 -30
  1605. package/src/types/logic/expressions/Unparsed.ts +0 -25
  1606. package/src/types/logic/nodes/AssignmentExpression.ts +0 -30
  1607. package/src/types/logic/nodes/BuiltInFuncParam.ts +0 -35
  1608. package/src/types/logic/nodes/BuiltInFunction.ts +0 -39
  1609. package/src/types/logic/nodes/CallConsoleLog.ts +0 -25
  1610. package/src/types/logic/nodes/CallGraphQL.ts +0 -36
  1611. package/src/types/logic/nodes/CallInterParam.ts +0 -30
  1612. package/src/types/logic/nodes/CallInterface.ts +0 -31
  1613. package/src/types/logic/nodes/CallLogic.ts +0 -39
  1614. package/src/types/logic/nodes/CallMessageShow.ts +0 -35
  1615. package/src/types/logic/nodes/Comment.ts +0 -25
  1616. package/src/types/logic/nodes/CronJob.ts +0 -25
  1617. package/src/types/logic/nodes/DBQuery.ts +0 -25
  1618. package/src/types/logic/nodes/Destination.ts +0 -52
  1619. package/src/types/logic/nodes/DestinationParam.ts +0 -31
  1620. package/src/types/logic/nodes/End.ts +0 -21
  1621. package/src/types/logic/nodes/ForEachStatement.ts +0 -52
  1622. package/src/types/logic/nodes/IfStatement.ts +0 -35
  1623. package/src/types/logic/nodes/JSBlock.ts +0 -29
  1624. package/src/types/logic/nodes/JSONDeserialize.ts +0 -25
  1625. package/src/types/logic/nodes/JSONSerialize.ts +0 -25
  1626. package/src/types/logic/nodes/ProcessOutcome.ts +0 -35
  1627. package/src/types/logic/nodes/Start.ts +0 -20
  1628. package/src/types/logic/nodes/SwitchCase.ts +0 -30
  1629. package/src/types/logic/nodes/SwitchStatement.ts +0 -26
  1630. package/src/types/logic/nodes/TypeNote.ts +0 -25
  1631. package/src/types/logic/nodes/WhileStatement.ts +0 -30
  1632. package/src/types/logic/tools.js +0 -170
  1633. package/src/types/logic/translator.js +0 -684
  1634. package/src/types/logic/translator_backup.js +0 -632
  1635. package/src/types/login.ts +0 -36
  1636. package/src/types/nuims/Nuims.ts +0 -499
  1637. package/src/types/page/Attr.ts +0 -217
  1638. package/src/types/page/Block.ts +0 -103
  1639. package/src/types/page/Directive.ts +0 -208
  1640. package/src/types/page/Element.ts +0 -1444
  1641. package/src/types/page/Event.ts +0 -188
  1642. package/src/types/page/Lifecycle.ts +0 -172
  1643. package/src/types/page/Page.ts +0 -417
  1644. package/src/types/page/View.ts +0 -1250
  1645. package/src/types/page/ViewParam.ts +0 -284
  1646. package/src/types/page/ViewVariable.ts +0 -264
  1647. package/src/types/page/dist/View.js +0 -727
  1648. package/src/types/permission/Permission.ts +0 -112
  1649. package/src/types/process/Process.ts +0 -306
  1650. package/src/types/process/ProcessComponent.ts +0 -276
  1651. package/src/types/process/ProcessComponentAttribute.ts +0 -131
  1652. package/src/types/process/ProcessComponentProperty.ts +0 -68
  1653. package/src/types/process/ProcessComponentReturn.ts +0 -235
  1654. package/src/types/process/ProcessComponentVariable.ts +0 -225
  1655. package/src/types/process/ProcessInterface.ts +0 -175
  1656. package/src/types/process/ProcessParam.ts +0 -237
  1657. package/src/types/process/ProcessProperty.ts +0 -69
  1658. package/src/types/process/ProcessReturn.ts +0 -210
  1659. package/src/types/typeCheck.ts +0 -120
  1660. package/src/types/utils/index.ts +0 -91
  1661. package/src/types/utils/logger.ts +0 -8
  1662. package/src/types/utils/string.ts +0 -56
  1663. package/src/types/utils/traverse.ts +0 -160
  1664. package/src/views/components/lcap-json-view/README.md +0 -80
  1665. package/src/views/components/lcap-json-view/index.js +0 -9
  1666. package/src/views/components/lcap-json-view/index.vue +0 -61
  1667. package/src/views/components/lcap-json-view/node.vue +0 -328
  1668. package/src/views/components/lcap-json-view/utils.js +0 -41
  1669. package/src/views/examples/index.vue +0 -44
  1670. package/src/views/examples/logic.json +0 -1576
  1671. package/src/views/index.vue +0 -28
  1672. package/src/views/specification/README.md +0 -10
  1673. package/src/views/specification/conceptTree.js +0 -1179
  1674. package/src/views/specification/index.vue +0 -255
  1675. package/src/views/theme.css +0 -138
@@ -0,0 +1,1686 @@
1
+ import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
2
+ import Role from './Role__';
3
+
4
+ import * as babelParser from '@babel/parser';
5
+ import * as json5 from 'json5';
6
+ import * as compiler from 'vue-template-compiler';
7
+
8
+ import LogicItem from './LogicItem__';
9
+
10
+ import { config } from '..';
11
+
12
+ export interface ParseContext {
13
+ [key: string]: any;
14
+ }
15
+
16
+ function genArgumentMemberExpression(arr: string[]) {
17
+ let expressionNode: any;
18
+ const propertyName = arr.pop();
19
+ if (arr.length >= 1) {
20
+ expressionNode = {
21
+ concept: 'MemberExpression',
22
+ name: '',
23
+ kind: 'Expression',
24
+ object: genArgumentMemberExpression(arr),
25
+ property: {
26
+ concept: 'Identifier',
27
+ kind: 'Expression',
28
+ name: propertyName,
29
+ },
30
+ };
31
+ } else {
32
+ return {
33
+ concept: 'Identifier',
34
+ kind: 'Expression',
35
+ name: propertyName,
36
+ };
37
+ }
38
+ return expressionNode;
39
+ }
40
+ export interface ElementToVueOptions {
41
+ indentStyle?: 'space' | 'tab';
42
+ tabSize?: number;
43
+ indentLevel?: number;
44
+ aslIdAttr?: string | boolean;
45
+ nodePathAttr?: string | boolean;
46
+ getExtraParts?: (element?: ViewElement) => Array<string>;
47
+ attrFormat?: (attr: BindAttribute | BindEvent | BindDirective, element?: ViewElement, defaultResult?: string) => string | false;
48
+ finalCode?: boolean;
49
+ }
50
+
51
+ function transAstNodeToNaslNode(astNode: any): any {
52
+ let node = null;
53
+ if (astNode.type === 'CallExpression' && astNode.callee.object.name === '$utils') {
54
+ const calleeName = astNode.callee.property.name || astNode.callee.property.value;
55
+ node = {
56
+ concept: 'CallFunction',
57
+ name: '',
58
+ label: '调用逻辑',
59
+ kind: 'Expression',
60
+ calleeNamespace: 'nasl.util',
61
+ calleeName,
62
+ arguments: astNode.arguments.map((argument: any) => ({
63
+ concept: 'Argument',
64
+ name: '',
65
+ kind: 'Statement',
66
+ keyword: '',
67
+ expression: transAstNodeToNaslNode(Object.assign({}, argument)),
68
+ })),
69
+ };
70
+ } else if (astNode.type === 'MemberExpression') {
71
+ node = {
72
+ concept: 'MemberExpression',
73
+ name: '',
74
+ kind: 'Expression',
75
+ object: transAstNodeToNaslNode(astNode.object),
76
+ property: transAstNodeToNaslNode(astNode.property),
77
+ };
78
+ } else if (astNode.type === 'Identifier') {
79
+ node = {
80
+ concept: 'Identifier',
81
+ name: astNode.name,
82
+ kind: 'Expression',
83
+ };
84
+ } else if (astNode.type === 'ArrayExpression' || astNode.type === 'ObjectExpression') {
85
+ node = {
86
+ concept: 'Unparsed',
87
+ label: '原子项',
88
+ code: astNode.value,
89
+ };
90
+ } else if (astNode.type === 'StringLiteral') {
91
+ node = {
92
+ concept: 'StringLiteral',
93
+ kind: 'Expression',
94
+ name: '',
95
+ value: astNode.value,
96
+ };
97
+ }
98
+ return node;
99
+ }
100
+
101
+ //================================================================================
102
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
103
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
104
+ //================================================================================
105
+ import { EventPayload, Params } from '../common/EventEmitter';
106
+ import { concept, excludedInJSON, property } from '../decorators';
107
+
108
+ import * as utils from '../utils';
109
+ import { v4 as uuidv4 } from 'uuid';
110
+ import BaseNode from '../common/BaseNode';
111
+ import classMap from '../common/classMap';
112
+ import BindAttribute from './BindAttribute__';
113
+ import BindEvent from './BindEvent__';
114
+ import BindDirective from './BindDirective__';
115
+ import View from './View__';
116
+ import Module from './Module__';
117
+ import App from './App__';
118
+
119
+ /**
120
+ * 页面元素
121
+ */
122
+ @concept('页面元素')
123
+ export class ViewElement extends BaseNode {
124
+ /**
125
+ * 产品概念
126
+ */
127
+ @property()
128
+ concept: 'ViewElement' = 'ViewElement';
129
+
130
+ /**
131
+ * 类型
132
+ */
133
+ @property()
134
+ type: 0 = undefined;
135
+
136
+ /**
137
+ * 元素标签
138
+ */
139
+ @property()
140
+ tag: string = undefined;
141
+
142
+ /**
143
+ * 页面元素名称
144
+ */
145
+ @property()
146
+ name: string = undefined;
147
+
148
+ /**
149
+ * 静态 class 名
150
+ */
151
+ @property()
152
+ staticClass: string = undefined;
153
+
154
+ /**
155
+ * 静态 style
156
+ */
157
+ @property()
158
+ staticStyle: string = undefined;
159
+
160
+ /**
161
+ * 插槽目标
162
+ */
163
+ @property()
164
+ slotTarget: string = undefined;
165
+
166
+ /**
167
+ * 插槽 scope 表达式
168
+ */
169
+ @property()
170
+ slotScope: string = undefined;
171
+
172
+ /**
173
+ * 元素绑定属性列表
174
+ */
175
+ @property('BindAttribute')
176
+ bindAttrs: Array<BindAttribute> = [];
177
+
178
+ /**
179
+ * 元素绑定事件列表
180
+ */
181
+ @property('BindEvent')
182
+ bindEvents: Array<BindEvent> = [];
183
+
184
+ /**
185
+ * 元素指令列表
186
+ */
187
+ @property('BindDirective')
188
+ bindDirectives: Array<BindDirective> = [];
189
+
190
+ /**
191
+ * 绑定的角色
192
+ */
193
+ @property()
194
+ bindRoles: Array<string> = [];
195
+
196
+ /**
197
+ * 子元素列表
198
+ */
199
+ @property('ViewElement')
200
+ children: Array<ViewElement> = [];
201
+
202
+ /**
203
+ * 祖先 View
204
+ */
205
+ get view() {
206
+ return this.getAncestor('View') as View;
207
+ }
208
+ /**
209
+ * 祖先 Module
210
+ */
211
+ get module() {
212
+ return this.getAncestor('Module') as Module;
213
+ }
214
+ /**
215
+ * 祖先 App
216
+ */
217
+ get app() {
218
+ return this.getAncestor('App') as App;
219
+ }
220
+
221
+ /**
222
+ * @param source 需要合并的部分参数
223
+ */
224
+ constructor(source?: Partial<ViewElement>) {
225
+ source = Object.assign({}, ViewElement.getDefaultOptions(), source);
226
+ super(source);
227
+ super.subConstructor(source);
228
+ }
229
+
230
+
231
+
232
+ /**
233
+ * 从父级删除该节点
234
+ * @internal
235
+ */
236
+ _delete() {
237
+ let params: Params = null;
238
+ if (this.parentNode) {
239
+ params = (this.parentNode as any)?.__removeViewElement?.(this);
240
+ }
241
+ return params;
242
+ }
243
+ /**
244
+ * 设置页面元素名称
245
+ */
246
+ setName(name: string) {
247
+ const object = {
248
+ name,
249
+ };
250
+ this.update({
251
+ ...object,
252
+ field: 'name',
253
+ });
254
+ }
255
+
256
+ /**
257
+ * 设置静态 style
258
+ */
259
+ setStaticStyle(staticStyle: string) {
260
+ const object = {
261
+ staticStyle,
262
+ };
263
+ this.update({
264
+ ...object,
265
+ });
266
+ }
267
+
268
+ getBindAttributeExistingNames(excludedList: Array<BindAttribute> = []) {
269
+ const excludedSet = new Set(excludedList);
270
+ return (this.bindAttrs || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
271
+ }
272
+ getBindAttributeUniqueName(name = 'bindAttribute1') {
273
+ return utils.unique(name, this.getBindAttributeExistingNames());
274
+ }
275
+
276
+ /**
277
+ * 插入元素绑定属性
278
+ * @internal
279
+ * @param name 元素绑定属性名称,如果不填会自动生成一个唯一名称
280
+ */
281
+ _insertBindAttributeAt(name: string, index: number): BindAttribute;
282
+
283
+ /**
284
+ * 插入元素绑定属性
285
+ * @internal
286
+ * @param bindAttributeOptions 元素绑定属性参数
287
+ */
288
+ _insertBindAttributeAt(bindAttributeOptions: Partial<BindAttribute>, index: number): BindAttribute;
289
+
290
+ /**
291
+ * 插入元素绑定属性
292
+ * @internal
293
+ * @param bindAttribute 已有的元素绑定属性实例
294
+ */
295
+ _insertBindAttributeAt(bindAttribute: BindAttribute, index: number): BindAttribute;
296
+
297
+ _insertBindAttributeAt(options: string | Partial<BindAttribute> | BindAttribute, index: number) {
298
+ const bindAttributeOptions: any = {};
299
+ const relationOptions = { parentNode: this, parentKey: 'bindAttrs' };
300
+ let bindAttribute: BindAttribute;
301
+ if (!options) {
302
+ bindAttribute = BindAttribute.from({
303
+ ...bindAttributeOptions,
304
+ name: this.getBindAttributeUniqueName(),
305
+ }, this, 'bindAttrs');
306
+ } else if (typeof options === 'string') {
307
+ bindAttribute = BindAttribute.from({
308
+ ...bindAttributeOptions,
309
+ name: options,
310
+ }, this, 'bindAttrs');
311
+ } else if (options instanceof BindAttribute) {
312
+ options.delete(); // 同一实例不支持多处存在
313
+ bindAttribute = options;
314
+ Object.assign(bindAttribute, relationOptions);
315
+ } else {
316
+ bindAttribute = BindAttribute.from({
317
+ ...bindAttributeOptions,
318
+ ...options,
319
+ }, this, 'bindAttrs');
320
+ }
321
+ this.bindAttrs.splice(index, 0, bindAttribute);
322
+ return bindAttribute;
323
+ }
324
+
325
+ /**
326
+ * 插入元素绑定属性
327
+ * @param name 元素绑定属性名称,如果不填会自动生成一个唯一名称
328
+ */
329
+ insertBindAttributeAt(name: string, index: number): BindAttribute;
330
+
331
+ /**
332
+ * 插入元素绑定属性
333
+ * @param bindAttributeOptions 元素绑定属性参数
334
+ */
335
+ insertBindAttributeAt(bindAttributeOptions: Partial<BindAttribute>, index: number): BindAttribute;
336
+
337
+ /**
338
+ * 插入元素绑定属性
339
+ * @param bindAttribute 已有的元素绑定属性实例
340
+ */
341
+ insertBindAttributeAt(bindAttribute: BindAttribute, index: number): BindAttribute;
342
+
343
+ insertBindAttributeAt(options: string | Partial<BindAttribute> | BindAttribute, index: number) {
344
+ const node = this._insertBindAttributeAt(options as any, index);
345
+ node.create({
346
+ index,
347
+ parentNode: this,
348
+ parentKey: 'bindAttrs',
349
+ });
350
+ return node;
351
+ }
352
+
353
+ /**
354
+ * 添加元素绑定属性
355
+ * @internal
356
+ * @param name 元素绑定属性名称,如果不填会自动生成一个唯一名称
357
+ */
358
+ _addBindAttribute(name?: string): BindAttribute;
359
+
360
+ /**
361
+ * 添加元素绑定属性
362
+ * @internal
363
+ * @param bindAttributeOptions 元素绑定属性参数
364
+ */
365
+ _addBindAttribute(bindAttributeOptions: Partial<BindAttribute>): BindAttribute;
366
+
367
+ /**
368
+ * 添加元素绑定属性
369
+ * @internal
370
+ * @param bindAttribute 已有的元素绑定属性实例
371
+ */
372
+ _addBindAttribute(bindAttribute: BindAttribute): BindAttribute;
373
+
374
+ _addBindAttribute(options?: string | Partial<BindAttribute> | BindAttribute) {
375
+ const index = this.bindAttrs.length;
376
+ return this._insertBindAttributeAt(options as any, index);
377
+ }
378
+
379
+ /**
380
+ * 添加元素绑定属性
381
+ * @internal
382
+ * @param name 元素绑定属性名称,如果不填会自动生成一个唯一名称
383
+ */
384
+ addBindAttribute(name?: string): BindAttribute;
385
+
386
+ /**
387
+ * 添加元素绑定属性
388
+ * @param bindAttributeOptions 元素绑定属性参数
389
+ */
390
+ addBindAttribute(bindAttributeOptions: Partial<BindAttribute>): BindAttribute;
391
+
392
+ /**
393
+ * 添加元素绑定属性
394
+ * @param bindAttribute 已有的元素绑定属性实例
395
+ */
396
+ addBindAttribute(bindAttribute: BindAttribute): BindAttribute;
397
+
398
+ addBindAttribute(options?: string | Partial<BindAttribute> | BindAttribute) {
399
+ const node = this._addBindAttribute(options as any);
400
+ const index = this.bindAttrs.length;
401
+ node.create({
402
+ index,
403
+ parentNode: this,
404
+ parentKey: 'bindAttrs',
405
+ });
406
+ return node;
407
+ }
408
+
409
+
410
+ getBindEventExistingNames(excludedList: Array<BindEvent> = []) {
411
+ const excludedSet = new Set(excludedList);
412
+ return (this.bindEvents || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
413
+ }
414
+ getBindEventUniqueName(name = 'bindEvent1') {
415
+ return utils.unique(name, this.getBindEventExistingNames());
416
+ }
417
+
418
+ /**
419
+ * 插入元素绑定事件
420
+ * @internal
421
+ * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称
422
+ */
423
+ _insertBindEventAt(name: string, index: number): BindEvent;
424
+
425
+ /**
426
+ * 插入元素绑定事件
427
+ * @internal
428
+ * @param bindEventOptions 元素绑定事件参数
429
+ */
430
+ _insertBindEventAt(bindEventOptions: Partial<BindEvent>, index: number): BindEvent;
431
+
432
+ /**
433
+ * 插入元素绑定事件
434
+ * @internal
435
+ * @param bindEvent 已有的元素绑定事件实例
436
+ */
437
+ _insertBindEventAt(bindEvent: BindEvent, index: number): BindEvent;
438
+
439
+ _insertBindEventAt(options: string | Partial<BindEvent> | BindEvent, index: number) {
440
+ const bindEventOptions: any = {};
441
+ const relationOptions = { parentNode: this, parentKey: 'bindEvents' };
442
+ let bindEvent: BindEvent;
443
+ if (!options) {
444
+ bindEvent = BindEvent.from({
445
+ ...bindEventOptions,
446
+ name: this.getBindEventUniqueName(),
447
+ }, this, 'bindEvents');
448
+ } else if (typeof options === 'string') {
449
+ bindEvent = BindEvent.from({
450
+ ...bindEventOptions,
451
+ name: options,
452
+ }, this, 'bindEvents');
453
+ } else if (options instanceof BindEvent) {
454
+ options.delete(); // 同一实例不支持多处存在
455
+ bindEvent = options;
456
+ Object.assign(bindEvent, relationOptions);
457
+ } else {
458
+ bindEvent = BindEvent.from({
459
+ ...bindEventOptions,
460
+ ...options,
461
+ }, this, 'bindEvents');
462
+ }
463
+ this.bindEvents.splice(index, 0, bindEvent);
464
+ return bindEvent;
465
+ }
466
+
467
+ /**
468
+ * 插入元素绑定事件
469
+ * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称
470
+ */
471
+ insertBindEventAt(name: string, index: number): BindEvent;
472
+
473
+ /**
474
+ * 插入元素绑定事件
475
+ * @param bindEventOptions 元素绑定事件参数
476
+ */
477
+ insertBindEventAt(bindEventOptions: Partial<BindEvent>, index: number): BindEvent;
478
+
479
+ /**
480
+ * 插入元素绑定事件
481
+ * @param bindEvent 已有的元素绑定事件实例
482
+ */
483
+ insertBindEventAt(bindEvent: BindEvent, index: number): BindEvent;
484
+
485
+ insertBindEventAt(options: string | Partial<BindEvent> | BindEvent, index: number) {
486
+ const node = this._insertBindEventAt(options as any, index);
487
+ node.create({
488
+ index,
489
+ parentNode: this,
490
+ parentKey: 'bindEvents',
491
+ });
492
+ return node;
493
+ }
494
+
495
+ /**
496
+ * 添加元素绑定事件
497
+ * @internal
498
+ * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称
499
+ */
500
+ _addBindEvent(name?: string): BindEvent;
501
+
502
+ /**
503
+ * 添加元素绑定事件
504
+ * @internal
505
+ * @param bindEventOptions 元素绑定事件参数
506
+ */
507
+ _addBindEvent(bindEventOptions: Partial<BindEvent>): BindEvent;
508
+
509
+ /**
510
+ * 添加元素绑定事件
511
+ * @internal
512
+ * @param bindEvent 已有的元素绑定事件实例
513
+ */
514
+ _addBindEvent(bindEvent: BindEvent): BindEvent;
515
+
516
+ _addBindEvent(options?: string | Partial<BindEvent> | BindEvent) {
517
+ const index = this.bindEvents.length;
518
+ return this._insertBindEventAt(options as any, index);
519
+ }
520
+
521
+ /**
522
+ * 添加元素绑定事件
523
+ * @internal
524
+ * @param name 元素绑定事件名称,如果不填会自动生成一个唯一名称
525
+ */
526
+ addBindEvent(name?: string): BindEvent;
527
+
528
+ /**
529
+ * 添加元素绑定事件
530
+ * @param bindEventOptions 元素绑定事件参数
531
+ */
532
+ addBindEvent(bindEventOptions: Partial<BindEvent>): BindEvent;
533
+
534
+ /**
535
+ * 添加元素绑定事件
536
+ * @param bindEvent 已有的元素绑定事件实例
537
+ */
538
+ addBindEvent(bindEvent: BindEvent): BindEvent;
539
+
540
+ addBindEvent(options?: string | Partial<BindEvent> | BindEvent) {
541
+ const node = this._addBindEvent(options as any);
542
+ const index = this.bindEvents.length;
543
+ node.create({
544
+ index,
545
+ parentNode: this,
546
+ parentKey: 'bindEvents',
547
+ });
548
+ return node;
549
+ }
550
+
551
+
552
+ getBindDirectiveExistingNames(excludedList: Array<BindDirective> = []) {
553
+ const excludedSet = new Set(excludedList);
554
+ return (this.bindDirectives || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
555
+ }
556
+ getBindDirectiveUniqueName(name = 'bindDirective1') {
557
+ return utils.unique(name, this.getBindDirectiveExistingNames());
558
+ }
559
+
560
+ /**
561
+ * 插入元素指令
562
+ * @internal
563
+ * @param name 元素指令名称,如果不填会自动生成一个唯一名称
564
+ */
565
+ _insertBindDirectiveAt(name: string, index: number): BindDirective;
566
+
567
+ /**
568
+ * 插入元素指令
569
+ * @internal
570
+ * @param bindDirectiveOptions 元素指令参数
571
+ */
572
+ _insertBindDirectiveAt(bindDirectiveOptions: Partial<BindDirective>, index: number): BindDirective;
573
+
574
+ /**
575
+ * 插入元素指令
576
+ * @internal
577
+ * @param bindDirective 已有的元素指令实例
578
+ */
579
+ _insertBindDirectiveAt(bindDirective: BindDirective, index: number): BindDirective;
580
+
581
+ _insertBindDirectiveAt(options: string | Partial<BindDirective> | BindDirective, index: number) {
582
+ const bindDirectiveOptions: any = {};
583
+ const relationOptions = { parentNode: this, parentKey: 'bindDirectives' };
584
+ let bindDirective: BindDirective;
585
+ if (!options) {
586
+ bindDirective = BindDirective.from({
587
+ ...bindDirectiveOptions,
588
+ name: this.getBindDirectiveUniqueName(),
589
+ }, this, 'bindDirectives');
590
+ } else if (typeof options === 'string') {
591
+ bindDirective = BindDirective.from({
592
+ ...bindDirectiveOptions,
593
+ name: options,
594
+ }, this, 'bindDirectives');
595
+ } else if (options instanceof BindDirective) {
596
+ options.delete(); // 同一实例不支持多处存在
597
+ bindDirective = options;
598
+ Object.assign(bindDirective, relationOptions);
599
+ } else {
600
+ bindDirective = BindDirective.from({
601
+ ...bindDirectiveOptions,
602
+ ...options,
603
+ }, this, 'bindDirectives');
604
+ }
605
+ this.bindDirectives.splice(index, 0, bindDirective);
606
+ return bindDirective;
607
+ }
608
+
609
+ /**
610
+ * 插入元素指令
611
+ * @param name 元素指令名称,如果不填会自动生成一个唯一名称
612
+ */
613
+ insertBindDirectiveAt(name: string, index: number): BindDirective;
614
+
615
+ /**
616
+ * 插入元素指令
617
+ * @param bindDirectiveOptions 元素指令参数
618
+ */
619
+ insertBindDirectiveAt(bindDirectiveOptions: Partial<BindDirective>, index: number): BindDirective;
620
+
621
+ /**
622
+ * 插入元素指令
623
+ * @param bindDirective 已有的元素指令实例
624
+ */
625
+ insertBindDirectiveAt(bindDirective: BindDirective, index: number): BindDirective;
626
+
627
+ insertBindDirectiveAt(options: string | Partial<BindDirective> | BindDirective, index: number) {
628
+ const node = this._insertBindDirectiveAt(options as any, index);
629
+ node.create({
630
+ index,
631
+ parentNode: this,
632
+ parentKey: 'bindDirectives',
633
+ });
634
+ return node;
635
+ }
636
+
637
+ /**
638
+ * 添加元素指令
639
+ * @internal
640
+ * @param name 元素指令名称,如果不填会自动生成一个唯一名称
641
+ */
642
+ _addBindDirective(name?: string): BindDirective;
643
+
644
+ /**
645
+ * 添加元素指令
646
+ * @internal
647
+ * @param bindDirectiveOptions 元素指令参数
648
+ */
649
+ _addBindDirective(bindDirectiveOptions: Partial<BindDirective>): BindDirective;
650
+
651
+ /**
652
+ * 添加元素指令
653
+ * @internal
654
+ * @param bindDirective 已有的元素指令实例
655
+ */
656
+ _addBindDirective(bindDirective: BindDirective): BindDirective;
657
+
658
+ _addBindDirective(options?: string | Partial<BindDirective> | BindDirective) {
659
+ const index = this.bindDirectives.length;
660
+ return this._insertBindDirectiveAt(options as any, index);
661
+ }
662
+
663
+ /**
664
+ * 添加元素指令
665
+ * @internal
666
+ * @param name 元素指令名称,如果不填会自动生成一个唯一名称
667
+ */
668
+ addBindDirective(name?: string): BindDirective;
669
+
670
+ /**
671
+ * 添加元素指令
672
+ * @param bindDirectiveOptions 元素指令参数
673
+ */
674
+ addBindDirective(bindDirectiveOptions: Partial<BindDirective>): BindDirective;
675
+
676
+ /**
677
+ * 添加元素指令
678
+ * @param bindDirective 已有的元素指令实例
679
+ */
680
+ addBindDirective(bindDirective: BindDirective): BindDirective;
681
+
682
+ addBindDirective(options?: string | Partial<BindDirective> | BindDirective) {
683
+ const node = this._addBindDirective(options as any);
684
+ const index = this.bindDirectives.length;
685
+ node.create({
686
+ index,
687
+ parentNode: this,
688
+ parentKey: 'bindDirectives',
689
+ });
690
+ return node;
691
+ }
692
+
693
+
694
+
695
+
696
+
697
+
698
+ /**
699
+ * 插入页面元素
700
+ * @internal
701
+ * @param name 页面元素名称,如果不填会自动生成一个唯一名称
702
+ */
703
+ _insertViewElementAt(name: string, index: number): ViewElement;
704
+
705
+ /**
706
+ * 插入页面元素
707
+ * @internal
708
+ * @param viewElementOptions 页面元素参数
709
+ */
710
+ _insertViewElementAt(viewElementOptions: Partial<ViewElement>, index: number): ViewElement;
711
+
712
+ /**
713
+ * 插入页面元素
714
+ * @internal
715
+ * @param viewElement 已有的页面元素实例
716
+ */
717
+ _insertViewElementAt(viewElement: ViewElement, index: number): ViewElement;
718
+
719
+ _insertViewElementAt(options: string | Partial<ViewElement> | ViewElement, index: number) {
720
+ const viewElementOptions: any = {};
721
+ const relationOptions = { parentNode: this, parentKey: 'children' };
722
+ let viewElement: ViewElement;
723
+ if (!options) {
724
+ viewElement = ViewElement.from({
725
+ ...viewElementOptions,
726
+ name: this.getViewElementUniqueName(),
727
+ }, this, 'children');
728
+ } else if (typeof options === 'string') {
729
+ viewElement = ViewElement.from({
730
+ ...viewElementOptions,
731
+ name: options,
732
+ }, this, 'children');
733
+ } else if (options instanceof ViewElement) {
734
+ options.delete(); // 同一实例不支持多处存在
735
+ viewElement = options;
736
+ Object.assign(viewElement, relationOptions);
737
+ } else {
738
+ viewElement = ViewElement.from({
739
+ ...viewElementOptions,
740
+ ...options,
741
+ }, this, 'children');
742
+ }
743
+ this.children.splice(index, 0, viewElement);
744
+ return viewElement;
745
+ }
746
+
747
+ /**
748
+ * 插入页面元素
749
+ * @param name 页面元素名称,如果不填会自动生成一个唯一名称
750
+ */
751
+ insertViewElementAt(name: string, index: number): ViewElement;
752
+
753
+ /**
754
+ * 插入页面元素
755
+ * @param viewElementOptions 页面元素参数
756
+ */
757
+ insertViewElementAt(viewElementOptions: Partial<ViewElement>, index: number): ViewElement;
758
+
759
+ /**
760
+ * 插入页面元素
761
+ * @param viewElement 已有的页面元素实例
762
+ */
763
+ insertViewElementAt(viewElement: ViewElement, index: number): ViewElement;
764
+
765
+ insertViewElementAt(options: string | Partial<ViewElement> | ViewElement, index: number) {
766
+ const node = this._insertViewElementAt(options as any, index);
767
+ node.create({
768
+ index,
769
+ parentNode: this,
770
+ parentKey: 'children',
771
+ });
772
+ return node;
773
+ }
774
+
775
+ /**
776
+ * 添加页面元素
777
+ * @internal
778
+ * @param name 页面元素名称,如果不填会自动生成一个唯一名称
779
+ */
780
+ _addViewElement(name?: string): ViewElement;
781
+
782
+ /**
783
+ * 添加页面元素
784
+ * @internal
785
+ * @param viewElementOptions 页面元素参数
786
+ */
787
+ _addViewElement(viewElementOptions: Partial<ViewElement>): ViewElement;
788
+
789
+ /**
790
+ * 添加页面元素
791
+ * @internal
792
+ * @param viewElement 已有的页面元素实例
793
+ */
794
+ _addViewElement(viewElement: ViewElement): ViewElement;
795
+
796
+ _addViewElement(options?: string | Partial<ViewElement> | ViewElement) {
797
+ const index = this.children.length;
798
+ return this._insertViewElementAt(options as any, index);
799
+ }
800
+
801
+ /**
802
+ * 添加页面元素
803
+ * @internal
804
+ * @param name 页面元素名称,如果不填会自动生成一个唯一名称
805
+ */
806
+ addViewElement(name?: string): ViewElement;
807
+
808
+ /**
809
+ * 添加页面元素
810
+ * @param viewElementOptions 页面元素参数
811
+ */
812
+ addViewElement(viewElementOptions: Partial<ViewElement>): ViewElement;
813
+
814
+ /**
815
+ * 添加页面元素
816
+ * @param viewElement 已有的页面元素实例
817
+ */
818
+ addViewElement(viewElement: ViewElement): ViewElement;
819
+
820
+ addViewElement(options?: string | Partial<ViewElement> | ViewElement) {
821
+ const node = this._addViewElement(options as any);
822
+ const index = this.children.length;
823
+ node.create({
824
+ index,
825
+ parentNode: this,
826
+ parentKey: 'children',
827
+ });
828
+ return node;
829
+ }
830
+
831
+
832
+
833
+
834
+ /**
835
+ * 删除元素绑定属性
836
+ * @param name 元素绑定属性名称
837
+ */
838
+ removeBindAttribute(name: string): void;
839
+
840
+ /**
841
+ * 删除元素绑定属性
842
+ * @param bindAttribute 已有的元素绑定属性实例
843
+ */
844
+ removeBindAttribute(bindAttribute: BindAttribute): void;
845
+
846
+ removeBindAttribute(options: string | BindAttribute) {
847
+ let bindAttribute: BindAttribute;
848
+ if (typeof options === 'string') {
849
+ bindAttribute = this.bindAttrs.find((item) => item.name === options);
850
+ if (!bindAttribute) {
851
+ throw new Error('找不到元素绑定属性 ' + options);
852
+ }
853
+ } else {
854
+ bindAttribute = options;
855
+ }
856
+ return bindAttribute.delete();
857
+ }
858
+
859
+ __removeBindAttribute(bindAttribute: BindAttribute) {
860
+ const parentKey = bindAttribute.parentKey;
861
+ const params: Params = {
862
+ parentNode: this,
863
+ parentKey,
864
+ index: -1,
865
+ object: null,
866
+ oldObject: bindAttribute,
867
+ };
868
+ if (parentKey) {
869
+ params.parentKey = parentKey;
870
+ if (Array.isArray((this as any)[parentKey])) {
871
+ const index = (this as any)[parentKey].indexOf(bindAttribute);
872
+ ~index && (this as any)[parentKey].splice(index, 1);
873
+ params.index = index;
874
+ } else if ((this as any)[parentKey] === bindAttribute) {
875
+ params.index = 0;
876
+ (this as any)[parentKey] = undefined;
877
+ }
878
+ }
879
+ return params;
880
+ }
881
+
882
+
883
+
884
+ /**
885
+ * 删除元素绑定事件
886
+ * @param name 元素绑定事件名称
887
+ */
888
+ removeBindEvent(name: string): void;
889
+
890
+ /**
891
+ * 删除元素绑定事件
892
+ * @param bindEvent 已有的元素绑定事件实例
893
+ */
894
+ removeBindEvent(bindEvent: BindEvent): void;
895
+
896
+ removeBindEvent(options: string | BindEvent) {
897
+ let bindEvent: BindEvent;
898
+ if (typeof options === 'string') {
899
+ bindEvent = this.bindEvents.find((item) => item.name === options);
900
+ if (!bindEvent) {
901
+ throw new Error('找不到元素绑定事件 ' + options);
902
+ }
903
+ } else {
904
+ bindEvent = options;
905
+ }
906
+ return bindEvent.delete();
907
+ }
908
+
909
+ __removeBindEvent(bindEvent: BindEvent) {
910
+ const parentKey = bindEvent.parentKey;
911
+ const params: Params = {
912
+ parentNode: this,
913
+ parentKey,
914
+ index: -1,
915
+ object: null,
916
+ oldObject: bindEvent,
917
+ };
918
+ if (parentKey) {
919
+ params.parentKey = parentKey;
920
+ if (Array.isArray((this as any)[parentKey])) {
921
+ const index = (this as any)[parentKey].indexOf(bindEvent);
922
+ ~index && (this as any)[parentKey].splice(index, 1);
923
+ params.index = index;
924
+ } else if ((this as any)[parentKey] === bindEvent) {
925
+ params.index = 0;
926
+ (this as any)[parentKey] = undefined;
927
+ }
928
+ }
929
+ return params;
930
+ }
931
+
932
+
933
+
934
+ /**
935
+ * 删除元素指令
936
+ * @param name 元素指令名称
937
+ */
938
+ removeBindDirective(name: string): void;
939
+
940
+ /**
941
+ * 删除元素指令
942
+ * @param bindDirective 已有的元素指令实例
943
+ */
944
+ removeBindDirective(bindDirective: BindDirective): void;
945
+
946
+ removeBindDirective(options: string | BindDirective) {
947
+ let bindDirective: BindDirective;
948
+ if (typeof options === 'string') {
949
+ bindDirective = this.bindDirectives.find((item) => item.name === options);
950
+ if (!bindDirective) {
951
+ throw new Error('找不到元素指令 ' + options);
952
+ }
953
+ } else {
954
+ bindDirective = options;
955
+ }
956
+ return bindDirective.delete();
957
+ }
958
+
959
+ __removeBindDirective(bindDirective: BindDirective) {
960
+ const parentKey = bindDirective.parentKey;
961
+ const params: Params = {
962
+ parentNode: this,
963
+ parentKey,
964
+ index: -1,
965
+ object: null,
966
+ oldObject: bindDirective,
967
+ };
968
+ if (parentKey) {
969
+ params.parentKey = parentKey;
970
+ if (Array.isArray((this as any)[parentKey])) {
971
+ const index = (this as any)[parentKey].indexOf(bindDirective);
972
+ ~index && (this as any)[parentKey].splice(index, 1);
973
+ params.index = index;
974
+ } else if ((this as any)[parentKey] === bindDirective) {
975
+ params.index = 0;
976
+ (this as any)[parentKey] = undefined;
977
+ }
978
+ }
979
+ return params;
980
+ }
981
+
982
+
983
+
984
+ /**
985
+ * 删除页面元素
986
+ * @param name 页面元素名称
987
+ */
988
+ removeViewElement(name: string): void;
989
+
990
+ /**
991
+ * 删除页面元素
992
+ * @param viewElement 已有的页面元素实例
993
+ */
994
+ removeViewElement(viewElement: ViewElement): void;
995
+
996
+ removeViewElement(options: string | ViewElement) {
997
+ let viewElement: ViewElement;
998
+ if (typeof options === 'string') {
999
+ viewElement = this.children.find((item) => item.name === options);
1000
+ if (!viewElement) {
1001
+ throw new Error('找不到页面元素 ' + options);
1002
+ }
1003
+ } else {
1004
+ viewElement = options;
1005
+ }
1006
+ return viewElement.delete();
1007
+ }
1008
+
1009
+ __removeViewElement(viewElement: ViewElement) {
1010
+ const parentKey = viewElement.parentKey;
1011
+ const params: Params = {
1012
+ parentNode: this,
1013
+ parentKey,
1014
+ index: -1,
1015
+ object: null,
1016
+ oldObject: viewElement,
1017
+ };
1018
+ if (parentKey) {
1019
+ params.parentKey = parentKey;
1020
+ if (Array.isArray((this as any)[parentKey])) {
1021
+ const index = (this as any)[parentKey].indexOf(viewElement);
1022
+ ~index && (this as any)[parentKey].splice(index, 1);
1023
+ params.index = index;
1024
+ } else if ((this as any)[parentKey] === viewElement) {
1025
+ params.index = 0;
1026
+ (this as any)[parentKey] = undefined;
1027
+ }
1028
+ }
1029
+ return params;
1030
+ }
1031
+
1032
+ //================================================================================
1033
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1034
+ // 自动生成的代码已结束。下面可以手动编写。
1035
+ //================================================================================
1036
+ getViewElementUniqueName(name = 'viewElement1') {
1037
+ return this.view?.getViewElementUniqueName(name);
1038
+ }
1039
+
1040
+ public static readonly TAG_NAME_PREFIX_REG?: RegExp = /^([lieu]|van)[-_]/;
1041
+
1042
+ static from(source: any, parentNode?: any, parentKey?: string): ViewElement {
1043
+ const node = super.from(source, parentNode, parentKey) as ViewElement;
1044
+ if (!node.name) {
1045
+ const tagName = node.tag.replace(ViewElement.TAG_NAME_PREFIX_REG, '').replace(/-/g, '_');
1046
+ node.name = node.getViewElementUniqueName(`${tagName}1`);
1047
+ }
1048
+ return node;
1049
+ }
1050
+
1051
+ /**
1052
+ * 设置组件权限
1053
+ */
1054
+ setBindRoles(bindRoles: string[]) {
1055
+ const object = {
1056
+ bindRoles,
1057
+ };
1058
+ this.update({
1059
+ ...object,
1060
+ });
1061
+ }
1062
+
1063
+ getBindAttribute(name: string) {
1064
+ return this.bindAttrs.find((bindAttr) => bindAttr.name === name);
1065
+ }
1066
+
1067
+ toHump(name: string): string {
1068
+ return name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase());
1069
+ }
1070
+
1071
+ haveScope(node: ViewElement): boolean {
1072
+ const dataSourcePcList = ['uGallery', 'uTableView', 'uListView', 'uGridView', 'uCalendarView', 'uListComponents', 'uSelect'];
1073
+ const dataSourceH5List = ['vanListView', 'vanForComponents', 'lcapEchartsLine', 'lcapEchartsBar', 'lcapEchartsPie'];
1074
+ const dataSourceList = [...dataSourcePcList, ...dataSourceH5List];
1075
+ return dataSourceList.includes(node.toHump(node.tag));
1076
+ }
1077
+ toEmbeddedTSDefinition(state?: TranslatorState): string {
1078
+ let code = '';
1079
+ // formItem的单独处理
1080
+ if (this.tag === 'u-form-item') {
1081
+ code = indent(state.tabSize) + `${this.name}: <nasl.ui.${this.toHump(this.tag)}`;
1082
+ if (Array.isArray(this.children) && this.children.length) {
1083
+ const tag = this.children[0].tag;
1084
+ if (tag === 'u-input') {
1085
+ code += '<nasl.core.String>';
1086
+ } else if (tag === 'u-input-number') {
1087
+ code += '<nasl.core.Integer>';
1088
+ } else {
1089
+ code += '<nasl.core.Any>';
1090
+ }
1091
+ }
1092
+ code += '> null,\n';
1093
+ }
1094
+ if (this.haveScope(this)) {
1095
+ let genericType = 'any';
1096
+ const bindAttrs = this.bindAttrs;
1097
+ if (bindAttrs && bindAttrs.length) {
1098
+ const attr = bindAttrs.find((item) => item.name === 'data-source');
1099
+ if (attr && attr.expression) {
1100
+ let expressionTs = attr.expression.toEmbeddedTS(shiftState(state, code));
1101
+ expressionTs = expressionTs.replaceAll(' ', '');
1102
+ // 如果是逻辑就推导出逻辑类型
1103
+ genericType = `nasl.ui.GetItemTypeFromDataSource<typeof ${expressionTs}>`;
1104
+
1105
+ // 如果是scope的类型,需要单独处理
1106
+ if (expressionTs.startsWith('scope') && expressionTs.includes('.item.')) {
1107
+ let parentNode = this.parentNode;
1108
+ let haveScopeFlag = false;
1109
+ while (!haveScopeFlag && parentNode.concept !== 'View') {
1110
+ if (this.haveScope(parentNode as ViewElement)) {
1111
+ // type d = nasl.ui.GetItemTypeFromDataSource<typeof listStructure>['tableRelation']
1112
+ const tsArr = expressionTs.split('.');
1113
+ const parentbindAttrs = (parentNode as ViewElement).bindAttrs;
1114
+ if (parentbindAttrs && parentbindAttrs.length) {
1115
+ const parentAttr = parentbindAttrs.find((item) => item.name === 'data-source');
1116
+ if (parentAttr && parentAttr.expression) {
1117
+ let parentExpressionTs = parentAttr.expression.toEmbeddedTS(shiftState(state, code));
1118
+ parentExpressionTs = parentExpressionTs.replaceAll(' ', '');
1119
+ // 如果是逻辑就推导出逻辑类型
1120
+ genericType = `nasl.ui.GetItemTypeFromDataSource<nasl.ui.GetItemTypeFromDataSource<typeof ${parentExpressionTs}>['${tsArr[tsArr.length - 1]}']>`;
1121
+ }
1122
+ }
1123
+ haveScopeFlag = true;
1124
+ }
1125
+ parentNode = parentNode.parentNode;
1126
+ }
1127
+ }
1128
+ }
1129
+ }
1130
+ code += indent(state.tabSize) + `${this.name}: <nasl.ui.${this.toHump(this.tag)}<${genericType}>> null,\n`;
1131
+ } else {
1132
+ code = indent(state.tabSize) + `${this.name}: <nasl.ui.${this.toHump(this.tag)}<any>> null,\n`;
1133
+ }
1134
+ if (Array.isArray(this.children)) {
1135
+ this.children.forEach((element) => {
1136
+ code += element.toEmbeddedTSDefinition(shiftState(state, code));
1137
+ });
1138
+ }
1139
+ return code;
1140
+ }
1141
+ @withSourceMap()
1142
+ toEmbeddedTS(state?: TranslatorState, parentLevel?: number): string {
1143
+ function chineseTsName(name: string) {
1144
+ let tsName = name;
1145
+ if (/^\d/.test(tsName)) {
1146
+ tsName = '$' + tsName;
1147
+ }
1148
+ // 匹配所有特殊字符都转为_
1149
+ tsName = tsName.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '_');
1150
+ return tsName;
1151
+ }
1152
+ let code = `__elements.${this.name} = new nasl.ui.${this.toHump(this.tag)}({\n`;
1153
+ // 是否开启权限
1154
+ let hasAuth = false;
1155
+ if (Array.isArray(this.bindDirectives)) {
1156
+ hasAuth = !!this.bindDirectives.filter((directive) => directive.name === 'auth').length;
1157
+ }
1158
+ // 角色
1159
+ if (hasAuth && Array.isArray(this.bindRoles)) {
1160
+ code += indent(state.tabSize + 2);
1161
+ code += 'roles = [\n';
1162
+ this.bindRoles.forEach((role) => {
1163
+ code += indent(state.tabSize + 3);
1164
+ code += `${this.app.getNamespace()}.roles.${chineseTsName(role)}.${chineseTsName(role)},`;
1165
+ code += '\n';
1166
+ });
1167
+ code += indent(state.tabSize + 2);
1168
+ code += '],\n';
1169
+ }
1170
+ // 绑定属性
1171
+ if (Array.isArray(this.bindAttrs)) {
1172
+ this.bindAttrs.forEach((attr) => {
1173
+ // 跳转页面
1174
+ if (attr.destination) {
1175
+ code += attr.destination.toEmbeddedTS(shiftState(state, code, {
1176
+ tabSize: state.tabSize,
1177
+ }));
1178
+ }
1179
+ });
1180
+ code += '\n';
1181
+ }
1182
+
1183
+ // 事件
1184
+ if (Array.isArray(this.bindEvents)) {
1185
+ this.bindEvents.forEach((event) => {
1186
+ code += event.toEmbeddedTS(shiftState(state, code, {
1187
+ tabSize: state.tabSize + 2,
1188
+ }));
1189
+ code += '\n';
1190
+ });
1191
+ }
1192
+
1193
+ // 子元素
1194
+ if (Array.isArray(this.children)) {
1195
+ code += indent(state.tabSize + 1);
1196
+
1197
+ if (Array.isArray(this.bindAttrs)) {
1198
+ code += `bindAttr: () => [\n`;
1199
+ this.bindAttrs.forEach((attr) => {
1200
+ if (attr.expression) {
1201
+ code
1202
+ += attr.expression.toEmbeddedTS(shiftState(state, code, {
1203
+ tabSize: state.tabSize + 2,
1204
+ })) + ',\n';
1205
+ }
1206
+ });
1207
+ code += indent(state.tabSize + 2) + '],\n';
1208
+ }
1209
+
1210
+ let levelIndex = parentLevel || 0;
1211
+ if (this.haveScope(this)) {
1212
+ code += `slotDefault: (scope)=> [\n`;
1213
+ levelIndex++;
1214
+ } else {
1215
+ code += `slotDefault: ()=> [\n`;
1216
+ }
1217
+
1218
+ this.children.forEach((element) => {
1219
+ code += element.toEmbeddedTS(shiftState(state, code, {
1220
+ tabSize: state.tabSize + 2,
1221
+ }), levelIndex);
1222
+ code += '\n';
1223
+ });
1224
+ code += indent(state.tabSize + 1);
1225
+ code += ']\n';
1226
+ }
1227
+
1228
+ code += indent(state.tabSize) + '}),\n';
1229
+
1230
+ return code;
1231
+ }
1232
+
1233
+ _duplicate(options?: ElementToVueOptions) {
1234
+ const code = this.toVue(options);
1235
+ const element = ViewElement.fromHTML(code, {
1236
+ view: this.view,
1237
+ });
1238
+ element.deepRenameElements();
1239
+ return element;
1240
+ }
1241
+
1242
+ // 递归遍历组件
1243
+ public traverseChildren(cb: (ele: ViewElement) => void): void {
1244
+ utils.traverse((current) => {
1245
+ cb(current.node);
1246
+ }, { node: this });
1247
+ }
1248
+
1249
+ // 递归生成组件名
1250
+ public deepRenameElements(): void {
1251
+ return this.traverseChildren((ele: ViewElement) => {
1252
+ const tagName = ele.tag.replace(ViewElement.TAG_NAME_PREFIX_REG, '').replace(/-/g, '_');
1253
+ ele.name = this.getViewElementUniqueName(`${tagName}1`);
1254
+ });
1255
+ }
1256
+
1257
+ /**
1258
+ * 解析属性中的表达式
1259
+ * @param value
1260
+ * @param $def 目前 $def 只用来查找 $def.variables 和 $def.structures
1261
+ * @param dataSchema
1262
+ */
1263
+ private static _parseExpression(value: string) {
1264
+ try {
1265
+ const ast = babelParser.parseExpression(value) as any;
1266
+ const node = transAstNodeToNaslNode(ast);
1267
+ return LogicItem.from(node, null, null);
1268
+ } catch (e) {
1269
+ return null;
1270
+ }
1271
+ }
1272
+
1273
+ private static _parseValidationRule(value: string) {
1274
+ let calleeName = value;
1275
+ let args: any[] = [];
1276
+ try {
1277
+ const ast = babelParser.parseExpression(value) as any;
1278
+ if (ast.type === 'CallExpression') {
1279
+ calleeName = ast.callee.property.name || ast.callee.property.value;
1280
+ args = ast.arguments.map((argument: any) => ({
1281
+ concept: 'Argument',
1282
+ name: '',
1283
+ kind: 'Statement',
1284
+ keyword: '',
1285
+ expression: transAstNodeToNaslNode(Object.assign({}, argument)),
1286
+ }));
1287
+ }
1288
+ } catch (error) {}
1289
+ return {
1290
+ concept: 'ValidationRule',
1291
+ name: '',
1292
+ label: '验证规则',
1293
+ folded: true,
1294
+ kind: 'Expression',
1295
+ calleeNamespace: 'nasl.validation',
1296
+ arguments: args,
1297
+ calleeName,
1298
+ };
1299
+ }
1300
+
1301
+ /**
1302
+ * 从 Vue 的 ASTNode 转换成 ASL 元素
1303
+ * @param astNode Vue 的 ASTNode
1304
+ */
1305
+ private static _fromASTNode(astNode: compiler.ASTElement, context?: ParseContext): ViewElement {
1306
+ const view: View = context?.view;
1307
+ // 临时处理组件的 text
1308
+ //h5-mock
1309
+ if (
1310
+ ['u-text', 'van-text', 'u-link', 'u-button', 'u-label', 'u-radio', 'u-checkbox', 'u-navbar-item', 'u-sidebar-item', 'u-menu-item'].includes(astNode.tag)
1311
+ && astNode.children.length === 1
1312
+ && astNode.children[0].type === 3
1313
+ ) {
1314
+ astNode.attrs = astNode.attrs || [];
1315
+ astNode.attrs.push({
1316
+ name: 'text',
1317
+ value: JSON.stringify(astNode.children[0].text),
1318
+ });
1319
+ astNode.children = [];
1320
+ }
1321
+
1322
+ // 将 scopedSlots 合并到 children 中
1323
+ if (astNode.scopedSlots) {
1324
+ astNode.children = astNode.children || [];
1325
+ Object.keys(astNode.scopedSlots).forEach((key) => {
1326
+ if (!astNode.children.find((child) => key === (child as compiler.ASTElement).slotTarget))
1327
+ astNode.children.unshift(astNode.scopedSlots[key]);
1328
+ });
1329
+ delete astNode.scopedSlots;
1330
+ }
1331
+
1332
+ // 提示不支持的字段
1333
+ ['component', 'inlineTemplate', 'pre', 'ns', 'transition', 'transitionOnAppear', 'transitionMode', 'slotName', 'classBinding', 'styleBinding'].forEach((key) => {
1334
+ if ((astNode as any)[key])
1335
+ console.warn(`[warn] ViewElement NASL unsupports '${key}' field in node `, astNode);
1336
+ });
1337
+
1338
+ let element: ViewElement;
1339
+ if (astNode.type === 1) {
1340
+ if (astNode.tag === 'router-view') {
1341
+ if (config.scope === 'h5') {
1342
+ astNode.tag = 'van-router-view';
1343
+ } else {
1344
+ astNode.tag = 'u-router-view';
1345
+ }
1346
+ }
1347
+ const tagName = astNode.tag.replace(ViewElement.TAG_NAME_PREFIX_REG, '').replace(/-/g, '_');
1348
+ element = new ViewElement({
1349
+ tag: astNode.tag,
1350
+ name: astNode.attrsMap.ref || view.getViewElementUniqueName(`${tagName}1`),
1351
+ staticClass: astNode.attrsMap.class,
1352
+ staticStyle: astNode.attrsMap.style,
1353
+ slotTarget: astNode.slotTarget && json5.parse(astNode.slotTarget),
1354
+ slotScope: astNode.slotScope === '_empty_' ? '' : astNode.slotScope,
1355
+ children: astNode.children.map((item) => this._fromASTNode(item as compiler.ASTElement, context)) as unknown as Array<ViewElement>,
1356
+ });
1357
+
1358
+ astNode.attrs
1359
+ && astNode.attrs.forEach((oldAttr) => {
1360
+ let attr: BindAttribute;
1361
+ if (oldAttr.value === '""' && (oldAttr as any).end - (oldAttr as any).start === oldAttr.name.length) {
1362
+ attr = BindAttribute.from({
1363
+ type: 'static',
1364
+ name: oldAttr.name,
1365
+ value: 'true',
1366
+ }, element);
1367
+ } else {
1368
+ try {
1369
+ const tmp = json5.parse(oldAttr.value);
1370
+ const source: any = {
1371
+ type: typeof tmp === 'string' ? 'string' : 'static',
1372
+ name: oldAttr.name,
1373
+ value: typeof tmp === 'string' ? tmp : oldAttr.value,
1374
+ };
1375
+ if (oldAttr.name === 'rules') {
1376
+ source.rules = tmp?.split('|').map((ruleStr: string) => this._parseValidationRule(ruleStr.trim()));
1377
+ }
1378
+ attr = BindAttribute.from(source, element);
1379
+ } catch (e) {
1380
+ const expression = <any> this._parseExpression(oldAttr.value);
1381
+ attr = BindAttribute.from({
1382
+ type: 'dynamic',
1383
+ name: oldAttr.name,
1384
+ value: expression ? '' : oldAttr.value,
1385
+ expression,
1386
+ }, element);
1387
+ if (astNode.attrsMap[`:${attr.name}.sync`]) {
1388
+ attr.sync = true;
1389
+ }
1390
+ }
1391
+ }
1392
+ element.bindAttrs.push(attr);
1393
+ });
1394
+
1395
+ // compiler 处理:value.sync 时会加上update:value事件,需要过滤
1396
+ astNode.events
1397
+ && Object.keys(astNode.events)
1398
+ .filter((name) => !name.startsWith('update:'))
1399
+ .forEach((name) => {
1400
+ const oldEvent = astNode.events[name] as compiler.ASTElementHandler;
1401
+ const str = oldEvent.value;
1402
+ let calleeName = str.split('(')[0];
1403
+ const matchArr = str.match(/\(([^)]*)\)/);
1404
+ let argsStr = '';
1405
+ if (matchArr.length >= 2) {
1406
+ argsStr = matchArr[1];
1407
+ }
1408
+ let args: any[] = [];
1409
+ if (argsStr) {
1410
+ args = argsStr.split(',').map((argStr) => {
1411
+ const keyword = argStr.trim().split('.');
1412
+ return {
1413
+ concept: 'Argument',
1414
+ expression: genArgumentMemberExpression(keyword),
1415
+ };
1416
+ });
1417
+ }
1418
+ const viewNamespace = view?.getNamespace();
1419
+ const viewName = `${view?.name}`;
1420
+ let calleeNamespace = `${viewNamespace}.${viewName}.logics`;
1421
+ if (calleeName) {
1422
+ const namespaceArr = calleeName.split('.');
1423
+ const start = namespaceArr.shift();
1424
+ if (start === '$refs' && namespaceArr.length === 2) {
1425
+ calleeNamespace = `elements.${namespaceArr[0]}.logics`;
1426
+ calleeName = namespaceArr[1];
1427
+ }
1428
+ }
1429
+ element.bindEvents.push(BindEvent.from({
1430
+ name,
1431
+ calleeNamespace,
1432
+ calleeName,
1433
+ arguments: args,
1434
+ }, element));
1435
+ });
1436
+
1437
+ astNode.directives
1438
+ && astNode.directives.forEach((directive) => {
1439
+ if (directive.name === 'model') {
1440
+ const valueAttr = astNode.attrs && astNode.attrs.find((attr) => attr.name === 'value');
1441
+ if (!valueAttr) {
1442
+ const expression = <any> this._parseExpression(directive.value);
1443
+ element.bindAttrs.push(BindAttribute.from({
1444
+ type: 'dynamic',
1445
+ name: 'value',
1446
+ value: expression ? '' : directive.value,
1447
+ expression,
1448
+ sync: true,
1449
+ }, element));
1450
+ }
1451
+ } else {
1452
+ const expression = <any> this._parseExpression(directive.value);
1453
+ element.bindDirectives.push(BindDirective.from({
1454
+ type: expression ? 'string' : 'dynamic',
1455
+ name: directive.name,
1456
+ rawName: directive.rawName,
1457
+ value: expression ? '' : directive.value,
1458
+ expression,
1459
+ arg: directive.arg,
1460
+ modifiers: directive.modifiers,
1461
+ }, element));
1462
+ }
1463
+ });
1464
+
1465
+ if (astNode.if) {
1466
+ element.bindDirectives.push(BindDirective.from({
1467
+ type: 'dynamic',
1468
+ name: 'if',
1469
+ rawName: 'v-if',
1470
+ value: '',
1471
+ expression: <any> this._parseExpression(astNode.if),
1472
+ }, element));
1473
+ }
1474
+ } else if (astNode.type === 2) {
1475
+ if (config.scope === 'h5') {
1476
+ element = new ViewElement({
1477
+ tag: 'van-text',
1478
+ });
1479
+ } else {
1480
+ element = new ViewElement({
1481
+ tag: 'u-text',
1482
+ });
1483
+ }
1484
+ const value = astNode.text.match(/{{(.*?)}}/)[1].trim();
1485
+ const expression = <any> this._parseExpression(value);
1486
+ element.bindAttrs.push(new BindAttribute({
1487
+ type: 'dynamic',
1488
+ name: 'text',
1489
+ value: expression ? '' : value,
1490
+ expression,
1491
+ }));
1492
+ } else if (astNode.type === 3) {
1493
+ if (config.scope === 'h5') {
1494
+ element = new ViewElement({
1495
+ tag: 'van-text',
1496
+ });
1497
+ } else {
1498
+ element = new ViewElement({
1499
+ tag: 'u-text',
1500
+ });
1501
+ }
1502
+
1503
+ element.bindAttrs.push(new BindAttribute({
1504
+ name: 'text',
1505
+ type: 'string',
1506
+ value: astNode.text,
1507
+ }));
1508
+ }
1509
+
1510
+ return element;
1511
+ }
1512
+
1513
+ /**
1514
+ * 解析 Vue 模板
1515
+ * 该方法不会绑定 view 和 parent,如果是添加元素优先使用 fromHTML
1516
+ * @param html Vue 的模板
1517
+ * @TODO 处理多个元素的问题
1518
+ */
1519
+ public static parse(html: string, context?: ParseContext) {
1520
+ html = html || '<div></div>';
1521
+
1522
+ const compilerOptions: compiler.CompilerOptions = {
1523
+ preserveWhitespace: false,
1524
+ outputSourceRange: true,
1525
+ };
1526
+
1527
+ let ast = compiler.compile(html, compilerOptions).ast;
1528
+ if (ast.tag === 'template' && !ast.slotTarget)
1529
+ ast = ast.children[0] as compiler.ASTElement;
1530
+
1531
+ let root: ViewElement;
1532
+ utils.traverse((current) => {
1533
+ // 处理 scopedSlots;
1534
+ if (!current.parent)
1535
+ root = this._fromASTNode(current.node, context);
1536
+ else
1537
+ (current.parent.children as any)[current.index] = this._fromASTNode(current.node, context);
1538
+ }, { node: ast });
1539
+ return root;
1540
+ }
1541
+
1542
+ /**
1543
+ * 从模板生成规范的 ViewElement 对象
1544
+ */
1545
+ public static fromHTML(html: string, context?: ParseContext) {
1546
+ const element = this.parse(html, context);
1547
+ return element;
1548
+ }
1549
+
1550
+ /**
1551
+ * 转换成设计器中使用的 Vue 文件
1552
+ * @param options
1553
+ */
1554
+ toDesignerVue() {
1555
+ return this.toVue({
1556
+ finalCode: false,
1557
+ nodePathAttr: true,
1558
+ attrFormat: (attr: BindAttribute | BindEvent | BindDirective, element?: ViewElement, defaultResult?: string) => {
1559
+ if (attr.concept === 'BindAttribute') {
1560
+ const api = config.allNodesAPI[element.tag];
1561
+ const apiOfAttr = api && api.attrs && api.attrs.find((_attr) => _attr.name === attr.name);
1562
+ if (apiOfAttr && apiOfAttr['designer-value'] !== undefined) {
1563
+ let designerValue = apiOfAttr['designer-value'];
1564
+ if (typeof designerValue === 'string') {
1565
+ designerValue = designerValue.replace(/"/g, "'");
1566
+ }
1567
+ try {
1568
+ json5.parse(designerValue);
1569
+ return `:${attr.name}="${designerValue}"`;
1570
+ } catch (e) {
1571
+ return `${attr.name}="${designerValue}"`;
1572
+ }
1573
+ }
1574
+ if ((attr as BindAttribute).type === 'dynamic' && !(element.tag === 'u-cascade-select' && attr.name === 'categories'))
1575
+ return defaultResult.replace(/:?(\w+)(?:.*?)="(.*)"/, (m, name, value) => {
1576
+ try {
1577
+ const tempValue = json5.parse(value);
1578
+ if (typeof tempValue === 'boolean' || typeof tempValue === 'number') {
1579
+ // 简单类型走属性
1580
+ return `:${name}="${value.replace(/"/g, "'")}"`;
1581
+ }
1582
+ } catch (e) {
1583
+ if (apiOfAttr && !apiOfAttr.type.includes('string'))
1584
+ return '';
1585
+ }
1586
+ return `${name}="{{ ${value.replace(/"/g, "'").replace(/\$utils\['(.+?)'\]/g, '$1')} }}"`;
1587
+ });
1588
+ else
1589
+ return defaultResult;
1590
+ }
1591
+ return false;
1592
+ },
1593
+ getExtraParts: (el: ViewElement) => {
1594
+ const parts = [];
1595
+
1596
+ const api = config.allNodesAPI[el.tag];
1597
+ const emptySlot = api && api.slots && api.slots.find((slot) => slot.name === 'default' && slot['empty-background']);
1598
+ if (!el.children.length && emptySlot) {
1599
+ let addEmpty = true;
1600
+ if (el.tag === 'u-grid-view' || el.tag === 'u-list-view' || el.tag === 'van-list-view') {
1601
+ const hasDataSource = el.bindAttrs.find((attr) => attr.name === 'data-source');
1602
+ addEmpty = !hasDataSource;
1603
+ }
1604
+ addEmpty && parts.push(`vusion-empty-background="${emptySlot['empty-background']}"`);
1605
+ }
1606
+
1607
+ return parts;
1608
+ },
1609
+ });
1610
+ }
1611
+
1612
+ /**
1613
+ * 转换成 Vue 的模板格式
1614
+ */
1615
+ toVue(options?: ElementToVueOptions) {
1616
+ options = Object.assign({
1617
+ indentStyle: 'space',
1618
+ tabSize: 4,
1619
+ indentLevel: 0,
1620
+ aslIdAttr: false,
1621
+ nodePathAttr: false,
1622
+ getExtraParts: () => [],
1623
+ attrFormat: (attr: BindAttribute | BindEvent | BindDirective, element?: ViewElement, defaultResult?: string) => defaultResult,
1624
+ }, options);
1625
+ const tabString = ' '.repeat(options.tabSize * options.indentLevel);
1626
+ const insideTabString = ' '.repeat(options.tabSize * (options.indentLevel + 1));
1627
+ let shouldIndent = true;
1628
+ const content: string = !this.children ? '' : this.children
1629
+ .map((element) => {
1630
+ const childOptions = Object.assign({}, options);
1631
+ childOptions.indentLevel++;
1632
+ return (shouldIndent ? '\n' + insideTabString : '') + element.toVue(childOptions);
1633
+ })
1634
+ .join('');
1635
+ if (!content.length)
1636
+ shouldIndent = false;
1637
+
1638
+ const parts = [];
1639
+ if (options.aslIdAttr) {
1640
+ if (options.aslIdAttr === true)
1641
+ options.aslIdAttr = 'asl-id';
1642
+ parts.push(`${options.aslIdAttr}="${this.id}"`);
1643
+ }
1644
+ if (options.nodePathAttr) {
1645
+ // 注入 asl 的 node-path
1646
+ parts.push(`vusion-node-path="${this.nodePath}"`);
1647
+ }
1648
+
1649
+ this.slotTarget && parts.push(`#${this.slotTarget}` + (this.slotScope ? `="${this.slotScope}"` : ''));
1650
+ this.name && parts.push(`ref="${this.name}"`);
1651
+ this.staticClass && parts.push(`class="${this.staticClass}"`);
1652
+ this.staticStyle && parts.push(`style="${this.staticStyle}"`);
1653
+
1654
+ [].concat(this.bindAttrs, this.bindDirectives, this.bindEvents).forEach((attr: BindAttribute | BindDirective | BindEvent) => {
1655
+ const result = options.attrFormat(attr, this, attr.toVue(options));
1656
+ result && parts.push(result);
1657
+ });
1658
+
1659
+ options.getExtraParts(this).forEach((part) => parts.push(part));
1660
+
1661
+ let partsLength = 0;
1662
+ let partsString = '';
1663
+ parts.forEach((part) => {
1664
+ if (partsLength >= 120 || part.length >= 120) {
1665
+ partsString += '\n' + tabString + ' '.repeat(3); // ' '.repeat(el.tag.length + 1);
1666
+ partsLength = 0;
1667
+ }
1668
+ partsString += ' ' + part;
1669
+ partsLength += part.length;
1670
+ });
1671
+
1672
+ return `<${this.tag}${partsString.length ? partsString : ''}>` + content + (shouldIndent ? '\n' + tabString : '') + `</${this.tag}>`;
1673
+ }
1674
+
1675
+ //================================================================================
1676
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1677
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1678
+ //================================================================================
1679
+ }
1680
+
1681
+ classMap['ViewElement'] = ViewElement;
1682
+ export default ViewElement;
1683
+ //================================================================================
1684
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1685
+ // 自动生成的代码已结束。下面可以手动编写。
1686
+ //================================================================================