@lcap/nasl 2.12.0 → 2.13.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/out/bak/translator.js +6 -1
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/common/BaseNode.js +1 -1
  4. package/out/common/BaseNode.js.map +1 -1
  5. package/out/concepts/App__.js.map +1 -1
  6. package/out/concepts/Argument__.js +1 -1
  7. package/out/concepts/Argument__.js.map +1 -1
  8. package/out/concepts/Assignee__.js +1 -1
  9. package/out/concepts/Assignee__.js.map +1 -1
  10. package/out/concepts/Assignment__.js +1 -1
  11. package/out/concepts/Assignment__.js.map +1 -1
  12. package/out/concepts/Attribute__.js +1 -1
  13. package/out/concepts/Attribute__.js.map +1 -1
  14. package/out/concepts/BinaryExpression__.js +22 -4
  15. package/out/concepts/BinaryExpression__.js.map +1 -1
  16. package/out/concepts/BindAttribute__.js +1 -1
  17. package/out/concepts/BindAttribute__.js.map +1 -1
  18. package/out/concepts/BindDirective__.js.map +1 -1
  19. package/out/concepts/BindEvent__.d.ts +94 -2
  20. package/out/concepts/BindEvent__.js +348 -56
  21. package/out/concepts/BindEvent__.js.map +1 -1
  22. package/out/concepts/BooleanLiteral__.js +1 -1
  23. package/out/concepts/BooleanLiteral__.js.map +1 -1
  24. package/out/concepts/CallFunction__.js +1 -1
  25. package/out/concepts/CallFunction__.js.map +1 -1
  26. package/out/concepts/CallInterface__.js +3 -1
  27. package/out/concepts/CallInterface__.js.map +1 -1
  28. package/out/concepts/CallLogic__.js +1 -1
  29. package/out/concepts/CallLogic__.js.map +1 -1
  30. package/out/concepts/CallQueryComponent__.js +1 -1
  31. package/out/concepts/CallQueryComponent__.js.map +1 -1
  32. package/out/concepts/Comment__.js +1 -1
  33. package/out/concepts/Comment__.js.map +1 -1
  34. package/out/concepts/CompletionProperty__.d.ts +0 -1
  35. package/out/concepts/CompletionProperty__.js +1 -2
  36. package/out/concepts/CompletionProperty__.js.map +1 -1
  37. package/out/concepts/ConfigGroup__.js +1 -1
  38. package/out/concepts/ConfigGroup__.js.map +1 -1
  39. package/out/concepts/ConfigPropertyValue__.js +1 -1
  40. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  41. package/out/concepts/ConfigProperty__.js +1 -1
  42. package/out/concepts/ConfigProperty__.js.map +1 -1
  43. package/out/concepts/Configuration__.js +1 -1
  44. package/out/concepts/Configuration__.js.map +1 -1
  45. package/out/concepts/Constant__.js +1 -1
  46. package/out/concepts/Constant__.js.map +1 -1
  47. package/out/concepts/DataElement__.js +1 -1
  48. package/out/concepts/DataElement__.js.map +1 -1
  49. package/out/concepts/DataSource__.js +1 -1
  50. package/out/concepts/DataSource__.js.map +1 -1
  51. package/out/concepts/Destination__.js +3 -2
  52. package/out/concepts/Destination__.js.map +1 -1
  53. package/out/concepts/End__.js +1 -1
  54. package/out/concepts/End__.js.map +1 -1
  55. package/out/concepts/EntityIndex__.js +1 -1
  56. package/out/concepts/EntityIndex__.js.map +1 -1
  57. package/out/concepts/EntityProperty__.js +1 -1
  58. package/out/concepts/EntityProperty__.js.map +1 -1
  59. package/out/concepts/Entity__.js +1 -2
  60. package/out/concepts/Entity__.js.map +1 -1
  61. package/out/concepts/EnumItem__.js +1 -1
  62. package/out/concepts/EnumItem__.js.map +1 -1
  63. package/out/concepts/Enum__.js +1 -1
  64. package/out/concepts/Enum__.js.map +1 -1
  65. package/out/concepts/Event__.js +1 -1
  66. package/out/concepts/Event__.js.map +1 -1
  67. package/out/concepts/ForEachStatement__.js +1 -1
  68. package/out/concepts/ForEachStatement__.js.map +1 -1
  69. package/out/concepts/Function__.d.ts +17 -12
  70. package/out/concepts/Function__.js +50 -42
  71. package/out/concepts/Function__.js.map +1 -1
  72. package/out/concepts/Identifier__.js +1 -1
  73. package/out/concepts/Identifier__.js.map +1 -1
  74. package/out/concepts/IfStatement__.js +1 -1
  75. package/out/concepts/IfStatement__.js.map +1 -1
  76. package/out/concepts/InterfaceParam__.js +1 -1
  77. package/out/concepts/InterfaceParam__.js.map +1 -1
  78. package/out/concepts/Interface__.js +2 -1
  79. package/out/concepts/Interface__.js.map +1 -1
  80. package/out/concepts/JSBlock__.js.map +1 -1
  81. package/out/concepts/LogicItem__.js +1 -1
  82. package/out/concepts/LogicItem__.js.map +1 -1
  83. package/out/concepts/Logic__.d.ts +7 -1
  84. package/out/concepts/Logic__.js +78 -12
  85. package/out/concepts/Logic__.js.map +1 -1
  86. package/out/concepts/MemberExpression__.js +1 -1
  87. package/out/concepts/MemberExpression__.js.map +1 -1
  88. package/out/concepts/Module__.d.ts +105 -105
  89. package/out/concepts/Module__.js.map +1 -1
  90. package/out/concepts/Namespace__.js +1 -1
  91. package/out/concepts/Namespace__.js.map +1 -1
  92. package/out/concepts/NullLiteral__.js +1 -1
  93. package/out/concepts/NullLiteral__.js.map +1 -1
  94. package/out/concepts/NumericLiteral__.js +1 -1
  95. package/out/concepts/NumericLiteral__.js.map +1 -1
  96. package/out/concepts/Param__.d.ts +1 -0
  97. package/out/concepts/Param__.js +7 -1
  98. package/out/concepts/Param__.js.map +1 -1
  99. package/out/concepts/Point__.js +1 -1
  100. package/out/concepts/Point__.js.map +1 -1
  101. package/out/concepts/ProcessComponent__.js +1 -1
  102. package/out/concepts/ProcessComponent__.js.map +1 -1
  103. package/out/concepts/ProcessElement__.d.ts +86 -0
  104. package/out/concepts/ProcessElement__.js +131 -1
  105. package/out/concepts/ProcessElement__.js.map +1 -1
  106. package/out/concepts/ProcessOutcome__.js +1 -1
  107. package/out/concepts/ProcessOutcome__.js.map +1 -1
  108. package/out/concepts/Process__.d.ts +93 -0
  109. package/out/concepts/Process__.js +146 -2
  110. package/out/concepts/Process__.js.map +1 -1
  111. package/out/concepts/QueryAggregateExpression__.js +1 -1
  112. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  113. package/out/concepts/QueryFieldExpression__.js +1 -1
  114. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  115. package/out/concepts/QueryFromExpression__.js +1 -1
  116. package/out/concepts/QueryFromExpression__.js.map +1 -1
  117. package/out/concepts/QueryGroupByExpression__.js +1 -1
  118. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  119. package/out/concepts/QueryJoinExpression__.js +1 -1
  120. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  121. package/out/concepts/QueryLimitExpression__.js +1 -1
  122. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  123. package/out/concepts/QueryOrderByExpression__.js +1 -1
  124. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  125. package/out/concepts/QuerySelectExpression__.js +1 -1
  126. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  127. package/out/concepts/Rect__.js +1 -1
  128. package/out/concepts/Rect__.js.map +1 -1
  129. package/out/concepts/Return__.js +1 -1
  130. package/out/concepts/Return__.js.map +1 -1
  131. package/out/concepts/Role__.js +1 -1
  132. package/out/concepts/Role__.js.map +1 -1
  133. package/out/concepts/Slot__.js +1 -1
  134. package/out/concepts/Slot__.js.map +1 -1
  135. package/out/concepts/SqlQueryComponent__.d.ts +5 -2
  136. package/out/concepts/SqlQueryComponent__.js +7 -4
  137. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  138. package/out/concepts/Start__.js +1 -1
  139. package/out/concepts/Start__.js.map +1 -1
  140. package/out/concepts/StringLiteral__.js +1 -1
  141. package/out/concepts/StringLiteral__.js.map +1 -1
  142. package/out/concepts/StructureProperty__.js.map +1 -1
  143. package/out/concepts/Structure__.js +1 -1
  144. package/out/concepts/Structure__.js.map +1 -1
  145. package/out/concepts/SwitchCase__.js +1 -1
  146. package/out/concepts/SwitchCase__.js.map +1 -1
  147. package/out/concepts/SwitchStatement__.js +1 -1
  148. package/out/concepts/SwitchStatement__.js.map +1 -1
  149. package/out/concepts/Theme__.js +1 -1
  150. package/out/concepts/Theme__.js.map +1 -1
  151. package/out/concepts/Transactional__.js +1 -1
  152. package/out/concepts/Transactional__.js.map +1 -1
  153. package/out/concepts/TypeAnnotation__.d.ts +14 -0
  154. package/out/concepts/TypeAnnotation__.js +33 -1
  155. package/out/concepts/TypeAnnotation__.js.map +1 -1
  156. package/out/concepts/TypeParam__.js +1 -1
  157. package/out/concepts/TypeParam__.js.map +1 -1
  158. package/out/concepts/UnaryExpression__.js +1 -1
  159. package/out/concepts/UnaryExpression__.js.map +1 -1
  160. package/out/concepts/Unparsed__.js +1 -1
  161. package/out/concepts/Unparsed__.js.map +1 -1
  162. package/out/concepts/UseComponent__.js +1 -1
  163. package/out/concepts/UseComponent__.js.map +1 -1
  164. package/out/concepts/ValidationRule__.js +1 -1
  165. package/out/concepts/ValidationRule__.js.map +1 -1
  166. package/out/concepts/Variable__.js +1 -1
  167. package/out/concepts/Variable__.js.map +1 -1
  168. package/out/concepts/ViewComponent__.js +1 -1
  169. package/out/concepts/ViewComponent__.js.map +1 -1
  170. package/out/concepts/ViewElement__.js +14 -15
  171. package/out/concepts/ViewElement__.js.map +1 -1
  172. package/out/concepts/View__.d.ts +9 -0
  173. package/out/concepts/View__.js +73 -9
  174. package/out/concepts/View__.js.map +1 -1
  175. package/out/concepts/WhileStatement__.js +1 -1
  176. package/out/concepts/WhileStatement__.js.map +1 -1
  177. package/out/concepts/basics/stdlib/nasl.ui.js +4 -0
  178. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  179. package/out/concepts/basics/stdlib/nasl.util.js +2 -2
  180. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  181. package/out/concepts/basics/types/coreTypeList.js +1 -0
  182. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  183. package/out/enums/KEYWORDS.js +3 -0
  184. package/out/enums/KEYWORDS.js.map +1 -1
  185. package/out/server/createUiTs.d.ts +9 -0
  186. package/out/server/createUiTs.js +28 -1
  187. package/out/server/createUiTs.js.map +1 -1
  188. package/out/server/getMemberIdentifier.d.ts +17 -1
  189. package/out/server/getMemberIdentifier.js +128 -30
  190. package/out/server/getMemberIdentifier.js.map +1 -1
  191. package/out/server/getProcesses.d.ts +3 -3
  192. package/out/server/getProcesses.js +28 -27
  193. package/out/server/getProcesses.js.map +1 -1
  194. package/out/server/index.js +3 -0
  195. package/out/server/index.js.map +1 -1
  196. package/out/server/naslServer.d.ts +7 -1
  197. package/out/server/naslServer.js +47 -12
  198. package/out/server/naslServer.js.map +1 -1
  199. package/out/server/translator.js +19 -5
  200. package/out/server/translator.js.map +1 -1
  201. package/out/templator/genCreateBlock.js +6 -0
  202. package/out/templator/genCreateBlock.js.map +1 -1
  203. package/out/templator/genCurdEditMultipleKeyBlock.js +11 -3
  204. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  205. package/out/templator/genCurdMultipleKeyBlock.d.ts +11 -0
  206. package/out/templator/genCurdMultipleKeyBlock.js +38 -22
  207. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  208. package/out/templator/genEditTableBlock.js +5 -30
  209. package/out/templator/genEditTableBlock.js.map +1 -1
  210. package/out/templator/genGridViewBlock.js +1 -15
  211. package/out/templator/genGridViewBlock.js.map +1 -1
  212. package/out/templator/genTableBlock.js +1 -15
  213. package/out/templator/genTableBlock.js.map +1 -1
  214. package/out/templator/genUpdateBlock.js +6 -0
  215. package/out/templator/genUpdateBlock.js.map +1 -1
  216. package/out/templator/utils.d.ts +8 -0
  217. package/out/templator/utils.js +1 -0
  218. package/out/templator/utils.js.map +1 -1
  219. package/package.json +1 -1
  220. package/src/bak/translator.js +8 -1
  221. package/src/common/BaseNode.ts +1 -1
  222. package/src/concepts/App__.ts +38 -1
  223. package/src/concepts/Argument__.ts +1 -1
  224. package/src/concepts/Assignee__.ts +1 -1
  225. package/src/concepts/Assignment__.ts +1 -1
  226. package/src/concepts/Attribute__.ts +1 -1
  227. package/src/concepts/BinaryExpression__.ts +21 -4
  228. package/src/concepts/BindAttribute__.ts +1 -1
  229. package/src/concepts/BindDirective__.ts +4 -0
  230. package/src/concepts/BindEvent__.ts +423 -58
  231. package/src/concepts/BooleanLiteral__.ts +1 -1
  232. package/src/concepts/CallFunction__.ts +1 -1
  233. package/src/concepts/CallInterface__.ts +3 -1
  234. package/src/concepts/CallLogic__.ts +1 -1
  235. package/src/concepts/CallQueryComponent__.ts +1 -1
  236. package/src/concepts/Comment__.ts +1 -1
  237. package/src/concepts/CompletionProperty__.ts +1 -2
  238. package/src/concepts/ConfigGroup__.ts +1 -1
  239. package/src/concepts/ConfigPropertyValue__.ts +1 -1
  240. package/src/concepts/ConfigProperty__.ts +1 -1
  241. package/src/concepts/Configuration__.ts +1 -1
  242. package/src/concepts/Constant__.ts +1 -1
  243. package/src/concepts/DataElement__.ts +1 -1
  244. package/src/concepts/DataSource__.ts +1 -1
  245. package/src/concepts/Destination__.ts +3 -2
  246. package/src/concepts/End__.ts +1 -1
  247. package/src/concepts/EntityIndex__.ts +1 -1
  248. package/src/concepts/EntityProperty__.ts +1 -1
  249. package/src/concepts/Entity__.ts +1 -2
  250. package/src/concepts/EnumItem__.ts +1 -1
  251. package/src/concepts/Enum__.ts +1 -1
  252. package/src/concepts/Event__.ts +1 -1
  253. package/src/concepts/ForEachStatement__.ts +1 -1
  254. package/src/concepts/Function__.ts +65 -41
  255. package/src/concepts/Identifier__.ts +2 -2
  256. package/src/concepts/IfStatement__.ts +1 -1
  257. package/src/concepts/InterfaceParam__.ts +1 -1
  258. package/src/concepts/Interface__.ts +2 -1
  259. package/src/concepts/JSBlock__.ts +7 -0
  260. package/src/concepts/LogicItem__.ts +1 -1
  261. package/src/concepts/Logic__.ts +117 -14
  262. package/src/concepts/MemberExpression__.ts +1 -1
  263. package/src/concepts/Module__.ts +129 -107
  264. package/src/concepts/Namespace__.ts +1 -1
  265. package/src/concepts/NullLiteral__.ts +1 -1
  266. package/src/concepts/NumericLiteral__.ts +1 -1
  267. package/src/concepts/Param__.ts +7 -1
  268. package/src/concepts/Point__.ts +1 -1
  269. package/src/concepts/ProcessComponent__.ts +1 -1
  270. package/src/concepts/ProcessElement__.ts +228 -2
  271. package/src/concepts/ProcessOutcome__.ts +1 -1
  272. package/src/concepts/Process__.ts +242 -3
  273. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  274. package/src/concepts/QueryFieldExpression__.ts +1 -1
  275. package/src/concepts/QueryFromExpression__.ts +1 -1
  276. package/src/concepts/QueryGroupByExpression__.ts +1 -1
  277. package/src/concepts/QueryJoinExpression__.ts +1 -1
  278. package/src/concepts/QueryLimitExpression__.ts +1 -1
  279. package/src/concepts/QueryOrderByExpression__.ts +1 -1
  280. package/src/concepts/QuerySelectExpression__.ts +1 -1
  281. package/src/concepts/Rect__.ts +1 -1
  282. package/src/concepts/Return__.ts +1 -1
  283. package/src/concepts/Role__.ts +1 -1
  284. package/src/concepts/Slot__.ts +1 -1
  285. package/src/concepts/SqlQueryComponent__.ts +14 -4
  286. package/src/concepts/Start__.ts +1 -1
  287. package/src/concepts/StringLiteral__.ts +1 -1
  288. package/src/concepts/StructureProperty__.ts +4 -0
  289. package/src/concepts/Structure__.ts +1 -1
  290. package/src/concepts/SwitchCase__.ts +1 -1
  291. package/src/concepts/SwitchStatement__.ts +1 -1
  292. package/src/concepts/Theme__.ts +1 -1
  293. package/src/concepts/Transactional__.ts +1 -1
  294. package/src/concepts/TypeAnnotation__.ts +32 -3
  295. package/src/concepts/TypeParam__.ts +1 -1
  296. package/src/concepts/UnaryExpression__.ts +1 -1
  297. package/src/concepts/Unparsed__.ts +1 -1
  298. package/src/concepts/UseComponent__.ts +1 -1
  299. package/src/concepts/ValidationRule__.ts +1 -1
  300. package/src/concepts/Variable__.ts +1 -1
  301. package/src/concepts/ViewComponent__.ts +1 -1
  302. package/src/concepts/ViewElement__.ts +34 -17
  303. package/src/concepts/View__.ts +75 -12
  304. package/src/concepts/WhileStatement__.ts +1 -1
  305. package/src/concepts/basics/stdlib/nasl.ui.ts +4 -0
  306. package/src/concepts/basics/stdlib/nasl.util.ts +2 -2
  307. package/src/concepts/basics/types/coreTypeList.ts +1 -0
  308. package/src/enums/KEYWORDS.ts +3 -0
  309. package/src/server/createUiTs.ts +26 -2
  310. package/src/server/events.yaml +89 -0
  311. package/src/server/getMemberIdentifier.ts +121 -28
  312. package/src/server/getProcesses.ts +31 -30
  313. package/src/server/index.ts +4 -0
  314. package/src/server/naslServer.ts +46 -12
  315. package/src/server/translator.ts +25 -13
  316. package/src/templator/genCreateBlock.ts +4 -0
  317. package/src/templator/genCurdEditMultipleKeyBlock.ts +10 -3
  318. package/src/templator/genCurdMultipleKeyBlock.ts +36 -21
  319. package/src/templator/genEditTableBlock.ts +2 -27
  320. package/src/templator/genGridViewBlock.ts +0 -13
  321. package/src/templator/genTableBlock.ts +0 -13
  322. package/src/templator/genUpdateBlock.ts +4 -0
  323. package/src/templator/utils.ts +1 -0
