@lcap/nasl 2.18.0-beta.7 → 2.19.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 (265) hide show
  1. package/out/automate/template/myProcess.js +1 -1
  2. package/out/automate/template/myProcess.js.map +1 -1
  3. package/out/bak/translator.js +2 -1
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/common/Command.d.ts +1 -0
  6. package/out/common/Command.js +5 -1
  7. package/out/common/Command.js.map +1 -1
  8. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  9. package/out/concepts/AnonymousFunction__.js +40 -2
  10. package/out/concepts/AnonymousFunction__.js.map +1 -1
  11. package/out/concepts/App__.d.ts +10 -0
  12. package/out/concepts/App__.js +132 -0
  13. package/out/concepts/App__.js.map +1 -1
  14. package/out/concepts/Assignee__.js +4 -3
  15. package/out/concepts/Assignee__.js.map +1 -1
  16. package/out/concepts/BatchAssignment__.d.ts +2 -0
  17. package/out/concepts/BatchAssignment__.js +45 -1
  18. package/out/concepts/BatchAssignment__.js.map +1 -1
  19. package/out/concepts/BindAttribute__.js +8 -1
  20. package/out/concepts/BindAttribute__.js.map +1 -1
  21. package/out/concepts/CallFunction__.js +51 -18
  22. package/out/concepts/CallFunction__.js.map +1 -1
  23. package/out/concepts/CallInterface__.js +6 -4
  24. package/out/concepts/CallInterface__.js.map +1 -1
  25. package/out/concepts/CallLogic__.js +87 -15
  26. package/out/concepts/CallLogic__.js.map +1 -1
  27. package/out/concepts/CallQueryComponent__.js +4 -1
  28. package/out/concepts/CallQueryComponent__.js.map +1 -1
  29. package/out/concepts/DataSource__.d.ts +2 -0
  30. package/out/concepts/DataSource__.js +55 -1
  31. package/out/concepts/DataSource__.js.map +1 -1
  32. package/out/concepts/ForEachStatement__.js +2 -0
  33. package/out/concepts/ForEachStatement__.js.map +1 -1
  34. package/out/concepts/Identifier__.d.ts +1 -0
  35. package/out/concepts/Identifier__.js +18 -7
  36. package/out/concepts/Identifier__.js.map +1 -1
  37. package/out/concepts/LogicItem__.d.ts +1 -1
  38. package/out/concepts/LogicItem__.js.map +1 -1
  39. package/out/concepts/Logic__.d.ts +1 -0
  40. package/out/concepts/Logic__.js +27 -14
  41. package/out/concepts/Logic__.js.map +1 -1
  42. package/out/concepts/Match__.js +13 -8
  43. package/out/concepts/Match__.js.map +1 -1
  44. package/out/concepts/NewComposite__.d.ts +345 -0
  45. package/out/concepts/NewComposite__.js +1067 -0
  46. package/out/concepts/NewComposite__.js.map +1 -0
  47. package/out/concepts/NewList__.d.ts +130 -0
  48. package/out/concepts/NewList__.js +353 -0
  49. package/out/concepts/NewList__.js.map +1 -0
  50. package/out/concepts/NewMap__.d.ts +221 -0
  51. package/out/concepts/NewMap__.js +492 -0
  52. package/out/concepts/NewMap__.js.map +1 -0
  53. package/out/concepts/New__.d.ts +19 -0
  54. package/out/concepts/New__.js +66 -0
  55. package/out/concepts/New__.js.map +1 -0
  56. package/out/concepts/Param__.d.ts +2 -0
  57. package/out/concepts/Param__.js +40 -3
  58. package/out/concepts/Param__.js.map +1 -1
  59. package/out/concepts/ProcessElement__.js +31 -10
  60. package/out/concepts/ProcessElement__.js.map +1 -1
  61. package/out/concepts/ProcessOutcome__.js +1 -1
  62. package/out/concepts/ProcessOutcome__.js.map +1 -1
  63. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  64. package/out/concepts/{ConstructArgument__.js → ProcessOutcomes__.js} +27 -48
  65. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  66. package/out/concepts/Return__.js +2 -1
  67. package/out/concepts/Return__.js.map +1 -1
  68. package/out/concepts/SelectMembers__.js +3 -3
  69. package/out/concepts/SelectMembers__.js.map +1 -1
  70. package/out/concepts/StringInterpolation__.js +12 -2
  71. package/out/concepts/StringInterpolation__.js.map +1 -1
  72. package/out/concepts/TypeAnnotation__.d.ts +4 -0
  73. package/out/concepts/TypeAnnotation__.js +66 -12
  74. package/out/concepts/TypeAnnotation__.js.map +1 -1
  75. package/out/concepts/ValidationRule__.js +1 -1
  76. package/out/concepts/ValidationRule__.js.map +1 -1
  77. package/out/concepts/Variable__.js +2 -1
  78. package/out/concepts/Variable__.js.map +1 -1
  79. package/out/concepts/ViewElement__.js +12 -0
  80. package/out/concepts/ViewElement__.js.map +1 -1
  81. package/out/concepts/View__.d.ts +1 -0
  82. package/out/concepts/View__.js +9 -0
  83. package/out/concepts/View__.js.map +1 -1
  84. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  85. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  86. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  87. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  88. package/out/concepts/basics/stdlib/nasl.ui.js +2 -0
  89. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  90. package/out/concepts/basics/stdlib/nasl.util.js +151 -19
  91. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  92. package/out/concepts/index__.d.ts +5 -0
  93. package/out/concepts/index__.js +5 -0
  94. package/out/concepts/index__.js.map +1 -1
  95. package/out/enums/KEYWORDS.js +1 -0
  96. package/out/enums/KEYWORDS.js.map +1 -1
  97. package/out/generator/genMetaData.js +1 -6
  98. package/out/generator/genMetaData.js.map +1 -1
  99. package/out/generator/genReleaseBody.d.ts +2 -0
  100. package/out/generator/genReleaseBody.js +18 -1
  101. package/out/generator/genReleaseBody.js.map +1 -1
  102. package/out/generator/index.d.ts +1 -0
  103. package/out/generator/index.js +1 -0
  104. package/out/generator/index.js.map +1 -1
  105. package/out/generator/permission.d.ts +9 -0
  106. package/out/generator/permission.js +235 -0
  107. package/out/generator/permission.js.map +1 -0
  108. package/out/index.d.ts +1 -1
  109. package/out/index.js +2 -1
  110. package/out/index.js.map +1 -1
  111. package/out/server/entity2LogicNamespace.js +69 -9
  112. package/out/server/entity2LogicNamespace.js.map +1 -1
  113. package/out/server/extendBaseNode.js +7 -3
  114. package/out/server/extendBaseNode.js.map +1 -1
  115. package/out/server/formatTsUtils.js +6 -0
  116. package/out/server/formatTsUtils.js.map +1 -1
  117. package/out/server/getLogics.d.ts +2 -1
  118. package/out/server/getLogics.js +11 -0
  119. package/out/server/getLogics.js.map +1 -1
  120. package/out/server/getMemberIdentifier.js +1 -1
  121. package/out/server/getMemberIdentifier.js.map +1 -1
  122. package/out/server/naslServer.d.ts +1 -1
  123. package/out/server/naslServer.js +161 -22
  124. package/out/server/naslServer.js.map +1 -1
  125. package/out/server/process2LogicNamespace.js +8 -0
  126. package/out/server/process2LogicNamespace.js.map +1 -1
  127. package/out/server/translator.js +53 -8
  128. package/out/server/translator.js.map +1 -1
  129. package/out/service/creator/add.configs.js +4 -0
  130. package/out/service/creator/add.configs.js.map +1 -1
  131. package/out/service/datasource/api.d.ts +12 -0
  132. package/out/service/datasource/api.js +14 -0
  133. package/out/service/datasource/api.js.map +1 -0
  134. package/out/service/datasource/index.d.ts +2 -0
  135. package/out/service/datasource/index.js +10 -0
  136. package/out/service/datasource/index.js.map +1 -0
  137. package/out/service/storage/init.js +8 -1
  138. package/out/service/storage/init.js.map +1 -1
  139. package/out/templator/genEditTableBlock.js +4 -5
  140. package/out/templator/genEditTableBlock.js.map +1 -1
  141. package/out/templator/genGetBlock.js +4 -3
  142. package/out/templator/genGetBlock.js.map +1 -1
  143. package/out/templator/genGridViewBlock.js +16 -14
  144. package/out/templator/genGridViewBlock.js.map +1 -1
  145. package/out/templator/genListViewBlock.js +5 -5
  146. package/out/templator/genListViewBlock.js.map +1 -1
  147. package/out/templator/genTableBlock.js +6 -10
  148. package/out/templator/genTableBlock.js.map +1 -1
  149. package/package.json +1 -1
  150. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  151. package/sandbox/stdlib/nasl.auth.ts +1 -1
  152. package/sandbox/stdlib/nasl.core.ts +4 -0
  153. package/sandbox/stdlib/nasl.logging.ts +4 -4
  154. package/sandbox/stdlib/nasl.util.ts +13 -4
  155. package/src/automate/template/myProcess.js +1 -1
  156. package/src/bak/translator.js +4 -1
  157. package/src/common/Command.ts +4 -0
  158. package/src/concepts/AnonymousFunction__.ts +48 -2
  159. package/src/concepts/App__.ts +140 -41
  160. package/src/concepts/Assignee__.ts +4 -3
  161. package/src/concepts/BatchAssignment__.ts +45 -1
  162. package/src/concepts/BindAttribute__.ts +9 -2
  163. package/src/concepts/CallFunction__.ts +65 -31
  164. package/src/concepts/CallInterface__.ts +6 -22
  165. package/src/concepts/CallLogic__.ts +62 -13
  166. package/src/concepts/CallQueryComponent__.ts +4 -1
  167. package/src/concepts/DataSource__.ts +56 -1
  168. package/src/concepts/ForEachStatement__.ts +2 -0
  169. package/src/concepts/Identifier__.ts +18 -7
  170. package/src/concepts/LogicItem__.ts +1 -1
  171. package/src/concepts/Logic__.ts +48 -32
  172. package/src/concepts/Match__.ts +12 -8
  173. package/src/concepts/NewComposite__.ts +1356 -0
  174. package/src/concepts/NewList__.ts +444 -0
  175. package/src/concepts/NewMap__.ts +678 -0
  176. package/src/concepts/New__.ts +73 -0
  177. package/src/concepts/Param__.ts +238 -199
  178. package/src/concepts/ProcessElement__.ts +32 -10
  179. package/src/concepts/ProcessOutcome__.ts +1 -1
  180. package/src/concepts/ProcessOutcomes__.ts +90 -0
  181. package/src/concepts/Return__.ts +4 -1
  182. package/src/concepts/SelectMembers__.ts +3 -3
  183. package/src/concepts/StringInterpolation__.ts +21 -11
  184. package/src/concepts/TypeAnnotation__.ts +71 -50
  185. package/src/concepts/ValidationRule__.ts +19 -1
  186. package/src/concepts/Variable__.ts +4 -1
  187. package/src/concepts/ViewElement__.ts +38 -1
  188. package/src/concepts/View__.ts +12 -2
  189. package/src/concepts/basics/stdlib/dist/nasl.util.js +133 -34
  190. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  191. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  192. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  193. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  194. package/src/concepts/dist/BindAttribute__.js +760 -0
  195. package/src/concepts/dist/BindEvent__.js +732 -0
  196. package/src/concepts/dist/CallFunction__.js +21 -7
  197. package/src/concepts/dist/CallLogic__.js +50 -10
  198. package/src/concepts/dist/Identifier__.js +311 -0
  199. package/src/concepts/dist/StringInterpolation__.js +231 -0
  200. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  201. package/src/concepts/dist/ViewElement__.js +12 -0
  202. package/src/concepts/dist/View__.js +1601 -0
  203. package/src/concepts/index__.ts +5 -0
  204. package/src/enums/KEYWORDS.ts +1 -0
  205. package/src/generator/dist/genMetaData.js +1 -5
  206. package/src/generator/dist/permission.js +392 -0
  207. package/src/generator/genMetaData.ts +1 -6
  208. package/src/generator/genReleaseBody.ts +21 -3
  209. package/src/generator/index.ts +1 -0
  210. package/src/generator/permission.ts +271 -0
  211. package/src/index.ts +1 -1
  212. package/src/server/dist/naslServer.js +385 -269
  213. package/src/server/entity2LogicNamespace.ts +70 -10
  214. package/src/server/extendBaseNode.ts +7 -3
  215. package/src/server/formatTsUtils.ts +6 -0
  216. package/src/server/getLogics.ts +13 -1
  217. package/src/server/getMemberIdentifier.ts +1 -1
  218. package/src/server/naslServer.ts +162 -29
  219. package/src/server/process2LogicNamespace.ts +8 -0
  220. package/src/server/translator.ts +52 -9
  221. package/src/service/creator/add.configs.js +4 -0
  222. package/src/service/dataSource/api.js +11 -0
  223. package/src/service/dataSource/index.js +6 -0
  224. package/src/service/storage/dist/init.js +8 -1
  225. package/src/service/storage/init.ts +9 -2
  226. package/src/service/video/VideoTranscribe.js +1 -0
  227. package/src/templator/dist/genEditTableBlock.js +204 -0
  228. package/src/templator/dist/genGridViewBlock.js +265 -0
  229. package/src/templator/dist/genListViewBlock.js +84 -0
  230. package/src/templator/dist/genTableBlock.js +209 -0
  231. package/src/templator/dist/utils.js +527 -0
  232. package/src/templator/genEditTableBlock.ts +8 -16
  233. package/src/templator/genGetBlock.ts +18 -19
  234. package/src/templator/genGridViewBlock.ts +18 -18
  235. package/src/templator/genListViewBlock.ts +8 -11
  236. package/src/templator/genTableBlock.ts +6 -10
  237. package/ts-worker/dist/webpack.config.dev.js +1 -3
  238. package/ts-worker/lib/tsserver.js +8 -1
  239. package/out/automate/engine/2.14-components.d.ts +0 -1115
  240. package/out/automate/engine/2.14-components.js +0 -1087
  241. package/out/automate/engine/2.14-components.js.map +0 -1
  242. package/out/concepts/ConstructArgument__.d.ts +0 -40
  243. package/out/concepts/ConstructArgument__.js.map +0 -1
  244. package/out/concepts/Construct__.d.ts +0 -189
  245. package/out/concepts/Construct__.js +0 -340
  246. package/out/concepts/Construct__.js.map +0 -1
  247. package/out/concepts/MatchExpression__.d.ts +0 -97
  248. package/out/concepts/MatchExpression__.js +0 -281
  249. package/out/concepts/MatchExpression__.js.map +0 -1
  250. package/out/templator/sql-parser/index.d.ts +0 -1
  251. package/out/templator/sql-parser/index.js +0 -228
  252. package/out/templator/sql-parser/index.js.map +0 -1
  253. package/out/templator/sql-parser/parser.js +0 -26664
  254. package/out/templator/sql-parser/parser.js.map +0 -1
  255. package/src/concepts/dist/Anchor__.js +0 -179
  256. package/src/concepts/dist/Assignment__.js +0 -301
  257. package/src/concepts/dist/CallInterface__.js +0 -533
  258. package/src/concepts/dist/ForEachStatement__.js +0 -426
  259. package/src/concepts/dist/MatchCase__.js +0 -587
  260. package/src/concepts/dist/Match__.js +0 -631
  261. package/src/concepts/dist/MemberExpression__.js +0 -348
  262. package/src/concepts/dist/Param__.js +0 -538
  263. package/src/concepts/dist/Return__.js +0 -494
  264. package/src/concepts/dist/Variable__.js +0 -537
  265. package/src/server/dist/formatTsUtils.js +0 -683
