@lcap/nasl 2.19.0-beta.1 → 2.19.0-beta.3

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 (178) hide show
  1. package/out/common/BaseNode.js +4 -1
  2. package/out/common/BaseNode.js.map +1 -1
  3. package/out/concepts/Abort__.d.ts +25 -0
  4. package/out/concepts/Abort__.js +80 -0
  5. package/out/concepts/Abort__.js.map +1 -0
  6. package/out/concepts/App__.js.map +1 -1
  7. package/out/concepts/BatchAssignment__.js +3 -3
  8. package/out/concepts/BatchAssignment__.js.map +1 -1
  9. package/out/concepts/CallFunction__.js +23 -7
  10. package/out/concepts/CallFunction__.js.map +1 -1
  11. package/out/concepts/CallInterface__.js +1 -1
  12. package/out/concepts/CallInterface__.js.map +1 -1
  13. package/out/concepts/CallLogic__.js +9 -65
  14. package/out/concepts/CallLogic__.js.map +1 -1
  15. package/out/concepts/DatabaseTypeAnnotation__.d.ts +31 -0
  16. package/out/concepts/DatabaseTypeAnnotation__.js +78 -0
  17. package/out/concepts/DatabaseTypeAnnotation__.js.map +1 -0
  18. package/out/concepts/EnumItem__.d.ts +5 -5
  19. package/out/concepts/EnumItem__.js +6 -6
  20. package/out/concepts/Enum__.d.ts +20 -19
  21. package/out/concepts/Enum__.js +28 -1
  22. package/out/concepts/Enum__.js.map +1 -1
  23. package/out/concepts/ForEachStatement__.js +1 -1
  24. package/out/concepts/ForEachStatement__.js.map +1 -1
  25. package/out/concepts/FrontendLibrary__.d.ts +213 -0
  26. package/out/concepts/FrontendLibrary__.js +352 -0
  27. package/out/concepts/FrontendLibrary__.js.map +1 -0
  28. package/out/concepts/Frontend__.d.ts +373 -0
  29. package/out/concepts/Frontend__.js +685 -0
  30. package/out/concepts/Frontend__.js.map +1 -0
  31. package/out/concepts/Integration__.d.ts +53 -0
  32. package/out/concepts/Integration__.js +143 -0
  33. package/out/concepts/Integration__.js.map +1 -0
  34. package/out/concepts/JavaLogic__.d.ts +42 -0
  35. package/out/concepts/JavaLogic__.js +122 -0
  36. package/out/concepts/JavaLogic__.js.map +1 -0
  37. package/out/concepts/Logic__.js +3 -0
  38. package/out/concepts/Logic__.js.map +1 -1
  39. package/out/concepts/MicroApp__.d.ts +51 -0
  40. package/out/concepts/MicroApp__.js +113 -0
  41. package/out/concepts/MicroApp__.js.map +1 -0
  42. package/out/concepts/NewComposite__.js +14 -14
  43. package/out/concepts/NewComposite__.js.map +1 -1
  44. package/out/concepts/NewList__.d.ts +1 -0
  45. package/out/concepts/NewList__.js +17 -1
  46. package/out/concepts/NewList__.js.map +1 -1
  47. package/out/concepts/NewMap__.d.ts +1 -0
  48. package/out/concepts/NewMap__.js +18 -1
  49. package/out/concepts/NewMap__.js.map +1 -1
  50. package/out/concepts/OqlQueryComponent__.js +2 -0
  51. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  52. package/out/concepts/StringInterpolation__.js +2 -0
  53. package/out/concepts/StringInterpolation__.js.map +1 -1
  54. package/out/concepts/TypeAnnotation__.js +3 -3
  55. package/out/concepts/TypeAnnotation__.js.map +1 -1
  56. package/out/concepts/ViewBlock__.d.ts +35 -0
  57. package/out/concepts/ViewBlock__.js +85 -0
  58. package/out/concepts/ViewBlock__.js.map +1 -0
  59. package/out/concepts/ViewElement__.js +1 -1
  60. package/out/concepts/ViewElement__.js.map +1 -1
  61. package/out/concepts/View__.js +1 -0
  62. package/out/concepts/View__.js.map +1 -1
  63. package/out/concepts/basics/stdlib/nasl.util.js +4 -2
  64. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  65. package/out/generator/genBundleFiles.js +10 -1
  66. package/out/generator/genBundleFiles.js.map +1 -1
  67. package/out/generator/genReleaseBody.js +3 -0
  68. package/out/generator/genReleaseBody.js.map +1 -1
  69. package/out/generator/icestark.d.ts +2 -0
  70. package/out/generator/icestark.js +48 -0
  71. package/out/generator/icestark.js.map +1 -0
  72. package/out/generator/microApp.d.ts +2 -0
  73. package/out/generator/microApp.js +35 -0
  74. package/out/generator/microApp.js.map +1 -0
  75. package/out/generator/qiankun.d.ts +2 -0
  76. package/out/generator/qiankun.js +52 -0
  77. package/out/generator/qiankun.js.map +1 -0
  78. package/out/manager/stepRecorder.d.ts +20 -0
  79. package/out/manager/stepRecorder.js +110 -0
  80. package/out/manager/stepRecorder.js.map +1 -0
  81. package/out/sentry/index.d.ts +29 -0
  82. package/out/sentry/index.js +111 -0
  83. package/out/sentry/index.js.map +1 -0
  84. package/out/server/extendBaseNode.js +5 -1
  85. package/out/server/extendBaseNode.js.map +1 -1
  86. package/out/server/formatTsUtils.js +11 -8
  87. package/out/server/formatTsUtils.js.map +1 -1
  88. package/out/server/naslServer.js +118 -9
  89. package/out/server/naslServer.js.map +1 -1
  90. package/out/server/translator.js +43 -10
  91. package/out/server/translator.js.map +1 -1
  92. package/out/service/creator/add.configs.js +2 -0
  93. package/out/service/creator/add.configs.js.map +1 -1
  94. package/out/service/creator/errHandles.js +5 -0
  95. package/out/service/creator/errHandles.js.map +1 -1
  96. package/out/service/creator/index.js +2 -0
  97. package/out/service/creator/index.js.map +1 -1
  98. package/out/service/storage/api.d.ts +18 -0
  99. package/out/service/storage/api.js +12 -0
  100. package/out/service/storage/api.js.map +1 -1
  101. package/out/service/storage/init.d.ts +41 -1
  102. package/out/service/storage/init.js +175 -30
  103. package/out/service/storage/init.js.map +1 -1
  104. package/out/service/storage/service.d.ts +9 -1
  105. package/out/service/storage/service.js +27 -1
  106. package/out/service/storage/service.js.map +1 -1
  107. package/out/templator/genGetBlock.js +1 -1
  108. package/out/templator/genGetBlock.js.map +1 -1
  109. package/out/templator/genListViewBlock.js +6 -0
  110. package/out/templator/genListViewBlock.js.map +1 -1
  111. package/package.json +2 -2
  112. package/sandbox/stdlib/nasl.core.ts +2 -0
  113. package/sandbox/stdlib/nasl.oql.ts +16 -4
  114. package/sandbox/stdlib/nasl.util.ts +2 -1
  115. package/src/common/BaseNode.ts +3 -1
  116. package/src/concepts/App__.ts +41 -1
  117. package/src/concepts/BatchAssignment__.ts +3 -3
  118. package/src/concepts/CallFunction__.ts +34 -20
  119. package/src/concepts/CallInterface__.ts +19 -1
  120. package/src/concepts/CallLogic__.ts +8 -65
  121. package/src/concepts/EnumItem__.ts +6 -6
  122. package/src/concepts/Enum__.ts +22 -19
  123. package/src/concepts/ForEachStatement__.ts +1 -1
  124. package/src/concepts/Logic__.ts +13 -10
  125. package/src/concepts/NewComposite__.ts +14 -14
  126. package/src/concepts/NewList__.ts +18 -1
  127. package/src/concepts/NewMap__.ts +19 -1
  128. package/src/concepts/OqlQueryComponent__.ts +2 -0
  129. package/src/concepts/StringInterpolation__.ts +6 -4
  130. package/src/concepts/TypeAnnotation__.ts +41 -3
  131. package/src/concepts/ViewElement__.ts +1 -1
  132. package/src/concepts/View__.ts +3 -2
  133. package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
  134. package/src/generator/genBundleFiles.ts +10 -1
  135. package/src/generator/genReleaseBody.ts +3 -1
  136. package/src/server/extendBaseNode.ts +4 -1
  137. package/src/server/formatTsUtils.ts +11 -8
  138. package/src/server/naslServer.ts +124 -11
  139. package/src/server/translator.ts +37 -10
  140. package/src/service/creator/add.configs.js +3 -0
  141. package/src/service/creator/errHandles.js +6 -0
  142. package/src/service/creator/index.js +3 -0
  143. package/src/service/storage/api.js +12 -0
  144. package/src/service/storage/init.ts +207 -29
  145. package/src/service/storage/service.ts +29 -1
  146. package/src/templator/genGetBlock.ts +1 -1
  147. package/src/templator/genListViewBlock.ts +6 -0
  148. package/ts-worker/lib/tsserver.js +10 -2
  149. package/ts-worker/package.json +1 -0
  150. package/ts-worker/webpack.config.js +11 -2
  151. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  152. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  153. package/src/automate/engine/dist/index.dev.js +0 -517
  154. package/src/common/dist/BaseNode.js +0 -1101
  155. package/src/concepts/basics/stdlib/dist/nasl.util.js +0 -1602
  156. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  157. package/src/concepts/dist/BindAttribute__.js +0 -760
  158. package/src/concepts/dist/BindEvent__.js +0 -732
  159. package/src/concepts/dist/CallFunction__.js +0 -527
  160. package/src/concepts/dist/CallLogic__.js +0 -932
  161. package/src/concepts/dist/Identifier__.js +0 -311
  162. package/src/concepts/dist/StringInterpolation__.js +0 -231
  163. package/src/concepts/dist/TypeAnnotation__.js +0 -834
  164. package/src/concepts/dist/ViewElement__.js +0 -1692
  165. package/src/concepts/dist/View__.js +0 -1601
  166. package/src/generator/dist/genBundleFiles.js +0 -261
  167. package/src/generator/dist/genMetaData.js +0 -245
  168. package/src/generator/dist/permission.js +0 -392
  169. package/src/server/dist/naslServer.js +0 -3590
  170. package/src/service/storage/dist/init.js +0 -579
  171. package/src/templator/dist/genEditTableBlock.js +0 -204
  172. package/src/templator/dist/genGridViewBlock.js +0 -265
  173. package/src/templator/dist/genListViewBlock.js +0 -84
  174. package/src/templator/dist/genTableBlock.js +0 -209
  175. package/src/templator/dist/utils.js +0 -527
  176. package/ts-worker/dist/webpack.config.dev.js +0 -106
  177. /package/src/service/{dataSource → datasource}/api.js +0 -0
  178. /package/src/service/{dataSource → datasource}/index.js +0 -0