@@ -368,7 +368,7 @@ export class Return extends BaseNode {
368
368
  //================================================================================
369
369
  }
370
370
 
371
- classMap['Return'] = Return;
371
+ classMap.Return = Return;
372
372
  export default Return;
373
373
  //================================================================================
374
374
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -161,7 +161,7 @@ export class Role extends BaseNode {
161
161
  //================================================================================
162
162
  }
163
163
 
164
- classMap['Role'] = Role;
164
+ classMap.Role = Role;
165
165
  export default Role;
166
166
  //================================================================================
167
167
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -114,7 +114,7 @@ export class Slot extends BaseNode {
114
114
  //================================================================================
115
115
  }
116
116
 
117
- classMap['Slot'] = Slot;
117
+ classMap.Slot = Slot;
118
118
  export default Slot;
119
119
  //================================================================================
120
120
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -43,11 +43,19 @@ export class SqlQueryComponent extends LogicItem {
43
43
  typeAnnotation: TypeAnnotation = undefined;
44
44
 
45
45
  /**
46
- * 局部版本
46
+ * 数据源
47
+ */
48
+ @property()
49
+ dataSource: string = undefined;
50
+
51
+ /**
52
+ * 查询组件的局部版本
47
53
  */
48
54
  @property()
49
55
  ideVersion: string = undefined;
50
56
 
57
+
58
+
51
59
  /**
52
60
  * @param source 需要合并的部分参数
53
61
  */
@@ -61,6 +69,7 @@ export class SqlQueryComponent extends LogicItem {
61
69
  return super.from(source, parentNode, parentKey) as SqlQueryComponent;
62
70
  }
63
71
 
72
+
64
73
  /**
65
74
  * 设置SQL 查询
66
75
  */
@@ -73,6 +82,10 @@ export class SqlQueryComponent extends LogicItem {
73
82
  });
