@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
@@ -22,6 +22,7 @@ export interface PageOptions {
22
22
  domainName: string;
23
23
  nuimsDomain: string;
24
24
  auth: boolean;
25
+ documentTitle?: string;
25
26
  router: {
26
27
  notFound: string;
27
28
  middleware: string[];
@@ -53,44 +54,24 @@ export async function genBundleFiles(app: App,
53
54
  const logics: Logic[] = [];
54
55
  const interfaces: Interface[] = [];
55
56
  const processes: Process[] = [];
56
- const {
57
- views: appViews = [],
58
- entities: appEntities = [],
59
- structures: appStructures = [],
60
- enums: appEnums = [],
61
- logics: appLogics = [],
62
- interfaceDependencies: appInterfaceDependencies = [],
63
- dependencies: appDependencies = [],
64
- processes: appProcesses = [],
65
- } = app || {};
66
- views.push(...appViews);
67
- entities.push(...appEntities);
68
- structures.push(...appStructures);
69
- enums.push(...appEnums);
70
- logics.push(...appLogics);
71
- processes.push(...appProcesses);
72
-
73
- if (Array.isArray(appDependencies)) {
74
- modules.push(...appDependencies);
75
- }
76
- if (Array.isArray(appInterfaceDependencies)) {
77
- modules.push(...appInterfaceDependencies);
78
- }
57
+
58
+ app.views && views.push(...app.views);
59
+ app.entities && entities.push(...app.entities);
60
+ app.structures && structures.push(...app.structures);
61
+ app.enums && enums.push(...app.enums);
62
+ app.logics && logics.push(...app.logics);
63
+ app.processes && processes.push(...app.processes);
64
+
65
+ app.dependencies && modules.push(...app.dependencies);
66
+ app.interfaceDependencies && modules.push(...app.interfaceDependencies);
67
+
79
68
  modules.forEach((module: Module) => {
80
- const {
81
- views: moduleViews = [],
82
- entities: moduleEntities = [],
83
- structures: moduleStructures = [],
84
- enums: moduleEnums = [],
85
- logics: moduleLogics = [],
86
- interfaces: moduleInterfaces = [],
87
- } = module;
88
- views.push(...moduleViews);
89
- entities.push(...moduleEntities);
90
- structures.push(...moduleStructures);
91
- enums.push(...moduleEnums);
92
- logics.push(...moduleLogics);
93
- interfaces.push(...moduleInterfaces);
69
+ module.views && views.push(...module.views);
70
+ module.entities && entities.push(...module.entities);
71
+ module.structures && structures.push(...module.structures);
72
+ module.enums && enums.push(...module.enums);
73
+ module.logics && logics.push(...module.logics);
74
+ module.interfaces && interfaces.push(...module.interfaces);
94
75
  });
95
76
 
96
77
  const componentMap: {
@@ -151,6 +132,7 @@ export async function genBundleFiles(app: App,
151
132
  domainName: app.name,
152
133
  nuimsDomain: config.nuimsDomain,
153
134
  auth: view.auth,
135
+ documentTitle: app.documentTitle,
154
136
  router: {
155
137
  notFound: '/',
156
138
  middleware: ['first', 'lock', 'auth', 'login'],
@@ -255,7 +237,7 @@ export async function genBundleFiles(app: App,
255
237
  });
256
238
 
257
239
  const data = JSON5.stringify({
258
- pages,
240
+ // pages,
259
241
  metaData: {
260
242
  dataTypesMap,
261
243
  enumsMap,
@@ -270,6 +252,7 @@ export async function genBundleFiles(app: App,
270
252
  env: config.env,
271
253
  indexName,
272
254
  }, null, 4);
255
+
273
256
  const assetsInfo = app.genAllAssetsInfo(config.STATIC_URL);
274
257
  // console.log(assetsInfo);
275
258
  // debugger;
@@ -288,6 +271,15 @@ export async function genBundleFiles(app: App,
288
271
  `;
289
272
  }
290
273
 
274
+ if (app.documentIcon) {
275
+ content += `{
276
+ const link = document.createElement('link');
277
+ link.rel = 'shortcut icon';
278
+ link.href = \`${app.documentIcon}\`;
279
+ document.head.appendChild(link);
280
+ }`;
281
+ }
282
+
291
283
  content += `
292
284
  var customNames = ${customNames};
293
285
  for(var i=0;i<customNames.length;i++){
@@ -297,15 +289,46 @@ export async function genBundleFiles(app: App,
297
289
  }
298
290
  }`;
299
291
 
292
+ function routeToString(route: Route): string {
293
+ return `{
294
+ path: '${route.path}',
295
+ component: (function(){
296
+ var componentOptions = ${route.component.script ? '(function(){\n' + route.component.script.trim().replace(/export default |module\.exports +=/, 'return ') + '\n})()' : '{}'};
297
+ Object.assign(componentOptions, {
298
+ template: \`${route.component.template.replace(/[`$]/g, (m) => '\\' + m)}\`,
299
+ });
300
+ return componentOptions;
301
+ // return window.Vue.extend(componentOptions);
302
+ })(),
303
+ children: [
304
+ ${route.children.map(routeToString).join(',\n')}
305
+ ],
306
+ }`;
307
+ }
308
+
300
309
  content += `
301
310
  var data = ${data};
311
+ data.pages = {
312
+ ${Object.keys(pages)
313
+ .map((pageName) => {
314
+ const page = pages[pageName];
315
+ const rootRoute = page.rootRoute;
316
+ delete page.rootRoute;
317
+
318
+ let pageJSON = JSON5.stringify(page, null, 4);
319
+ pageJSON = pageJSON.slice(0, -1) + `\nrootRoute: ${routeToString(rootRoute)} }`;
320
+
321
+ return `${pageName}: ${pageJSON},`;
322
+ })
323
+ .join('\n')}
324
+ };
302
325
  var pageName = window.pageName;
303
326
  if(!pageName){
304
327
  pageName = data.indexName;
305
328
  }
306
329
  var page = data.pages[pageName];
307
330
  page.router.noLogin = noLogin;
308
- compileComponent(page.rootRoute);
331
+
309
332
  if(appVM){
310
333
  appVM=null
311
334
  }
@@ -314,85 +337,82 @@ export async function genBundleFiles(app: App,
314
337
  env: data.env,
315
338
  extendedConfig: data.extendedConfig,
316
339
  envConfig: {
317
- lowcodeDomain:data.lowcodeDomain
340
+ lowcodeDomain: data.lowcodeDomain,
318
341
  },
319
342
  }, page.rootRoute, data.metaData);
320
343
  window.appVM = appVM;
321
344
  })();`;
322
345
 
323
- // if (config.env === 'dev') {
324
- // // 加载资源js
325
- // // const targetUrl = `${location.origin}/empty?url=${config.lowcodeDomain}&appid=${config.appid}`;
326
- // const domain = config.lowcodeDomain.slice(5);
327
- // const targetUrl = `${location.origin}/empty?url=${domain}&appid=${config.appid}`;
328
- // // const targetUrl = `http://defaulttenant.fafdafd.lcap.ha.dev.com:3000?url=${domain}&appid=${config.appid}`;
329
- // const str = `
330
- // if(!document.querySelector("iframe[name='iframeEmpty']")){
331
- // var el = document.createElement('iframe');
332
- // el.setAttribute('src', "${targetUrl}");
333
- // el.setAttribute('name', 'iframeEmpty');
334
- // el.setAttribute('width', 0);
335
- // el.setAttribute('height', 0);
336
- // el.style.borderWidth = 0
337
- // el.style.display= "block"
338
- // document.getElementsByTagName('body')[0].appendChild(el);
339
- // document.domain = '${domain}'
340
- // var _div = document.createElement('div');
341
- // _div.classList = "div-load"
342
- // _div.innerHTML = "<div>代码发布中</div><div class='loading-container'></div>"
343
- // document.getElementsByTagName('body')[0].appendChild(_div);
344
- // window.showLoading = function(){
345
- // document.querySelector(".div-load").style.display ="flex"
346
- // }
347
- // window.hideLoading = function(){
348
- // document.querySelector(".div-load").style.display ="none"
349
- // }
350
- // var style = document.createElement('style');
351
- // style.innerHTML=\`.loading-container{
352
- // width: 20px;
353
- // height: 20px;
354
- // margin-left: 20px;
355
- // animation: loading-animation 0.8s infinite linear;
356
- // display: inline-block;
357
- // border: 2px solid #f3f3f3;
358
- // border-top: 2px solid rgb(109, 108, 108);
359
- // border-radius: 50%;
360
- // }
361
- // .div-load{
362
- // display: flex;
363
- // align-items: center;
364
- // justify-content: center;
365
- // position: fixed;
366
- // top:0;
367
- // width:100vw;
368
- // height:60px;
369
- // background:red;
370
- // opacity: 1;
371
- // color: #f3f3f3;
372
- // font-weight: 600;
373
- // display:none;
374
- // }
375
-
376
- // @keyframes loading-animation{
377
- // 0% {
378
- // transform: rotate(0deg);
379
- // }
380
- // 100% {
381
- // transform: rotate(360deg);
382
- // }
383
- // }\`
384
- // document.getElementsByTagName('body')[0].appendChild(style);
385
- // }
386
- // `;
387
- // content += str;
388
- // }
346
+ if (config.env === 'dev') {
347
+ // 加载资源js
348
+ const domain = config.lowcodeDomain.slice(5);
349
+ const targetUrl = `${location.origin}/empty?url=${domain}&appid=${config.appid}`;
350
+ const str = `
351
+ if(!document.querySelector("iframe[name='iframeEmpty']")){
352
+ var el = document.createElement('iframe');
353
+ el.setAttribute('src', "${targetUrl}");
354
+ el.setAttribute('name', 'iframeEmpty');
355
+ el.setAttribute('width', 0);
356
+ el.setAttribute('height', 0);
357
+ el.style.borderWidth = 0
358
+ el.style.display= "block"
359
+ document.getElementsByTagName('body')[0].appendChild(el);
360
+ document.domain = '${domain}'
361
+ var _div = document.createElement('div');
362
+ _div.classList = "div-load"
363
+ _div.innerHTML = "<div class='loading-container'></div><div>正在更新最新发布内容...</div>"
364
+ document.getElementsByTagName('body')[0].appendChild(_div);
365
+ window.showLoading = function(){
366
+ document.querySelector(".div-load").style.display ="flex"
367
+ }
368
+ window.hideLoading = function(){
369
+ document.querySelector(".div-load").style.display ="none"
370
+ }
371
+ var style = document.createElement('style');
372
+ style.innerHTML=\`.div-load{
373
+ width: 208px;
374
+ height: 40px;
375
+ background: rgba(48, 48, 48, 0.8);
376
+ box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1);
377
+ border-radius: 4px;
378
+ position: fixed;
379
+ top: 120px;
380
+ left: 50%;
381
+ margin-left: -104px;
382
+ color: #FFFFFF;
383
+ font-size: 14px;
384
+ display: none;
385
+ justify-content: center;
386
+ align-items: center;
387
+ }
388
+
389
+ .loading-container{
390
+ width: 12px;
391
+ height: 12px;
392
+ margin-right: 10px;
393
+ animation: loading-animation 0.8s infinite linear;
394
+ border: 2px solid #f3f3f3;
395
+ border-top: 2px solid rgb(109, 108, 108);
396
+ border-right: 2px solid rgb(109, 108, 108);
397
+ border-bottom: 2px solid rgb(109, 108, 108);
398
+ border-radius: 50%;
399
+ }
389
400
 
390
- // debugger;
391
- // const outputs: { [name: string]: string } = {};
392
- // const outputs =
393
- const bundlePath = `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/bundle.${genHash(content)}.js`;
394
- // outputs[bundlePath] = content;
401
+ @keyframes loading-animation{
402
+ 0% {
403
+ transform: rotate(0deg);
404
+ }
405
+ 100% {
406
+ transform: rotate(360deg);
407
+ }
408
+ }\`
409
+ document.getElementsByTagName('body')[0].appendChild(style);
410
+ }
411
+ `;
412
+ content += str;
413
+ }
395
414
 
415
+ const bundlePath = `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/bundle.${genHash(content)}.js`;
396
416
  const assetsContent = `(function() {
397
417
  LazyLoad.js(${JSON5.stringify(assetsInfo.basic.js.concat(assetsInfo.custom.js).concat([bundlePath]))});
398
418
  LazyLoad.css(${JSON5.stringify(assetsInfo.basic.css.concat(assetsInfo.custom.css))});
@@ -409,6 +429,5 @@ export async function genBundleFiles(app: App,
409
429
  content: assetsContent,
410
430
  },
411
431
  ];
412
- // outputs[`${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/client.js`] = assetsContent;
413
432
  return outputs;
414
433
  }
@@ -11,7 +11,7 @@ export interface Diagnostic {
11
11
  id?: string;
12
12
  severity: string;
13
13
  originalDiagnostic: tsProtocol.DiagnosticWithFileName;
14
- message: string;
14
+ message?: string;
15
15
  code?: number;
16
16
  node?: BaseNode;
17
17
  text?: string;
@@ -1,9 +1,23 @@
1
1
  import { Logic, TypeAnnotation, Param, LogicItem, NumericLiteral, BooleanLiteral, StringLiteral, Identifier, MemberExpression } from '..';
2
2
 
3
+ const naslStdlibMap: any = {
4
+ 'nasl.core.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.core.ts').default,
5
+ 'nasl.collection.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.collection.ts').default,
6
+ 'nasl.interface.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.interface.ts').default,
7
+ 'nasl.util.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.util.ts').default,
8
+ 'nasl.ui.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.ui.ts').default,
9
+ 'nasl.browser.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.browser.ts').default,
10
+ 'nasl.auth.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.auth.ts').default,
11
+ 'nasl.configuration.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.configuration.ts').default,
12
+ 'nasl.langUtil.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.langUtil.ts').default,
13
+ 'nasl.annotation.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.annotation.ts').default,
14
+ 'nasl.validation.ts': require('!!raw-loader!../../../file-storage/data/stdlib/nasl.validation.ts').default,
15
+ };
16
+
3
17
  export default function formatUiTs(allComponent: any) {
4
18
  const indent = (tabSize: number) => ' '.repeat(tabSize * 2);
5
19
 
6
- const toHump = (name: string) => name ? name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase()) : '';
20
+ const toHump = (name: string) => (name ? name.replace(/\-(\w)/g, (all, letter) => letter.toUpperCase()) : '');
7
21
 
8
22
  const toNaslType = (type: string) => {
9
23
  if (type === 'number')
@@ -17,7 +31,7 @@ export default function formatUiTs(allComponent: any) {
17
31
  else
18
32
  return type;
19
33
  };
20
- const createDefault = (param: any):LogicItem => {
34
+ const createDefault = (param: any): LogicItem => {
21
35
  const defaultValue = param.default;
22
36
  if (defaultValue) {
23
37
  if (typeof defaultValue === 'number') {
@@ -31,7 +45,7 @@ export default function formatUiTs(allComponent: any) {
31
45
  }
32
46
  return null;
33
47
  };
34
- const creatMethodLogic = (method: {name: string, params: any[]}) => {
48
+ const creatMethodLogic = (method: { name: string; params: any[] }) => {
35
49
  const { name, params } = method;
36
50
  const logic = new Logic({
37
51
  name,
@@ -72,6 +86,7 @@ export default function formatUiTs(allComponent: any) {
72
86
  export class lRoot<T> extends VueComponent{
73
87
  constructor(
74
88
  options?: {
89
+ [propname: string]: any,
75
90
  bindAttr?: () => Array<any>,
76
91
  slotDefault?: ()=> Array<any>,
77
92
  }){super()}
@@ -79,6 +94,7 @@ export default function formatUiTs(allComponent: any) {
79
94
  export class div<T> extends VueComponent {
80
95
  constructor(
81
96
  options?: {
97
+ [propname: string]: any,
82
98
  bindAttr?: () => Array<any>,
83
99
  slotDefault?: ()=> Array<any>,
84
100
  click?: (event) => Array<any>,
@@ -87,6 +103,7 @@ export default function formatUiTs(allComponent: any) {
87
103
  export class template<T> extends VueComponent {
88
104
  constructor(
89
105
  options?: {
106
+ [propname: string]: any,
90
107
  bindAttr?: () => Array<any>,
91
108
  slotDefault?: ()=> Array<any>,
92
109
  }){super()}
@@ -97,7 +114,7 @@ export default function formatUiTs(allComponent: any) {
97
114
  const item = allComponent[i];
98
115
  const componentName = toHump(item.name);
99
116
  if (!componentName)
100
- break;
117
+ continue;
101
118
  // console.log(item);
102
119
  value += `export class ${componentName}<T> extends VueComponent{\n
103
120
  constructor(\n
@@ -175,5 +192,6 @@ export default function formatUiTs(allComponent: any) {
175
192
  return {
176
193
  code: value,
177
194
  elementsLogic,
195
+ naslStdlibMap,
178
196
  };
179
197
  }
@@ -4,6 +4,30 @@ export function entity2LogicNamespace(entity: Entity) {
4
4
  const properties = entity.properties;
5
5
  const keys = properties.filter((item) => item.primaryKey);
6
6
  const params = keys.map((item: EntityProperty) => new Param({ name: item.name, typeAnnotation: TypeAnnotation.createPrimitive(item.typeAnnotation.typeName), required: true }));
7
+ const batchDeleteParams
8
+ = keys.length > 1 ? [
9
+ new Param({
10
+ name: 'body',
11
+ typeAnnotation: TypeAnnotation.createGeneric('List', {
12
+ typeArguments: [
13
+ TypeAnnotation.from({
14
+ typeKind: 'reference',
15
+ typeNamespace: entity.getNamespace(),
16
+ typeName: entity.name,
17
+ }),
18
+ ],
19
+ }),
20
+ required: true,
21
+ }),
22
+ ] : [
23
+ new Param({
24
+ name: 'body',
25
+ typeAnnotation: TypeAnnotation.createGeneric('List', {
26
+ typeArguments: [TypeAnnotation.createPrimitive(keys[0].typeAnnotation.typeName)],
27
+ }),
28
+ required: true,
29
+ }),
30
+ ];
7
31
  const ns = new Namespace({
8
32
  name: entity.name,
9
33
  logics: [
@@ -145,15 +169,7 @@ export function entity2LogicNamespace(entity: Entity) {
145
169
  }),
146
170
  new Logic({
147
171
  name: 'batchDelete',
148
- params: [
149
- new Param({
150
- name: 'body',
151
- typeAnnotation: TypeAnnotation.createGeneric('List', {
152
- typeArguments: [TypeAnnotation.createPrimitive('Long')],
153
- }),
154
- required: true,
155
- }),
156
- ],
172
+ params: batchDeleteParams,
157
173
  body: [],
158
174
  }),
159
175
  new Logic({
@@ -9,5 +9,7 @@ export function moduleToLogicNamesapce(m: Module) {
9
9
  logics: m.logics,
10
10
  });
11
11
  ns.path = `app.${m.name}.logics`;
12
+ ns.expanded = true
13
+ ns.originConcept = 'import-interface-category'
12
14
  return ns;
13
15
  }
@@ -1,4 +1,4 @@
1
- import { CallLogic, BindEvent, App, Namespace, Entity, BaseNode, Logic, Param, TypeAnnotation, Return, Process, ViewElement } from '..';
1
+ import { CallLogic, BindEvent, App, Namespace, Entity, BaseNode, Logic, Param, TypeAnnotation, Return, Process, ViewElement, stdlibNamespace } from '..';
2
2
  import { process2LogicNamespace } from './process2LogicNamespace';
3
3
  import { moduleToLogicNamesapce } from './getExtensionModules';
4
4
  import naslServer from './naslServer';
@@ -20,32 +20,34 @@ function iterator(tree: FakeNode | FakeProcessNode, searchContent: string, fakeN
20
20
  if (searchContent) {
21
21
  fakeNode.children = [];
22
22
  fakeNode.logics = [];
23
- fakeNode.processes = [];
23
+ // fakeNode.processes = [];
24
24
  if (tree.children) {
25
25
  tree.children.forEach((c) => {
26
26
  const childFakeNode = {};
27
- if (iterator(c, searchContent, childFakeNode)) {
27
+ if(c.title?.toLowerCase().includes(searchContent) || c.name?.toLowerCase().includes(searchContent))
28
+ fakeNode.children.push({...c});
29
+ else if (iterator(c, searchContent, childFakeNode)) {
28
30
  fakeNode.children.push(childFakeNode);
29
31
  }
30
32
  });
31
33
  }
32
34
  if (tree.logics) {
33
35
  tree.logics.forEach((l) => {
34
- const exist = l.name.includes(searchContent);
36
+ const exist = l.name.toLowerCase().includes(searchContent);
35
37
  if (exist) {
36
38
  fakeNode.logics.push(l);
37
39
  }
38
40
  });
39
41
  }
40
- if (tree.processes) {
41
- tree.processes.forEach((c) => {
42
- const childFakeNode = {};
43
- if (iterator(c, searchContent, childFakeNode)) {
44
- fakeNode.processes.push(childFakeNode);
45
- }
46
- });
47
- }
48
- if (fakeNode.logics.length > 0) {
42
+ // if (tree.processes) {
43
+ // tree.processes.forEach((c) => {
44
+ // const childFakeNode = {};
45
+ // if (iterator(c, searchContent, childFakeNode)) {
46
+ // fakeNode.processes.push(childFakeNode);
47
+ // }
48
+ // });
49
+ // }
50
+ if (fakeNode.logics.length > 0 || fakeNode.children.length > 0) {
49
51
  return true;
50
52
  }
51
53
  return false;
@@ -100,7 +102,7 @@ export async function getLogics(node: CallLogic | BindEvent, needAllLogic: boole
100
102
  if (Array.isArray(eleLogis) && eleLogis.length) {
101
103
  const viewElement = new Namespace({
102
104
  title: toHump(item.name),
103
- logics: eleLogis,
105
+ logics: eleLogis.map((item: Logic) => Logic.from(item)),
104
106
  path: `elements.${toHump(item.name)}.logics`,
105
107
  originConcept: 'ViewElement',
106
108
  });
@@ -121,63 +123,45 @@ export async function getLogics(node: CallLogic | BindEvent, needAllLogic: boole
121
123
 
122
124
  const systemTree = new Namespace({
123
125
  name: 'category',
124
- path: `nasl.browser`,
125
- title: '系统',
126
- logics: [
127
- new Logic({
128
- name: 'requestFullscreen',
129
- params: [],
130
- body: [],
126
+ path: `nasl`,
127
+ title: '系统逻辑',
128
+ children: [
129
+ new Namespace({
130
+ name: 'category',
131
+ path: `browser`,
132
+ title: '浏览器',
133
+ logics: stdlibNamespace.findChild('browser').logics,
134
+ expanded: true,
131
135
  }),
132
- new Logic({
133
- name: 'exitFullscreen',
134
- params: [],
135
- body: [],
136
+ new Namespace({
137
+ name: 'category',
138
+ path: `auth`,
139
+ title: '认证与权限',
140
+ logics: stdlibNamespace.findChild('auth').logics,
141
+ expanded: true,
136
142
  }),
137
- new Logic({
138
- name: 'hasAuth',
139
- params: [
140
- new Param({
141
- name: 'authPath',
142
- typeAnnotation: TypeAnnotation.createPrimitive('String'),
143
- required: true,
144
- }),
145
- ],
146
- body: [],
147
- }),
148
- new Logic({
149
- name: 'getDistance',
150
- params: [
151
- new Param({
152
- name: 'Point1',
153
- typeAnnotation: TypeAnnotation.createPrimitive('String'),
154
- required: true,
155
- }),
156
- new Param({
157
- name: 'Point2',
158
- typeAnnotation: TypeAnnotation.createPrimitive('String'),
159
- required: true,
160
- }),
161
- ],
162
- body: [],
163
- }),
164
- new Logic({
165
- name: 'logOut',
166
- params: [],
167
- body: [],
143
+ new Namespace({
144
+ name: 'category',
145
+ path: `configuration`,
146
+ title: '配置',
147
+ logics: stdlibNamespace.findChild('configuration').logics,
148
+ expanded: true,
168
149
  }),
169
150
  ],
151
+ expanded: true,
170
152
  });
171
- systemTree.expanded = true;
172
153
 
154
+ systemTree.expanded = true;
155
+ systemTree.children.forEach((child) => (child.expanded = true));
173
156
  result.push(systemTree);
174
157
  }
175
158
  return result;
176
159
  }
177
160
  }
178
161
 
179
- export function iteratorTree(treeList: {}[], filterText?: string) {
162
+ export function iteratorTree(treeList: {}[], filterText: string = '') {
180
163
  const result: {}[] = [];
164
+ filterText = filterText.toLowerCase();
181
165
  treeList.forEach((item) => {
182
166
  const fakeNode = {};
183
167
  iterator(item, filterText, fakeNode);