@lcap/nasl 1.0.0-alpha.13 → 1.0.0-alpha.16

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 (324) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +73 -25
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/utils.js +7 -6
  5. package/out/automate/engine/utils.js.map +1 -1
  6. package/out/common/BaseNode.d.ts +5 -4
  7. package/out/common/BaseNode.js +48 -41
  8. package/out/common/BaseNode.js.map +1 -1
  9. package/out/concepts/App__.d.ts +18 -1
  10. package/out/concepts/App__.js +64 -24
  11. package/out/concepts/App__.js.map +1 -1
  12. package/out/concepts/Argument__.js +2 -2
  13. package/out/concepts/Argument__.js.map +1 -1
  14. package/out/concepts/Assignee__.d.ts +190 -0
  15. package/out/concepts/Assignee__.js +264 -0
  16. package/out/concepts/Assignee__.js.map +1 -0
  17. package/out/concepts/BinaryExpression__.js +6 -6
  18. package/out/concepts/BinaryExpression__.js.map +1 -1
  19. package/out/concepts/BindAttribute__.d.ts +19 -0
  20. package/out/concepts/BindAttribute__.js +36 -2
  21. package/out/concepts/BindAttribute__.js.map +1 -1
  22. package/out/concepts/BindDirective__.js +21 -1
  23. package/out/concepts/BindDirective__.js.map +1 -1
  24. package/out/concepts/BindEvent__.d.ts +1 -0
  25. package/out/concepts/BindEvent__.js +38 -14
  26. package/out/concepts/BindEvent__.js.map +1 -1
  27. package/out/concepts/CallFunction__.js +20 -7
  28. package/out/concepts/CallFunction__.js.map +1 -1
  29. package/out/concepts/CallInterface__.d.ts +11 -8
  30. package/out/concepts/CallInterface__.js +160 -23
  31. package/out/concepts/CallInterface__.js.map +1 -1
  32. package/out/concepts/CallLogic__.d.ts +1 -0
  33. package/out/concepts/CallLogic__.js +17 -7
  34. package/out/concepts/CallLogic__.js.map +1 -1
  35. package/out/concepts/CallQueryComponent__.d.ts +5 -1
  36. package/out/concepts/CallQueryComponent__.js +15 -11
  37. package/out/concepts/CallQueryComponent__.js.map +1 -1
  38. package/out/concepts/Comment__.js +6 -2
  39. package/out/concepts/Comment__.js.map +1 -1
  40. package/out/concepts/ConfigGroup__.js +1 -1
  41. package/out/concepts/ConfigGroup__.js.map +1 -1
  42. package/out/concepts/ConfigProperty__.js +1 -1
  43. package/out/concepts/ConfigProperty__.js.map +1 -1
  44. package/out/concepts/Configuration__.js +1 -1
  45. package/out/concepts/Configuration__.js.map +1 -1
  46. package/out/concepts/Destination__.d.ts +11 -0
  47. package/out/concepts/Destination__.js +59 -19
  48. package/out/concepts/Destination__.js.map +1 -1
  49. package/out/concepts/End__.js +10 -2
  50. package/out/concepts/End__.js.map +1 -1
  51. package/out/concepts/EntityProperty__.d.ts +7 -0
  52. package/out/concepts/EntityProperty__.js +60 -3
  53. package/out/concepts/EntityProperty__.js.map +1 -1
  54. package/out/concepts/Entity__.d.ts +4 -1
  55. package/out/concepts/Entity__.js +29 -12
  56. package/out/concepts/Entity__.js.map +1 -1
  57. package/out/concepts/Enum__.d.ts +4 -0
  58. package/out/concepts/Enum__.js +9 -6
  59. package/out/concepts/Enum__.js.map +1 -1
  60. package/out/concepts/Event__.js +1 -1
  61. package/out/concepts/Event__.js.map +1 -1
  62. package/out/concepts/ForEachStatement__.js +8 -12
  63. package/out/concepts/ForEachStatement__.js.map +1 -1
  64. package/out/concepts/Function__.js +5 -5
  65. package/out/concepts/Function__.js.map +1 -1
  66. package/out/concepts/Identifier__.js +26 -24
  67. package/out/concepts/Identifier__.js.map +1 -1
  68. package/out/concepts/IfStatement__.js +2 -2
  69. package/out/concepts/IfStatement__.js.map +1 -1
  70. package/out/concepts/InterfaceParam__.d.ts +2 -0
  71. package/out/concepts/InterfaceParam__.js +41 -21
  72. package/out/concepts/InterfaceParam__.js.map +1 -1
  73. package/out/concepts/Interface__.d.ts +3 -0
  74. package/out/concepts/Interface__.js +105 -9
  75. package/out/concepts/Interface__.js.map +1 -1
  76. package/out/concepts/LogicItem__.d.ts +2 -1
  77. package/out/concepts/LogicItem__.js +14 -0
  78. package/out/concepts/LogicItem__.js.map +1 -1
  79. package/out/concepts/Logic__.d.ts +3 -0
  80. package/out/concepts/Logic__.js +57 -16
  81. package/out/concepts/Logic__.js.map +1 -1
  82. package/out/concepts/MemberExpression__.js +13 -6
  83. package/out/concepts/MemberExpression__.js.map +1 -1
  84. package/out/concepts/Module__.d.ts +6 -0
  85. package/out/concepts/Module__.js +18 -8
  86. package/out/concepts/Module__.js.map +1 -1
  87. package/out/concepts/Namespace__.d.ts +4 -0
  88. package/out/concepts/Namespace__.js +23 -12
  89. package/out/concepts/Namespace__.js.map +1 -1
  90. package/out/concepts/Param__.d.ts +2 -1
  91. package/out/concepts/Param__.js +35 -22
  92. package/out/concepts/Param__.js.map +1 -1
  93. package/out/concepts/ProcessComponent__.js +2 -2
  94. package/out/concepts/ProcessComponent__.js.map +1 -1
  95. package/out/concepts/ProcessElement__.js +20 -18
  96. package/out/concepts/ProcessElement__.js.map +1 -1
  97. package/out/concepts/ProcessOutcome__.js +1 -1
  98. package/out/concepts/ProcessOutcome__.js.map +1 -1
  99. package/out/concepts/Process__.d.ts +6 -1
  100. package/out/concepts/Process__.js +18 -14
  101. package/out/concepts/Process__.js.map +1 -1
  102. package/out/concepts/QueryAggregateExpression__.js +1 -1
  103. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  104. package/out/concepts/QueryFromExpression__.js +1 -1
  105. package/out/concepts/QueryFromExpression__.js.map +1 -1
  106. package/out/concepts/QueryJoinExpression__.js +2 -2
  107. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  108. package/out/concepts/QuerySelectExpression__.js +1 -1
  109. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  110. package/out/concepts/Return__.d.ts +1 -0
  111. package/out/concepts/Return__.js +38 -25
  112. package/out/concepts/Return__.js.map +1 -1
  113. package/out/concepts/SqlQueryComponent__.js +1 -1
  114. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  115. package/out/concepts/StringLiteral__.d.ts +1 -1
  116. package/out/concepts/StringLiteral__.js +2 -2
  117. package/out/concepts/StringLiteral__.js.map +1 -1
  118. package/out/concepts/StructureProperty__.d.ts +5 -4
  119. package/out/concepts/StructureProperty__.js +54 -31
  120. package/out/concepts/StructureProperty__.js.map +1 -1
  121. package/out/concepts/Structure__.d.ts +1 -0
  122. package/out/concepts/Structure__.js +18 -5
  123. package/out/concepts/Structure__.js.map +1 -1
  124. package/out/concepts/SwitchCase__.js +3 -3
  125. package/out/concepts/SwitchCase__.js.map +1 -1
  126. package/out/concepts/SwitchStatement__.js +1 -1
  127. package/out/concepts/SwitchStatement__.js.map +1 -1
  128. package/out/concepts/TypeAnnotation__.d.ts +3 -5
  129. package/out/concepts/TypeAnnotation__.js +36 -14
  130. package/out/concepts/TypeAnnotation__.js.map +1 -1
  131. package/out/concepts/UnaryExpression__.js +4 -2
  132. package/out/concepts/UnaryExpression__.js.map +1 -1
  133. package/out/concepts/ValidationRule__.d.ts +1 -0
  134. package/out/concepts/ValidationRule__.js +27 -1
  135. package/out/concepts/ValidationRule__.js.map +1 -1
  136. package/out/concepts/Variable__.d.ts +1 -0
  137. package/out/concepts/Variable__.js +38 -25
  138. package/out/concepts/Variable__.js.map +1 -1
  139. package/out/concepts/ViewComponent__.js +5 -5
  140. package/out/concepts/ViewComponent__.js.map +1 -1
  141. package/out/concepts/ViewElement__.d.ts +7 -1
  142. package/out/concepts/ViewElement__.js +154 -117
  143. package/out/concepts/ViewElement__.js.map +1 -1
  144. package/out/concepts/View__.d.ts +4 -0
  145. package/out/concepts/View__.js +38 -25
  146. package/out/concepts/View__.js.map +1 -1
  147. package/out/concepts/WhileStatement__.js +1 -1
  148. package/out/concepts/WhileStatement__.js.map +1 -1
  149. package/out/concepts/basics/stdlib/index.js +3 -1
  150. package/out/concepts/basics/stdlib/index.js.map +1 -1
  151. package/out/concepts/basics/stdlib/nasl.auth.d.ts +3 -0
  152. package/out/concepts/basics/stdlib/nasl.auth.js +30 -0
  153. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -0
  154. package/out/concepts/basics/stdlib/nasl.browser copy.d.ts +3 -0
  155. package/out/concepts/basics/stdlib/nasl.browser copy.js +70 -0
  156. package/out/concepts/basics/stdlib/nasl.browser copy.js.map +1 -0
  157. package/out/concepts/basics/stdlib/nasl.browser.js +6 -35
  158. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  159. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +3 -0
  160. package/out/concepts/basics/stdlib/nasl.configuration.js +25 -0
  161. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -0
  162. package/out/concepts/basics/stdlib/nasl.util.js +49 -41
  163. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  164. package/out/concepts/basics/stdlib/nasl.validation.js +26 -20
  165. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  166. package/out/concepts/basics/types/coreTypeList.js +11 -11
  167. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  168. package/out/concepts/index__.d.ts +1 -0
  169. package/out/concepts/index__.js +1 -0
  170. package/out/concepts/index__.js.map +1 -1
  171. package/out/enums/KEYWORDS.js +1 -1
  172. package/out/enums/KEYWORDS.js.map +1 -1
  173. package/out/generator/genBundleFiles.d.ts +1 -0
  174. package/out/generator/genBundleFiles.js +122 -93
  175. package/out/generator/genBundleFiles.js.map +1 -1
  176. package/out/manager/diagnostic.d.ts +1 -1
  177. package/out/server/createUiTs.d.ts +1 -0
  178. package/out/server/createUiTs.js +19 -2
  179. package/out/server/createUiTs.js.map +1 -1
  180. package/out/server/entity2LogicNamespace.js +24 -9
  181. package/out/server/entity2LogicNamespace.js.map +1 -1
  182. package/out/server/getExtensionModules.js +2 -0
  183. package/out/server/getExtensionModules.js.map +1 -1
  184. package/out/server/getLogics.js +40 -56
  185. package/out/server/getLogics.js.map +1 -1
  186. package/out/server/getMemberIdentifier.d.ts +4 -0
  187. package/out/server/getMemberIdentifier.js +90 -48
  188. package/out/server/getMemberIdentifier.js.map +1 -1
  189. package/out/server/getProcesses.d.ts +2 -2
  190. package/out/server/getProcesses.js +34 -11
  191. package/out/server/getProcesses.js.map +1 -1
  192. package/out/server/index.js +4 -0
  193. package/out/server/index.js.map +1 -1
  194. package/out/server/naslServer.d.ts +11 -30
  195. package/out/server/naslServer.js +410 -199
  196. package/out/server/naslServer.js.map +1 -1
  197. package/out/server/process2LogicNamespace.d.ts +10 -0
  198. package/out/server/process2LogicNamespace.js +16 -0
  199. package/out/server/process2LogicNamespace.js.map +1 -1
  200. package/out/server/translator.d.ts +22 -3
  201. package/out/server/translator.js +336 -130
  202. package/out/server/translator.js.map +1 -1
  203. package/out/service/storage/init.js +29 -15
  204. package/out/service/storage/init.js.map +1 -1
  205. package/out/templator/genCreateBlock.js +5 -5
  206. package/out/templator/genCreateBlock.js.map +1 -1
  207. package/out/templator/genCurdEditMultipleKeyBlock.js +9 -13
  208. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  209. package/out/templator/genCurdMultipleKeyBlock.js +7 -7
  210. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  211. package/out/templator/genEditTableBlock.js +2 -2
  212. package/out/templator/genEditTableBlock.js.map +1 -1
  213. package/out/templator/genGetBlock.js +4 -2
  214. package/out/templator/genGetBlock.js.map +1 -1
  215. package/out/templator/genGridViewBlock.d.ts +1 -1
  216. package/out/templator/genGridViewBlock.js +3 -3
  217. package/out/templator/genGridViewBlock.js.map +1 -1
  218. package/out/templator/genQueryComponent.d.ts +2 -0
  219. package/out/templator/genQueryComponent.js +1 -0
  220. package/out/templator/genQueryComponent.js.map +1 -1
  221. package/out/templator/genTableBlock.d.ts +1 -1
  222. package/out/templator/genTableBlock.js +3 -3
  223. package/out/templator/genTableBlock.js.map +1 -1
  224. package/out/templator/genUpdateBlock.js +7 -7
  225. package/out/templator/genUpdateBlock.js.map +1 -1
  226. package/out/templator/utils.d.ts +3 -1
  227. package/out/templator/utils.js +2 -1
  228. package/out/templator/utils.js.map +1 -1
  229. package/out/utils/index.d.ts +6 -0
  230. package/out/utils/index.js +20 -1
  231. package/out/utils/index.js.map +1 -1
  232. package/package.json +2 -1
  233. package/src/automate/engine/index.js +73 -25
  234. package/src/automate/engine/utils.js +7 -6
  235. package/src/common/BaseNode.ts +51 -42
  236. package/src/concepts/App__.ts +104 -26
  237. package/src/concepts/Argument__.ts +3 -2
  238. package/src/concepts/Assignee__.ts +437 -0
  239. package/src/concepts/BinaryExpression__.ts +7 -6
  240. package/src/concepts/BindAttribute__.ts +51 -2
  241. package/src/concepts/BindDirective__.ts +20 -1
  242. package/src/concepts/BindEvent__.ts +39 -16
  243. package/src/concepts/CallFunction__.ts +21 -8
  244. package/src/concepts/CallInterface__.ts +161 -42
  245. package/src/concepts/CallLogic__.ts +21 -9
  246. package/src/concepts/CallQueryComponent__.ts +15 -13
  247. package/src/concepts/Comment__.ts +6 -2
  248. package/src/concepts/ConfigGroup__.ts +1 -1
  249. package/src/concepts/ConfigProperty__.ts +1 -1
  250. package/src/concepts/Configuration__.ts +1 -1
  251. package/src/concepts/Destination__.ts +57 -19
  252. package/src/concepts/End__.ts +9 -11
  253. package/src/concepts/EntityProperty__.ts +56 -3
  254. package/src/concepts/Entity__.ts +33 -20
  255. package/src/concepts/Enum__.ts +8 -7
  256. package/src/concepts/Event__.ts +1 -1
  257. package/src/concepts/ForEachStatement__.ts +8 -13
  258. package/src/concepts/Function__.ts +5 -5
  259. package/src/concepts/Identifier__.ts +31 -26
  260. package/src/concepts/IfStatement__.ts +2 -2
  261. package/src/concepts/InterfaceParam__.ts +39 -20
  262. package/src/concepts/Interface__.ts +103 -9
  263. package/src/concepts/LogicItem__.ts +16 -1
  264. package/src/concepts/Logic__.ts +60 -18
  265. package/src/concepts/MemberExpression__.ts +18 -6
  266. package/src/concepts/Module__.ts +19 -8
  267. package/src/concepts/Namespace__.ts +24 -12
  268. package/src/concepts/Param__.ts +34 -23
  269. package/src/concepts/ProcessComponent__.ts +2 -2
  270. package/src/concepts/ProcessElement__.ts +51 -50
  271. package/src/concepts/ProcessOutcome__.ts +1 -1
  272. package/src/concepts/Process__.ts +32 -28
  273. package/src/concepts/QueryAggregateExpression__.ts +1 -1
  274. package/src/concepts/QueryFromExpression__.ts +1 -1
  275. package/src/concepts/QueryJoinExpression__.ts +2 -2
  276. package/src/concepts/QuerySelectExpression__.ts +1 -1
  277. package/src/concepts/Return__.ts +35 -25
  278. package/src/concepts/SqlQueryComponent__.ts +1 -1
  279. package/src/concepts/StringLiteral__.ts +2 -2
  280. package/src/concepts/StructureProperty__.ts +49 -29
  281. package/src/concepts/Structure__.ts +17 -5
  282. package/src/concepts/SwitchCase__.ts +3 -3
  283. package/src/concepts/SwitchStatement__.ts +1 -1
  284. package/src/concepts/TypeAnnotation__.ts +34 -12
  285. package/src/concepts/UnaryExpression__.ts +4 -2
  286. package/src/concepts/ValidationRule__.ts +24 -1
  287. package/src/concepts/Variable__.ts +35 -24
  288. package/src/concepts/ViewComponent__.ts +5 -5
  289. package/src/concepts/ViewElement__.ts +168 -113
  290. package/src/concepts/View__.ts +44 -25
  291. package/src/concepts/WhileStatement__.ts +1 -1
  292. package/src/concepts/basics/stdlib/index.ts +3 -1
  293. package/src/concepts/basics/stdlib/nasl.auth.ts +26 -0
  294. package/src/concepts/basics/stdlib/nasl.browser.ts +7 -41
  295. package/src/concepts/basics/stdlib/nasl.configuration.ts +21 -0
  296. package/src/concepts/basics/stdlib/nasl.util.ts +49 -41
  297. package/src/concepts/basics/stdlib/nasl.validation.ts +17 -11
  298. package/src/concepts/basics/types/coreTypeList.ts +11 -11
  299. package/src/concepts/index__.ts +1 -0
  300. package/src/enums/KEYWORDS.ts +1 -1
  301. package/src/generator/genBundleFiles.ts +131 -112
  302. package/src/manager/diagnostic.ts +1 -1
  303. package/src/server/createUiTs.ts +22 -4
  304. package/src/server/entity2LogicNamespace.ts +25 -9
  305. package/src/server/getExtensionModules.ts +2 -0
  306. package/src/server/getLogics.ts +42 -58
  307. package/src/server/getMemberIdentifier.ts +88 -46
  308. package/src/server/getProcesses.ts +32 -9
  309. package/src/server/index.ts +12 -1
  310. package/src/server/naslServer.ts +422 -215
  311. package/src/server/process2LogicNamespace.ts +17 -1
  312. package/src/server/translator.ts +392 -134
  313. package/src/service/storage/init.ts +27 -16
  314. package/src/templator/genCreateBlock.ts +5 -5
  315. package/src/templator/genCurdEditMultipleKeyBlock.ts +25 -26
  316. package/src/templator/genCurdMultipleKeyBlock.ts +7 -7
  317. package/src/templator/genEditTableBlock.ts +2 -2
  318. package/src/templator/genGetBlock.ts +5 -7
  319. package/src/templator/genGridViewBlock.ts +4 -7
  320. package/src/templator/genQueryComponent.ts +1 -0
  321. package/src/templator/genTableBlock.ts +4 -7
  322. package/src/templator/genUpdateBlock.ts +7 -8
  323. package/src/templator/utils.ts +2 -1
  324. package/src/utils/index.ts +19 -0