74
83
  }
75
84
 
85
+
86
+
87
+
88
+
76
89
  /**
77
90
  * 删除类型标注
78
91
  * @param name 类型标注名称
@@ -126,9 +139,6 @@ export class SqlQueryComponent extends LogicItem {
126
139
  // 自动生成的代码已结束。下面可以手动编写。
127
140
  //================================================================================
128
141
 
129
- @property()
130
- dataSource: string = undefined;
131
-
132
142
  /**
133
143
  * 设置SQL 查询
134
144
  */
@@ -71,7 +71,7 @@ export class Start extends LogicItem {
71
71
  //================================================================================
72
72
  }
73
73
 
74
- classMap['Start'] = Start;
74
+ classMap.Start = Start;
75
75
  export default Start;
76
76
  //================================================================================
77
77
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -125,7 +125,7 @@ export class StringLiteral extends LogicItem {
125
125
  //================================================================================
126
126
  }
127
127
 
128
- classMap['StringLiteral'] = StringLiteral;
128
+ classMap.StringLiteral = StringLiteral;
129
129
  export default StringLiteral;
130
130
  //================================================================================
131
131
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -171,6 +171,10 @@ export class StructureProperty extends BaseNode {
171
171
  });
172
172
  }
173
173
 
174
+
175
+
176
+
177
+
174
178
  /**
175
179
  * 删除类型标注
176
180
  * @param name 类型标注名称
@@ -603,7 +603,7 @@ export class Structure extends BaseNode {
603
603
  //================================================================================
604
604
  }
605
605
 
606
- classMap['Structure'] = Structure;
606
+ classMap.Structure = Structure;
607
607
  export default Structure;
608
608
  //================================================================================
609
609
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -313,7 +313,7 @@ export class SwitchCase extends LogicItem {
313
313
  //================================================================================
314
314
  }
315
315
 
316
- classMap['SwitchCase'] = SwitchCase;
316
+ classMap.SwitchCase = SwitchCase;
317
317
  export default SwitchCase;
318
318
  //================================================================================
319
319
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -244,7 +244,7 @@ export class SwitchStatement extends LogicItem {
244
244
  //================================================================================
245
245
  }
246
246
 
247
- classMap['SwitchStatement'] = SwitchStatement;
247
+ classMap.SwitchStatement = SwitchStatement;
248
248
  export default SwitchStatement;
249
249
  //================================================================================
250
250
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -87,7 +87,7 @@ export class Theme extends BaseNode {
87
87
  //================================================================================
88
88
  }
89
89
 
90
- classMap['Theme'] = Theme;
90
+ classMap.Theme = Theme;
91
91
  export default Theme;
92
92
  //================================================================================
93
93
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -157,7 +157,7 @@ export class Transactional extends BaseNode {
157
157
  //================================================================================
158
158
  }
159
159
 
160
- classMap['Transactional'] = Transactional;
160
+ classMap.Transactional = Transactional;
161
161
  export default Transactional;
162
162
  //================================================================================
163
163
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -5,6 +5,7 @@ export enum PRIMITIVE_TYPE {
5
5
  Integer = 'Integer',
6
6
  Long = 'Long',
7
7
  Double = 'Double',
8
+ Decimal = 'Decimal',
8
9
  String = 'String',
9
10
  Text = 'Text',
10
11
  Binary = 'Binary',
@@ -19,6 +20,7 @@ export const PRIMITIVE_TITLE: Record<string, string> = {
19
20
  Integer: '整数',
20
21
  Long: '长整数',
21
22
  Double: '小数',
23
+ Decimal: '精确小数',
22
24
  String: '字符串',
23
25
  Text: '长文本',
24
26
  Binary: '二进制流',
@@ -82,6 +84,12 @@ export class TypeAnnotation extends BaseNode {
82
84
  @property()
83
85
  inferred?: boolean = undefined;
84
86
 
87
+ /**
88
+ * 规则对象
89
+ */
90
+ @property()
91
+ ruleMap: Object = undefined;
92
+
85
93
 
