@lcap/nasl 2.14.0-beta.5 → 2.15.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 (137) hide show
  1. package/out/automate/template/process.js +10298 -9487
  2. package/out/automate/template/process.js.map +1 -1
  3. package/out/concepts/AnonymousFunction__.d.ts +170 -0
  4. package/out/concepts/AnonymousFunction__.js +439 -0
  5. package/out/concepts/AnonymousFunction__.js.map +1 -0
  6. package/out/concepts/AssignmentLine__.d.ts +40 -0
  7. package/out/concepts/AssignmentLine__.js +109 -0
  8. package/out/concepts/AssignmentLine__.js.map +1 -0
  9. package/out/concepts/BatchAssignment__.d.ts +248 -0
  10. package/out/concepts/BatchAssignment__.js +742 -0
  11. package/out/concepts/BatchAssignment__.js.map +1 -0
  12. package/out/concepts/BindDirective__.js +2 -2
  13. package/out/concepts/BindDirective__.js.map +1 -1
  14. package/out/concepts/BindStyle__.d.ts +126 -0
  15. package/out/concepts/BindStyle__.js +233 -0
  16. package/out/concepts/BindStyle__.js.map +1 -0
  17. package/out/concepts/ConstructArgument__.d.ts +40 -0
  18. package/out/concepts/ConstructArgument__.js +108 -0
  19. package/out/concepts/ConstructArgument__.js.map +1 -0
  20. package/out/concepts/Construct__.d.ts +189 -0
  21. package/out/concepts/Construct__.js +340 -0
  22. package/out/concepts/Construct__.js.map +1 -0
  23. package/out/concepts/Interface__.d.ts +1 -0
  24. package/out/concepts/Interface__.js +17 -5
  25. package/out/concepts/Interface__.js.map +1 -1
  26. package/out/concepts/MatchCase__.d.ts +256 -0
  27. package/out/concepts/MatchCase__.js +584 -0
  28. package/out/concepts/MatchCase__.js.map +1 -0
  29. package/out/concepts/Match__.d.ts +117 -0
  30. package/out/concepts/Match__.js +434 -0
  31. package/out/concepts/Match__.js.map +1 -0
  32. package/out/concepts/OqlQueryComponent__.d.ts +73 -0
  33. package/out/concepts/OqlQueryComponent__.js +395 -0
  34. package/out/concepts/OqlQueryComponent__.js.map +1 -0
  35. package/out/concepts/ProcessElement__.js +6 -4
  36. package/out/concepts/ProcessElement__.js.map +1 -1
  37. package/out/concepts/SelectMembers__.d.ts +141 -0
  38. package/out/concepts/SelectMembers__.js +290 -0
  39. package/out/concepts/SelectMembers__.js.map +1 -0
  40. package/out/concepts/SqlQueryComponent__.d.ts +4 -0
  41. package/out/concepts/SqlQueryComponent__.js +144 -2
  42. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  43. package/out/concepts/Variable__.js +0 -1
  44. package/out/concepts/Variable__.js.map +1 -1
  45. package/out/concepts/ViewElement__.js +10 -1
  46. package/out/concepts/ViewElement__.js.map +1 -1
  47. package/out/generator/genMetaData.d.ts +10 -1
  48. package/out/generator/genMetaData.js +28 -34
  49. package/out/generator/genMetaData.js.map +1 -1
  50. package/out/server/extendBaseNode.js +17 -4
  51. package/out/server/extendBaseNode.js.map +1 -1
  52. package/out/server/naslServer.js +14 -0
  53. package/out/server/naslServer.js.map +1 -1
  54. package/out/server/stdlib/nasl.annotation.d.ts +4 -0
  55. package/out/server/stdlib/nasl.annotation.js +1 -0
  56. package/out/server/stdlib/nasl.annotation.js.map +1 -0
  57. package/out/server/stdlib/nasl.auth.d.ts +30 -0
  58. package/out/server/stdlib/nasl.auth.js +1 -0
  59. package/out/server/stdlib/nasl.auth.js.map +1 -0
  60. package/out/server/stdlib/nasl.browser.d.ts +5 -0
  61. package/out/server/stdlib/nasl.browser.js +1 -0
  62. package/out/server/stdlib/nasl.browser.js.map +1 -0
  63. package/out/server/stdlib/nasl.collection.d.ts +22 -0
  64. package/out/server/stdlib/nasl.collection.js +1 -0
  65. package/out/server/stdlib/nasl.collection.js.map +1 -0
  66. package/out/server/stdlib/nasl.configuration.d.ts +3 -0
  67. package/out/server/stdlib/nasl.configuration.js +1 -0
  68. package/out/server/stdlib/nasl.configuration.js.map +1 -0
  69. package/out/server/stdlib/nasl.core.d.ts +104 -0
  70. package/out/server/stdlib/nasl.core.js +1 -0
  71. package/out/server/stdlib/nasl.core.js.map +1 -0
  72. package/out/server/stdlib/nasl.interface.d.ts +7 -0
  73. package/out/server/stdlib/nasl.interface.js +1 -0
  74. package/out/server/stdlib/nasl.interface.js.map +1 -0
  75. package/out/server/stdlib/nasl.langUtil.d.ts +28 -0
  76. package/out/server/stdlib/nasl.langUtil.js +1 -0
  77. package/out/server/stdlib/nasl.langUtil.js.map +1 -0
  78. package/out/server/stdlib/nasl.process.d.ts +50 -0
  79. package/out/server/stdlib/nasl.process.js +1 -0
  80. package/out/server/stdlib/nasl.process.js.map +1 -0
  81. package/out/server/stdlib/nasl.ui.d.ts +186 -0
  82. package/out/server/stdlib/nasl.ui.definition.d.ts +1072 -0
  83. package/out/server/stdlib/nasl.ui.definition.js +632 -0
  84. package/out/server/stdlib/nasl.ui.definition.js.map +1 -0
  85. package/out/server/stdlib/nasl.ui.js +1 -0
  86. package/out/server/stdlib/nasl.ui.js.map +1 -0
  87. package/out/server/stdlib/nasl.util.d.ts +74 -0
  88. package/out/server/stdlib/nasl.util.js +4 -0
  89. package/out/server/stdlib/nasl.util.js.map +1 -0
  90. package/out/server/stdlib/nasl.validation.d.ts +32 -0
  91. package/out/server/stdlib/nasl.validation.js +1 -0
  92. package/out/server/stdlib/nasl.validation.js.map +1 -0
  93. package/out/server/translator.js +4 -0
  94. package/out/server/translator.js.map +1 -1
  95. package/out/service/logic/api.d.ts +9 -0
  96. package/out/service/logic/api.js +11 -0
  97. package/out/service/logic/api.js.map +1 -0
  98. package/out/service/logic/index.d.ts +2 -0
  99. package/out/service/logic/index.js +10 -0
  100. package/out/service/logic/index.js.map +1 -0
  101. package/out/templator/genCreateBlock.js +1 -1
  102. package/out/templator/genCreateBlock.js.map +1 -1
  103. package/out/templator/genCurdEditMultipleKeyBlock.js +4 -5
  104. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  105. package/out/templator/genCurdMultipleKeyBlock.js +4 -4
  106. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  107. package/out/templator/genEditTableBlock.js +5 -3
  108. package/out/templator/genEditTableBlock.js.map +1 -1
  109. package/out/templator/genGetBlock.js +3 -2
  110. package/out/templator/genGetBlock.js.map +1 -1
  111. package/out/templator/genTableBlock.js +4 -2
  112. package/out/templator/genTableBlock.js.map +1 -1
  113. package/out/templator/genUpdateBlock.js +1 -1
  114. package/out/templator/genUpdateBlock.js.map +1 -1
  115. package/out/templator/sql-parser/index.d.ts +1 -0
  116. package/out/templator/sql-parser/index.js +228 -0
  117. package/out/templator/sql-parser/index.js.map +1 -0
  118. package/out/templator/sql-parser/parser.js +26664 -0
  119. package/out/templator/sql-parser/parser.js.map +1 -0
  120. package/package.json +1 -1
  121. package/src/concepts/BindDirective__.ts +2 -17
  122. package/src/concepts/Interface__.ts +31 -16
  123. package/src/concepts/ProcessElement__.ts +8 -6
  124. package/src/concepts/SqlQueryComponent__.ts +143 -2
  125. package/src/concepts/Variable__.ts +0 -1
  126. package/src/concepts/ViewElement__.ts +12 -20
  127. package/src/generator/genMetaData.ts +55 -37
  128. package/src/server/extendBaseNode.ts +16 -4
  129. package/src/server/naslServer.ts +14 -0
  130. package/src/server/translator.ts +4 -0
  131. package/src/templator/genCreateBlock.ts +1 -1
  132. package/src/templator/genCurdEditMultipleKeyBlock.ts +4 -7
  133. package/src/templator/genCurdMultipleKeyBlock.ts +4 -4
  134. package/src/templator/genEditTableBlock.ts +5 -3
  135. package/src/templator/genGetBlock.ts +3 -2
  136. package/src/templator/genTableBlock.ts +4 -2
  137. package/src/templator/genUpdateBlock.ts +1 -1
