@lcap/nasl 2.22.0-beta.5 → 3.0.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 (304) hide show
  1. package/README.md +13 -0
  2. package/docs/classes/Module.html +15 -15
  3. package/docs/classes/Namespace.html +15 -15
  4. package/docs/classes/ViewComponent.html +19 -19
  5. package/out/automate/engine/utils.js +4 -0
  6. package/out/automate/engine/utils.js.map +1 -1
  7. package/out/breakpoint/generator/AfterStartNode.d.ts +7 -0
  8. package/out/breakpoint/generator/AfterStartNode.js +27 -0
  9. package/out/breakpoint/generator/AfterStartNode.js.map +1 -0
  10. package/out/breakpoint/generator/BeforeEndNode.d.ts +7 -0
  11. package/out/breakpoint/generator/BeforeEndNode.js +27 -0
  12. package/out/breakpoint/generator/BeforeEndNode.js.map +1 -0
  13. package/out/breakpoint/generator/BreakpointNode.d.ts +14 -0
  14. package/out/breakpoint/generator/BreakpointNode.js +166 -0
  15. package/out/breakpoint/generator/BreakpointNode.js.map +1 -0
  16. package/out/breakpoint/generator/index.d.ts +4 -0
  17. package/out/breakpoint/generator/index.js +98 -0
  18. package/out/breakpoint/generator/index.js.map +1 -0
  19. package/out/breakpoint/index.d.ts +3 -0
  20. package/out/breakpoint/index.js +20 -0
  21. package/out/breakpoint/index.js.map +1 -0
  22. package/out/breakpoint/shared/constants.d.ts +30 -0
  23. package/out/breakpoint/shared/constants.js +87 -0
  24. package/out/breakpoint/shared/constants.js.map +1 -0
  25. package/out/breakpoint/shared/index.d.ts +3 -0
  26. package/out/breakpoint/shared/index.js +33 -0
  27. package/out/breakpoint/shared/index.js.map +1 -0
  28. package/out/breakpoint/shared/operations.d.ts +10 -0
  29. package/out/breakpoint/shared/operations.js +25 -0
  30. package/out/breakpoint/shared/operations.js.map +1 -0
  31. package/out/breakpoint/shared/socket.d.ts +47 -0
  32. package/out/breakpoint/shared/socket.js +210 -0
  33. package/out/breakpoint/shared/socket.js.map +1 -0
  34. package/out/breakpoint/shared/utils.d.ts +20 -0
  35. package/out/breakpoint/shared/utils.js +133 -0
  36. package/out/breakpoint/shared/utils.js.map +1 -0
  37. package/out/breakpoint/store/core.d.ts +30 -0
  38. package/out/breakpoint/store/core.js +341 -0
  39. package/out/breakpoint/store/core.js.map +1 -0
  40. package/out/breakpoint/store/dock.d.ts +1 -0
  41. package/out/breakpoint/store/dock.js +127 -0
  42. package/out/breakpoint/store/dock.js.map +1 -0
  43. package/out/breakpoint/store/index.d.ts +2 -0
  44. package/out/breakpoint/store/index.js +19 -0
  45. package/out/breakpoint/store/index.js.map +1 -0
  46. package/out/common/BaseNode.d.ts +8 -0
  47. package/out/common/BaseNode.js +19 -0
  48. package/out/common/BaseNode.js.map +1 -1
  49. package/out/concepts/App__.d.ts +365 -16
  50. package/out/concepts/App__.js +431 -10
  51. package/out/concepts/App__.js.map +1 -1
  52. package/out/concepts/Assignment__.js +1 -1
  53. package/out/concepts/Assignment__.js.map +1 -1
  54. package/out/concepts/AuthInterface__.d.ts +37 -0
  55. package/out/concepts/AuthInterface__.js +141 -0
  56. package/out/concepts/AuthInterface__.js.map +1 -0
  57. package/out/concepts/AuthLogicForCallInterface__.d.ts +138 -0
  58. package/out/concepts/AuthLogicForCallInterface__.js +493 -0
  59. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -0
  60. package/out/concepts/AuthLogic__.d.ts +66 -0
  61. package/out/concepts/AuthLogic__.js +206 -0
  62. package/out/concepts/AuthLogic__.js.map +1 -0
  63. package/out/concepts/BackendVariable__.d.ts +137 -0
  64. package/out/concepts/BackendVariable__.js +422 -0
  65. package/out/concepts/BackendVariable__.js.map +1 -0
  66. package/out/concepts/Backend__.d.ts +134 -0
  67. package/out/concepts/Backend__.js +274 -0
  68. package/out/concepts/Backend__.js.map +1 -0
  69. package/out/concepts/BindAttribute__.d.ts +1 -1
  70. package/out/concepts/BindAttribute__.js +3 -1
  71. package/out/concepts/BindAttribute__.js.map +1 -1
  72. package/out/concepts/BindEvent__.d.ts +12 -0
  73. package/out/concepts/BindEvent__.js +68 -0
  74. package/out/concepts/BindEvent__.js.map +1 -1
  75. package/out/concepts/CallAuthInterface__.d.ts +126 -0
  76. package/out/concepts/CallAuthInterface__.js +408 -0
  77. package/out/concepts/CallAuthInterface__.js.map +1 -0
  78. package/out/concepts/CallInterface__.d.ts +6 -1
  79. package/out/concepts/CallInterface__.js +9 -1
  80. package/out/concepts/CallInterface__.js.map +1 -1
  81. package/out/concepts/CallLogic__.js +3 -1
  82. package/out/concepts/CallLogic__.js.map +1 -1
  83. package/out/concepts/CallQueryComponent__.js +9 -7
  84. package/out/concepts/CallQueryComponent__.js.map +1 -1
  85. package/out/concepts/Destination__.js +1 -1
  86. package/out/concepts/Destination__.js.map +1 -1
  87. package/out/concepts/End__.js +29 -2
  88. package/out/concepts/End__.js.map +1 -1
  89. package/out/concepts/EntityProperty__.js.map +1 -1
  90. package/out/concepts/Entity__.d.ts +1 -2
  91. package/out/concepts/Entity__.js +1 -31
  92. package/out/concepts/Entity__.js.map +1 -1
  93. package/out/concepts/ForEachStatement__.js +9 -4
  94. package/out/concepts/ForEachStatement__.js.map +1 -1
  95. package/out/concepts/FrontendLibrary__.d.ts +29 -29
  96. package/out/concepts/FrontendLibrary__.js +2 -2
  97. package/out/concepts/FrontendVariable__.d.ts +21 -0
  98. package/out/concepts/FrontendVariable__.js +64 -0
  99. package/out/concepts/FrontendVariable__.js.map +1 -0
  100. package/out/concepts/Frontend__.d.ts +151 -47
  101. package/out/concepts/Frontend__.js +188 -32
  102. package/out/concepts/Frontend__.js.map +1 -1
  103. package/out/concepts/Function__.js +1 -1
  104. package/out/concepts/Function__.js.map +1 -1
  105. package/out/concepts/Identifier__.js +1 -1
  106. package/out/concepts/Identifier__.js.map +1 -1
  107. package/out/concepts/Interface__.d.ts +1 -1
  108. package/out/concepts/Interface__.js.map +1 -1
  109. package/out/concepts/LogicItem__.d.ts +18 -3
  110. package/out/concepts/LogicItem__.js +22 -4
  111. package/out/concepts/LogicItem__.js.map +1 -1
  112. package/out/concepts/Logic__.d.ts +14 -9
  113. package/out/concepts/Logic__.js +43 -5
  114. package/out/concepts/Logic__.js.map +1 -1
  115. package/out/concepts/Module__.js.map +1 -1
  116. package/out/concepts/Namespace__.d.ts +29 -29
  117. package/out/concepts/Namespace__.js +2 -2
  118. package/out/concepts/NewComposite__.js +2 -2
  119. package/out/concepts/NewComposite__.js.map +1 -1
  120. package/out/concepts/OverriddenLogic__.d.ts +643 -0
  121. package/out/concepts/OverriddenLogic__.js +1602 -0
  122. package/out/concepts/OverriddenLogic__.js.map +1 -0
  123. package/out/concepts/Param__.d.ts +6 -0
  124. package/out/concepts/Param__.js +10 -0
  125. package/out/concepts/Param__.js.map +1 -1
  126. package/out/concepts/QueryFieldExpression__.d.ts +2 -0
  127. package/out/concepts/QueryFieldExpression__.js +9 -0
  128. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  129. package/out/concepts/QuerySelectExpression__.d.ts +2 -2
  130. package/out/concepts/QuerySelectExpression__.js +2 -2
  131. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  132. package/out/concepts/TypeAnnotation__.js +6 -6
  133. package/out/concepts/TypeAnnotation__.js.map +1 -1
  134. package/out/concepts/Variable__.d.ts +10 -0
  135. package/out/concepts/Variable__.js +12 -0
  136. package/out/concepts/Variable__.js.map +1 -1
  137. package/out/concepts/ViewComponent__.d.ts +33 -33
  138. package/out/concepts/ViewComponent__.js +7 -7
  139. package/out/concepts/ViewElement__.d.ts +6 -0
  140. package/out/concepts/ViewElement__.js +104 -1
  141. package/out/concepts/ViewElement__.js.map +1 -1
  142. package/out/concepts/View__.js +2 -2
  143. package/out/concepts/View__.js.map +1 -1
  144. package/out/concepts/basics/stdlib/index.js +2 -1
  145. package/out/concepts/basics/stdlib/index.js.map +1 -1
  146. package/out/concepts/basics/stdlib/nasl.auth.js +24 -0
  147. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  148. package/out/concepts/basics/stdlib/nasl.http.d.ts +7 -0
  149. package/out/concepts/basics/stdlib/nasl.http.js +167 -0
  150. package/out/concepts/basics/stdlib/nasl.http.js.map +1 -0
  151. package/out/concepts/basics/stdlib/nasl.process.js +68 -0
  152. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  153. package/out/concepts/basics/stdlib/nasl.ui.js +4 -19
  154. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  155. package/out/concepts/basics/stdlib/nasl.util.js +83 -17
  156. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  157. package/out/concepts/basics/types/index.d.ts +1 -0
  158. package/out/concepts/basics/types/index.js +4 -1
  159. package/out/concepts/basics/types/index.js.map +1 -1
  160. package/out/concepts/index__.d.ts +8 -0
  161. package/out/concepts/index__.js +8 -0
  162. package/out/concepts/index__.js.map +1 -1
  163. package/out/enums/KEYWORDS.js +0 -1
  164. package/out/enums/KEYWORDS.js.map +1 -1
  165. package/out/generator/genBundleFiles.d.ts +1 -0
  166. package/out/generator/genBundleFiles.js +27 -0
  167. package/out/generator/genBundleFiles.js.map +1 -1
  168. package/out/generator/genMetaData.d.ts +4 -1
  169. package/out/generator/genMetaData.js +14 -0
  170. package/out/generator/genMetaData.js.map +1 -1
  171. package/out/generator/genReleaseBody.d.ts +2 -1
  172. package/out/generator/genReleaseBody.js +2 -1
  173. package/out/generator/genReleaseBody.js.map +1 -1
  174. package/out/index.d.ts +2 -1
  175. package/out/index.js +3 -1
  176. package/out/index.js.map +1 -1
  177. package/out/server/extendBaseNode.js +16 -4
  178. package/out/server/extendBaseNode.js.map +1 -1
  179. package/out/server/formatTsUtils.d.ts +2 -1
  180. package/out/server/formatTsUtils.js +39 -4
  181. package/out/server/formatTsUtils.js.map +1 -1
  182. package/out/server/getExtensionModules.d.ts +2 -2
  183. package/out/server/getExtensionModules.js +16 -2
  184. package/out/server/getExtensionModules.js.map +1 -1
  185. package/out/server/getLogics.js +5 -5
  186. package/out/server/getLogics.js.map +1 -1
  187. package/out/server/getMemberIdentifier.d.ts +1 -0
  188. package/out/server/getMemberIdentifier.js +34 -7
  189. package/out/server/getMemberIdentifier.js.map +1 -1
  190. package/out/server/naslServer.d.ts +64 -64
  191. package/out/server/naslServer.js +249 -121
  192. package/out/server/naslServer.js.map +1 -1
  193. package/out/server/naslStdlibMap.js +2 -0
  194. package/out/server/naslStdlibMap.js.map +1 -1
  195. package/out/server/translator.d.ts +1 -0
  196. package/out/server/translator.js +67 -2
  197. package/out/server/translator.js.map +1 -1
  198. package/out/service/defaultErrorMessage.json +1 -0
  199. package/out/service/storage/api.d.ts +10 -1
  200. package/out/service/storage/api.js +6 -0
  201. package/out/service/storage/api.js.map +1 -1
  202. package/out/service/storage/init.d.ts +4 -0
  203. package/out/service/storage/init.js +55 -35
  204. package/out/service/storage/init.js.map +1 -1
  205. package/out/service/storage/service.d.ts +3 -0
  206. package/out/service/storage/service.js +14 -0
  207. package/out/service/storage/service.js.map +1 -1
  208. package/out/utils/sortTsString.d.ts +1 -0
  209. package/out/utils/sortTsString.js +36 -0
  210. package/out/utils/sortTsString.js.map +1 -0
  211. package/out/utils/traverse.js +2 -2
  212. package/out/utils/traverse.js.map +1 -1
  213. package/package.json +7 -2
  214. package/sandbox/stdlib/nasl.auth.ts +8 -4
  215. package/sandbox/stdlib/nasl.core.d.ts +206 -0
  216. package/sandbox/stdlib/nasl.core.js +1 -0
  217. package/sandbox/stdlib/nasl.core.js.map +1 -0
  218. package/sandbox/stdlib/nasl.http.ts +35 -0
  219. package/sandbox/stdlib/nasl.process.ts +13 -0
  220. package/sandbox/stdlib/nasl.ui.ts +0 -5
  221. package/src/automate/engine/utils.js +4 -1
  222. package/src/breakpoint/generator/AfterStartNode.ts +27 -0
  223. package/src/breakpoint/generator/BeforeEndNode.ts +27 -0
  224. package/src/breakpoint/generator/BreakpointNode.ts +228 -0
  225. package/src/breakpoint/generator/index.ts +114 -0
  226. package/src/breakpoint/index.ts +3 -0
  227. package/src/breakpoint/shared/constants.ts +95 -0
  228. package/src/breakpoint/shared/index.ts +3 -0
  229. package/src/breakpoint/shared/operations.ts +25 -0
  230. package/src/breakpoint/shared/socket.ts +326 -0
  231. package/src/breakpoint/shared/utils.ts +195 -0
  232. package/src/breakpoint/store/core.ts +411 -0
  233. package/src/breakpoint/store/dock.ts +166 -0
  234. package/src/breakpoint/store/index.ts +2 -0
  235. package/src/breakpoint/types/index.d.ts +19 -0
  236. package/src/common/BaseNode.ts +19 -1
  237. package/src/concepts/App__.ts +828 -26
  238. package/src/concepts/Assignment__.ts +1 -1
  239. package/src/concepts/AuthInterface__.ts +148 -0
  240. package/src/concepts/AuthLogicForCallInterface__.ts +573 -0
  241. package/src/concepts/AuthLogic__.ts +225 -0
  242. package/src/concepts/BackendVariable__.ts +466 -0
  243. package/src/concepts/Backend__.ts +347 -0
  244. package/src/concepts/BindAttribute__.ts +4 -3
  245. package/src/concepts/BindEvent__.ts +71 -2
  246. package/src/concepts/CallAuthInterface__.ts +490 -0
  247. package/src/concepts/CallInterface__.ts +10 -2
  248. package/src/concepts/CallLogic__.ts +3 -1
  249. package/src/concepts/CallQueryComponent__.ts +67 -7
  250. package/src/concepts/Destination__.ts +19 -1
  251. package/src/concepts/End__.ts +31 -3
  252. package/src/concepts/EntityProperty__.ts +6 -0
  253. package/src/concepts/Entity__.ts +8 -31
  254. package/src/concepts/ForEachStatement__.ts +9 -4
  255. package/src/concepts/FrontendLibrary__.ts +30 -30
  256. package/src/concepts/FrontendVariable__.ts +76 -0
  257. package/src/concepts/Frontend__.ts +352 -89
  258. package/src/concepts/Function__.ts +1 -1
  259. package/src/concepts/Identifier__.ts +5 -5
  260. package/src/concepts/Interface__.ts +1 -1
  261. package/src/concepts/LogicItem__.ts +26 -6
  262. package/src/concepts/Logic__.ts +86 -8
  263. package/src/concepts/Module__.ts +32 -2
  264. package/src/concepts/Namespace__.ts +30 -30
  265. package/src/concepts/NewComposite__.ts +2 -3
  266. package/src/concepts/OverriddenLogic__.ts +2165 -0
  267. package/src/concepts/Param__.ts +13 -3
  268. package/src/concepts/QueryFieldExpression__.ts +18 -0
  269. package/src/concepts/QuerySelectExpression__.ts +11 -3
  270. package/src/concepts/TypeAnnotation__.ts +45 -6
  271. package/src/concepts/Variable__.ts +14 -0
  272. package/src/concepts/ViewComponent__.ts +35 -35
  273. package/src/concepts/ViewElement__.ts +104 -1
  274. package/src/concepts/View__.ts +24 -2
  275. package/src/concepts/basics/stdlib/index.ts +2 -1
  276. package/src/concepts/basics/stdlib/nasl.auth.ts +24 -0
  277. package/src/concepts/basics/stdlib/nasl.http.ts +166 -0
  278. package/src/concepts/basics/stdlib/nasl.process.ts +68 -0
  279. package/src/concepts/basics/stdlib/nasl.ui.ts +4 -19
  280. package/src/concepts/basics/stdlib/nasl.util.ts +83 -17
  281. package/src/concepts/basics/types/index.ts +5 -4
  282. package/src/concepts/index__.ts +8 -0
  283. package/src/enums/KEYWORDS.ts +0 -1
  284. package/src/generator/genBundleFiles.ts +36 -2
  285. package/src/generator/genMetaData.ts +16 -1
  286. package/src/generator/genReleaseBody.ts +4 -1
  287. package/src/index.ts +2 -1
  288. package/src/server/extendBaseNode.ts +18 -7
  289. package/src/server/formatTsUtils.ts +37 -5
  290. package/src/server/getExtensionModules.ts +18 -3
  291. package/src/server/getLogics.ts +6 -6
  292. package/src/server/getMemberIdentifier.ts +35 -9
  293. package/src/server/naslServer.ts +250 -124
  294. package/src/server/naslStdlibMap.ts +2 -0
  295. package/src/server/translator.ts +67 -1
  296. package/src/service/defaultErrorMessage.json +1 -0
  297. package/src/service/storage/api.js +7 -1
  298. package/src/service/storage/init.ts +66 -35
  299. package/src/service/storage/service.ts +18 -2
  300. package/src/utils/sortTsString.ts +32 -0
  301. package/src/utils/traverse.ts +2 -2
  302. package/test/examples/app-simple.json +73635 -0
  303. package/ts-worker/lib/tsserver.js +3 -3
  304. package/ts-worker/package.json +1 -1