86
94
 
87
95
  /**
@@ -97,8 +105,28 @@ export class TypeAnnotation extends BaseNode {
97
105
  return super.from(source, parentNode, parentKey) as TypeAnnotation;
98
106
  }
99
107
 
100
-
101
-
108
+ /**
109
+ * 从父级删除该节点
110
+ * @internal
111
+ */
112
+ _delete() {
113
+ let params: Params = null;
114
+ if (this.parentNode) {
115
+ params = (this.parentNode as any)?.__removeTypeAnnotation?.(this);
116
+ }
117
+ return params;
118
+ }
119
+ /**
120
+ * 设置规则对象
121
+ */
122
+ setRuleMap(ruleMap: Object) {
123
+ const object = {
124
+ ruleMap,
125
+ };
126
+ this.update({
127
+ ...object,
128
+ });
129
+ }
102
130
 
103
131
 
104
132
 
@@ -451,6 +479,7 @@ export class TypeAnnotation extends BaseNode {
451
479
  } else if (!isNaN(Number(code))) {
452
480
  if (code.indexOf('.') !== -1) {
453
481
  return this.createPrimitive('Double');
482
+ // return this.createPrimitive('Decimal');
454
483
  }
455
484
  if (code.length > 8) {
456
485
  return this.createPrimitive('Long');
@@ -471,7 +500,7 @@ export class TypeAnnotation extends BaseNode {
471
500
  //================================================================================
472
501
  }
473
502
 
474
- classMap['TypeAnnotation'] = TypeAnnotation;
503
+ classMap.TypeAnnotation = TypeAnnotation;
475
504
  export default TypeAnnotation;
476
505
  //================================================================================
477
506
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -61,7 +61,7 @@ export class TypeParam extends BaseNode {
61
61
  //================================================================================
62
62
  }
63
63
 
64
- classMap['TypeParam'] = TypeParam;
64
+ classMap.TypeParam = TypeParam;
65
65
  export default TypeParam;
66
66
  //================================================================================
67
67
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -176,7 +176,7 @@ export class UnaryExpression extends LogicItem {
176
176
  //================================================================================
177
177
  }
178
178
 
179
- classMap['UnaryExpression'] = UnaryExpression;
179
+ classMap.UnaryExpression = UnaryExpression;
180
180
  export default UnaryExpression;
181
181
  //================================================================================
182
182
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -90,7 +90,7 @@ export class Unparsed extends LogicItem {
90
90
  //================================================================================
91
91
  }
92
92
 
93
- classMap['Unparsed'] = Unparsed;
93
+ classMap.Unparsed = Unparsed;
94
94
  export default Unparsed;
95
95
  //================================================================================
96
96
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -77,7 +77,7 @@ export class UseComponent extends BaseNode {
77
77
  //================================================================================
78
78
  }
79
79
 
80
- classMap['UseComponent'] = UseComponent;
80
+ classMap.UseComponent = UseComponent;
81
81
  export default UseComponent;
82
82
  //================================================================================
83
83
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -324,7 +324,7 @@ export class ValidationRule extends LogicItem {
324
324
  //================================================================================
325
325
  }
326
326
 
327
- classMap['ValidationRule'] = ValidationRule;
327
+ classMap.ValidationRule = ValidationRule;
328
328
  export default ValidationRule;
329
329
  //================================================================================
330
330
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -365,7 +365,7 @@ export class Variable extends BaseNode {
365
365
  //================================================================================
366
366
  }
367
367
 
368
- classMap['Variable'] = Variable;
368
+ classMap.Variable = Variable;
369
369
  export default Variable;
370
370
  //================================================================================
371
371
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -1091,7 +1091,7 @@ export class ViewComponent extends BaseNode {
1091
1091
  //================================================================================
1092
1092
  }
1093
1093
 
1094
- classMap['ViewComponent'] = ViewComponent;
1094
+ classMap.ViewComponent = ViewComponent;
1095
1095
  export default ViewComponent;
1096
1096
  //================================================================================
1097
1097
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -7,7 +7,7 @@ import * as compiler from 'vue-template-compiler';
7
7
 
8
8
  import LogicItem from './LogicItem__';
9
9
 
10
- import { config } from '..';
10
+ import { config, Logic } from '..';
11
11
 
12
12
  export interface ParseContext {
13
13
  [key: string]: any;
@@ -262,6 +262,8 @@ export class ViewElement extends BaseNode {
262
262
  super.subConstructor(source);
263
263
  }
264
264
 
265
+
266
+
265
267
  /**
266
268
  * 从父级删除该节点
267
269
  * @internal
@@ -298,7 +300,7 @@ export class ViewElement extends BaseNode {
298
300
  });
299
301
  }
300
302
 
301
- getBindAttributeExistingNames(excludedList: Array<BindAttribute> = []) {
303
+ getBindAttributeExistingNames(excludedList: Array<BindAttribute> = []) {
302
304
  const excludedSet = new Set(excludedList);
303
305
  return (this.bindAttrs || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
304
306
  }
@@ -439,6 +441,7 @@ export class ViewElement extends BaseNode {
439
441
  return node;
440
442
  }
441
443
 
444
+
442
445
  getBindEventExistingNames(excludedList: Array<BindEvent> = []) {
443
446
  const excludedSet = new Set(excludedList);
444
447
  return (this.bindEvents || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -580,6 +583,7 @@ export class ViewElement extends BaseNode {
580
583
  return node;
581
584
  }
582
585
 
586
+
583
587
  getBindDirectiveExistingNames(excludedList: Array<BindDirective> = []) {
584
588
  const excludedSet = new Set(excludedList);
585
589
  return (this.bindDirectives || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -721,6 +725,11 @@ export class ViewElement extends BaseNode {
721
725
  return node;
722
726
  }
723
727
 
728
+
729
+
730
+
731
+
732
+
724
733
  /**
725
734
  * 插入页面元素
726
735
  * @internal
@@ -854,6 +863,9 @@ export class ViewElement extends BaseNode {
854
863
  return node;
855
864
  }
856
865
 
866
+
867
+
868
+
857
869
  /**
858
870
  * 删除元素绑定属性
859
871
  * @param name 元素绑定属性名称
@@ -902,6 +914,8 @@ export class ViewElement extends BaseNode {
902
914
  return params;
903
915
  }
904
916
 
917
+
918
+
905
919
  /**
906
920
  * 删除元素绑定事件
907
921
  * @param name 元素绑定事件名称
@@ -950,6 +964,8 @@ export class ViewElement extends BaseNode {
950
964
  return params;
951
965
  }
952
966
 
967
+
968
+
953
969
  /**
954
970
  * 删除元素指令
955
971
  * @param name 元素指令名称
@@ -998,6 +1014,8 @@ export class ViewElement extends BaseNode {
998
1014
  return params;
999
1015
  }
1000
1016
 
1017
+
1018
+
1001
1019
  /**
1002
1020
  * 删除页面元素
1003
1021
  * @param name 页面元素名称
@@ -1264,9 +1282,12 @@ export class ViewElement extends BaseNode {
1264
1282
 
1265
1283
  let levelIndex = parentLevel || 0;
1266
1284
  if (this.haveScope(this)) {
1285
+ code += indent((state?.tabSize || 0) + 2);
1286
+ // code += `slotDefault: (scope${levelIndex === 0 ? '' : levelIndex})=> [\n`;
1267
1287
  code += `slotDefault: (scope)=> [\n`;
1268
1288
  levelIndex++;
1269
1289
  } else {
1290
+ code += indent((state?.tabSize || 0) + 2);
1270
1291
  code += `slotDefault: ()=> [\n`;
1271
1292
  }
1272
1293
 
@@ -1454,7 +1475,7 @@ export class ViewElement extends BaseNode {
1454
1475
  .forEach((name) => {
1455
1476
  const oldEvent = astNode.events[name] as compiler.ASTElementHandler;
1456
1477
  const str = oldEvent.value;
1457
- let calleeName = str.split('(')[0];
1478
+ const calleeName = str.split('(')[0];
1458
1479
  const matchArr = str.match(/\(([^)]*)\)/) || [];
1459
1480
  let argsStr = '';
1460
1481
  if (matchArr?.length >= 2) {
@@ -1471,21 +1492,17 @@ export class ViewElement extends BaseNode {
1471
1492
  expression: genArgumentMemberExpression(keyword),
1472
1493
  };
1473
1494
  });
1474
- let calleeNamespace = '';
1475
- if (calleeName) {
1476
- const namespaceArr = calleeName.split('.');
1477
- const start = namespaceArr.shift();
1478
- if (start === '$refs' && namespaceArr.length === 2) {
1479
- calleeNamespace = `elements.${namespaceArr[0]}.logics`;
1480
- calleeName = namespaceArr[1];
1481
- }
1495
+ const viewLogics = context?.definition?.viewLogics || [];
1496
+ const currentLogic = viewLogics.find((item: Logic) => item.name === calleeName);
1497
+ if (currentLogic) {
1498
+ element.addBindEvent(new BindEvent({
1499
+ name,
1500
+ calleeNamespace: '',
1501
+ calleeName: '',
1502
+ arguments: args,
1503
+ logics: [currentLogic],
1504
+ }));
1482
1505
  }
1483
- element.addBindEvent(new BindEvent({
1484
- name,
1485
- calleeNamespace,
1486
- calleeName,
1487
- arguments: args,
1488
- }));
1489
1506
  });
1490
1507
 
1491
1508
  astNode.directives
@@ -234,7 +234,7 @@ export class View extends BaseNode {
234
234
  });
235
235
  }
236
236
 
237
-
237
+
238
238
 
239
239
  /**
240
240
  * 插入页面元素
@@ -1070,7 +1070,7 @@ export class View extends BaseNode {
1070
1070
  }
1071
1071
 
1072
1072
 
1073
-
1073
+
1074
1074
 
1075
1075
  /**
1076
1076
  * 删除页面元素
@@ -1453,6 +1453,7 @@ export class View extends BaseNode {
1453
1453
  if (template) {
1454
1454
  const node = ViewElement.fromHTML(template, {
1455
1455
  view: this,
1456
+ definition,
1456
1457
  });
1457
1458
  if (!parentNode) {
1458
1459
  return;
@@ -1511,20 +1512,38 @@ export class View extends BaseNode {
1511
1512
  // 页面逻辑
1512
1513
  if (Array.isArray(definition.viewLogics)) {
1513
1514
  definition.viewLogics.forEach((logicOption: any) => {
1514
- const logic = Logic.from({
1515
- ...logicOption,
1516
- }, this, 'logics');
1517
- this.addLogic(logic);
1515
+ // 页面逻辑只有load函数的走之前的逻辑其余不用创建
1516
+ if (logicOption.name.startsWith('load')) {
1517
+ const logic = Logic.from({
1518
+ ...logicOption,
1519
+ }, this, 'logics');
1520
+ this.addLogic(logic);
1521
+ }
1518
1522
  });
1519
1523
  }
1520
-
1521
1524
  // 页面事件
1522
1525
  if (Array.isArray(definition.viewBindEvents)) {
1523
1526
  definition.viewBindEvents.forEach((eventOption: any) => {
1524
- const event = BindEvent.from({
1525
- ...eventOption,
1526
- }, this, 'events');
1527
- this.addBindEvent(event);
1527
+ const newLogic = definition.viewLogics.find((logic: Logic) => {
1528
+ return eventOption.calleeName === logic.name;
1529
+ });
1530
+ const bindEvent = this.bindEvents.find((currentEventItem) => {
1531
+ return currentEventItem.name === eventOption.name;
1532
+ });
1533
+
1534
+ // 如果没有event对象就先新增一个,如果已经有了就在内部添加logic
1535
+ if (!bindEvent) {
1536
+ const event = BindEvent.from({
1537
+ ...eventOption,
1538
+ calleeName: '',
1539
+ logics: [newLogic],
1540
+ }, this, 'events');
1541
+ this.addBindEvent(event);
1542
+ } else {
1543
+ const index = bindEvent.logics.length;
1544
+ newLogic.name = newLogic.name + index;
1545
+ bindEvent.addLogic(newLogic);
1546
+ }
1528
1547
  });
1529
1548
  }
1530
1549
  }
@@ -1592,6 +1611,7 @@ export class View extends BaseNode {
1592
1611
  crumb: this.crumb,
1593
1612
  first: this.children.find((child) => child.isIndex)?.name,
1594
1613
  auth: this.auth ? 'loginAuth' : undefined,
1614
+ viewBindEvents: this.getViewBindEvents(),
1595
1615
  };
1596
1616
  return `${componentOptions}
1597
1617
  ${translator(definition)}
@@ -1826,6 +1846,49 @@ export class View extends BaseNode {
1826
1846
  get authPath() {
1827
1847
  return this.path;
1828
1848
  }
1849
+ /**
1850
+ * 获取当前页面下所有elements上bindEvents下的logic
1851
+ */
1852
+ get elementLogicRoot() {
1853
+ const logics: Array<Logic> = [];
1854
+ // 页面上的绑定的事件
1855
+ this.bindEvents.forEach((bindEvent) => {
1856
+ bindEvent.logics.forEach((logic) => {
1857
+ // logic.virtualParams = bindEvent.getContextRenderLogicParams(logic);
1858
+ logics.push(logic);
1859
+ });
1860
+ });
1861
+ this.elements.forEach((item) => {
1862
+ utils.traverse((current) => {
1863
+ current.node.bindEvents.forEach((bindEvent) => {
1864
+ bindEvent.logics.forEach((logic) => {
1865
+ // logic.virtualParams = bindEvent.getContextRenderLogicParams(logic);
1866
+ logics.push(logic);
1867
+ });
1868
+ });
1869
+ }, { node: item });
1870
+ });
1871
+ return [{
1872
+ concept: 'elementLogicRoot',
1873
+ expanded: false,
1874
+ children: logics,
1875
+ }];
1876
+ }
1877
+ getViewBindEvents() {
1878
+ const bindEvents: Array<BindEvent> = [];
1879
+ // 页面上的绑定的事件
1880
+ this.bindEvents.forEach((bindEvent) => {
1881
+ bindEvents.push(bindEvent);
1882
+ });
1883
+ this.elements.forEach((item) => {
1884
+ utils.traverse((current) => {
1885
+ current.node.bindEvents.forEach((bindEvent) => {
1886
+ bindEvents.push(bindEvent);
1887
+ });
1888
+ }, { node: item });
1889
+ });
1890
+ return bindEvents;
1891
+ }
1829
1892
 
1830
1893
  /**
1831
1894
  * @param path 子路径
@@ -1909,7 +1972,7 @@ export class View extends BaseNode {
1909
1972
  //================================================================================
1910
1973
  }
1911
1974
 
1912
- classMap['View'] = View;
1975
+ classMap.View = View;
1913
1976
  export default View;
1914
1977
  //================================================================================
1915
1978
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -293,7 +293,7 @@ export class WhileStatement extends LogicItem {
293
293
  //================================================================================
294
294
  }
295
295
 
296
- classMap['WhileStatement'] = WhileStatement;
296
+ classMap.WhileStatement = WhileStatement;
297
297
  export default WhileStatement;
298
298
  //================================================================================
299
299
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
@@ -38,6 +38,10 @@ export const uiStructures = [
38
38
  }),
39
39
  ],
40
40
  }),
41
+ new Structure({
42
+ name: 'BaseEvent',
43
+ properties: [],
44
+ }),
41
45
  new Structure({
42
46
  name: 'DataSourceParams',
43
47
  properties: [
@@ -571,8 +571,8 @@ export default new Namespace({
571
571
  description: '返回格式化的数字字符串',
572
572
  params: [
573
573
  new Param({
574
- name: 'doubleValue',
575
- typeAnnotation: TypeAnnotation.createPrimitive('Double'),
574
+ name: 'value',
575
+ typeAnnotation: TypeAnnotation.createPrimitive('Decimal'),
576
576
  defaultExpression: new Identifier(),
577
577
  }),
578
578
  new Param({
@@ -5,6 +5,7 @@ export const primitiveTypeList: Array<TypeAnnotation> = [
5
5
  TypeAnnotation.createPrimitive('Integer'),
6
6
  TypeAnnotation.createPrimitive('Long'),
7
7
  TypeAnnotation.createPrimitive('Double'),
8
+ TypeAnnotation.createPrimitive('Decimal'),
8
9
  TypeAnnotation.createPrimitive('String'),
9
10
  TypeAnnotation.createPrimitive('Text'),
10
11
  TypeAnnotation.createPrimitive('Binary'),
@@ -53,6 +53,7 @@ export const KEYWORDS = [
53
53
  'deps',
54
54
  'do',
55
55
  'double',
56
+ 'decimal',
56
57
  'dynamic',
57
58
  'elements',
58
59
  'element',
@@ -404,6 +405,7 @@ export const ENTITY_KEYWORDS = [
404
405
  'DOCS',
405
406
  'DOCUMENT',
406
407
  'DOUBLE',
408
+ 'Decimal',
407
409
  'DROP',
408
410
  'DUAL',
409
411
  'DUMP',
@@ -1115,6 +1117,7 @@ export const ENTITY_PROPERTY_KEYWORDS = [
1115
1117
  'THIS',
1116
1118
  'BREAK',
1117
1119
  'DOUBLE',
1120
+ 'Decimal',
1118
1121
  'IMPLEMENTS',
1119
1122
  'PROTECTED',
1120
1123
  'THROW',