@@ -0,0 +1,527 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.NaslNode = exports.NaslQueryExpression = exports.NaslLogicItem = exports.NaslCollectionTypeAnnotation = exports.NaslTypeAnnotation = exports.NaslUITypeAnnotation = exports.NaslCoreTypeAnnotation = exports.genUniqueQueryNameGroup = exports.genMemberExpression = exports.genLogicParam = exports.getFirstDisplayedProperty = exports.getParamFromLogic = exports.getExpression = exports.filterProperty = void 0;
4
+ var __1 = require("..");
5
+ exports.filterProperty = function (key) { return function (property) {
6
+ if (property.display) {
7
+ return property.display[key];
8
+ }
9
+ else {
10
+ return !['id', 'createdTime', 'updatedTime'].includes(property.name);
11
+ }
12
+ }; };
13
+ /**
14
+ * 生成表达式的代码
15
+ * @param property 实体属性
16
+ * @param expression 表达式
17
+ */
18
+ function getExpression(property, expression) {
19
+ var typeAnnotation = (property || {}).typeAnnotation;
20
+ var _a = typeAnnotation || {}, propertyTypeName = _a.typeName, propertyTypeNamespace = _a.typeNamespace;
21
+ if (propertyTypeName === 'DateTime')
22
+ return "$utils['FormatDateTime'](" + expression + ", 'YYYY-MM-DD HH:mm:ss')";
23
+ else if (propertyTypeName === 'Date')
24
+ return "$utils['FormatDate'](" + expression + ", 'YYYY-MM-DD')";
25
+ else {
26
+ var namespaceArr = propertyTypeNamespace.split('.');
27
+ var type = namespaceArr.pop();
28
+ if (type === 'enums') {
29
+ return "$utils['EnumValueToText'](" + expression + ", '__enumTypeAnnotation_" + propertyTypeNamespace + "." + propertyTypeName + "')";
30
+ }
31
+ else {
32
+ return "" + (expression || "''");
33
+ }
34
+ }
35
+ }
36
+ exports.getExpression = getExpression;
37
+ /**
38
+ * 从 Logic 中获取变量
39
+ * @param resolver
40
+ * @param paramName
41
+ */
42
+ function getParamFromLogic(logic, paramName) {
43
+ var params = logic.params;
44
+ return params.find(function (item) { return item.name === paramName; });
45
+ }
46
+ exports.getParamFromLogic = getParamFromLogic;
47
+ function getFirstDisplayedProperty(entity) {
48
+ var property = entity.properties.find(function (property) { return !property.readonly; });
49
+ if (!property)
50
+ property = entity.properties[0];
51
+ return property;
52
+ }
53
+ exports.getFirstDisplayedProperty = getFirstDisplayedProperty;
54
+ function genArgumentMemberExpression(arr) {
55
+ var expressionNode;
56
+ var propertyName = arr.pop();
57
+ if (arr.length >= 1) {
58
+ expressionNode = exports.NaslLogicItem.MemberExpression({
59
+ object: genArgumentMemberExpression(arr),
60
+ property: exports.NaslLogicItem.Identifier({
61
+ name: propertyName
62
+ })
63
+ });
64
+ }
65
+ else {
66
+ return exports.NaslLogicItem.Identifier({
67
+ name: propertyName
68
+ });
69
+ }
70
+ return expressionNode;
71
+ }
72
+ /**
73
+ * 生成逻辑 Param
74
+ * @param paramIdOrName 参数 id 或引用名称
75
+ * @param expression 表达式
76
+ * @param schemaChildren 数据结构
77
+ */
78
+ function genLogicParam(paramIdOrName, expression) {
79
+ return exports.NaslLogicItem.Argument({
80
+ keyword: paramIdOrName,
81
+ expression: genArgumentMemberExpression(expression.split('.'))
82
+ });
83
+ }
84
+ exports.genLogicParam = genLogicParam;
85
+ /**
86
+ * 生成接口 Param
87
+ * @param paramIdOrName 参数 id 或引用名称
88
+ * @param expression 表达式
89
+ * @param schemaChildren 数据结构
90
+ */
91
+ function genMemberExpression(expression, schemaRefs) {
92
+ if (schemaRefs === void 0) { schemaRefs = []; }
93
+ var arr = expression.split('.');
94
+ var expressionNode;
95
+ arr.forEach(function (name, index) {
96
+ var currentNode = exports.NaslLogicItem.Identifier({
97
+ name: name
98
+ });
99
+ if (expressionNode) {
100
+ expressionNode = exports.NaslLogicItem.MemberExpression({
101
+ object: expressionNode,
102
+ property: exports.NaslLogicItem.Identifier({
103
+ name: name
104
+ })
105
+ });
106
+ }
107
+ else {
108
+ expressionNode = currentNode;
109
+ }
110
+ });
111
+ return expressionNode;
112
+ }
113
+ exports.genMemberExpression = genMemberExpression;
114
+ function capFirstLetter(word) {
115
+ if (!word)
116
+ return word;
117
+ return word[0].toUpperCase() + word.slice(1);
118
+ }
119
+ /**
120
+ * 生成数据查询唯一的命名组
121
+ * @param viewName 页面名称
122
+ * @param componentName 组件名称
123
+ * @param suffix 其它后缀,比如实体名等等
124
+ * @param defaultInView 是否在页面逻辑中用 load 简写
125
+ */
126
+ function genUniqueQueryNameGroup(scope, view, componentName, defaultInView, suffix) {
127
+ if (componentName === void 0) { componentName = ''; }
128
+ if (defaultInView === void 0) { defaultInView = true; }
129
+ if (suffix === void 0) { suffix = ''; }
130
+ var result = {};
131
+ result.viewLogicLoad = view.getLogicUniqueName("load" + (defaultInView ? '' : capFirstLetter(componentName)) + (suffix ? capFirstLetter(suffix) : ''));
132
+ result.logic = scope.getLogicUniqueName("load" + capFirstLetter(view.name) + (componentName ? capFirstLetter(componentName) : '') + (suffix ? capFirstLetter(suffix) : ''));
133
+ result.structure = scope.getStructureUniqueName(__1.utils.firstUpperCase(result.logic + 'Structure'));
134
+ return result;
135
+ }
136
+ exports.genUniqueQueryNameGroup = genUniqueQueryNameGroup;
137
+ function genNaslCoreTypeAnnotation(typeName, text) {
138
+ if (text === void 0) { text = ''; }
139
+ return {
140
+ concept: 'TypeAnnotation',
141
+ name: '',
142
+ typeKind: 'primitive',
143
+ typeNamespace: 'nasl.core',
144
+ typeName: typeName,
145
+ text: text
146
+ };
147
+ }
148
+ function genNaslUITypeAnnotation(typeName) {
149
+ return {
150
+ concept: 'TypeAnnotation',
151
+ name: '',
152
+ typeKind: 'reference',
153
+ typeNamespace: 'nasl.ui',
154
+ typeName: typeName
155
+ };
156
+ }
157
+ function genNaslCollectionTypeAnnotation(typeName) {
158
+ return function (typeArguments) { return ({
159
+ concept: 'TypeAnnotation',
160
+ name: '',
161
+ typeKind: 'generic',
162
+ typeNamespace: 'nasl.collection',
163
+ typeName: typeName,
164
+ typeArguments: typeArguments
165
+ }); };
166
+ }
167
+ function genNaslUIGenericTypeAnnotation(typeName) {
168
+ return function (typeArguments) { return ({
169
+ concept: 'TypeAnnotation',
170
+ name: '',
171
+ typeKind: 'generic',
172
+ typeNamespace: 'nasl.ui',
173
+ typeName: typeName,
174
+ typeArguments: typeArguments
175
+ }); };
176
+ }
177
+ exports.NaslCoreTypeAnnotation = {
178
+ Boolean: genNaslCoreTypeAnnotation('Boolean'),
179
+ Integer: genNaslCoreTypeAnnotation('Integer', 'Integer 整数'),
180
+ Double: genNaslCoreTypeAnnotation('Double'),
181
+ Decimal: genNaslCoreTypeAnnotation('Decimal'),
182
+ Long: genNaslCoreTypeAnnotation('Long', 'Long 长整数'),
183
+ String: genNaslCoreTypeAnnotation('String', 'String 字符串'),
184
+ Text: genNaslCoreTypeAnnotation('Text'),
185
+ Binary: genNaslCoreTypeAnnotation('Binary'),
186
+ Date: genNaslCoreTypeAnnotation('Date'),
187
+ Time: genNaslCoreTypeAnnotation('Time'),
188
+ DateTime: genNaslCoreTypeAnnotation('DateTime'),
189
+ Email: genNaslCoreTypeAnnotation('Email')
190
+ };
191
+ exports.NaslUITypeAnnotation = {
192
+ DataSourceParams: genNaslUITypeAnnotation('DataSourceParams'),
193
+ EventTarget: genNaslUITypeAnnotation('EventTarget'),
194
+ MouseEvent: genNaslUITypeAnnotation('MouseEvent'),
195
+ FocusEvent: genNaslUITypeAnnotation('FocusEvent'),
196
+ ChangeEvent: genNaslUITypeAnnotation('ChangeEvent'),
197
+ NavigateEvent: genNaslUITypeAnnotation('NavigateEvent'),
198
+ ChangeItemEvent: genNaslUITypeAnnotation('ChangeItemEvent'),
199
+ ChangeItemsEvent: genNaslUITypeAnnotation('ChangeItemsEvent'),
200
+ CascadeCapsulesEvent: genNaslUITypeAnnotation('CascadeCapsulesEvent'),
201
+ CollapseEvent: genNaslUITypeAnnotation('CollapseEvent'),
202
+ SliderEvent: genNaslUITypeAnnotation('SliderEvent'),
203
+ DateEvent: genNaslUITypeAnnotation('DateEvent'),
204
+ OperatorItemEvent: genNaslUITypeAnnotation('OperatorItemEvent'),
205
+ ValidateEvent: genNaslUITypeAnnotation('ValidateEvent'),
206
+ PaginationEvent: genNaslUITypeAnnotation('PaginationEvent'),
207
+ DurationEvent: genNaslUITypeAnnotation('DurationEvent'),
208
+ TransferEvent: genNaslUITypeAnnotation('TransferEvent'),
209
+ TreeChangeEvent: genNaslUITypeAnnotation('TreeChangeEvent'),
210
+ CheckedEvent: genNaslUITypeAnnotation('CheckedEvent'),
211
+ UploadEvent: genNaslUITypeAnnotation('UploadEvent'),
212
+ UploadErrorEvent: genNaslUITypeAnnotation('UploadErrorEvent'),
213
+ SortEvent: genNaslUITypeAnnotation('SortEvent'),
214
+ PoiInfo: genNaslUITypeAnnotation('PoiInfo'),
215
+ File: genNaslUITypeAnnotation('File'),
216
+ Current: genNaslUIGenericTypeAnnotation('Current')
217
+ };
218
+ exports.NaslTypeAnnotation = {
219
+ Reference: function (_a) {
220
+ var typeNamespace = _a.typeNamespace, typeName = _a.typeName;
221
+ return ({
222
+ concept: 'TypeAnnotation',
223
+ name: '',
224
+ typeKind: 'reference',
225
+ typeNamespace: typeNamespace,
226
+ typeName: typeName
227
+ });
228
+ },
229
+ AnonymousStructure: function (properties) { return ({
230
+ concept: 'TypeAnnotation',
231
+ typeKind: 'anonymousStructure',
232
+ properties: [{
233
+ concept: 'StructureProperty',
234
+ name: 'list',
235
+ typeAnnotation: {
236
+ concept: 'TypeAnnotation',
237
+ typeKind: 'generic',
238
+ typeName: 'List',
239
+ typeNamespace: 'nasl.collection',
240
+ typeArguments: [{
241
+ concept: 'TypeAnnotation',
242
+ typeKind: 'anonymousStructure',
243
+ properties: properties
244
+ }]
245
+ }
246
+ }, {
247
+ concept: 'StructureProperty',
248
+ name: 'total',
249
+ typeAnnotation: {
250
+ concept: 'TypeAnnotation',
251
+ typeKind: 'primitive',
252
+ typeNamespace: 'nasl.core',
253
+ typeName: 'Integer'
254
+ }
255
+ }]
256
+ }); }
257
+ };
258
+ exports.NaslCollectionTypeAnnotation = {
259
+ List: genNaslCollectionTypeAnnotation('List'),
260
+ PageOf: genNaslCollectionTypeAnnotation('PageOf')
261
+ };
262
+ exports.NaslLogicItem = {
263
+ // 开始
264
+ Start: {
265
+ concept: 'Start',
266
+ name: '',
267
+ label: '开始',
268
+ kind: 'Statement'
269
+ },
270
+ // 结束
271
+ End: {
272
+ concept: 'End',
273
+ name: '',
274
+ label: '结束',
275
+ kind: 'Statement'
276
+ },
277
+ // 调用逻辑
278
+ CallLogic: function (_a) {
279
+ var calleeNamespace = _a.calleeNamespace, calleeName = _a.calleeName, _b = _a.label, label = _b === void 0 ? '调用逻辑' : _b, _c = _a.shortcut, shortcut = _c === void 0 ? false : _c, args = _a.arguments;
280
+ return ({
281
+ concept: 'CallLogic',
282
+ name: '',
283
+ label: label,
284
+ kind: 'Statement',
285
+ shortcut: shortcut,
286
+ calleeNamespace: calleeNamespace,
287
+ calleeName: calleeName,
288
+ arguments: args
289
+ });
290
+ },
291
+ // 内置函数
292
+ CallFunction: function (_a) {
293
+ var _b = _a.calleeNamespace, calleeNamespace = _b === void 0 ? 'nasl.util' : _b, calleeName = _a.calleeName, _c = _a.label, label = _c === void 0 ? '内置函数' : _c, _d = _a.shortcut, shortcut = _d === void 0 ? false : _d, _e = _a.arguments, args = _e === void 0 ? [] : _e;
294
+ return ({
295
+ concept: 'CallFunction',
296
+ name: '',
297
+ label: '调用逻辑',
298
+ kind: 'Expression',
299
+ calleeNamespace: calleeNamespace,
300
+ calleeName: calleeName,
301
+ arguments: args
302
+ });
303
+ },
304
+ // 参数
305
+ Argument: function (_a) {
306
+ var keyword = _a.keyword, expression = _a.expression;
307
+ return ({
308
+ concept: 'Argument',
309
+ name: '',
310
+ kind: 'Statement',
311
+ keyword: keyword,
312
+ expression: expression
313
+ });
314
+ },
315
+ // 成员表达式
316
+ MemberExpression: function (_a) {
317
+ var object = _a.object, property = _a.property;
318
+ return ({
319
+ concept: 'MemberExpression',
320
+ name: '',
321
+ kind: 'Expression',
322
+ object: object,
323
+ property: property
324
+ });
325
+ },
326
+ // 变量
327
+ Identifier: function (_a) {
328
+ var name = _a.name;
329
+ return ({
330
+ concept: 'Identifier',
331
+ kind: 'Expression',
332
+ name: name
333
+ });
334
+ },
335
+ // 字面量
336
+ StringLiteral: function (_a) {
337
+ var value = _a.value;
338
+ return ({
339
+ concept: 'StringLiteral',
340
+ name: '',
341
+ kind: 'Expression',
342
+ value: value
343
+ });
344
+ },
345
+ Assignment: function (_a) {
346
+ var left = _a.left, right = _a.right;
347
+ return ({
348
+ concept: 'Assignment',
349
+ name: '',
350
+ label: '赋值',
351
+ kind: 'Statement',
352
+ left: left,
353
+ right: right
354
+ });
355
+ },
356
+ IfStatement: function (_a) {
357
+ var test = _a.test, consequent = _a.consequent, alternate = _a.alternate;
358
+ return ({
359
+ concept: 'IfStatement',
360
+ name: '',
361
+ kind: 'Statement',
362
+ test: test,
363
+ consequent: consequent,
364
+ alternate: alternate
365
+ });
366
+ },
367
+ // 二元
368
+ BinaryExpression: function (_a) {
369
+ var operator = _a.operator, left = _a.left, _b = _a.label, label = _b === void 0 ? '算术运算' : _b, right = _a.right;
370
+ return ({
371
+ concept: 'BinaryExpression',
372
+ name: '',
373
+ kind: 'Expression',
374
+ label: label,
375
+ operator: operator,
376
+ left: left,
377
+ right: right
378
+ });
379
+ }
380
+ };
381
+ exports.NaslQueryExpression = {
382
+ QueryFieldExpression: function (_a) {
383
+ var label = _a.label, isDotStar = _a.isDotStar, entityAsName = _a.entityAsName, propertyName = _a.propertyName;
384
+ return ({
385
+ concept: 'QueryFieldExpression',
386
+ name: '',
387
+ label: label,
388
+ kind: 'Expression',
389
+ isDotStar: isDotStar,
390
+ entityAsName: entityAsName,
391
+ propertyName: propertyName
392
+ });
393
+ },
394
+ QueryFromExpression: function (_a) {
395
+ var entityNamespace = _a.entityNamespace, entityName = _a.entityName, joinParts = _a.joinParts;
396
+ return ({
397
+ concept: 'QueryFromExpression',
398
+ name: '',
399
+ kind: 'Expression',
400
+ entityNamespace: entityNamespace,
401
+ entityName: entityName,
402
+ joinParts: joinParts
403
+ });
404
+ },
405
+ QueryJoinExpression: function (_a) {
406
+ var label = _a.label, entityNamespace = _a.entityNamespace, entityName = _a.entityName, joinType = _a.joinType, onExpressions = _a.onExpressions, joinParts = _a.joinParts;
407
+ return ({
408
+ concept: 'QueryJoinExpression',
409
+ label: label,
410
+ name: '',
411
+ kind: 'Expression',
412
+ entityNamespace: entityNamespace,
413
+ entityName: entityName,
414
+ joinType: joinType,
415
+ onExpressions: onExpressions,
416
+ joinParts: joinParts
417
+ });
418
+ },
419
+ QuerySelectExpression: function (_a) {
420
+ var label = _a.label, distinct = _a.distinct, star = _a.star, selectElements = _a.selectElements;
421
+ return ({
422
+ concept: 'QuerySelectExpression',
423
+ name: '',
424
+ kind: 'Expression',
425
+ label: label,
426
+ distinct: distinct,
427
+ star: star,
428
+ selectElements: selectElements
429
+ });
430
+ },
431
+ QueryOrderByExpression: function (_a) {
432
+ var label = _a.label, order = _a.order, orderElement = _a.orderElement;
433
+ return ({
434
+ concept: 'QueryOrderByExpression',
435
+ label: label,
436
+ order: order,
437
+ orderElement: orderElement
438
+ });
439
+ },
440
+ QueryLimitExpression: function (_a) {
441
+ var label = _a.label, pageElement = _a.pageElement, pageSizeElement = _a.pageSizeElement;
442
+ return ({
443
+ concept: 'QueryLimitExpression',
444
+ name: '',
445
+ kind: 'Expression',
446
+ label: label,
447
+ pageElement: pageElement,
448
+ pageSizeElement: pageSizeElement
449
+ });
450
+ },
451
+ CallQueryComponent: function (_a) {
452
+ var label = _a.label, typeAnnotation = _a.typeAnnotation, select = _a.select, from = _a.from, where = _a.where, limit = _a.limit, groupBy = _a.groupBy, having = _a.having, orderBy = _a.orderBy, logicName = _a.logicName, structureName = _a.structureName, ideVersion = _a.ideVersion;
453
+ return ({
454
+ concept: 'CallQueryComponent',
455
+ name: '',
456
+ label: label,
457
+ kind: 'Statement',
458
+ typeAnnotation: typeAnnotation,
459
+ select: select,
460
+ from: from,
461
+ where: where,
462
+ limit: limit,
463
+ groupBy: groupBy,
464
+ having: having,
465
+ orderBy: orderBy,
466
+ logicName: logicName,
467
+ structureName: structureName,
468
+ ideVersion: ideVersion
469
+ });
470
+ }
471
+ };
472
+ exports.NaslNode = {
473
+ Logic: function (_a) {
474
+ var name = _a.name, params = _a.params, returns = _a.returns, variables = _a.variables, body = _a.body, description = _a.description, playground = _a.playground;
475
+ return ({
476
+ concept: 'Logic',
477
+ name: name,
478
+ params: params,
479
+ returns: returns,
480
+ variables: variables,
481
+ body: body,
482
+ description: description,
483
+ playground: playground
484
+ });
485
+ },
486
+ Structure: function (_a) {
487
+ var name = _a.name, properties = _a.properties, origin = _a.origin;
488
+ return ({
489
+ concept: 'Structure',
490
+ name: name,
491
+ properties: properties,
492
+ origin: origin
493
+ });
494
+ },
495
+ StructureProperty: function (_a) {
496
+ var name = _a.name, typeAnnotation = _a.typeAnnotation;
497
+ return ({
498
+ concept: 'StructureProperty',
499
+ name: name,
500
+ typeAnnotation: typeAnnotation
501
+ });
502
+ },
503
+ Variable: function (_a) {
504
+ var name = _a.name, typeAnnotation = _a.typeAnnotation;
505
+ return ({
506
+ concept: 'Variable',
507
+ name: name,
508
+ typeAnnotation: typeAnnotation
509
+ });
510
+ },
511
+ Param: function (_a) {
512
+ var name = _a.name, typeAnnotation = _a.typeAnnotation;
513
+ return ({
514
+ concept: 'Param',
515
+ name: name,
516
+ typeAnnotation: typeAnnotation
517
+ });
518
+ },
519
+ Return: function (_a) {
520
+ var name = _a.name, typeAnnotation = _a.typeAnnotation;
521
+ return ({
522
+ concept: 'Return',
523
+ name: name,
524
+ typeAnnotation: typeAnnotation
525
+ });
526
+ }
527
+ };
@@ -1,14 +1,10 @@
1
1
  import * as utils from '../utils';