@@ -0,0 +1,170 @@
1
+ import { TranslatorState } from '../translator';
2
+ import { ElementToVueOptions } from './ViewElement__';
3
+ import { Params } from '../common/EventEmitter';
4
+ import BaseNode from '../common/BaseNode';
5
+ import Param from './Param__';
6
+ import LogicItem from './LogicItem__';
7
+ import TypeAnnotation from './TypeAnnotation__';
8
+ import Module from './Module__';
9
+ import App from './App__';
10
+ /**
11
+ * 匿名函数
12
+ */
13
+ export declare class AnonymousFunction extends BaseNode {
14
+ /**
15
+ * 产品概念
16
+ */
17
+ concept: 'AnonymousFunction';
18
+ /**
19
+ * 匿名函数描述
20
+ */
21
+ description: string;
22
+ /**
23
+ * 输入参数列表
24
+ */
25
+ params: Array<Param>;
26
+ /**
27
+ * 逻辑项
28
+ */
29
+ body: LogicItem;
30
+ /**
31
+ * 类型
32
+ */
33
+ typeAnnotation: TypeAnnotation;
34
+ /**
35
+ * 祖先 Module
36
+ */
37
+ get module(): Module;
38
+ /**
39
+ * 祖先 App
40
+ */
41
+ get app(): App;
42
+ /**
43
+ * @param source 需要合并的部分参数
44
+ */
45
+ constructor(source?: Partial<AnonymousFunction>);
46
+ static from(source: any, parentNode?: any, parentKey?: string): AnonymousFunction;
47
+ /**
48
+ * 从父级删除该节点
49
+ * @internal
50
+ */
51
+ _delete(): Params;
52
+ /**
53
+ * 设置匿名函数描述
54
+ */
55
+ setDescription(description: string): void;
56
+ /**
57
+ * 设置逻辑项
58
+ */
59
+ setBody(body: LogicItem): void;
60
+ getParamUniqueName(name?: string): string;
61
+ /**
62
+ * 插入输入参数
63
+ * @internal
64
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
65
+ */
66
+ _insertParamAt(name: string, index: number): Param;
67
+ /**
68
+ * 插入输入参数
69
+ * @internal
70
+ * @param paramOptions 输入参数参数
71
+ */
72
+ _insertParamAt(paramOptions: Partial<Param>, index: number): Param;
73
+ /**
74
+ * 插入输入参数
75
+ * @internal
76
+ * @param param 已有的输入参数实例
77
+ */
78
+ _insertParamAt(param: Param, index: number): Param;
79
+ /**
80
+ * 插入输入参数
81
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
82
+ */
83
+ insertParamAt(name: string, index: number): Param;
84
+ /**
85
+ * 插入输入参数
86
+ * @param paramOptions 输入参数参数
87
+ */
88
+ insertParamAt(paramOptions: Partial<Param>, index: number): Param;
89
+ /**
90
+ * 插入输入参数
91
+ * @param param 已有的输入参数实例
92
+ */
93
+ insertParamAt(param: Param, index: number): Param;
94
+ /**
95
+ * 添加输入参数
96
+ * @internal
97
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
98
+ */
99
+ _addParam(name?: string): Param;
100
+ /**
101
+ * 添加输入参数
102
+ * @internal
103
+ * @param paramOptions 输入参数参数
104
+ */
105
+ _addParam(paramOptions: Partial<Param>): Param;
106
+ /**
107
+ * 添加输入参数
108
+ * @internal
109
+ * @param param 已有的输入参数实例
110
+ */
111
+ _addParam(param: Param): Param;
112
+ /**
113
+ * 添加输入参数
114
+ * @internal
115
+ * @param name 输入参数名称,如果不填会自动生成一个唯一名称
116
+ */
117
+ addParam(name?: string): Param;
118
+ /**
119
+ * 添加输入参数
120
+ * @param paramOptions 输入参数参数
121
+ */
122
+ addParam(paramOptions: Partial<Param>): Param;
123
+ /**
124
+ * 添加输入参数
125
+ * @param param 已有的输入参数实例
126
+ */
127
+ addParam(param: Param): Param;
128
+ /**
129
+ * 删除输入参数
130
+ * @param name 输入参数名称
131
+ */
132
+ removeParam(name: string): void;
133
+ /**
134
+ * 删除输入参数
135
+ * @param param 已有的输入参数实例
136
+ */
137
+ removeParam(param: Param): void;
138
+ __removeParam(param: Param): Params;
139
+ /**
140
+ * 删除逻辑项
141
+ * @param name 逻辑项名称
142
+ */
143
+ removeBody(name: string): void;
144
+ /**
145
+ * 删除逻辑项
146
+ * @param body 已有的逻辑项实例
147
+ */
148
+ removeBody(body: LogicItem): void;
149
+ __removeLogicItem(logicItem: LogicItem): Params;
150
+ /**
151
+ * 删除类型标注
152
+ * @param name 类型标注名称
153
+ */
154
+ removeTypeAnnotation(name: string): void;
155
+ /**
156
+ * 删除类型标注
157
+ * @param typeAnnotation 已有的类型标注实例
158
+ */
159
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
160
+ __removeTypeAnnotation(typeAnnotation: TypeAnnotation): Params;
161
+ toJS(state?: TranslatorState): String;
162
+ getVarExistingNames(excludedList?: Array<Param>): string[];
163
+ getNamespace(): string;
164
+ toEmbeddedTS(state?: TranslatorState): string;
165
+ toVue(options?: ElementToVueOptions): string;
166
+ toUI(state?: TranslatorState): string;
167
+ toEmbeddedTSDefinition(state?: TranslatorState): string;
168
+ checkParamName(): void;
169
+ }
170
+ export default AnonymousFunction;
@@ -0,0 +1,439 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __importDefault = (this && this.__importDefault) || function (mod) {
32
+ return (mod && mod.__esModule) ? mod : { "default": mod };
33
+ };
34
+ var AnonymousFunction_1;
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.AnonymousFunction = void 0;
37
+ const translator_1 = require("../translator");
38
+ const ForEachStatement__1 = __importDefault(require("./ForEachStatement__"));
39
+ const decorators_1 = require("../decorators");
40
+ const utils = __importStar(require("../utils"));
41
+ const BaseNode_1 = __importDefault(require("../common/BaseNode"));
42
+ const classMap_1 = __importDefault(require("../common/classMap"));
43
+ const Param__1 = __importDefault(require("./Param__"));
44
+ /**
45
+ * 匿名函数
46
+ */
47
+ let AnonymousFunction = AnonymousFunction_1 = class AnonymousFunction extends BaseNode_1.default {
48
+ /**
49
+ * 产品概念
50
+ */
51
+ concept = 'AnonymousFunction';
52
+ /**
53
+ * 匿名函数描述
54
+ */
55
+ description = undefined;
56
+ /**
57
+ * 输入参数列表
58
+ */
59
+ params = [];
60
+ /**
61
+ * 逻辑项
62
+ */
63
+ body = undefined;
64
+ /**
65
+ * 类型
66
+ */
67
+ typeAnnotation = undefined;
68
+ /**
69
+ * 祖先 Module
70
+ */
71
+ get module() {
72
+ return this.getAncestor('Module');
73
+ }
74
+ /**
75
+ * 祖先 App
76
+ */
77
+ get app() {
78
+ return this.getAncestor('App');
79
+ }
80
+ /**
81
+ * @param source 需要合并的部分参数
82
+ */
83
+ constructor(source) {
84
+ source = Object.assign({}, AnonymousFunction_1.getDefaultOptions(), source);
85
+ super(source);
86
+ super.subConstructor(source);
87
+ }
88
+ static from(source, parentNode, parentKey) {
89
+ return super.from(source, parentNode, parentKey);
90
+ }
91
+ /**
92
+ * 从父级删除该节点
93
+ * @internal
94
+ */
95
+ _delete() {
96
+ let params = null;
97
+ if (this.parentNode) {
98
+ params = this.parentNode?.__removeAnonymousFunction?.(this);
99
+ }
100
+ return params;
101
+ }
102
+ /**
103
+ * 设置匿名函数描述
104
+ */
105
+ setDescription(description) {
106
+ const object = {
107
+ description,
108
+ };
109
+ this.update({
110
+ ...object,
111
+ });
112
+ }
113
+ /**
114
+ * 设置逻辑项
115
+ */
116
+ setBody(body) {
117
+ body._delete();
118
+ const relationOptions = { parentNode: this, parentKey: 'body' };
119
+ Object.assign(body, relationOptions);
120
+ const object = {
121
+ body,
122
+ };
123
+ this.update({
124
+ ...object,
125
+ });
126
+ }
127
+ getParamUniqueName(name = 'param1') {
128
+ return utils.unique(name, this.getVarExistingNames(), undefined, false);
129
+ }
130
+ _insertParamAt(options, index) {
131
+ const paramOptions = {};
132
+ const relationOptions = { parentNode: this, parentKey: 'params' };
133
+ let param;
134
+ if (!options) {
135
+ param = Param__1.default.from({
136
+ ...paramOptions,
137
+ name: this.getParamUniqueName(),
138
+ }, this, 'params');
139
+ }
140
+ else if (typeof options === 'string') {
141
+ param = Param__1.default.from({
142
+ ...paramOptions,
143
+ name: options,
144
+ }, this, 'params');
145
+ }
146
+ else if (options instanceof Param__1.default) {
147
+ options.ensureDelete(); // 同一实例不支持多处存在
148
+ param = options;
149
+ Object.assign(param, relationOptions);
150
+ }
151
+ else {
152
+ param = Param__1.default.from({
153
+ ...paramOptions,
154
+ ...options,
155
+ }, this, 'params');
156
+ }
157
+ this.params.splice(index, 0, param);
158
+ return param;
159
+ }
160
+ insertParamAt(options, index) {
161
+ const node = this._insertParamAt(options, index);
162
+ node.create({
163
+ index,
164
+ parentNode: this,
165
+ parentKey: 'params',
166
+ });
167
+ return node;
168
+ }
169
+ _addParam(options) {
170
+ const index = this.params.length;
171
+ return this._insertParamAt(options, index);
172
+ }
173
+ addParam(options) {
174
+ const node = this._addParam(options);
175
+ const index = this.params.indexOf(node);
176
+ node.create({
177
+ index,
178
+ parentNode: this,
179
+ parentKey: 'params',
180
+ });
181
+ return node;
182
+ }
183
+ removeParam(options) {
184
+ let param;
185
+ if (typeof options === 'string') {
186
+ param = this.params.find((item) => item.name === options);
187
+ if (!param) {
188
+ throw new Error('找不到输入参数 ' + options);
189
+ }
190
+ }
191
+ else {
192
+ param = options;
193
+ }
194
+ return param.delete();
195
+ }
196
+ __removeParam(param) {
197
+ const parentKey = param.parentKey;
198
+ const params = {
199
+ parentNode: this,
200
+ parentKey,
201
+ index: -1,
202
+ object: null,
203
+ oldObject: param,
204
+ };
205
+ if (parentKey) {
206
+ params.parentKey = parentKey;
207
+ if (Array.isArray(this[parentKey])) {
208
+ const index = this[parentKey].indexOf(param);
209
+ ~index && this[parentKey].splice(index, 1);
210
+ params.index = index;
211
+ }
212
+ else if (this[parentKey] === param) {
213
+ params.index = 0;
214
+ this[parentKey] = undefined;
215
+ }
216
+ }
217
+ return params;
218
+ }
219
+ removeBody(options) {
220
+ let body;
221
+ if (typeof options === 'string') {
222
+ body = this.body;
223
+ if (!body) {
224
+ throw new Error('找不到逻辑项 ' + options);
225
+ }
226
+ }
227
+ else {
228
+ body = options;
229
+ }
230
+ return body.delete();
231
+ }
232
+ __removeLogicItem(logicItem) {
233
+ const parentKey = logicItem.parentKey;
234
+ const params = {
235
+ parentNode: this,
236
+ parentKey,
237
+ index: -1,
238
+ object: null,
239
+ oldObject: logicItem,
240
+ };
241
+ if (parentKey) {
242
+ params.parentKey = parentKey;
243
+ if (Array.isArray(this[parentKey])) {
244
+ const index = this[parentKey].indexOf(logicItem);
245
+ ~index && this[parentKey].splice(index, 1);
246
+ params.index = index;
247
+ }
248
+ else if (this[parentKey] === logicItem) {
249
+ params.index = 0;
250
+ this[parentKey] = undefined;
251
+ }
252
+ }
253
+ return params;
254
+ }
255
+ removeTypeAnnotation(options) {
256
+ let typeAnnotation;
257
+ if (typeof options === 'string') {
258
+ typeAnnotation = this.typeAnnotation;
259
+ if (!typeAnnotation) {
260
+ throw new Error('找不到类型标注 ' + options);
261
+ }
262
+ }
263
+ else {
264
+ typeAnnotation = options;
265
+ }
266
+ return typeAnnotation.delete();
267
+ }
268
+ __removeTypeAnnotation(typeAnnotation) {
269
+ const parentKey = typeAnnotation.parentKey;
270
+ const params = {
271
+ parentNode: this,
272
+ parentKey,
273
+ index: -1,
274
+ object: null,
275
+ oldObject: typeAnnotation,
276
+ };
277
+ if (parentKey) {
278
+ params.parentKey = parentKey;
279
+ if (Array.isArray(this[parentKey])) {
280
+ const index = this[parentKey].indexOf(typeAnnotation);
281
+ ~index && this[parentKey].splice(index, 1);
282
+ params.index = index;
283
+ }
284
+ else if (this[parentKey] === typeAnnotation) {
285
+ params.index = 0;
286
+ this[parentKey] = undefined;
287
+ }
288
+ }
289
+ return params;
290
+ }
291
+ //================================================================================
292
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
293
+ // 自动生成的代码已结束。下面可以手动编写。
294
+ //================================================================================
295
+ toJS(state) {
296
+ let code = '';
297
+ code += '(';
298
+ this.params.forEach((param, index) => {
299
+ code += param.toJS((0, translator_1.shiftState)(state, code));
300
+ if (index !== this.params.length - 1) {
301
+ code += ',';
302
+ }
303
+ });
304
+ code += ')';
305
+ code += ' => (';
306
+ if (this.body) {
307
+ code += this.body.toJS((0, translator_1.shiftState)(state, code));
308
+ }
309
+ code += ')';
310
+ return code;
311
+ }
312
+ getVarExistingNames(excludedList = []) {
313
+ const excludedSet = new Set(excludedList);
314
+ return [...this.params].filter((item) => !excludedSet.has(item)).map((item) => item.name);
315
+ }
316
+ getNamespace() {
317
+ if (this.parentNode) {
318
+ let parentNodeNamespace = '';
319
+ if (this.parentNode.getNamespace) {
320
+ parentNodeNamespace = [this.parentNode.getNamespace(), this.parentNode.name].join('.');
321
+ }
322
+ return `${parentNodeNamespace}`;
323
+ }
324
+ else
325
+ throw new Error('无法获取命名空间,请设置 parentNode!');
326
+ }
327
+ toEmbeddedTS(state) {
328
+ let code = '';
329
+ if (this.body) {
330
+ code += `(`;
331
+ this.params.forEach((param, index) => {
332
+ code += param.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
333
+ if (index !== this.params.length - 1)
334
+ code += ', ';
335
+ });
336
+ code += `)`;
337
+ code += ` => (`;
338
+ if (this.body) {
339
+ code += this.body.toEmbeddedTS && this.body.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 }));
340
+ }
341
+ code += (0, translator_1.indent)(state.tabSize) + ')';
342
+ }
343
+ else {
344
+ code += '__IDENTIFIER__';
345
+ }
346
+ return code;
347
+ }
348
+ toVue(options) {
349
+ let code = '(';
350
+ this.params.forEach((param, index) => {
351
+ code += param.name;
352
+ if (index !== this.params.length - 1)
353
+ code += ', ';
354
+ });
355
+ code += `)`;
356
+ code += ` => (`;
357
+ if (this.body) {
358
+ code += this.body.toVue && this.body.toVue();
359
+ }
360
+ code += ')';
361
+ return code;
362
+ }
363
+ toUI(state) {
364
+ let code = '(';
365
+ this.params.forEach((param, index) => {
366
+ code += param.name;
367
+ if (index !== this.params.length - 1)
368
+ code += ', ';
369
+ });
370
+ code += `)`;
371
+ code += ` => (`;
372
+ if (this.body) {
373
+ code += this.body.toUI && this.body.toUI();
374
+ }
375
+ code += ')';
376
+ return code;
377
+ }
378
+ toEmbeddedTSDefinition(state) {
379
+ let code = '(';
380
+ this.params.forEach((param, index) => {
381
+ code += param.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
382
+ if (index !== this.params.length - 1)
383
+ code += ', ';
384
+ });
385
+ code += `) => (`;
386
+ code += 'any';
387
+ code += (0, translator_1.indent)(state.tabSize) + ')';
388
+ return code;
389
+ }
390
+ checkParamName() {
391
+ let node = this;
392
+ const names = new Set();
393
+ while (node && node.concept !== 'Logic') {
394
+ node = node.parentNode;
395
+ if (node instanceof AnonymousFunction_1) {
396
+ node.params.forEach((param) => {
397
+ names.add(param.name);
398
+ });
399
+ }
400
+ if (node instanceof ForEachStatement__1.default) {
401
+ names.add(node.item.name);
402
+ names.add(node.index.name);
403
+ }
404
+ }
405
+ this.params.forEach((param) => {
406
+ const name = utils.unique(param.name, names);
407
+ param.name = name;
408
+ });
409
+ }
410
+ };
411
+ __decorate([
412
+ (0, decorators_1.property)()
413
+ ], AnonymousFunction.prototype, "concept", void 0);
414
+ __decorate([
415
+ (0, decorators_1.property)()
416
+ ], AnonymousFunction.prototype, "description", void 0);
417
+ __decorate([
418
+ (0, decorators_1.property)('Param')
419
+ ], AnonymousFunction.prototype, "params", void 0);
420
+ __decorate([
421
+ (0, decorators_1.property)('LogicItem')
422
+ ], AnonymousFunction.prototype, "body", void 0);
423
+ __decorate([
424
+ (0, decorators_1.property)('TypeAnnotation')
425
+ ], AnonymousFunction.prototype, "typeAnnotation", void 0);
426
+ __decorate([
427
+ (0, translator_1.withSourceMap)()
428
+ ], AnonymousFunction.prototype, "toEmbeddedTS", null);
429
+ AnonymousFunction = AnonymousFunction_1 = __decorate([
430
+ (0, decorators_1.concept)('匿名函数')
431
+ ], AnonymousFunction);
432
+ exports.AnonymousFunction = AnonymousFunction;
433
+ classMap_1.default.AnonymousFunction = AnonymousFunction;
434
+ exports.default = AnonymousFunction;
435
+ //================================================================================
436
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
437
+ // 自动生成的代码已结束。下面可以手动编写。
438
+ //================================================================================
439
+ //# sourceMappingURL=AnonymousFunction__.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnonymousFunction__.js","sourceRoot":"","sources":["../../src/concepts/AnonymousFunction__.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { TranslatorState } from '../translator';
2
+ import { Params } from '../common/EventEmitter';
3
+ import BaseNode from '../common/BaseNode';
4
+ /**
5
+ * 枚举
6
+ */
7
+ export declare class AssignmentLine extends BaseNode {
8
+ /**
9
+ * 产品概念
10
+ */
11
+ concept: 'AssignmentLine';
12
+ /**
13
+ * 左侧序号
14
+ */
15
+ leftIndex: Array<number>;
16
+ /**
17
+ * 右侧序号
18
+ */
19
+ rightIndex: Array<number>;
20
+ /**
21
+ * @param source 需要合并的部分参数
22
+ */
23
+ constructor(source?: Partial<AssignmentLine>);
24
+ static from(source: any, parentNode?: any, parentKey?: string): AssignmentLine;
25
+ /**
26
+ * 从父级删除该节点
27
+ * @internal
28
+ */
29
+ _delete(): Params;
30
+ /**
31
+ * 设置左侧序号
32
+ */
33
+ setLeftIndex(leftIndex: Array<number>): void;
34
+ /**
35
+ * 设置右侧序号
36
+ */
37
+ setRightIndex(rightIndex: Array<number>): void;
38
+ toEmbeddedTS(state?: TranslatorState): string;
39
+ }
40
+ export default AssignmentLine;