@@ -1,834 +0,0 @@
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
- var __spreadArrays = (this && this.__spreadArrays) || function () {
33
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
34
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
35
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
36
- r[k] = a[j];
37
- return r;
38
- };
39
- exports.__esModule = true;
40
- exports.TypeAnnotation = exports.isUnion = exports.PRIMITIVE_TITLE = exports.PRIMITIVE_TYPE = void 0;
41
- var translator_1 = require("../translator");
42
- var generator_1 = require("../generator");
43
- var PRIMITIVE_TYPE;
44
- (function (PRIMITIVE_TYPE) {
45
- PRIMITIVE_TYPE["Boolean"] = "Boolean";
46
- PRIMITIVE_TYPE["Integer"] = "Integer";
47
- PRIMITIVE_TYPE["Long"] = "Long";
48
- PRIMITIVE_TYPE["Double"] = "Double";
49
- PRIMITIVE_TYPE["Decimal"] = "Decimal";
50
- PRIMITIVE_TYPE["String"] = "String";
51
- PRIMITIVE_TYPE["Text"] = "Text";
52
- PRIMITIVE_TYPE["Binary"] = "Binary";
53
- PRIMITIVE_TYPE["Date"] = "Date";
54
- PRIMITIVE_TYPE["Time"] = "Time";
55
- PRIMITIVE_TYPE["DateTime"] = "DateTime";
56
- PRIMITIVE_TYPE["Email"] = "Email";
57
- PRIMITIVE_TYPE["Union"] = "Union";
58
- PRIMITIVE_TYPE["Null"] = "Null";
59
- })(PRIMITIVE_TYPE = exports.PRIMITIVE_TYPE || (exports.PRIMITIVE_TYPE = {}));
60
- exports.PRIMITIVE_TITLE = {
61
- Boolean: '布尔值',
62
- Integer: '整数',
63
- Long: '长整数',
64
- Double: '小数',
65
- Decimal: '精确小数',
66
- String: '字符串',
67
- Text: '长文本',
68
- Binary: '二进制流',
69
- Date: '日期',
70
- Time: '时间',
71
- DateTime: '日期时间',
72
- Email: '电子邮箱',
73
- Union: '联合类型'
74
- };
75
- /**
76
- * 判断是否是联合类型
77
- * @param typeAnnotation
78
- * @returns
79
- */
80
- function isUnion(typeAnnotation) {
81
- return typeAnnotation
82
- && typeAnnotation.typeKind === 'union'
83
- && typeAnnotation.typeNamespace === 'nasl.core'
84
- && typeAnnotation.typeName === 'Union';
85
- }
86
- exports.isUnion = isUnion;
87
- var decorators_1 = require("../decorators");
88
- var BaseNode_1 = require("../common/BaseNode");
89
- var classMap_1 = require("../common/classMap");
90
- var StructureProperty__1 = require("./StructureProperty__");
91
- /**
92
- * 类型标注
93
- */
94
- var TypeAnnotation = /** @class */ (function (_super) {
95
- __extends(TypeAnnotation, _super);
96
- /**
97
- * @param source 需要合并的部分参数
98
- */
99
- function TypeAnnotation(source) {
100
- var _this = this;
101
- source = Object.assign({}, TypeAnnotation_1.getDefaultOptions(), source);
102
- _this = _super.call(this, source) || this;
103
- /**
104
- * 产品概念
105
- */
106
- _this.concept = 'TypeAnnotation';
107
- /**
108
- * 类型种类
109
- */
110
- _this.typeKind = undefined;
111
- /**
112
- * 类型命名空间
113
- */
114
- _this.typeNamespace = undefined;
115
- /**
116
- * 类型名称
117
- */
118
- _this.typeName = undefined;
119
- /**
120
- * 类型参数
121
- */
122
- _this.typeArguments = null;
123
- /**
124
- * 返回类型
125
- */
126
- _this.returnType = null;
127
- /**
128
- * 是否是推断出来的
129
- */
130
- _this.inferred = undefined;
131
- /**
132
- * 匿名数据结构属性
133
- */
134
- _this.properties = null;
135
- /**
136
- * 规则对象
137
- */
138
- _this.ruleMap = undefined;
139
- _super.prototype.subConstructor.call(_this, source);
140
- return _this;
141
- }
142
- TypeAnnotation_1 = TypeAnnotation;
143
- TypeAnnotation.from = function (source, parentNode, parentKey) {
144
- return _super.from.call(this, source, parentNode, parentKey);
145
- };
146
- /**
147
- * 从父级删除该节点
148
- * @internal
149
- */
150
- TypeAnnotation.prototype._delete = function () {
151
- var _a, _b;
152
- var params = null;
153
- if (this.parentNode) {
154
- params = (_b = (_a = this.parentNode) === null || _a === void 0 ? void 0 : _a.__removeTypeAnnotation) === null || _b === void 0 ? void 0 : _b.call(_a, this);
155
- }
156
- return params;
157
- };
158
- /**
159
- * 设置规则对象
160
- */
161
- TypeAnnotation.prototype.setRuleMap = function (ruleMap) {
162
- var object = {
163
- ruleMap: ruleMap
164
- };
165
- this.update(__assign({}, object));
166
- };
167
- TypeAnnotation.prototype._insertTypeAnnotationInTypeArgumentsAt = function (options, index) {
168
- var typeAnnotationOptions = {};
169
- var relationOptions = { parentNode: this, parentKey: 'typeArguments' };
170
- var typeAnnotation;
171
- if (options instanceof TypeAnnotation_1) {
172
- options.ensureDelete(); // 同一实例不支持多处存在
173
- typeAnnotation = options;
174
- Object.assign(typeAnnotation, relationOptions);
175
- }
176
- else {
177
- typeAnnotation = TypeAnnotation_1.from(__assign(__assign({}, typeAnnotationOptions), options), this, 'typeArguments');
178
- }
179
- this.typeArguments.splice(index, 0, typeAnnotation);
180
- return typeAnnotation;
181
- };
182
- TypeAnnotation.prototype.insertTypeAnnotationInTypeArgumentsAt = function (options, index) {
183
- var node = this._insertTypeAnnotationInTypeArgumentsAt(options, index);
184
- node.create({
185
- index: index,
186
- parentNode: this,
187
- parentKey: 'typeArguments'
188
- });
189
- return node;
190
- };
191
- TypeAnnotation.prototype._addTypeAnnotationInTypeArguments = function (options) {
192
- var index = this.typeArguments.length;
193
- return this._insertTypeAnnotationInTypeArgumentsAt(options, index);
194
- };
195
- TypeAnnotation.prototype.addTypeAnnotationInTypeArguments = function (options) {
196
- var node = this._addTypeAnnotationInTypeArguments(options);
197
- var index = this.typeArguments.indexOf(node);
198
- node.create({
199
- index: index,
200
- parentNode: this,
201
- parentKey: 'typeArguments'
202
- });
203
- return node;
204
- };
205
- TypeAnnotation.prototype._insertTypeAnnotationInReturnTypeAt = function (options, index) {
206
- var typeAnnotationOptions = {};
207
- var relationOptions = { parentNode: this, parentKey: 'returnType' };
208
- var typeAnnotation;
209
- if (options instanceof TypeAnnotation_1) {
210
- options.ensureDelete(); // 同一实例不支持多处存在
211
- typeAnnotation = options;
212
- Object.assign(typeAnnotation, relationOptions);
213
- }
214
- else {
215
- typeAnnotation = TypeAnnotation_1.from(__assign(__assign({}, typeAnnotationOptions), options), this, 'returnType');
216
- }
217
- this.returnType.splice(index, 0, typeAnnotation);
218
- return typeAnnotation;
219
- };
220
- TypeAnnotation.prototype.insertTypeAnnotationInReturnTypeAt = function (options, index) {
221
- var node = this._insertTypeAnnotationInReturnTypeAt(options, index);
222
- node.create({
223
- index: index,
224
- parentNode: this,
225
- parentKey: 'returnType'
226
- });
227
- return node;
228
- };
229
- TypeAnnotation.prototype._addTypeAnnotationInReturnType = function (options) {
230
- var index = this.returnType.length;
231
- return this._insertTypeAnnotationInReturnTypeAt(options, index);
232
- };
233
- TypeAnnotation.prototype.addTypeAnnotationInReturnType = function (options) {
234
- var node = this._addTypeAnnotationInReturnType(options);
235
- var index = this.returnType.indexOf(node);
236
- node.create({
237
- index: index,
238
- parentNode: this,
239
- parentKey: 'returnType'
240
- });
241
- return node;
242
- };
243
- TypeAnnotation.prototype._insertStructurePropertyAt = function (options, index) {
244
- var structurePropertyOptions = {};
245
- var relationOptions = { parentNode: this, parentKey: 'properties' };
246
- var structureProperty;
247
- if (options instanceof StructureProperty__1["default"]) {
248
- options.ensureDelete(); // 同一实例不支持多处存在
249
- structureProperty = options;
250
- Object.assign(structureProperty, relationOptions);
251
- }
252
- else {
253
- structureProperty = StructureProperty__1["default"].from(__assign(__assign({}, structurePropertyOptions), options), this, 'properties');
254
- }
255
- this.properties.splice(index, 0, structureProperty);
256
- return structureProperty;
257
- };
258
- TypeAnnotation.prototype.insertStructurePropertyAt = function (options, index) {
259
- var node = this._insertStructurePropertyAt(options, index);
260
- node.create({
261
- index: index,
262
- parentNode: this,
263
- parentKey: 'properties'
264
- });
265
- return node;
266
- };
267
- TypeAnnotation.prototype._addStructureProperty = function (options) {
268
- var index = this.properties.length;
269
- return this._insertStructurePropertyAt(options, index);
270
- };
271
- TypeAnnotation.prototype.addStructureProperty = function (options) {
272
- var node = this._addStructureProperty(options);
273
- var index = this.properties.indexOf(node);
274
- node.create({
275
- index: index,
276
- parentNode: this,
277
- parentKey: 'properties'
278
- });
279
- return node;
280
- };
281
- TypeAnnotation.prototype.removeTypeAnnotationInTypeArguments = function (options) {
282
- var typeAnnotation = options;
283
- return typeAnnotation["delete"]();
284
- };
285
- TypeAnnotation.prototype.removeTypeAnnotationInReturnType = function (options) {
286
- var typeAnnotation = options;
287
- return typeAnnotation["delete"]();
288
- };
289
- TypeAnnotation.prototype.__removeTypeAnnotation = function (typeAnnotation) {
290
- var parentKey = typeAnnotation.parentKey;
291
- var params = {
292
- parentNode: this,
293
- parentKey: parentKey,
294
- index: -1,
295
- object: null,
296
- oldObject: typeAnnotation
297
- };
298
- if (parentKey) {
299
- params.parentKey = parentKey;
300
- if (Array.isArray(this[parentKey])) {
301
- var index = this[parentKey].indexOf(typeAnnotation);
302
- ~index && this[parentKey].splice(index, 1);
303
- params.index = index;
304
- }
305
- else if (this[parentKey] === typeAnnotation) {
306
- params.index = 0;
307
- this[parentKey] = undefined;
308
- }
309
- }
310
- return params;
311
- };
312
- TypeAnnotation.prototype.removeStructureProperty = function (options) {
313
- var structureProperty = options;
314
- return structureProperty["delete"]();
315
- };
316
- TypeAnnotation.prototype.__removeStructureProperty = function (structureProperty) {
317
- var parentKey = structureProperty.parentKey;
318
- var params = {
319
- parentNode: this,
320
- parentKey: parentKey,
321
- index: -1,
322
- object: null,
323
- oldObject: structureProperty
324
- };
325
- if (parentKey) {
326
- params.parentKey = parentKey;
327
- if (Array.isArray(this[parentKey])) {
328
- var index = this[parentKey].indexOf(structureProperty);
329
- ~index && this[parentKey].splice(index, 1);
330
- params.index = index;
331
- }
332
- else if (this[parentKey] === structureProperty) {
333
- params.index = 0;
334
- this[parentKey] = undefined;
335
- }
336
- }
337
- return params;
338
- };
339
- //================================================================================
340
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
341
- // 自动生成的代码已结束。下面可以手动编写。
342
- //================================================================================
343
- TypeAnnotation.prototype.toUI = function (state) {
344
- return this.headTitle;
345
- };
346
- TypeAnnotation.prototype.traverse = function (callback, enter, leave, onJoin) {
347
- var _this = this;
348
- enter(this);
349
- callback(this);
350
- if (this.typeArguments && ['generic', 'union'].includes(this.typeKind)) {
351
- var l_1 = this.typeArguments.length;
352
- this.typeArguments.forEach(function (arg, idx) {
353
- arg.traverse(callback, enter, leave, onJoin);
354
- if (idx < l_1 - 1) {
355
- onJoin(_this, arg);
356
- }
357
- });
358
- }
359
- leave(this);
360
- };
361
- Object.defineProperty(TypeAnnotation.prototype, "typeKey", {
362
- get: function () {
363
- if (this.typeKind === 'primitive' || this.typeKind === 'reference') {
364
- return this.typeNamespace + "." + this.typeName;
365
- }
366
- else if (this.typeKind === 'generic') {
367
- return this.typeNamespace + "." + this.typeName + "<" + (this.typeArguments || []).map(function (arg) { return arg.typeKey; }) + ">";
368
- }
369
- else if (this.typeKind === 'anonymousStructure') {
370
- return "{ " + this.properties.map(function (_a) {
371
- var name = _a.name, typeAnnotation = _a.typeAnnotation;
372
- return (name + ": " + (typeAnnotation ? typeAnnotation.typeKey : 'any'));
373
- }).join(', ') + " }";
374
- }
375
- else if (this.typeKind === 'union') {
376
- return "" + this.typeArguments.map(function (arg) { return arg.typeKey; }).join(' | ');
377
- }
378
- else {
379
- return this.typeName;
380
- }
381
- },
382
- enumerable: false,
383
- configurable: true
384
- });
385
- Object.defineProperty(TypeAnnotation.prototype, "sortedTypeKey", {
386
- // 排过序的类型标识
387
- get: function () {
388
- if (this.typeKind === 'anonymousStructure') {
389
- // 按匿名数据结构的key排序
390
- return "{" + this.properties.sort(function (_a, _b) {
391
- var name1 = _a.name;
392
- var name2 = _b.name;
393
- return name1 > name2 ? 1 : -1;
394
- }).map(function (_a) {
395
- var name = _a.name, typeAnnotation = _a.typeAnnotation;
396
- return (name + ": " + (typeAnnotation ? typeAnnotation.sortedTypeKey : 'any'));
397
- }).join(', ') + "}";
398
- }
399
- else if (this.typeKind === 'union') {
400
- // 按返回的每个具体项排序
401
- return "" + this.typeArguments.map(function (arg) { return arg.sortedTypeKey; }).sort(function (name1, name2) { return name1 > name2 ? 1 : -1; }).join(' | ');
402
- }
403
- var typeArr = [];
404
- if (this.typeNamespace) {
405
- typeArr.push(this.typeNamespace);
406
- }
407
- if (this.typeName) {
408
- typeArr.push(this.typeName);
409
- }
410
- var typeKey = typeArr.join('.');
411
- if (this.typeKind === 'generic') {
412
- var code = typeKey;
413
- code += '<';
414
- if (Array.isArray(this.typeArguments) && this.typeArguments.length) {
415
- // 必须按typeArguments定义的顺序,否则实参位置不对
416
- code += "" + (this.typeArguments || []).map(function (arg) { return arg.sortedTypeKey; }).join(', ');
417
- }
418
- code += '>';
419
- return code;
420
- }
421
- return typeKey;
422
- },
423
- enumerable: false,
424
- configurable: true
425
- });
426
- Object.defineProperty(TypeAnnotation.prototype, "headTitle", {
427
- /**
428
- * 用于展示的 type 标题
429
- */
430
- get: function () {
431
- var _a, _b, _c, _d;
432
- if (this.typeKind === 'primitive') {
433
- return this.typeName + " " + (exports.PRIMITIVE_TITLE[this.typeName] || '');
434
- }
435
- else if (this.typeKind === 'reference') {
436
- var typeNamespace = this === null || this === void 0 ? void 0 : this.typeNamespace;
437
- var typeTitle = this.typeName;
438
- if (typeNamespace && this.rootNode) {
439
- var entity = (_b = (_a = this.rootNode).findNodeByCompleteName) === null || _b === void 0 ? void 0 : _b.call(_a, [typeNamespace, this === null || this === void 0 ? void 0 : this.typeName].join('.'));
440
- if ((entity === null || entity === void 0 ? void 0 : entity.concept) === 'Entity') {
441
- var dataSourceName = (_c = entity.dataSource) === null || _c === void 0 ? void 0 : _c.name;
442
- if (dataSourceName) {
443
- typeTitle += "\uFF08" + dataSourceName + "\uFF09";
444
- }
445
- }
446
- }
447
- return typeTitle;
448
- }
449
- else if (this.typeKind === 'generic') {
450
- if (this.typeArguments && this.typeArguments.length)
451
- return this.typeName + "<" + (this.typeArguments || []).map(function (arg) { return arg.headTitle || arg.name || 'T'; }).join(', ') + ">";
452
- else
453
- return this.typeName;
454
- }
455
- else if (this.typeKind === 'anonymousStructure') {
456
- return "{ " + ((_d = this.properties) === null || _d === void 0 ? void 0 : _d.map(function (_a) {
457
- var name = _a.name, typeAnnotation = _a.typeAnnotation;
458
- return (name + ": " + typeAnnotation.headTitle);
459
- }).join(', ')) + " }";
460
- }
461
- else if (this.typeKind === 'union') {
462
- return "" + this.typeArguments.map(function (arg) { return arg.typeTitle || arg.name; }).join(' 或 ');
463
- }
464
- else {
465
- return this.typeName;
466
- }
467
- },
468
- enumerable: false,
469
- configurable: true
470
- });
471
- Object.defineProperty(TypeAnnotation.prototype, "typeTitle", {
472
- /**
473
- * 用于展示的 type 标题
474
- */
475
- get: function () {
476
- var _a;
477
- if (this.typeKind === 'primitive') {
478
- return this.typeName + " " + (exports.PRIMITIVE_TITLE[this.typeName] || '');
479
- }
480
- else if (this.typeKind === 'reference') {
481
- return this.typeName;
482
- }
483
- else if (this.typeKind === 'generic') {
484
- return this.typeName + "<" + this.typeArguments.map(function (arg) { return arg.typeTitle || arg.name || 'T'; }).join(', ') + ">";
485
- }
486
- else if (this.typeKind === 'anonymousStructure') {
487
- return "{ " + ((_a = this.properties) === null || _a === void 0 ? void 0 : _a.map(function (_a) {
488
- var name = _a.name, typeAnnotation = _a.typeAnnotation;
489
- return (name + ": " + (typeAnnotation ? typeAnnotation.typeTitle : 'any'));
490
- }).join(', ')) + " }";
491
- }
492
- else if (this.typeKind === 'union') {
493
- return "" + this.typeArguments.map(function (arg) { return arg.typeTitle || arg.name; }).join(' 或 ');
494
- }
495
- else {
496
- return this.typeName;
497
- }
498
- },
499
- enumerable: false,
500
- configurable: true
501
- });
502
- Object.defineProperty(TypeAnnotation.prototype, "typeTitleList", {
503
- get: function () {
504
- var _a, _b;
505
- var typeTitleList = [];
506
- if (this.typeKind === 'anonymousStructure') {
507
- typeTitleList.push({ key: '{' });
508
- var length_1 = (_a = this.properties) === null || _a === void 0 ? void 0 : _a.length;
509
- (_b = this.properties) === null || _b === void 0 ? void 0 : _b.forEach(function (_a, index) {
510
- var name = _a.name, typeAnnotation = _a.typeAnnotation;
511
- if (index === length_1 - 1) {
512
- typeTitleList.push({ key: name, value: "" + (typeAnnotation ? typeAnnotation.typeTitle : 'any') });
513
- }
514
- else {
515
- typeTitleList.push({ key: name, value: "" + (typeAnnotation ? typeAnnotation.typeTitle : 'any'), dot: ',' });
516
- }
517
- });
518
- typeTitleList.push({ key: '}' });
519
- }
520
- else {
521
- typeTitleList.push({ key: this.typeTitle });
522
- }
523
- return typeTitleList;
524
- },
525
- enumerable: false,
526
- configurable: true
527
- });
528
- TypeAnnotation.createPrimitive = function (typeName, source) {
529
- if (PRIMITIVE_TYPE[typeName]) {
530
- return this.from(Object.assign({
531
- typeKind: typeName === 'Union' ? 'union' : 'primitive',
532
- typeName: typeName,
533
- typeNamespace: 'nasl.core'
534
- }, source));
535
- }
536
- };
537
- TypeAnnotation.createReference = function (typeName, source) {
538
- return this.from(Object.assign({
539
- typeKind: 'reference',
540
- typeName: typeName,
541
- typeNamespace: 'nasl.core'
542
- }, source));
543
- };
544
- TypeAnnotation.createGeneric = function (typeName, source) {
545
- return this.from(Object.assign({
546
- typeKind: 'generic',
547
- typeName: typeName,
548
- typeNamespace: 'nasl.collection'
549
- }, source));
550
- };
551
- TypeAnnotation.createTypeParam = function (typeName, source) {
552
- return this.from(Object.assign({
553
- typeKind: 'typeParam',
554
- typeName: typeName
555
- }, source));
556
- };
557
- TypeAnnotation.createTypeAnonymousStructure = function (properties, source) {
558
- return this.from(Object.assign({
559
- typeKind: 'anonymousStructure',
560
- properties: properties
561
- }, source));
562
- };
563
- /**
564
- * 设置类型属性名称
565
- */
566
- TypeAnnotation.prototype.setTypeName = function (typeName) {
567
- var object = {
568
- typeName: typeName
569
- };
570
- this.update(__assign({}, object));
571
- };
572
- /**
573
- * 设置类型属性名称
574
- */
575
- TypeAnnotation.prototype.setTypeNamespace = function (typeNamespace) {
576
- var object = {
577
- typeNamespace: typeNamespace
578
- };
579
- this.update(__assign({}, object));
580
- };
581
- Object.defineProperty(TypeAnnotation.prototype, "tsCalleeNamespace", {
582
- get: function () {
583
- if (this.typeNamespace) {
584
- var tsCalleeNamespace = this.typeNamespace;
585
- tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, function (m) { return m.replace('.', '.$'); });
586
- tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
587
- return tsCalleeNamespace;
588
- }
589
- return '';
590
- },
591
- enumerable: false,
592
- configurable: true
593
- });
594
- TypeAnnotation.prototype.toVue = function (state) {
595
- return JSON.stringify(this);
596
- };
597
- TypeAnnotation.prototype.toJS = function (state) {
598
- return JSON.stringify(this);
599
- };
600
- TypeAnnotation.prototype.toEmbeddedTS = function (state) {
601
- var _this = this;
602
- if (this.typeKind === 'primitive' || this.typeKind === 'reference') {
603
- if (this.typeKind === 'reference' && this.typeNamespace && this.typeNamespace.endsWith('enums')) {
604
- return this.tsCalleeNamespace + "." + this.typeName;
605
- }
606
- return this.tsCalleeNamespace + "." + this.typeName;
607
- }
608
- else if (this.typeKind === 'generic') {
609
- var code_1 = this.tsCalleeNamespace + "." + this.typeName + "<";
610
- (this.typeArguments || []).forEach(function (arg, index) {
611
- code_1 += arg.toEmbeddedTS(translator_1.shiftState(state, code_1, { inline: true }));
612
- if (index !== _this.typeArguments.length - 1)
613
- code_1 += ', ';
614
- });
615
- code_1 += '>';
616
- return code_1;
617
- }
618
- else if (this.typeKind === 'union') {
619
- var code_2 = '';
620
- (this.typeArguments || []).forEach(function (arg, index) {
621
- code_2 += arg.toEmbeddedTS(translator_1.shiftState(state, code_2, { inline: true }));
622
- if (index !== _this.typeArguments.length - 1)
623
- code_2 += ' | ';
624
- });
625
- return code_2;
626
- }
627
- else if (this.typeKind === 'anonymousStructure') {
628
- var code_3 = "{ __name: \"AStructure_" + this.hash + "\", ";
629
- (this.properties || []).forEach(function (property, i) {
630
- var _a;
631
- code_3 += property.name + ": ";
632
- code_3 += "" + (property.typeAnnotation ? property.typeAnnotation.toEmbeddedTS(translator_1.shiftState(state, code_3, { inline: true, tabSize: ((state === null || state === void 0 ? void 0 : state.tabSize) || 0) + 1 })) : 'any');
633
- code_3 += i < ((_a = _this.properties) === null || _a === void 0 ? void 0 : _a.length) - 1 ? ', ' : ' }';
634
- });
635
- return code_3;
636
- }
637
- else {
638
- if (this.tsCalleeNamespace && this.typeName) {
639
- return this.tsCalleeNamespace + "." + this.typeName;
640
- }
641
- else if (this.typeName) {
642
- return this.typeName;
643
- }
644
- else {
645
- return '__IDENTIFIER__';
646
- }
647
- }
648
- };
649
- Object.defineProperty(TypeAnnotation.prototype, "anonymousStructureTypeDesc", {
650
- /**
651
- * 用于标准化数据结构,便于计算 anonymousStructure 的 __name
652
- */
653
- get: function () {
654
- if (this.typeKind === 'generic') {
655
- return this.typeName + "<" + this.typeArguments.map(function (arg) { return arg.anonymousStructureTypeDesc || arg.name || 'T'; }).join(', ') + ">";
656
- }
657
- else if (this.typeKind === 'anonymousStructure') {
658
- return "{ " + __spreadArrays(this.properties).sort(function (_a, _b) {
659
- var aName = _a.name;
660
- var bName = _b.name;
661
- if (aName > bName)
662
- return 1;
663
- return aName < bName ? -1 : 0;
664
- }).map(function (_a) {
665
- var name = _a.name, typeAnnotation = _a.typeAnnotation;
666
- return (name + ": " + (typeAnnotation ? typeAnnotation.anonymousStructureTypeDesc : 'any'));
667
- }).join(', ') + " }";
668
- }
669
- else {
670
- return this.typeName;
671
- }
672
- },
673
- enumerable: false,
674
- configurable: true
675
- });
676
- Object.defineProperty(TypeAnnotation.prototype, "hash", {
677
- /**
678
- * hash 用于比较 anonymousStructure 是否相同
679
- */
680
- get: function () {
681
- return generator_1.genHash(this.anonymousStructureTypeDesc);
682
- },
683
- enumerable: false,
684
- configurable: true
685
- });
686
- TypeAnnotation.prototype.getDefaultValue = function (value) {
687
- var code = '';
688
- if (this.typeKind === 'primitive') {
689
- if (this.typeName === 'String') {
690
- code = " \"" + value + "\" ";
691
- }
692
- else {
693
- if (['Text'].includes(this.typeName)) {
694
- code = " new " + this.typeNamespace + "." + this.typeName + "(\"" + value + "\")";
695
- }
696
- else if (['Boolean'].includes(this.typeName)) {
697
- code = value;
698
- }
699
- else {
700
- code = " new " + this.typeNamespace + "." + this.typeName + "(" + value + ")";
701
- }
702
- }
703
- }
704
- else {
705
- code = " " + this.typeNamespace + "." + this.typeName + "['" + value + "']";
706
- }
707
- return code;
708
- };
709
- /**
710
- *
711
- * @param code 233
712
- *
713
- */
714
- TypeAnnotation.recognize = function (code) {
715
- if (typeof code === 'string') {
716
- var EmailReg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
717
- var TimeReg = /^(\d{1,2})(:\d{1,2})?:(\d{1,2})$/;
718
- var DateReg = /^\d{1,4}(\/|-)\d{1,2}(\/|-)\d{1,2}$/;
719
- var DateTimeReg = /^\d{1,4}(\/|-)\d{1,2}(\/|-)\d{1,2}\s(\d{1,2})(:\d{1,2})?:(\d{1,2})$/;
720
- var BooleanReg = /(false|true|\u662f|\u5426)/i;
721
- if (EmailReg.test(code)) {
722
- return this.createPrimitive('Email');
723
- }
724
- else if (TimeReg.test(code)) {
725
- return this.createPrimitive('Time');
726
- }
727
- else if (BooleanReg.test(code)) {
728
- return this.createPrimitive('Boolean');
729
- }
730
- else if (DateReg.test(code)) {
731
- return this.createPrimitive('Date');
732
- }
733
- else if (DateTimeReg.test(code)) {
734
- return this.createPrimitive('DateTime');
735
- }
736
- else if (!isNaN(Number(code))) {
737
- if (code.indexOf('.') !== -1) {
738
- return this.createPrimitive('Double');
739
- // return this.createPrimitive('Decimal');
740
- }
741
- if (code.length > 8) {
742
- return this.createPrimitive('Long');
743
- }
744
- return this.createPrimitive('Integer');
745
- }
746
- else if (code.length > 255) {
747
- return this.createPrimitive('Text');
748
- }
749
- return this.createPrimitive('String');
750
- }
751
- else {
752
- return this.createPrimitive('Integer');
753
- }
754
- };
755
- // 增加插入泛型子类型
756
- TypeAnnotation.prototype.typeArgumentsPush = function (typeItem) {
757
- if (typeItem instanceof TypeAnnotation_1) {
758
- this.typeArguments.push(TypeAnnotation_1.from(typeItem, {
759
- parentNode: this,
760
- parentKey: 'typeArguments'
761
- }));
762
- }
763
- };
764
- // 是否是复合类型 List|Map|entities|structures
765
- TypeAnnotation.prototype.isComplexType = function () {
766
- var namespaceType = this.typeNamespace.split('.').pop();
767
- return ['Map', 'List'].includes(this.typeName) || (this.typeKind === 'reference' && ['entities', 'structures'].includes(namespaceType));
768
- };
769
- Object.defineProperty(TypeAnnotation.prototype, "sign", {
770
- /* 类型签名 */
771
- get: function () {
772
- var _this = this;
773
- var str = '';
774
- if (['Map', 'List'].includes(this.typeName)) {
775
- str += this.typeName + '<';
776
- (this.typeArguments || []).forEach(function (item, index) {
777
- str += item.sign;
778
- if (index + 1 !== _this.typeArguments.length) {
779
- str += ',';
780
- }
781
- });
782
- str += '>';
783
- }
784
- else {
785
- str += this.typeName;
786
- }
787
- return str;
788
- },
789
- enumerable: false,
790
- configurable: true
791
- });
792
- var TypeAnnotation_1;
793
- __decorate([
794
- decorators_1.property()
795
- ], TypeAnnotation.prototype, "concept");
796
- __decorate([
797
- decorators_1.property()
798
- ], TypeAnnotation.prototype, "typeKind");
799
- __decorate([
800
- decorators_1.property()
801
- ], TypeAnnotation.prototype, "typeNamespace");
802
- __decorate([
803
- decorators_1.property()
804
- ], TypeAnnotation.prototype, "typeName");
805
- __decorate([
806
- decorators_1.property('TypeAnnotation')
807
- ], TypeAnnotation.prototype, "typeArguments");
808
- __decorate([
809
- decorators_1.property('TypeAnnotation')
810
- ], TypeAnnotation.prototype, "returnType");
811
- __decorate([
812
- decorators_1.property()
813
- ], TypeAnnotation.prototype, "inferred");
814
- __decorate([
815
- decorators_1.property('StructureProperty')
816
- ], TypeAnnotation.prototype, "properties");
817
- __decorate([
818
- decorators_1.property()
819
- ], TypeAnnotation.prototype, "ruleMap");
820
- __decorate([
821
- translator_1.withSourceMap()
822
- ], TypeAnnotation.prototype, "toEmbeddedTS");
823
- TypeAnnotation = TypeAnnotation_1 = __decorate([
824
- decorators_1.concept('类型标注')
825
- ], TypeAnnotation);
826
- return TypeAnnotation;
827
- }(BaseNode_1["default"]));
828
- exports.TypeAnnotation = TypeAnnotation;
829
- classMap_1["default"].TypeAnnotation = TypeAnnotation;
830
- exports["default"] = TypeAnnotation;
831
- //================================================================================
832
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
833
- // 自动生成的代码已结束。下面可以手动编写。
834
- //================================================================================