2
- import { App, Module, Namespace, Entity, EntityProperty, DataSource } from '../concepts';
2
+ import { Entity, EntityProperty, DataSource } from '../concepts';
3
3
  import {
4
- getExpression, filterProperty, NameGroup,
5
- getFirstDisplayedProperty, getParamFromLogic, genCallComponentLogic,
6
- genMemberExpression, genLogicParam,
4
+ filterProperty, NameGroup, getFirstDisplayedProperty, getParamFromLogic,
5
+ genCallComponentLogic, genMemberExpression, genLogicParam,
7
6
  } from '.';
8
- import {
9
- NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslCollectionTypeAnnotation,
10
- NaslTypeAnnotation, NaslLogicItem, NaslNode,
11
- } from './utils';
7
+ import { NaslUITypeAnnotation, NaslLogicItem, NaslNode } from './utils';
12
8
 
13
9
  /**
14
10
  * 根据实体属性生成表格列模板
@@ -19,20 +15,16 @@ export function genEditTableColumnTemplate(entity: Entity, property: EntityPrope
19
15
  const lowerEntityName = utils.firstLowerCase(entity.name);
20
16
  const valueExpression = `current.item.${lowerEntityName}.${property.name}`;
21
17
  const title = property.label || property.name;
22
-
23
- const expression = getExpression(property, `current.item.${lowerEntityName}.${property.name}`);
24
-
25
18
  const canEditable = (property: EntityProperty) => !property.readonly;
26
-
27
19
  const getText = (property: EntityProperty) => {
28
20
  const propertyTypeName = property.typeAnnotation.typeName;
29
21
  if (propertyTypeName === 'Boolean') {
30
22
  return `
31
- <u-text v-if="${expression}" text="是"></u-text>
32
- <u-text v-if="!${expression}" text="否"></u-text>
23
+ <u-text v-if="${valueExpression}" text="是"></u-text>
24
+ <u-text v-if="!${valueExpression}" text="否"></u-text>
33
25
  `;
34
26
  } else {
35
- return `<u-text :text="${expression}"></u-text>`;
27
+ return `<u-text :text="${valueExpression}"></u-text>`;
36
28
  }
37
29
  };
38
30
 
@@ -120,7 +112,7 @@ export function genEditTableTemplate(entity: Entity, nameGroup: NameGroup, selec
120
112
  return `<u-table-view ref="${nameGroup.viewElementMainView}" :data-source="${nameGroup.viewLogicLoad}" data-schema="${nameGroup.structure}"
121
113
  value-field="${nameGroup.viewVariableEntity}.id"
122
114
  :pageable="true" :remote-paging="true" :show-sizer="true" :default-column-width="300" editable>
123
- <u-table-view-column type="index" width="60"><template #title><u-text text="序号"></u-text></template></u-table-view-column>
115
+ <u-table-view-column type="index" width="60"><template #title><u-text text="序号"></u-text></template><template #cell="current"></template></u-table-view-column>
124
116
 
125
117
  ${properties.map((property) => genEditTableColumnTemplate(entity, property, nameGroup, selectNameGroupMap) + '\n').join('')}
126
118
 
@@ -2,7 +2,7 @@ import { config } from '../config';
2
2
  import * as utils from '../utils';
3
3
  import { Entity, Logic, View, ViewElement } from '../concepts';
4
4
  import { NaslCoreTypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode } from './utils';
5
- import { NameGroup, filterProperty, getExpression, genLogicParam } from '.';
5
+ import { NameGroup, filterProperty, genLogicParam } from '.';
6
6
 
7
7
  export function genGetTemplate(entity: Entity, nameGroup: NameGroup) {
8
8
  const properties = entity.properties.filter(filterProperty('inDetail'));
@@ -11,15 +11,14 @@ export function genGetTemplate(entity: Entity, nameGroup: NameGroup) {
11
11
  <u-info-list-group>
12
12
  <template #title><u-text text="基本信息"></u-text></template>
13
13
  ${properties
14
- .map((property) => {
15
- let formItem = ` <u-info-list-item><template #label><u-text text="${property.label || property.name}"></u-text></template>`;
16
-
17
- formItem += '<u-text :text="' + getExpression(property, `${nameGroup.viewVariableEntity}.${property.name}`) + '"></u-text>';
18
-
19
- formItem += ` </u-info-list-item>\n`;
20
- return formItem;
21
- })
22
- .join('')}
14
+ .map((property) => {
15
+ const valueExpression = `${nameGroup.viewVariableEntity}.${property.name}`;
16
+ let formItem = ` <u-info-list-item><template #label><u-text text="${property.label || property.name}"></u-text></template>`;
17
+ formItem += `<u-text :text="'${valueExpression}'"></u-text>`;
18
+ formItem += ` </u-info-list-item>\n`;
19
+ return formItem;
20
+ })
21
+ .join('')}
23
22
  </u-info-list-group>
24
23
  </u-info-list>`;
25
24
  }
@@ -55,16 +54,16 @@ export function genH5GetTemplate(entity: Entity, nameGroup: NameGroup) {
55
54
 
56
55
  return `<van-cell-group>
57
56
  ${properties
58
- .map((property) => {
59
- const temptitle = property.label || property.name;
60
- let formItem = ` <van-cell isLink`;
57
+ .map((property) => {
58
+ const temptitle = property.label || property.name;
59
+ let formItem = ` <van-cell isLink`;
61
60
 
62
- formItem += ' :value="' + getExpression(property, `${nameGroup.viewVariableEntity}.${property.name}`) + '">';
63
- formItem += `<template #title>${temptitle}</template>`;
64
- formItem += `<template>{{ ${getExpression(property, `${nameGroup.viewVariableEntity}.${property.name}`)} }}</template> </van-cell>\n`;
65
- return formItem;
66
- })
67
- .join('')}
61
+ formItem += ' :value="' + `${nameGroup.viewVariableEntity}.${property.name}` + '">';
62
+ formItem += `<template #title>${temptitle}</template>`;
63
+ formItem += `<template>{{ ${`${nameGroup.viewVariableEntity}.${property.name}`} }}</template> </van-cell>\n`;
64
+ return formItem;
65
+ })
66
+ .join('')}
68
67
  </van-cell-group>`;
69
68
  }
70
69