@@ -0,0 +1,422 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ var BackendVariable_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.BackendVariable = void 0;
14
+ const types_1 = require("./basics/types");
15
+ const translator_1 = require("../translator");
16
+ function tryJSONParse(str) {
17
+ let result;
18
+ try {
19
+ result = JSON.parse(str);
20
+ }
21
+ catch (e) { }
22
+ return result;
23
+ }
24
+ const decorators_1 = require("../decorators");
25
+ const BaseNode_1 = __importDefault(require("../common/BaseNode"));
26
+ const classMap_1 = __importDefault(require("../common/classMap"));
27
+ /**
28
+ * 全局变量
29
+ */
30
+ let BackendVariable = BackendVariable_1 = class BackendVariable extends BaseNode_1.default {
31
+ /**
32
+ * 产品概念
33
+ */
34
+ concept = 'BackendVariable';
35
+ /**
36
+ * 全局变量名称
37
+ */
38
+ name = undefined;
39
+ /**
40
+ * 全局变量描述
41
+ */
42
+ description = undefined;
43
+ /**
44
+ * 类型
45
+ */
46
+ typeAnnotation = undefined;
47
+ /**
48
+ * 默认值
49
+ */
50
+ defaultValue = undefined;
51
+ /**
52
+ * 作用域
53
+ */
54
+ scope = undefined;
55
+ /**
56
+ * 祖先 Backend
57
+ */
58
+ get Backend() {
59
+ return this.getAncestor('Backend');
60
+ }
61
+ /**
62
+ * 祖先 App
63
+ */
64
+ get app() {
65
+ return this.getAncestor('App');
66
+ }
67
+ /**
68
+ * 祖先 View
69
+ */
70
+ get view() {
71
+ return this.getAncestor('View');
72
+ }
73
+ /**
74
+ * 祖先 Module
75
+ */
76
+ get module() {
77
+ return this.getAncestor('Module');
78
+ }
79
+ /**
80
+ * 祖先 Frontend
81
+ */
82
+ get frontend() {
83
+ return this.getAncestor('Frontend');
84
+ }
85
+ /**
86
+ * @param source 需要合并的部分参数
87
+ */
88
+ constructor(source) {
89
+ source = Object.assign({}, BackendVariable_1.getDefaultOptions(), source);
90
+ super(source);
91
+ super.subConstructor(source);
92
+ }
93
+ getClassName() {
94
+ return 'BackendVariable';
95
+ }
96
+ static from(source, parentNode, parentKey) {
97
+ return super.from(source, parentNode, parentKey);
98
+ }
99
+ /**
100
+ * 从父级删除该节点
101
+ * @internal
102
+ */
103
+ _delete() {
104
+ let params = null;
105
+ if (this.parentNode) {
106
+ params = this.parentNode?.__removeBackendVariable?.(this);
107
+ }
108
+ return params;
109
+ }
110
+ /**
111
+ * 设置全局变量名称
112
+ */
113
+ setName(name) {
114
+ const object = {
115
+ name,
116
+ };
117
+ this.update({
118
+ ...object,
119
+ field: 'name',
120
+ });
121
+ }
122
+ /**
123
+ * 设置全局变量描述
124
+ */
125
+ setDescription(description) {
126
+ const object = {
127
+ description,
128
+ };
129
+ this.update({
130
+ ...object,
131
+ });
132
+ }
133
+ /**
134
+ * 设置默认值
135
+ */
136
+ setDefaultValue(defaultValue) {
137
+ const object = {
138
+ defaultValue,
139
+ };
140
+ this.update({
141
+ ...object,
142
+ });
143
+ }
144
+ /**
145
+ * 设置作用域
146
+ */
147
+ setScope(scope) {
148
+ const object = {
149
+ scope,
150
+ };
151
+ this.update({
152
+ ...object,
153
+ });
154
+ }
155
+ removeTypeAnnotation(options) {
156
+ let typeAnnotation;
157
+ if (typeof options === 'string') {
158
+ typeAnnotation = this.typeAnnotation;
159
+ if (!typeAnnotation) {
160
+ throw new Error('找不到类型标注 ' + options);
161
+ }
162
+ }
163
+ else {
164
+ typeAnnotation = options;
165
+ }
166
+ return typeAnnotation.delete();
167
+ }
168
+ __removeTypeAnnotation(typeAnnotation) {
169
+ const parentKey = typeAnnotation.parentKey;
170
+ const params = {
171
+ parentNode: this,
172
+ parentKey,
173
+ index: -1,
174
+ object: null,
175
+ oldObject: typeAnnotation,
176
+ };
177
+ if (parentKey) {
178
+ params.parentKey = parentKey;
179
+ if (Array.isArray(this[parentKey])) {
180
+ const index = this[parentKey].indexOf(typeAnnotation);
181
+ ~index && this[parentKey].splice(index, 1);
182
+ params.index = index;
183
+ }
184
+ else if (this[parentKey] === typeAnnotation) {
185
+ params.index = 0;
186
+ this[parentKey] = undefined;
187
+ }
188
+ }
189
+ return params;
190
+ }
191
+ //================================================================================
192
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
193
+ // 自动生成的代码已结束。下面可以手动编写。
194
+ //================================================================================
195
+ /**
196
+ * 自动补全的属性列表
197
+ */
198
+ completionChildren = undefined;
199
+ toVue(options) {
200
+ return this.name;
201
+ }
202
+ toUI() {
203
+ return this.name;
204
+ }
205
+ toJS(state) {
206
+ const context = this.view ? 'this' : 'Vue.prototype';
207
+ const typeAnnotation = this.typeAnnotation || this.__TypeAnnotation;
208
+ const needGenInitFromSchema = typeAnnotation && (!['primitive', 'union'].includes(typeAnnotation.typeKind)
209
+ || typeAnnotation.typeName === 'DateTime');
210
+ let code = `${this.name} =`;
211
+ if (needGenInitFromSchema) {
212
+ code += `${context}.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}',`;
213
+ }
214
+ const defaultValue = this.defaultValue;
215
+ const defaultValueType = Object.prototype.toString.call(defaultValue);
216
+ const { typeKind, typeNamespace, typeName } = typeAnnotation || {};
217
+ // 设置成null,才能同步给后端清除该值,但是null对checkbox组件是一种特殊状态
218
+ let parsedValue = defaultValue ?? undefined;
219
+ if (defaultValueType === '[object String]'
220
+ && (!(typeKind === 'primitive' && typeNamespace === 'nasl.core' && ['String', 'Text', 'Email'].includes(typeName))
221
+ && !(this.isEnum())
222
+ && !['union'].includes(typeKind))) {
223
+ // 一些特殊情况,特殊处理成undefined
224
+ // 1.defaultValue在nasl节点上错误得赋值给了空制符串
225
+ if ([''].includes(defaultValue)) {
226
+ parsedValue = undefined;
227
+ }
228
+ else {
229
+ parsedValue = tryJSONParse(defaultValue) ?? defaultValue;
230
+ }
231
+ }
232
+ code += JSON.stringify(parsedValue);
233
+ if (needGenInitFromSchema) {
234
+ code += `)`;
235
+ }
236
+ return code;
237
+ }
238
+ toEmbeddedTS(state) {
239
+ let code = this.name;
240
+ if (this.typeAnnotation) {
241
+ code += ': ';
242
+ code += this.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code));
243
+ // toTS暂时只需要翻译引用数据类型的,因为值都是字符串
244
+ // 就不在这里赋值了,这里单纯就为了快速查找
245
+ // 并且屏蔽了一些异常的错误
246
+ if (this.typeAnnotation?.typeKind !== 'primitive' && this.defaultValue) {
247
+ if (this.isEnum()) {
248
+ code += `= ${this.typeAnnotation.typeKey}['${this.defaultValue}']`;
249
+ }
250
+ }
251
+ }
252
+ return code;
253
+ }
254
+ isEnum() {
255
+ return this.typeAnnotation?.typeNamespace?.endsWith('.enums');
256
+ }
257
+ /**
258
+ * 生成宿主语言的文件路径
259
+ * @param name 一般不用传,用于 rename
260
+ */
261
+ getEmbeddedFilePath(name = this.name) {
262
+ return `/embedded/${this.app.name}/Backend/${this.parentNode.name || 'backend'}/variables/${name}.ts`;
263
+ }
264
+ getNamespace() {
265
+ if (this.parentNode && this.parentNode.getNamespace) {
266
+ const parentNamespace = this.parentNode.getNamespace();
267
+ const parentName = this.parentNode.name;
268
+ const arr = [parentNamespace];
269
+ if (this.parentNode.concept !== 'App' && parentName) {
270
+ arr.push(parentName);
271
+ }
272
+ if (['App', 'Module', 'Namespace', 'Backend'].includes(this.parentNode?.concept) && this.parentKey === 'variables') {
273
+ // return `${arr.join('.')}.backendVariables`;
274
+ return `${arr.join('.')}.variables`;
275
+ }
276
+ else {
277
+ return `${arr.join('.')}.variables`;
278
+ }
279
+ }
280
+ else
281
+ throw new Error('无法获取命名空间,请设置 parentNode!');
282
+ }
283
+ toEmbeddedTSFile() {
284
+ let code = `namespace ${this.getNamespace()} {\n`;
285
+ code += `${(0, translator_1.indent)(1)}export let `;
286
+ const state = (0, translator_1.createCompilerState)(code, { tabSize: 1 });
287
+ try {
288
+ code += `${this.toEmbeddedTS(state)}\n`;
289
+ }
290
+ catch (err) {
291
+ code += '\n';
292
+ }
293
+ code += '}\n';
294
+ return {
295
+ code,
296
+ filePath: this.getEmbeddedFilePath(),
297
+ sourceMap: state.sourceMap,
298
+ };
299
+ }
300
+ toEmbeddedTSInProcess(state) {
301
+ let code = this.name;
302
+ if (this.typeAnnotation) {
303
+ code += ': undefined as ';
304
+ code += this.typeAnnotation.toEmbeddedTS((0, translator_1.shiftState)(state, code));
305
+ }
306
+ // if (this.defaultValue) {
307
+ // code += `: ${this.defaultValue}`;
308
+ // }
309
+ return code;
310
+ }
311
+ async setDataType(typeAnnotation) {
312
+ if (typeAnnotation) {
313
+ if (typeof typeAnnotation === 'string') {
314
+ typeAnnotation = types_1.dataTypesMap[typeAnnotation];
315
+ if (!typeAnnotation)
316
+ throw new Error('找不到类型:' + typeAnnotation);
317
+ }
318
+ else {
319
+ typeAnnotation._delete?.();
320
+ const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
321
+ Object.assign(typeAnnotation, relationOptions);
322
+ }
323
+ // 处理下拉属性
324
+ try {
325
+ this.completionChildren = this.getSelectRef(typeAnnotation, true);
326
+ }
327
+ catch (err) {
328
+ this.completionChildren = [];
329
+ console.log(err);
330
+ }
331
+ }
332
+ else {
333
+ this.completionChildren = [];
334
+ }
335
+ const object = {
336
+ typeAnnotation: typeAnnotation || null,
337
+ };
338
+ // 切换类型的时候如果有默认值就清除掉
339
+ if (this.defaultValue) {
340
+ object.defaultValue = '';
341
+ }
342
+ return this.update({
343
+ ...object,
344
+ });
345
+ }
346
+ async _setDataType(typeAnnotation) {
347
+ if (typeAnnotation) {
348
+ if (typeof typeAnnotation === 'string') {
349
+ typeAnnotation = types_1.dataTypesMap[typeAnnotation];
350
+ if (!typeAnnotation)
351
+ throw new Error('找不到类型:' + typeAnnotation);
352
+ }
353
+ else {
354
+ // typeAnnotation._delete?.();
355
+ const relationOptions = { parentId: this.id, parentConcept: this.concept, parentNode: this };
356
+ Object.assign(typeAnnotation, relationOptions);
357
+ }
358
+ // 处理下拉属性
359
+ try {
360
+ this.completionChildren = this.getSelectRef(typeAnnotation, true);
361
+ }
362
+ catch (err) {
363
+ this.completionChildren = [];
364
+ console.log(err);
365
+ }
366
+ }
367
+ else {
368
+ this.completionChildren = [];
369
+ }
370
+ const object = {
371
+ typeAnnotation: typeAnnotation || null,
372
+ };
373
+ // 切换类型的时候如果有默认值就清除掉
374
+ if (this.defaultValue) {
375
+ object.defaultValue = '';
376
+ }
377
+ }
378
+ static getDefaultOptions() {
379
+ return {};
380
+ }
381
+ /**
382
+ * 是否可编辑
383
+ * */
384
+ get readonly() {
385
+ return !!this.module;
386
+ }
387
+ };
388
+ __decorate([
389
+ (0, decorators_1.property)()
390
+ ], BackendVariable.prototype, "concept", void 0);
391
+ __decorate([
392
+ (0, decorators_1.property)()
393
+ ], BackendVariable.prototype, "name", void 0);
394
+ __decorate([
395
+ (0, decorators_1.property)()
396
+ ], BackendVariable.prototype, "description", void 0);
397
+ __decorate([
398
+ (0, decorators_1.property)('TypeAnnotation')
399
+ ], BackendVariable.prototype, "typeAnnotation", void 0);
400
+ __decorate([
401
+ (0, decorators_1.property)()
402
+ ], BackendVariable.prototype, "defaultValue", void 0);
403
+ __decorate([
404
+ (0, decorators_1.property)()
405
+ ], BackendVariable.prototype, "scope", void 0);
406
+ __decorate([
407
+ (0, translator_1.withSourceMap)()
408
+ ], BackendVariable.prototype, "toEmbeddedTS", null);
409
+ __decorate([
410
+ (0, translator_1.withSourceMap)()
411
+ ], BackendVariable.prototype, "toEmbeddedTSInProcess", null);
412
+ BackendVariable = BackendVariable_1 = __decorate([
413
+ (0, decorators_1.concept)('全局变量')
414
+ ], BackendVariable);
415
+ exports.BackendVariable = BackendVariable;
416
+ classMap_1.default.BackendVariable = BackendVariable;
417
+ exports.default = BackendVariable;
418
+ //================================================================================
419
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
420
+ // 自动生成的代码已结束。下面可以手动编写。
421
+ //================================================================================
422
+ //# sourceMappingURL=BackendVariable__.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendVariable__.js","sourceRoot":"","sources":["../../src/concepts/BackendVariable__.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import { TranslatorState } from '../translator';
2
+ import { Params } from '../common/EventEmitter';
3
+ import BaseNode from '../common/BaseNode';
4
+ import BackendVariable from './BackendVariable__';
5
+ import App from './App__';
6
+ /**
7
+ * 后端
8
+ */
9
+ export declare class Backend extends BaseNode {
10
+ /**
11
+ * 产品概念
12
+ */
13
+ concept: 'Backend';
14
+ /**
15
+ * 后端标识
16
+ */
17
+ name: string;
18
+ /**
19
+ * 全局变量列表
20
+ */
21
+ variables: Array<BackendVariable>;
22
+ /**
23
+ * 祖先 App
24
+ */
25
+ get app(): App;
26
+ /**
27
+ * @param source 需要合并的部分参数
28
+ */
29
+ constructor(source?: Partial<Backend>);
30
+ getClassName(): string;
31
+ static from(source: any, parentNode?: any, parentKey?: string): Backend;
32
+ /**
33
+ * 从父级删除该节点
34
+ * @internal
35
+ */
36
+ _delete(): Params;
37
+ /**
38
+ * 设置后端标识
39
+ */
40
+ setName(name: string): void;
41
+ getVarExistingNames(excludedList?: Array<BackendVariable>): string[];
42
+ getBackendVariableUniqueName(name?: string): string;
43
+ /**
44
+ * 插入全局变量
45
+ * @internal
46
+ * @param name 全局变量名称,如果不填会自动生成一个唯一名称
47
+ */
48
+ _insertBackendVariableAt(name: string, index: number): BackendVariable;
49
+ /**
50
+ * 插入全局变量
51
+ * @internal
52
+ * @param backendVariableOptions 全局变量参数
53
+ */
54
+ _insertBackendVariableAt(backendVariableOptions: Partial<BackendVariable>, index: number): BackendVariable;
55
+ /**
56
+ * 插入全局变量
57
+ * @internal
58
+ * @param backendVariable 已有的全局变量实例
59
+ */
60
+ _insertBackendVariableAt(backendVariable: BackendVariable, index: number): BackendVariable;
61
+ /**
62
+ * 插入全局变量
63
+ * @param name 全局变量名称,如果不填会自动生成一个唯一名称
64
+ */
65
+ insertBackendVariableAt(name: string, index: number): BackendVariable;
66
+ /**
67
+ * 插入全局变量
68
+ * @param backendVariableOptions 全局变量参数
69
+ */
70
+ insertBackendVariableAt(backendVariableOptions: Partial<BackendVariable>, index: number): BackendVariable;
71
+ /**
72
+ * 插入全局变量
73
+ * @param backendVariable 已有的全局变量实例
74
+ */
75
+ insertBackendVariableAt(backendVariable: BackendVariable, index: number): BackendVariable;
76
+ /**
77
+ * 添加全局变量
78
+ * @internal
79
+ * @param name 全局变量名称,如果不填会自动生成一个唯一名称
80
+ */
81
+ _addBackendVariable(name?: string): BackendVariable;
82
+ /**
83
+ * 添加全局变量
84
+ * @internal
85
+ * @param backendVariableOptions 全局变量参数
86
+ */
87
+ _addBackendVariable(backendVariableOptions: Partial<BackendVariable>): BackendVariable;
88
+ /**
89
+ * 添加全局变量
90
+ * @internal
91
+ * @param backendVariable 已有的全局变量实例
92
+ */
93
+ _addBackendVariable(backendVariable: BackendVariable): BackendVariable;
94
+ /**
95
+ * 添加全局变量
96
+ * @internal
97
+ * @param name 全局变量名称,如果不填会自动生成一个唯一名称
98
+ */
99
+ addBackendVariable(name?: string): BackendVariable;
100
+ /**
101
+ * 添加全局变量
102
+ * @param backendVariableOptions 全局变量参数
103
+ */
104
+ addBackendVariable(backendVariableOptions: Partial<BackendVariable>): BackendVariable;
105
+ /**
106
+ * 添加全局变量
107
+ * @param backendVariable 已有的全局变量实例
108
+ */
109
+ addBackendVariable(backendVariable: BackendVariable): BackendVariable;
110
+ /**
111
+ * 删除全局变量
112
+ * @param name 全局变量名称
113
+ */
114
+ removeBackendVariable(name: string): void;
115
+ /**
116
+ * 删除全局变量
117
+ * @param backendVariable 已有的全局变量实例
118
+ */
119
+ removeBackendVariable(backendVariable: BackendVariable): void;
120
+ __removeBackendVariable(backendVariable: BackendVariable): Params;
121
+ getNamespace(): string;
122
+ /**
123
+ * 生成宿主语言的文件路径
124
+ * @param name 一般不用传,用于 rename
125
+ */
126
+ getEmbeddedFilePath(name?: string): string;
127
+ toEmbeddedTS(state?: TranslatorState): string;
128
+ toEmbeddedTSFile(): {
129
+ code: string;
130
+ filePath: string;
131
+ sourceMap: import("../translator").SourceMap;
132
+ };
133
+ }
134
+ export default Backend;