@lcap/nasl 2.18.0 → 2.19.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/out/automate/template/myProcess.js +1 -1
  2. package/out/automate/template/myProcess.js.map +1 -1
  3. package/out/bak/translator.js +2 -1
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/common/BaseNode.js +1 -0
  6. package/out/common/BaseNode.js.map +1 -1
  7. package/out/common/Command.d.ts +1 -0
  8. package/out/common/Command.js +5 -1
  9. package/out/common/Command.js.map +1 -1
  10. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  11. package/out/concepts/AnonymousFunction__.js +40 -2
  12. package/out/concepts/AnonymousFunction__.js.map +1 -1
  13. package/out/concepts/App__.d.ts +10 -0
  14. package/out/concepts/App__.js +132 -0
  15. package/out/concepts/App__.js.map +1 -1
  16. package/out/concepts/Assignee__.js +4 -3
  17. package/out/concepts/Assignee__.js.map +1 -1
  18. package/out/concepts/BatchAssignment__.d.ts +2 -0
  19. package/out/concepts/BatchAssignment__.js +108 -47
  20. package/out/concepts/BatchAssignment__.js.map +1 -1
  21. package/out/concepts/BindAttribute__.js +8 -1
  22. package/out/concepts/BindAttribute__.js.map +1 -1
  23. package/out/concepts/CallFunction__.js +51 -18
  24. package/out/concepts/CallFunction__.js.map +1 -1
  25. package/out/concepts/CallInterface__.js +6 -4
  26. package/out/concepts/CallInterface__.js.map +1 -1
  27. package/out/concepts/CallLogic__.d.ts +2 -1
  28. package/out/concepts/CallLogic__.js +113 -26
  29. package/out/concepts/CallLogic__.js.map +1 -1
  30. package/out/concepts/CallQueryComponent__.js +4 -1
  31. package/out/concepts/CallQueryComponent__.js.map +1 -1
  32. package/out/concepts/DataSource__.d.ts +2 -0
  33. package/out/concepts/DataSource__.js +55 -1
  34. package/out/concepts/DataSource__.js.map +1 -1
  35. package/out/concepts/Destination__.d.ts +2 -1
  36. package/out/concepts/Destination__.js +90 -22
  37. package/out/concepts/Destination__.js.map +1 -1
  38. package/out/concepts/ForEachStatement__.js +2 -0
  39. package/out/concepts/ForEachStatement__.js.map +1 -1
  40. package/out/concepts/Identifier__.d.ts +1 -0
  41. package/out/concepts/Identifier__.js +18 -7
  42. package/out/concepts/Identifier__.js.map +1 -1
  43. package/out/concepts/LogicItem__.d.ts +1 -1
  44. package/out/concepts/LogicItem__.js.map +1 -1
  45. package/out/concepts/Logic__.d.ts +1 -0
  46. package/out/concepts/Logic__.js +33 -21
  47. package/out/concepts/Logic__.js.map +1 -1
  48. package/out/concepts/Match__.js +13 -8
  49. package/out/concepts/Match__.js.map +1 -1
  50. package/out/concepts/NewComposite__.d.ts +345 -0
  51. package/out/concepts/NewComposite__.js +1067 -0
  52. package/out/concepts/NewComposite__.js.map +1 -0
  53. package/out/concepts/NewList__.d.ts +130 -0
  54. package/out/concepts/NewList__.js +353 -0
  55. package/out/concepts/NewList__.js.map +1 -0
  56. package/out/concepts/NewMap__.d.ts +221 -0
  57. package/out/concepts/NewMap__.js +492 -0
  58. package/out/concepts/NewMap__.js.map +1 -0
  59. package/out/concepts/New__.d.ts +19 -0
  60. package/out/concepts/New__.js +66 -0
  61. package/out/concepts/New__.js.map +1 -0
  62. package/out/concepts/Param__.d.ts +2 -0
  63. package/out/concepts/Param__.js +40 -3
  64. package/out/concepts/Param__.js.map +1 -1
  65. package/out/concepts/ProcessElement__.js +31 -10
  66. package/out/concepts/ProcessElement__.js.map +1 -1
  67. package/out/concepts/ProcessOutcome__.js +1 -1
  68. package/out/concepts/ProcessOutcome__.js.map +1 -1
  69. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  70. package/out/concepts/{ConstructArgument__.js → ProcessOutcomes__.js} +27 -48
  71. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  72. package/out/concepts/Return__.js +2 -1
  73. package/out/concepts/Return__.js.map +1 -1
  74. package/out/concepts/SelectMembers__.js +3 -3
  75. package/out/concepts/SelectMembers__.js.map +1 -1
  76. package/out/concepts/StringInterpolation__.js +12 -2
  77. package/out/concepts/StringInterpolation__.js.map +1 -1
  78. package/out/concepts/TypeAnnotation__.d.ts +4 -0
  79. package/out/concepts/TypeAnnotation__.js +66 -12
  80. package/out/concepts/TypeAnnotation__.js.map +1 -1
  81. package/out/concepts/ValidationRule__.js +1 -1
  82. package/out/concepts/ValidationRule__.js.map +1 -1
  83. package/out/concepts/Variable__.js +2 -1
  84. package/out/concepts/Variable__.js.map +1 -1
  85. package/out/concepts/ViewElement__.js +13 -1
  86. package/out/concepts/ViewElement__.js.map +1 -1
  87. package/out/concepts/View__.d.ts +1 -0
  88. package/out/concepts/View__.js +13 -0
  89. package/out/concepts/View__.js.map +1 -1
  90. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  91. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  92. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  93. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  94. package/out/concepts/basics/stdlib/nasl.ui.js +2 -0
  95. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  96. package/out/concepts/basics/stdlib/nasl.util.js +151 -19
  97. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  98. package/out/concepts/index__.d.ts +5 -0
  99. package/out/concepts/index__.js +5 -0
  100. package/out/concepts/index__.js.map +1 -1
  101. package/out/enums/KEYWORDS.js +1 -0
  102. package/out/enums/KEYWORDS.js.map +1 -1
  103. package/out/generator/genBundleFiles.js +32 -182
  104. package/out/generator/genBundleFiles.js.map +1 -1
  105. package/out/generator/genMetaData.d.ts +1 -10
  106. package/out/generator/genMetaData.js +184 -50
  107. package/out/generator/genMetaData.js.map +1 -1
  108. package/out/generator/genReleaseBody.d.ts +2 -0
  109. package/out/generator/genReleaseBody.js +29 -3
  110. package/out/generator/genReleaseBody.js.map +1 -1
  111. package/out/generator/index.d.ts +1 -0
  112. package/out/generator/index.js +1 -0
  113. package/out/generator/index.js.map +1 -1
  114. package/out/generator/permission.d.ts +9 -0
  115. package/out/generator/permission.js +235 -0
  116. package/out/generator/permission.js.map +1 -0
  117. package/out/index.d.ts +1 -1
  118. package/out/index.js +2 -1
  119. package/out/index.js.map +1 -1
  120. package/out/server/entity2LogicNamespace.js +69 -9
  121. package/out/server/entity2LogicNamespace.js.map +1 -1
  122. package/out/server/extendBaseNode.js +10 -20
  123. package/out/server/extendBaseNode.js.map +1 -1
  124. package/out/server/formatTsUtils.d.ts +1 -2
  125. package/out/server/formatTsUtils.js +36 -47
  126. package/out/server/formatTsUtils.js.map +1 -1
  127. package/out/server/getLogics.d.ts +2 -1
  128. package/out/server/getLogics.js +11 -0
  129. package/out/server/getLogics.js.map +1 -1
  130. package/out/server/getMemberIdentifier.js +1 -1
  131. package/out/server/getMemberIdentifier.js.map +1 -1
  132. package/out/server/getProcesses.js +1 -1
  133. package/out/server/getProcesses.js.map +1 -1
  134. package/out/server/naslServer.d.ts +1 -1
  135. package/out/server/naslServer.js +181 -35
  136. package/out/server/naslServer.js.map +1 -1
  137. package/out/server/process2LogicNamespace.js +8 -0
  138. package/out/server/process2LogicNamespace.js.map +1 -1
  139. package/out/server/translator.js +66 -6
  140. package/out/server/translator.js.map +1 -1
  141. package/out/service/creator/add.configs.js +4 -0
  142. package/out/service/creator/add.configs.js.map +1 -1
  143. package/out/service/datasource/api.d.ts +12 -0
  144. package/out/service/datasource/api.js +14 -0
  145. package/out/service/datasource/api.js.map +1 -0
  146. package/out/service/datasource/index.d.ts +2 -0
  147. package/out/service/datasource/index.js +10 -0
  148. package/out/service/datasource/index.js.map +1 -0
  149. package/out/service/storage/init.js +8 -1
  150. package/out/service/storage/init.js.map +1 -1
  151. package/out/templator/genEditTableBlock.js +4 -5
  152. package/out/templator/genEditTableBlock.js.map +1 -1
  153. package/out/templator/genGetBlock.js +4 -3
  154. package/out/templator/genGetBlock.js.map +1 -1
  155. package/out/templator/genGridViewBlock.js +16 -14
  156. package/out/templator/genGridViewBlock.js.map +1 -1
  157. package/out/templator/genListViewBlock.js +5 -5
  158. package/out/templator/genListViewBlock.js.map +1 -1
  159. package/out/templator/genTableBlock.js +6 -10
  160. package/out/templator/genTableBlock.js.map +1 -1
  161. package/package.json +1 -1
  162. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  163. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  164. package/sandbox/stdlib/nasl.auth.ts +1 -1
  165. package/sandbox/stdlib/nasl.core.ts +4 -0
  166. package/sandbox/stdlib/nasl.logging.ts +4 -4
  167. package/sandbox/stdlib/nasl.util.ts +14 -5
  168. package/src/automate/template/myProcess.js +1 -1
  169. package/src/bak/translator.js +4 -1
  170. package/src/common/BaseNode.ts +1 -0
  171. package/src/common/Command.ts +4 -0
  172. package/src/concepts/AnonymousFunction__.ts +48 -2
  173. package/src/concepts/App__.ts +140 -41
  174. package/src/concepts/Assignee__.ts +4 -3
  175. package/src/concepts/BatchAssignment__.ts +111 -51
  176. package/src/concepts/BindAttribute__.ts +9 -2
  177. package/src/concepts/CallFunction__.ts +65 -31
  178. package/src/concepts/CallInterface__.ts +6 -22
  179. package/src/concepts/CallLogic__.ts +88 -24
  180. package/src/concepts/CallQueryComponent__.ts +4 -1
  181. package/src/concepts/DataSource__.ts +56 -1
  182. package/src/concepts/Destination__.ts +92 -22
  183. package/src/concepts/ForEachStatement__.ts +2 -0
  184. package/src/concepts/Identifier__.ts +18 -7
  185. package/src/concepts/LogicItem__.ts +1 -1
  186. package/src/concepts/Logic__.ts +54 -39
  187. package/src/concepts/Match__.ts +12 -8
  188. package/src/concepts/NewComposite__.ts +1356 -0
  189. package/src/concepts/NewList__.ts +444 -0
  190. package/src/concepts/NewMap__.ts +678 -0
  191. package/src/concepts/New__.ts +73 -0
  192. package/src/concepts/Param__.ts +238 -199
  193. package/src/concepts/ProcessElement__.ts +32 -10
  194. package/src/concepts/ProcessOutcome__.ts +1 -1
  195. package/src/concepts/ProcessOutcomes__.ts +90 -0
  196. package/src/concepts/Return__.ts +4 -1
  197. package/src/concepts/SelectMembers__.ts +3 -3
  198. package/src/concepts/StringInterpolation__.ts +21 -11
  199. package/src/concepts/TypeAnnotation__.ts +71 -50
  200. package/src/concepts/ValidationRule__.ts +19 -1
  201. package/src/concepts/Variable__.ts +4 -1
  202. package/src/concepts/ViewElement__.ts +23 -7
  203. package/src/concepts/View__.ts +16 -2
  204. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  205. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  206. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  207. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  208. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  209. package/src/concepts/dist/BindAttribute__.js +760 -0
  210. package/src/concepts/dist/BindEvent__.js +732 -0
  211. package/src/concepts/dist/CallFunction__.js +82 -28
  212. package/src/concepts/dist/CallLogic__.js +95 -27
  213. package/src/concepts/dist/Identifier__.js +311 -0
  214. package/src/concepts/dist/StringInterpolation__.js +231 -0
  215. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  216. package/src/concepts/dist/ViewElement__.js +1692 -0
  217. package/src/concepts/dist/View__.js +1601 -0
  218. package/src/concepts/index__.ts +5 -0
  219. package/src/enums/KEYWORDS.ts +1 -0
  220. package/src/generator/dist/genBundleFiles.js +23 -176
  221. package/src/generator/dist/genMetaData.js +245 -0
  222. package/src/generator/dist/permission.js +392 -0
  223. package/src/generator/genBundleFiles.ts +34 -219
  224. package/src/generator/genMetaData.ts +177 -77
  225. package/src/generator/genReleaseBody.ts +30 -5
  226. package/src/generator/index.ts +1 -0
  227. package/src/generator/permission.ts +271 -0
  228. package/src/index.ts +1 -1
  229. package/src/server/dist/naslServer.js +443 -249
  230. package/src/server/entity2LogicNamespace.ts +70 -10
  231. package/src/server/extendBaseNode.ts +10 -21
  232. package/src/server/formatTsUtils.ts +36 -46
  233. package/src/server/getLogics.ts +13 -1
  234. package/src/server/getMemberIdentifier.ts +1 -1
  235. package/src/server/getProcesses.ts +1 -1
  236. package/src/server/naslServer.ts +181 -42
  237. package/src/server/process2LogicNamespace.ts +8 -0
  238. package/src/server/translator.ts +64 -7
  239. package/src/service/creator/add.configs.js +4 -0
  240. package/src/service/dataSource/api.js +11 -0
  241. package/src/service/dataSource/index.js +6 -0
  242. package/src/service/storage/dist/init.js +48 -10
  243. package/src/service/storage/init.ts +9 -2
  244. package/src/service/video/VideoTranscribe.js +1 -0
  245. package/src/templator/dist/genEditTableBlock.js +204 -0
  246. package/src/templator/dist/genGridViewBlock.js +265 -0
  247. package/src/templator/dist/genListViewBlock.js +84 -0
  248. package/src/templator/dist/genTableBlock.js +209 -0
  249. package/src/templator/dist/utils.js +527 -0
  250. package/src/templator/genEditTableBlock.ts +8 -16
  251. package/src/templator/genGetBlock.ts +18 -19
  252. package/src/templator/genGridViewBlock.ts +18 -18
  253. package/src/templator/genListViewBlock.ts +8 -11
  254. package/src/templator/genTableBlock.ts +6 -10
  255. package/ts-worker/dist/webpack.config.dev.js +3 -1
  256. package/ts-worker/lib/tsserver.js +8 -1
  257. package/out/automate/engine/2.14-components.d.ts +0 -1115
  258. package/out/automate/engine/2.14-components.js +0 -1087
  259. package/out/automate/engine/2.14-components.js.map +0 -1
  260. package/out/concepts/ConstructArgument__.d.ts +0 -40
  261. package/out/concepts/ConstructArgument__.js.map +0 -1
  262. package/out/concepts/Construct__.d.ts +0 -189
  263. package/out/concepts/Construct__.js +0 -340
  264. package/out/concepts/Construct__.js.map +0 -1
  265. package/out/concepts/MatchExpression__.d.ts +0 -97
  266. package/out/concepts/MatchExpression__.js +0 -281
  267. package/out/concepts/MatchExpression__.js.map +0 -1
  268. package/out/templator/sql-parser/index.d.ts +0 -1
  269. package/out/templator/sql-parser/index.js +0 -228
  270. package/out/templator/sql-parser/index.js.map +0 -1
  271. package/out/templator/sql-parser/parser.js +0 -26664
  272. package/out/templator/sql-parser/parser.js.map +0 -1
  273. package/src/concepts/dist/Anchor__.js +0 -179
  274. package/src/concepts/dist/Assignment__.js +0 -301
  275. package/src/concepts/dist/CallInterface__.js +0 -533
  276. package/src/concepts/dist/ForEachStatement__.js +0 -426
  277. package/src/concepts/dist/MatchCase__.js +0 -587
  278. package/src/concepts/dist/MemberExpression__.js +0 -348
  279. package/src/concepts/dist/Param__.js +0 -537
  280. package/src/concepts/dist/Return__.js +0 -493
  281. package/src/server/dist/formatTsUtils.js +0 -683
  282. package/ts-worker/lib/dist/tsserver.dev.js +0 -22953
  283. package/ts-worker/sources/lib/dist/tsserver.dev.js +0 -22912
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __assign = (this && this.__assign) || function () {
16
+ __assign = Object.assign || function(t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
+ t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ 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;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ };
32
+ exports.__esModule = true;
33
+ exports.Identifier = void 0;
34
+ var translator_1 = require("../translator");
35
+ var __1 = require("..");
36
+ var utils_1 = require("../utils");
37
+ var decorators_1 = require("../decorators");
38
+ var classMap_1 = require("../common/classMap");
39
+ var LogicItem__1 = require("./LogicItem__");
40
+ /**
41
+ * 标识符
42
+ */
43
+ var Identifier = /** @class */ (function (_super) {
44
+ __extends(Identifier, _super);
45
+ /**
46
+ * @param source 需要合并的部分参数
47
+ */
48
+ function Identifier(source) {
49
+ var _this = this;
50
+ source = Object.assign({}, Identifier_1.getDefaultOptions(), source);
51
+ _this = _super.call(this, source) || this;
52
+ /**
53
+ * 产品概念
54
+ */
55
+ _this.concept = 'Identifier';
56
+ /**
57
+ * namespace
58
+ */
59
+ _this.namespace = undefined;
60
+ /**
61
+ * 标识符名称
62
+ */
63
+ _this.name = undefined;
64
+ //================================================================================
65
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
66
+ // 自动生成的代码已结束。下面可以手动编写。
67
+ //================================================================================
68
+ // 选中的数据类型,这个用作暂存
69
+ _this.typeAnnotation = undefined;
70
+ _this.globalDataMap = {
71
+ $route: true,
72
+ $global: true,
73
+ $refs: true
74
+ };
75
+ _super.prototype.subConstructor.call(_this, source);
76
+ return _this;
77
+ }
78
+ Identifier_1 = Identifier;
79
+ Identifier.from = function (source, parentNode, parentKey) {
80
+ return _super.from.call(this, source, parentNode, parentKey);
81
+ };
82
+ Identifier.prototype.isEnum = function () {
83
+ return utils_1.findConceptKeyWordByNamespace(this.namespace) === 'enums';
84
+ };
85
+ Identifier.prototype.toVue = function (options) {
86
+ var name = this.name;
87
+ var namespace = this.namespace;
88
+ if (namespace) {
89
+ if ((this.namespace.endsWith('nasl.browser') || this.namespace.endsWith('nasl.auth') || this.namespace.endsWith('nasl.configuration') || this.namespace.endsWith('nasl.process'))) {
90
+ name = "$global." + this.name;
91
+ }
92
+ else if (this.namespace.endsWith('frontendVariables')) {
93
+ name = "$global.frontendVariables." + this.name;
94
+ }
95
+ else if (this.isEnum()) {
96
+ var enumName = this.name;
97
+ if (this.namespace.startsWith('extensions.')) {
98
+ enumName = this.namespace + "." + this.name;
99
+ }
100
+ name = enumName;
101
+ }
102
+ else if (this.namespace.endsWith('logics')) {
103
+ name = "'" + this.namespace + "." + name + "'";
104
+ }
105
+ }
106
+ return name;
107
+ };
108
+ Identifier.prototype.toUI = function () {
109
+ var name = this.name;
110
+ var namespace = this.namespace;
111
+ if (namespace) {
112
+ if (namespace.startsWith('nasl.')) {
113
+ name = namespace + "." + this.name;
114
+ }
115
+ else if (namespace.endsWith('frontendVariables')) {
116
+ name = "nasl.frontendVariables." + this.name;
117
+ }
118
+ else if (this.isEnum()) {
119
+ var enumName = this.name;
120
+ if (this.namespace.startsWith('extensions.')) {
121
+ enumName = this.namespace + "." + this.name;
122
+ }
123
+ name = enumName;
124
+ }
125
+ }
126
+ return name;
127
+ };
128
+ Object.defineProperty(Identifier.prototype, "jsName", {
129
+ // 在页面 表达式/逻辑 中的名字
130
+ get: function () {
131
+ var name = this.name;
132
+ var namespace = this.namespace;
133
+ if (namespace) {
134
+ if (namespace.endsWith('nasl.browser') || namespace.endsWith('nasl.auth') || namespace.endsWith('nasl.configuration') || this.namespace.endsWith('nasl.process')) {
135
+ name = "$global." + this.name;
136
+ }
137
+ else if (namespace.endsWith('frontendVariables')) {
138
+ name = "$global.frontendVariables." + this.name;
139
+ }
140
+ else if (this.isEnum()) {
141
+ var enumName = this.name;
142
+ if (this.namespace.startsWith('extensions.')) {
143
+ enumName = this.namespace + "." + this.name;
144
+ }
145
+ name = enumName;
146
+ }
147
+ else if (this.namespace.endsWith('logics')) {
148
+ name = "'" + this.namespace + "." + name + "'";
149
+ }
150
+ }
151
+ return name;
152
+ },
153
+ enumerable: false,
154
+ configurable: true
155
+ });
156
+ Identifier.prototype.toJS = function () {
157
+ var name = this.jsName;
158
+ return this.isViewOrGlobalDataVariable() ? "this." + name : name;
159
+ };
160
+ // 页面/全局 级别的变量
161
+ Identifier.prototype.isViewOrGlobalDataVariable = function () {
162
+ var _a, _b, _c, _d, _e, _f;
163
+ var dataMap = {};
164
+ (_b = (_a = this.view) === null || _a === void 0 ? void 0 : _a.params) === null || _b === void 0 ? void 0 : _b.forEach(function (param) {
165
+ dataMap[param.name] = true;
166
+ });
167
+ (_d = (_c = this.view) === null || _c === void 0 ? void 0 : _c.variables) === null || _d === void 0 ? void 0 : _d.forEach(function (variable) {
168
+ dataMap[variable.name] = true;
169
+ });
170
+ // 目前前端逻辑也会被当成可选变量(以datasource为典型)
171
+ (_f = (_e = this.view) === null || _e === void 0 ? void 0 : _e.logics) === null || _f === void 0 ? void 0 : _f.forEach(function (logics) {
172
+ dataMap[logics.name] = true;
173
+ });
174
+ var parentNode = this.parentNode;
175
+ var isMemberExpressionProperty = false;
176
+ if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.concept) === 'MemberExpression' && this.parentKey === 'property') {
177
+ isMemberExpressionProperty = true;
178
+ }
179
+ var name = this.jsName;
180
+ var namespace = this.namespace;
181
+ if (name === 'UserStatusEnum') {
182
+ console.log(this);
183
+ }
184
+ return (dataMap[name]
185
+ || this.globalDataMap[name]
186
+ || (namespace === null || namespace === void 0 ? void 0 : namespace.endsWith('nasl.browser'))
187
+ || (namespace === null || namespace === void 0 ? void 0 : namespace.endsWith('nasl.auth'))
188
+ || (namespace === null || namespace === void 0 ? void 0 : namespace.endsWith('nasl.configuration'))
189
+ || (namespace === null || namespace === void 0 ? void 0 : namespace.endsWith('nasl.process'))
190
+ || (namespace === null || namespace === void 0 ? void 0 : namespace.endsWith('frontendVariables'))
191
+ || this.isEnum()) && !isMemberExpressionProperty;
192
+ };
193
+ Identifier.prototype.toBrief = function () {
194
+ return this.name || '-';
195
+ };
196
+ Identifier.prototype.toEmbeddedTS = function (state) {
197
+ var _this = this;
198
+ var _a;
199
+ // 只有data-source可以是函数 ,也可能是属性
200
+ if (this.parentNode instanceof __1.BindAttribute && this.parentNode.name === 'data-source') {
201
+ var view = this.view;
202
+ var viewLogics = view.logics;
203
+ var findLogic = viewLogics.find(function (item) { return item.name === _this.name; });
204
+ if (findLogic) {
205
+ return this.name;
206
+ }
207
+ }
208
+ // 全局变量在不是页面的地方放置,就会报错
209
+ if (((_a = this.namespace) === null || _a === void 0 ? void 0 : _a.startsWith('app.frontendVariables')) && !this.view) {
210
+ return '__FRONTENDVARIABLES__';
211
+ }
212
+ // 如果是nasl.util.Enum 的子集里的 Identifier > MemberExpression > Argument > callfunction
213
+ // nasl.util.Enum 的 右侧是转成字符串的
214
+ // 如果是identifier 而且枚举
215
+ // if (this.parentNode?.parentNode?.parentNode instanceof CallFunction) {
216
+ // const calleeNamespace = this.parentNode.parentNode.parentNode.calleeNamespace;
217
+ // const calleeName = this.parentNode.parentNode.parentNode.calleeName;
218
+ // if (calleeNamespace + '.' + calleeName === 'nasl.util.Enum') {
219
+ // const str = (this.namespace ? this.namespace + '.' : '') + this.name;
220
+ // return str.includes('.enums.') ? str : str + '.toString()';
221
+ // }
222
+ // }
223
+ // having 下选择的变量不生成 namespace 前缀
224
+ if (this.namespace === 'inner' && this.getAncestor('CallQueryComponent')) {
225
+ return "__" + this.name || '__IDENTIFIER__';
226
+ }
227
+ return this.namespace ? this.namespace + '.' + this.name : this.name || '__IDENTIFIER__';
228
+ };
229
+ // 方便快速取值
230
+ Identifier.prototype.getValue = function () {
231
+ // 实体逻辑 deleteBy/updateBy 的 filter 参数的回调函数的参数:_
232
+ // 处理 _ 的显示问题
233
+ if (this.name === '_') {
234
+ var parentNode = this.parentNode;
235
+ if (parentNode) {
236
+ var p = parentNode;
237
+ while (p && p.concept !== 'CallLogic') {
238
+ p = p.parentNode;
239
+ }
240
+ if (p && (p.calleeName === 'deleteBy' || p.calleeName === 'updateBy')) {
241
+ var ns = p.calleeNamespace.split('.');
242
+ return ns[ns.length - 2] || this.name;
243
+ }
244
+ else {
245
+ return 'item';
246
+ }
247
+ }
248
+ }
249
+ return this.name;
250
+ };
251
+ Object.defineProperty(Identifier.prototype, "completeName", {
252
+ get: function () {
253
+ var arr = [this.name];
254
+ if (this.namespace) {
255
+ arr.unshift(this.namespace);
256
+ }
257
+ return arr.join('.');
258
+ },
259
+ enumerable: false,
260
+ configurable: true
261
+ });
262
+ /**
263
+ * 设置函数名称
264
+ */
265
+ Identifier.prototype.setNamespace = function (namespace) {
266
+ var object = {
267
+ namespace: namespace
268
+ };
269
+ this.update(__assign({}, object));
270
+ };
271
+ /**
272
+ * 设置函数名称
273
+ */
274
+ Identifier.prototype.setName = function (name) {
275
+ var object = {
276
+ name: name
277
+ };
278
+ this.update(__assign({}, object));
279
+ };
280
+ Identifier.prototype.setNameAndNamespace = function (name, namespace) {
281
+ var object = {
282
+ name: name,
283
+ namespace: namespace
284
+ };
285
+ this.update(__assign({}, object));
286
+ };
287
+ var Identifier_1;
288
+ __decorate([
289
+ decorators_1.property()
290
+ ], Identifier.prototype, "concept");
291
+ __decorate([
292
+ decorators_1.property()
293
+ ], Identifier.prototype, "namespace");
294
+ __decorate([
295
+ decorators_1.property()
296
+ ], Identifier.prototype, "name");
297
+ __decorate([
298
+ translator_1.withSourceMap()
299
+ ], Identifier.prototype, "toEmbeddedTS");
300
+ Identifier = Identifier_1 = __decorate([
301
+ decorators_1.concept('标识符')
302
+ ], Identifier);
303
+ return Identifier;
304
+ }(LogicItem__1["default"]));
305
+ exports.Identifier = Identifier;
306
+ classMap_1["default"].Identifier = Identifier;
307
+ exports["default"] = Identifier;
308
+ //================================================================================
309
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
310
+ // 自动生成的代码已结束。下面可以手动编写。
311
+ //================================================================================
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __assign = (this && this.__assign) || function () {
16
+ __assign = Object.assign || function(t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
+ t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ 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;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ };
32
+ exports.__esModule = true;
33
+ exports.StringInterpolation = void 0;
34
+ var translator_1 = require("../translator");
35
+ var decorators_1 = require("../decorators");
36
+ var utils = require("../utils");
37
+ var classMap_1 = require("../common/classMap");
38
+ var LogicItem__1 = require("./LogicItem__");
39
+ /**
40
+ * 字符串插值
41
+ */
42
+ var StringInterpolation = /** @class */ (function (_super) {
43
+ __extends(StringInterpolation, _super);
44
+ /**
45
+ * @param source 需要合并的部分参数
46
+ */
47
+ function StringInterpolation(source) {
48
+ var _this = this;
49
+ source = Object.assign({}, StringInterpolation_1.getDefaultOptions(), source);
50
+ _this = _super.call(this, source) || this;
51
+ /**
52
+ * 产品概念
53
+ */
54
+ _this.concept = 'StringInterpolation';
55
+ /**
56
+ * 插值表达式
57
+ */
58
+ _this.expressions = [];
59
+ _super.prototype.subConstructor.call(_this, source);
60
+ return _this;
61
+ }
62
+ StringInterpolation_1 = StringInterpolation;
63
+ StringInterpolation.from = function (source, parentNode, parentKey) {
64
+ return _super.from.call(this, source, parentNode, parentKey);
65
+ };
66
+ /**
67
+ * 设置插值表达式
68
+ */
69
+ StringInterpolation.prototype.setExpressions = function (expressions) {
70
+ var object = {
71
+ expressions: expressions
72
+ };
73
+ this.update(__assign({}, object));
74
+ };
75
+ StringInterpolation.prototype.getItemExistingNames = function (excludedList) {
76
+ if (excludedList === void 0) { excludedList = []; }
77
+ var excludedSet = new Set(excludedList);
78
+ return (this.expressions || []).filter(function (item) { return !excludedSet.has(item); }).map(function (item) { return item.name; });
79
+ };
80
+ StringInterpolation.prototype.getItemUniqueName = function (name) {
81
+ if (name === void 0) { name = 'logicItem1'; }
82
+ return utils.unique(name, this.getItemExistingNames(), undefined, false);
83
+ };
84
+ StringInterpolation.prototype._insertItemAt = function (options, index) {
85
+ var logicItemOptions = {};
86
+ var relationOptions = { parentNode: this, parentKey: 'expressions' };
87
+ var logicItem;
88
+ if (!options) {
89
+ logicItem = LogicItem__1["default"].from(__assign(__assign({}, logicItemOptions), { name: this.getItemUniqueName() }), this, 'expressions');
90
+ }
91
+ else if (typeof options === 'string') {
92
+ logicItem = LogicItem__1["default"].from(__assign(__assign({}, logicItemOptions), { name: options }), this, 'expressions');
93
+ }
94
+ else if (options instanceof LogicItem__1["default"]) {
95
+ options.ensureDelete(); // 同一实例不支持多处存在
96
+ logicItem = options;
97
+ Object.assign(logicItem, relationOptions);
98
+ }
99
+ else {
100
+ logicItem = LogicItem__1["default"].from(__assign(__assign({}, logicItemOptions), options), this, 'expressions');
101
+ }
102
+ this.expressions.splice(index, 0, logicItem);
103
+ return logicItem;
104
+ };
105
+ StringInterpolation.prototype.insertItemAt = function (options, index) {
106
+ var node = this._insertItemAt(options, index);
107
+ node.create({
108
+ index: index,
109
+ parentNode: this,
110
+ parentKey: 'expressions'
111
+ });
112
+ return node;
113
+ };
114
+ StringInterpolation.prototype._addItem = function (options) {
115
+ var index = this.expressions.length;
116
+ return this._insertItemAt(options, index);
117
+ };
118
+ StringInterpolation.prototype.addItem = function (options) {
119
+ var node = this._addItem(options);
120
+ var index = this.expressions.indexOf(node);
121
+ node.create({
122
+ index: index,
123
+ parentNode: this,
124
+ parentKey: 'expressions'
125
+ });
126
+ return node;
127
+ };
128
+ StringInterpolation.prototype.removeItem = function (options) {
129
+ var logicItem;
130
+ if (typeof options === 'string') {
131
+ logicItem = this.expressions.find(function (item) { return item.name === options; });
132
+ if (!logicItem) {
133
+ throw new Error('找不到逻辑项 ' + options);
134
+ }
135
+ }
136
+ else {
137
+ logicItem = options;
138
+ }
139
+ return logicItem["delete"]();
140
+ };
141
+ StringInterpolation.prototype.__removeLogicItem = function (logicItem) {
142
+ var parentKey = logicItem.parentKey;
143
+ var params = {
144
+ parentNode: this,
145
+ parentKey: parentKey,
146
+ index: -1,
147
+ object: null,
148
+ oldObject: logicItem
149
+ };
150
+ if (parentKey) {
151
+ params.parentKey = parentKey;
152
+ if (Array.isArray(this[parentKey])) {
153
+ var index = this[parentKey].indexOf(logicItem);
154
+ ~index && this[parentKey].splice(index, 1);
155
+ params.index = index;
156
+ }
157
+ else if (this[parentKey] === logicItem) {
158
+ params.index = 0;
159
+ this[parentKey] = undefined;
160
+ }
161
+ }
162
+ return params;
163
+ };
164
+ //================================================================================
165
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
166
+ // 自动生成的代码已结束。下面可以手动编写。
167
+ //================================================================================
168
+ StringInterpolation.prototype.exchangeLogicItem = function (target, logicitem) {
169
+ var idx = this.expressions.findIndex(function (exp) { return exp === target; });
170
+ if (idx !== -1) {
171
+ var exps = this.expressions.slice();
172
+ exps.splice(idx, 1, logicitem);
173
+ this.setExpressions(exps);
174
+ }
175
+ };
176
+ StringInterpolation.prototype.toVue = function (options) {
177
+ return this.expressions.map(function (exp) {
178
+ var expCode = exp.toVue();
179
+ if (options.finalCode !== false) {
180
+ var expTypeAnnotation = exp.typeAnnotation || exp.__TypeAnnotation;
181
+ expCode = "$utils['ToString'](" + expCode + ", '" + (expTypeAnnotation === null || expTypeAnnotation === void 0 ? void 0 : expTypeAnnotation.sortedTypeKey) + "')";
182
+ }
183
+ return expCode;
184
+ }).join(' + ');
185
+ };
186
+ StringInterpolation.prototype.toUI = function () {
187
+ return this.expressions.map(function (exp) { return exp.toUI(); }).join(' + ');
188
+ };
189
+ StringInterpolation.prototype.toJS = function () {
190
+ return this.expressions.map(function (exp) {
191
+ var expTypeAnnotation = exp.typeAnnotation || exp.__TypeAnnotation;
192
+ return "this.$utils['ToString'](" + exp.toJS() + ", '" + (expTypeAnnotation === null || expTypeAnnotation === void 0 ? void 0 : expTypeAnnotation.sortedTypeKey) + "')";
193
+ }).join(' + ');
194
+ };
195
+ StringInterpolation.prototype.toBrief = function () {
196
+ return this.expressions.map(function (exp) { return exp.toJS(); }).join(' + ');
197
+ };
198
+ StringInterpolation.prototype.toEmbeddedTS = function (state) {
199
+ var _this = this;
200
+ var code = 'nasl.util.stringInterpolation(';
201
+ this.expressions.forEach(function (exp, idx) {
202
+ code += exp.toEmbeddedTS(translator_1.shiftState(state, code));
203
+ if (idx !== _this.expressions.length - 1) {
204
+ code += ', ';
205
+ }
206
+ });
207
+ code += ')\n';
208
+ return code;
209
+ };
210
+ var StringInterpolation_1;
211
+ __decorate([
212
+ decorators_1.property()
213
+ ], StringInterpolation.prototype, "concept");
214
+ __decorate([
215
+ decorators_1.property('LogicItem')
216
+ ], StringInterpolation.prototype, "expressions");
217
+ __decorate([
218
+ translator_1.withSourceMap()
219
+ ], StringInterpolation.prototype, "toEmbeddedTS");
220
+ StringInterpolation = StringInterpolation_1 = __decorate([
221
+ decorators_1.concept('字符串插值')
222
+ ], StringInterpolation);
223
+ return StringInterpolation;
224
+ }(LogicItem__1["default"]));
225
+ exports.StringInterpolation = StringInterpolation;
226
+ classMap_1["default"].StringInterpolation = StringInterpolation;
227
+ exports["default"] = StringInterpolation;
228
+ //================================================================================
229
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
230
+ // 自动生成的代码已结束。下面可以手动编写。
231
+ //================================================================================