@@ -27,7 +27,6 @@ function getCompletionDetailType(displayParts: Array<{ text: string; kind: strin
27
27
  });
28
28
  const strTypes = str.split(': ');
29
29
  const type = strTypes[1];
30
- console.log(type);
31
30
  let typeAnnotation;
32
31
  try {
33
32
  if (type.includes('<') && type.includes('>')) {
@@ -167,22 +166,28 @@ function getNodeiconFromLogic(completionProperty: CompletionProperty, node: Base
167
166
  function formatEnums(enums: Array<Enum>) {
168
167
  const result = enums.map((item) => {
169
168
  const namespace = item.getNamespace();
170
- item.expression = new Identifier({
169
+ const newItem: any = {
171
170
  name: item.name,
172
- namespace,
173
- });
174
- item.children = item.enumItems.map((enumItem) => {
171
+ value: item.name,
172
+ expression: new Identifier({
173
+ name: item.name,
174
+ namespace,
175
+ }),
176
+ children: [],
177
+ };
178
+ newItem.children = item.enumItems.map((enumItem) => {
175
179
  const newEnumItem: any = { ...enumItem };
176
- newEnumItem.name = newEnumItem.value;
177
180
  newEnumItem.expression = new MemberExpression({
178
- object: item.expression,
181
+ object: newItem.expression,
179
182
  property: new Identifier({ name: newEnumItem.value }),
180
183
  });
184
+ newEnumItem.name = newEnumItem.value;
185
+ newEnumItem.value = newItem.value + '.' + newEnumItem.value;
181
186
  const completionProperty = new CompletionProperty(newEnumItem);
182
187
  completionProperty.icon = 'enumItem';
183
188
  return completionProperty;
184
189
  });
185
- const completionProperty = new CompletionProperty(item as any);
190
+ const completionProperty = new CompletionProperty(newItem);
186
191
  completionProperty.icon = 'enum';
187
192
  return completionProperty;
188
193
  });
@@ -233,22 +238,31 @@ function formatGlobalVariable() {
233
238
  const newList = [];
234
239
  const globalVariable = {
235
240
  name: 'userInfo',
241
+ value: 'userInfo',
236
242
  children: [
237
- { name: 'Status' },
238
- { name: 'UserInfoExtend', children: [{ name: 'Company' }, { name: 'JobLevel' }, { name: 'JobNum' }, { name: 'RealName' }, { name: 'JobYear' }] },
239
- { name: 'UserName' },
240
- { name: 'Email' },
241
- { name: 'UserId' },
242
- { name: 'Phone' },
243
- { name: 'CreateTime' },
244
- { name: 'UpdateTime' },
245
- { name: 'LoginCount' },
246
- { name: 'Source' },
243
+ { name: 'Status', value: 'userInfo.Status' },
244
+ { name: 'UserInfoExtend',
245
+ value: 'userInfo.UserInfoExtend',
246
+ children: [
247
+ { name: 'Company', value: 'userInfo.UserInfoExtend.Company' },
248
+ { name: 'JobLevel', value: 'userInfo.UserInfoExtend.JobLevel' },
249
+ { name: 'JobNum', value: 'userInfo.UserInfoExtend.JobNum' },
250
+ { name: 'RealName', value: 'userInfo.UserInfoExtend.RealName' },
251
+ { name: 'JobYear', value: 'userInfo.UserInfoExtend.JobYear' },
252
+ ] },
253
+ { name: 'UserName', value: 'userInfo.UserName' },
254
+ { name: 'Email', value: 'userInfo.Email' },
255
+ { name: 'UserId', value: 'userInfo.UserId' },
256
+ { name: 'Phone', value: 'userInfo.Phone' },
257
+ { name: 'CreateTime', value: 'userInfo.CreateTime' },
258
+ { name: 'UpdateTime', value: 'userInfo.UpdateTime' },
259
+ { name: 'LoginCount', value: 'userInfo.LoginCount' },
260
+ { name: 'Source', value: 'userInfo.Source' },
247
261
  ],
248
262
  };
249
263
  const userInfoIdentifier = new Identifier({
250
264
  name: 'userInfo',
251
- namespace: 'nasl.browser',
265
+ namespace: 'nasl.auth',
252
266
  });
253
267
  const userCompletionProperty = new CompletionProperty({
254
268
  name: 'userInfo',
@@ -312,45 +326,31 @@ function getCurrentLogic(node: BaseNode,
312
326
 
313
327
  export async function getMemberIdentifier(node: BaseNode) {
314
328
  if (node) {
329
+ // 获取字面量
330
+ const literals = getLiteralsIdentifier();
331
+ if (node.getAncestor('CallQueryComponent'))
332
+ literals.shift(); // 去除 null
315
333
  // 获取枚举
316
- const app = node.rootNode as App;
317
- const literals = formatLiterals();
318
- const enums = app?.enums;
319
- const newEnums = enums ? formatEnums(enums) : [];
334
+ const newEnums = getEnumsIdentifier(node);
320
335
 
321
- // extensionModules(state) {
322
- // return state.app?.dependencies?.filter((module) => module.type === 'extension') || {};
336
+ // extensionModules(state) {
337
+ // return state.app?.dependencies?.filter((module) => module.type === 'extension') || {};
323
338
  // },
324
339
 
325
340
  // 如果之前有选好的值就需要的把之前那一列的内容渲染出来
326
341
  // 先去获取
327
342
 
328
- let completionData: CompletionProperty[] = [new CompletionProperty({})];
329
- if (node instanceof Identifier || node instanceof MemberExpression) {
330
- const value = (node as Identifier | MemberExpression).getValue();
331
- if (value) {
332
- const completion = (await naslServer.getValueSelectCompletion(node, value)) as variableItem[];
333
- completionData = formatVariableData(completion, node);
334
- } else {
335
- const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
336
- completionData = formatVariableData(nextCompletion, node);
337
- }
338
- } else {
339
- const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
340
- completionData = formatVariableData(nextCompletion, node);
341
- }
342
- let globalVariable: CompletionProperty[] = [];
343
- // 全局变量修改
344
- if ((node as any).view) {
345
- globalVariable = formatGlobalVariable();
346
- }
343
+ // 获取变量
344
+ const completionData = await getVariableIdentifier(node);
345
+ // 获取公共变量
346
+ const globalVariable: CompletionProperty[] = await getGlobalVariableIdentifier(node);
347
+
347
348
  // 这个可能需要自己算一下
348
349
  const result = [
349
350
  { name: '字面量', children: literals, expanded: true, icon: 'category' },
350
351
  { name: '枚举', children: newEnums, expanded: true, icon: 'category' },
351
352
  { name: '变量', children: completionData, expanded: true, icon: 'category' },
352
- { name: '全局变量', children: globalVariable, expanded: true, icon: 'category' },
353
-
353
+ { name: '公共变量', children: globalVariable, expanded: true, icon: 'category' },
354
354
  // { name: '流程变量', children: [] },
355
355
  ];
356
356
  getCurrentLogic(node, result);
@@ -358,6 +358,48 @@ export async function getMemberIdentifier(node: BaseNode) {
358
358
  }
359
359
  }
360
360
 
361
+ // 获取字面量
362
+ export function getLiteralsIdentifier(): CompletionProperty[] {
363
+ return formatLiterals();
364
+ }
365
+
366
+ // 获取枚举
367
+ export function getEnumsIdentifier(node: BaseNode): CompletionProperty[] {
368
+ const app = node.rootNode as App;
369
+ const enums = app?.enums;
370
+ const newEnums = enums ? formatEnums(enums) : [];
371
+ return newEnums;
372
+ }
373
+
374
+ // 获取变量
375
+ export async function getVariableIdentifier(node: BaseNode): Promise<CompletionProperty[]> {
376
+ let completionData: CompletionProperty[] = [new CompletionProperty({})];
377
+ if (node instanceof Identifier || node instanceof MemberExpression) {
378
+ const value = (node as Identifier | MemberExpression).getValue();
379
+ if (value) {
380
+ const completion = (await naslServer.getValueSelectCompletion(node, value)) as variableItem[];
381
+ completionData = formatVariableData(completion, node);
382
+ } else {
383
+ const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
384
+ completionData = formatVariableData(nextCompletion, node);
385
+ }
386
+ } else {
387
+ const nextCompletion = await naslServer.getFieldKeySelectCompletion(node, '');
388
+ completionData = formatVariableData(nextCompletion, node);
389
+ }
390
+ return completionData;
391
+ }
392
+
393
+ // 获取公共变量
394
+ export async function getGlobalVariableIdentifier(node: BaseNode):Promise<CompletionProperty[]> {
395
+ let globalVariable: CompletionProperty[] = [];
396
+ // 公共变量修改
397
+ if ((node as any).view) {
398
+ globalVariable = formatGlobalVariable();
399
+ }
400
+ return globalVariable;
401
+ }
402
+
361
403
  export async function getSelectNextCompletionData(node: Identifier, completionProperty?: CompletionProperty) {
362
404
  if (node) {
363
405
  let fieldKey: string = '';
@@ -20,6 +20,10 @@ export function genLaunchProcess(process: Process) {
20
20
  }),
21
21
  ],
22
22
  });
23
+ const path = `process.${process.name}.logics`;
24
+ l.getNamespace = function() {
25
+ return path;
26
+ }
23
27
  l.fake = true;
24
28
  return l;
25
29
  }
@@ -61,6 +65,10 @@ export function genUserTaskLogic(userTask: ProcessElement) {
61
65
  body: [],
62
66
  returns: [],
63
67
  });
68
+ const path = `elements.${userTask.name}.logics`;
69
+ l.getNamespace = function() {
70
+ return path;
71
+ }
64
72
  l.fake = true;
65
73
  return l;
66
74
  }
@@ -221,7 +229,7 @@ export function genCompletionProperty(prefix: string[] = []):(v: Variable | Para
221
229
  };
222
230
  }
223
231
 
224
- export function getPreviousUserTask(node: ProcessElement) {
232
+ export function getPreviousTask(node: ProcessElement) {
225
233
  const process = node.process;
226
234
  const elems = process.elements;
227
235
  const elements: ProcessElement[] = [];
@@ -230,15 +238,15 @@ export function getPreviousUserTask(node: ProcessElement) {
230
238
  if (visitedMap.has(processElem)) {
231
239
  return;
232
240
  }
241
+ if (processElem !== node && (processElem.type === 'UserTask')) {
242
+ elements.push(processElem);
243
+ }
233
244
  visitedMap.set(processElem, true);
234
245
  const links = elems.filter((e) => e.type === 'SequenceFlow' && e.targetRef === processElem.name);
235
246
  links.forEach((l) => {
236
247
  const s = l.sourceRef;
237
248
  const t = elems.find((el) => el.name === s);
238
249
  if (t) {
239
- if (t.type === 'UserTask') {
240
- elements.push(t);
241
- }
242
250
  iterator(t);
243
251
  }
244
252
  });
@@ -248,22 +256,22 @@ export function getPreviousUserTask(node: ProcessElement) {
248
256
  return elements;
249
257
  }
250
258
 
251
- export function getProcessVariableSuggestions(node: Logic): CompletionProperty {
259
+ export function getProcessVariableSuggestions(node: Logic, abandonConstant: boolean = false): CompletionProperty {
252
260
  if (!node.processElement) {
253
261
  return;
254
262
  }
255
263
  const processElem = node.processElement;
256
264
  const process = node.process;
257
265
 
258
- const elements: ProcessElement[] = getPreviousUserTask(processElem);
259
- const usertasks = elements.map((us) => {
266
+ const elements: ProcessElement[] = getPreviousTask(processElem);
267
+ const prevtasks = elements.map((us) => {
260
268
  const cp = new CompletionProperty({
261
269
  name: us.name,
262
270
  value: us.name,
263
271
  noFurther: true,
264
272
  children: [
265
273
  ...us.returns.map(genCompletionProperty([process.name, us.name])),
266
- ...us.constants.map(genCompletionProperty([process.name, us.name])),
274
+ ...(abandonConstant ? [] : us.constants.map(genCompletionProperty([process.name, us.name]))),
267
275
  ],
268
276
  });
269
277
  cp.icon = us.type;
@@ -279,7 +287,7 @@ export function getProcessVariableSuggestions(node: Logic): CompletionProperty {
279
287
  ...process.params.map(genCompletionProperty([process.name])),
280
288
  ...process.returns.map(genCompletionProperty([process.name])),
281
289
  ...process.constants.map(genCompletionProperty([process.name])),
282
- ...usertasks,
290
+ ...prevtasks,
283
291
  ],
284
292
  });
285
293
  processVariables.icon = 'Process';
@@ -308,6 +316,21 @@ export function getProcessVariableSuggestions(node: Logic): CompletionProperty {
308
316
  scopeVariable.icon = processElem.type;
309
317
  processVariables.children.push(scopeVariable);
310
318
  }
319
+ // if(processElem.type === 'AutoTask') {
320
+ // const scopeVariable = new CompletionProperty({
321
+ // name: processElem.name,
322
+ // value: processElem.name,
323
+ // icon: processElem.type,
324
+ // noFurther: true,
325
+ // children: [
326
+ // ...processElem.variables.map(genCompletionProperty([process.name, processElem.name])),
327
+ // ...processElem.returns.map(genCompletionProperty([process.name, processElem.name])),
328
+ // ]
329
+ // });
330
+ // scopeVariable.isProcess = true;
331
+ // scopeVariable.icon = processElem.type;
332
+ // processVariables.children.push(scopeVariable);
333
+ // }
311
334
  return processVariables;
312
335
  }
313
336
 
@@ -3,7 +3,14 @@ import { getInterfaces } from './getInterfaces';
3
3
  import { getFunctions, getBuildInFunction } from './getFunctions';
4
4
  import { getValidates, getValidateFunction } from './getValidates';
5
5
  import { getProcessComponents, getProcessComponent } from './getProcessComponents';
6
- import { getMemberIdentifier, getSelectNextCompletionData } from './getMemberIdentifier';
6
+ import {
7
+ getMemberIdentifier,
8
+ getVariableIdentifier,
9
+ getEnumsIdentifier,
10
+ getGlobalVariableIdentifier,
11
+ getLiteralsIdentifier,
12
+ getSelectNextCompletionData,
13
+ } from './getMemberIdentifier';
7
14
  import naslServer from './naslServer';
8
15
 
9
16
  const server: any = {
@@ -19,5 +26,9 @@ const server: any = {
19
26
  getValidates,
20
27
  getValidateFunction,
21
28
  getSelectNextCompletionData,
29
+ getVariableIdentifier,
30
+ getEnumsIdentifier,
31
+ getGlobalVariableIdentifier,
32
+ getLiteralsIdentifier,
22
33
  };
23
34
  export default server;