@lcap/nasl 3.8.0-beta.8 → 3.8.2-alpha.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 (113) hide show
  1. package/.nyc_output/fe4ca6db-1eb6-4898-8aa5-ba8f8d4128f2.json +1 -0
  2. package/.nyc_output/processinfo/fe4ca6db-1eb6-4898-8aa5-ba8f8d4128f2.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/coverage/cobertura-coverage.xml +9325 -77393
  5. package/out/concepts/AuthLogicForCallInterface__.js +13 -2
  6. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  7. package/out/concepts/BackendVariable__.js +11 -1
  8. package/out/concepts/BackendVariable__.js.map +1 -1
  9. package/out/concepts/BindDirective__.js +1 -1
  10. package/out/concepts/BindDirective__.js.map +1 -1
  11. package/out/concepts/BindStyle__.js +1 -1
  12. package/out/concepts/BindStyle__.js.map +1 -1
  13. package/out/concepts/BusinessComponent__.js +14 -3
  14. package/out/concepts/BusinessComponent__.js.map +1 -1
  15. package/out/concepts/BusinessLogic__.js +13 -2
  16. package/out/concepts/BusinessLogic__.js.map +1 -1
  17. package/out/concepts/CallConnector__.js +2 -1
  18. package/out/concepts/CallConnector__.js.map +1 -1
  19. package/out/concepts/CallInterface__.js +12 -3
  20. package/out/concepts/CallInterface__.js.map +1 -1
  21. package/out/concepts/CallLogic__.js +24 -1
  22. package/out/concepts/CallLogic__.js.map +1 -1
  23. package/out/concepts/EntityProperty__.js +3 -2
  24. package/out/concepts/EntityProperty__.js.map +1 -1
  25. package/out/concepts/Entity__.js +1 -1
  26. package/out/concepts/Entity__.js.map +1 -1
  27. package/out/concepts/EnumItem__.js +2 -2
  28. package/out/concepts/EnumItem__.js.map +1 -1
  29. package/out/concepts/Interface__.js +1 -1
  30. package/out/concepts/Interface__.js.map +1 -1
  31. package/out/concepts/Logic__.js +13 -2
  32. package/out/concepts/Logic__.js.map +1 -1
  33. package/out/concepts/NewComposite__.d.ts +1 -0
  34. package/out/concepts/NewComposite__.js +23 -0
  35. package/out/concepts/NewComposite__.js.map +1 -1
  36. package/out/concepts/OverriddenLogic__.js +13 -2
  37. package/out/concepts/OverriddenLogic__.js.map +1 -1
  38. package/out/concepts/Param__.js +1 -1
  39. package/out/concepts/Param__.js.map +1 -1
  40. package/out/concepts/Structure__.js +1 -3
  41. package/out/concepts/Structure__.js.map +1 -1
  42. package/out/concepts/SubLogic__.js +13 -2
  43. package/out/concepts/SubLogic__.js.map +1 -1
  44. package/out/concepts/TypeAnnotation__.js +6 -3
  45. package/out/concepts/TypeAnnotation__.js.map +1 -1
  46. package/out/concepts/ViewComponentDeclaration__.js +3 -3
  47. package/out/concepts/ViewComponentDeclaration__.js.map +1 -1
  48. package/out/concepts/ViewElement__.d.ts +2 -0
  49. package/out/concepts/ViewElement__.js +60 -19
  50. package/out/concepts/ViewElement__.js.map +1 -1
  51. package/out/concepts/View__.js +24 -2
  52. package/out/concepts/View__.js.map +1 -1
  53. package/out/generator/genBundleFiles.js +1 -1
  54. package/out/generator/genBundleFiles.js.map +1 -1
  55. package/out/natural/genNaturalTS.d.ts +69 -16
  56. package/out/natural/genNaturalTS.js +198 -117
  57. package/out/natural/genNaturalTS.js.map +1 -1
  58. package/out/natural/getContext/index.d.ts +38 -26
  59. package/out/natural/getContext/index.js +318 -160
  60. package/out/natural/getContext/index.js.map +1 -1
  61. package/out/natural/index.d.ts +1 -0
  62. package/out/natural/index.js +1 -0
  63. package/out/natural/index.js.map +1 -1
  64. package/out/natural/tools.d.ts +11 -0
  65. package/out/natural/tools.js +162 -0
  66. package/out/natural/tools.js.map +1 -0
  67. package/out/natural/transformTS2UI.js +63 -26
  68. package/out/natural/transformTS2UI.js.map +1 -1
  69. package/out/natural/transformTSCode.js +26 -15
  70. package/out/natural/transformTSCode.js.map +1 -1
  71. package/out/server/naslServer.js +1 -0
  72. package/out/server/naslServer.js.map +1 -1
  73. package/out/translator/utils.js +1 -1
  74. package/out/translator/utils.js.map +1 -1
  75. package/package.json +1 -1
  76. package/sandbox/stdlib/nasl.util.ts +2 -2
  77. package/sandbox-natural/stdlib/nasl.core.ts +11 -0
  78. package/sandbox-natural/stdlib/nasl.ui.pre.d.ts +37 -37
  79. package/sandbox-natural/stdlib/nasl.util.ts +6 -6
  80. package/src/concepts/AuthLogicForCallInterface__.ts +13 -1
  81. package/src/concepts/BackendVariable__.ts +11 -1
  82. package/src/concepts/BindDirective__.ts +1 -1
  83. package/src/concepts/BindStyle__.ts +1 -1
  84. package/src/concepts/BusinessComponent__.ts +14 -2
  85. package/src/concepts/BusinessLogic__.ts +13 -1
  86. package/src/concepts/CallConnector__.ts +2 -1
  87. package/src/concepts/CallInterface__.ts +10 -3
  88. package/src/concepts/CallLogic__.ts +34 -14
  89. package/src/concepts/EntityProperty__.ts +5 -5
  90. package/src/concepts/Entity__.ts +1 -1
  91. package/src/concepts/EnumItem__.ts +2 -2
  92. package/src/concepts/Interface__.ts +1 -1
  93. package/src/concepts/Logic__.ts +13 -1
  94. package/src/concepts/NewComposite__.ts +24 -0
  95. package/src/concepts/OverriddenLogic__.ts +13 -1
  96. package/src/concepts/Param__.ts +1 -1
  97. package/src/concepts/Structure__.ts +1 -3
  98. package/src/concepts/SubLogic__.ts +13 -1
  99. package/src/concepts/TypeAnnotation__.ts +5 -3
  100. package/src/concepts/ViewComponentDeclaration__.ts +3 -3
  101. package/src/concepts/ViewElement__.ts +78 -19
  102. package/src/concepts/View__.ts +48 -24
  103. package/src/generator/genBundleFiles.ts +1 -1
  104. package/src/natural/genNaturalTS.ts +363 -147
  105. package/src/natural/getContext/index.ts +363 -175
  106. package/src/natural/index.ts +1 -0
  107. package/src/natural/tools.ts +138 -0
  108. package/src/natural/transformTS2UI.ts +60 -25
  109. package/src/natural/transformTSCode.ts +26 -16
  110. package/src/server/naslServer.ts +1 -0
  111. package/src/translator/utils.ts +1 -1
  112. package/.nyc_output/047fb941-6e69-4829-8b3c-14d37e06c63b.json +0 -1
  113. package/.nyc_output/processinfo/047fb941-6e69-4829-8b3c-14d37e06c63b.json +0 -1
@@ -242,7 +242,7 @@ function transfromUnionTypeAnnotation(expTypeAnnotation, app) {
242
242
  exports.transfromUnionTypeAnnotation = transfromUnionTypeAnnotation;
243
243
  function createDescriptionComment(state, node, properties) {
244
244
  const content = properties.map((prop) => node[prop]).filter((value) => !!value).join(' ');
245
- return content.trim() ? `/** ${content} */\n${(0, exports.indent)(state.tabSize)}` : '';
245
+ return content.trim() ? `/* ${content} */\n${(0, exports.indent)(state.tabSize)}` : '';
246
246
  }
247
247
  exports.createDescriptionComment = createDescriptionComment;
248
248
  function createDecoratorCode(state, node, properties, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/translator/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/translator/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lcap/nasl",
3
3
  "description": "NetEase Application Specific Language",
4
- "version": "3.8.0-beta.8",
4
+ "version": "3.8.2-alpha.1",
5
5
  "author": "Forrest <rainforest92@126.com>",
6
6
  "main": "./out",
7
7
  "license": "MIT",
@@ -159,6 +159,6 @@ declare namespace nasl.util {
159
159
  : ReturnType<T>
160
160
  : ReturnType<T>;
161
161
 
162
- // Enum类型转换成String类型
163
- export type _formatEnum<T> = T extends nasl.core.Enums<any> ? (T | nasl.core.String) : T;
162
+ // Enum类型转换成any类型
163
+ export type _formatEnum<T> = T extends nasl.core.Enums<any> ? any : T;
164
164
  }
@@ -34,3 +34,14 @@ declare function minus(left: Decimal, right: Decimal): Decimal;
34
34
  declare function multiply(left: Decimal, right: Decimal): Decimal;
35
35
  declare function divide(left: Decimal, right: Decimal): Decimal;
36
36
  declare function remainder(left: Decimal, right: Decimal): Decimal;
37
+
38
+ declare namespace nasl.auth {
39
+ /* 检查当前用户是否有当前资源的权限 */
40
+ export function hasAuth(authPath: String): Boolean;
41
+ /* 退出当前登录状态 */
42
+ export function logout(): Promise<void>;
43
+ /* 对字符串 实现aes解密,返回解密后的字符串 */
44
+ export function encryptByAES(authPath: String): String;
45
+ /* 对字符串 实现aes加密,返回加密后的字符串 */
46
+ export function decryptByAES(authPath: String): String;
47
+ }
@@ -6,77 +6,77 @@ declare namespace nasl.ui {
6
6
  title: '显示条件',
7
7
  description: '是否展示组件',
8
8
  })
9
- _if: nasl.core.Boolean;
9
+ _if: Boolean;
10
10
 
11
11
  @Prop({
12
12
  title: '工具提示',
13
13
  description: '在鼠标悬停时显示的文字',
14
14
  })
15
- _tooltip: nasl.core.String;
15
+ _tooltip: String;
16
16
 
17
17
  @Prop({
18
18
  title: '样式',
19
19
  description: '任意组件的样式,使用 inline CSS',
20
20
  })
21
- _staticStyle: nasl.core.String;
21
+ _staticStyle: String;
22
22
 
23
23
  @Prop({
24
24
  title: '动态文本颜色',
25
25
  description: '动态调整文本颜色,CSS 的 color 值',
26
26
  })
27
- _color: nasl.color.String;
27
+ _color: String;
28
28
 
29
29
  @Prop({
30
30
  title: '动态背景颜色',
31
31
  description: '动态调整背景颜色,CSS 的 background-color 值',
32
32
  })
33
- _backgroundColor: nasl.color.String;
33
+ _backgroundColor: String;
34
34
 
35
35
  @Prop({
36
36
  title: '动态背景图片',
37
37
  description: '动态调整背景图片,CSS 的 background-image 值',
38
38
  })
39
- _backgroundImage: nasl.color.String;
39
+ _backgroundImage: String;
40
40
  }
41
41
 
42
42
  export interface MouseEvent {
43
- altKey: nasl.core.Boolean;
44
- button: nasl.core.Integer;
45
- clientX: nasl.core.Integer;
46
- clientY: nasl.core.Integer;
47
- ctrlKey: nasl.core.Boolean;
48
- metaKey: nasl.core.Boolean;
49
- movementX: nasl.core.Integer;
50
- movementY: nasl.core.Integer;
51
- offsetX: nasl.core.Integer;
52
- offsetY: nasl.core.Integer;
53
- pageX: nasl.core.Integer;
54
- pageY: nasl.core.Integer;
55
- screenX: nasl.core.Integer;
56
- screenY: nasl.core.Integer;
57
- which: nasl.core.Integer;
43
+ altKey: Boolean;
44
+ button: Integer;
45
+ clientX: Integer;
46
+ clientY: Integer;
47
+ ctrlKey: Boolean;
48
+ metaKey: Boolean;
49
+ movementX: Integer;
50
+ movementY: Integer;
51
+ offsetX: Integer;
52
+ offsetY: Integer;
53
+ pageX: Integer;
54
+ pageY: Integer;
55
+ screenX: Integer;
56
+ screenY: Integer;
57
+ which: Integer;
58
58
  }
59
59
 
60
60
  export interface FocusEvent {
61
- cancelBubble: nasl.core.Boolean;
62
- detail: nasl.core.String;
63
- layerX: nasl.core.Integer;
64
- layerY: nasl.core.Integer;
65
- pageX: nasl.core.Integer;
66
- pageY: nasl.core.Integer;
67
- which: nasl.core.Integer;
61
+ cancelBubble: Boolean;
62
+ detail: String;
63
+ layerX: Integer;
64
+ layerY: Integer;
65
+ pageX: Integer;
66
+ pageY: Integer;
67
+ which: Integer;
68
68
  }
69
69
 
70
70
  export interface ValidateResult {
71
- rawValue: nasl.core.String;
72
- value: nasl.core.String;
73
- trigger: nasl.core.String;
74
- muted: nasl.core.String;
75
- valid: nasl.core.Boolean;
76
- touched: nasl.core.Boolean;
77
- dirty: nasl.core.Boolean;
78
- firstError: nasl.core.String;
79
- triggerValid: nasl.core.Boolean;
71
+ rawValue: String;
72
+ value: String;
73
+ trigger: String;
74
+ muted: String;
75
+ valid: Boolean;
76
+ touched: Boolean;
77
+ dirty: Boolean;
78
+ firstError: String;
79
+ triggerValid: Boolean;
80
80
  }
81
81
 
82
82
  export function showMessage(text: Any): void;
@@ -1,7 +1,7 @@
1
1
  declare namespace nasl.util {
2
2
  // 类型转换与格式化函数
3
3
  export function Convert(value: null): <T extends never>() => T;
4
- export function FormatNumber(doubleValue: Decimal | Integer, digits: Integer, showGroups: Boolean): String;
4
+ export function FormatNumber(doubleValue: Decimal | Long, digits: Long, showGroups: Boolean): String;
5
5
  /**
6
6
  * @example nasl.util.FormatDateTime(dataTime1, 'yyyy-MM-dd HH:mm:ss', 'global')
7
7
  */
@@ -10,7 +10,7 @@ declare namespace nasl.util {
10
10
  /**
11
11
  * @example nasl.util.FromString<Date>(variable1)
12
12
  */
13
- export function FromString<T extends Decimal | Date | Time | DateTime | Integer | Boolean>(value: String): T;
13
+ export function FromString<T extends Decimal | Date | Time | DateTime | Long | Boolean>(value: String): T;
14
14
  export function ToString(value: Any): String;
15
15
 
16
16
  // 字符串函数
@@ -22,7 +22,7 @@ declare namespace nasl.util {
22
22
  export function LastIndexOf(str: String, search: String, ignoreCase: Boolean): Decimal;
23
23
  export function Replace(str: String, search: String, replace: String): String;
24
24
  export function Split(str: String, seperator: String): List<String>;
25
- export function SubString(str: String, start: Decimal, length: Integer): String;
25
+ export function SubString(str: String, start: Decimal, length: Long): String;
26
26
  export function ToLower(str1: String): String;
27
27
  export function ToUpper(str1: String): String;
28
28
  export function Trim(str1: String): String;
@@ -58,12 +58,12 @@ declare namespace nasl.util {
58
58
  export function ListReverse<T>(list: List<T>): void;
59
59
  export function ListSlice<T>(list: List<T>, start: Decimal, end: Decimal): List<T>;
60
60
  export function ListSort<T>(list: List<T>, by: (item: T) => any, sort: Boolean): void;
61
- export function ListSum<T extends Integer | Decimal>(list: List<T>): T;
61
+ export function ListSum<T extends Long | Decimal>(list: List<T>): T;
62
62
  export function ListToMap<T, K extends Boolean | Decimal | Decimal | String, V>(map: List<T>, byKey: (elem: T) => K, byVal: (elem: T) => V): Map<K, V>;
63
63
  export function ListTransform<T0, T>(list: List<T0>, by: (elem: T0) => T): List<T>;
64
64
  export function Get<T>(list: List<T>, index: Decimal): T;
65
65
  export function Remove<T, K extends T>(list: List<T>, item: K): void;
66
- export function RemoveAt<T>(list: List<T>, index: Integer): T;
66
+ export function RemoveAt<T>(list: List<T>, index: Long): T;
67
67
  export function Set<T, K extends T>(list: List<T>, index: Decimal, item: K): T;
68
68
 
69
69
  // 映射(Map)函数
@@ -96,7 +96,7 @@ declare namespace nasl.util {
96
96
  export function Clone<T>(struct: T): T;
97
97
  export function HasValue(...args: Any[]): Boolean;
98
98
  // RandomInt 生成的数字为整数,如果需要指定位数的随机数,需要在数字前按照位数要求补 0
99
- export function RandomInt(start: Integer, end: Integer): Integer;
99
+ export function RandomInt(start: Long, end: Long): Long;
100
100
 
101
101
  // New 系列函数使用
102
102
  /**
@@ -543,8 +543,20 @@ export class AuthLogicForCallInterface extends AuthLogic {
543
543
  function* warpForEachGenerator({ key, node: itemNode }) {
544
544
  if (itemNode) {
545
545
  code += `const __${key}_${node?.name} = `;
546
- const itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
546
+ let itemCode = '';
547
+ if (
548
+ asserts.isNewComposite(itemNode)
549
+ || asserts.isNewList(itemNode)
550
+ || asserts.isNewMap(itemNode)
551
+ ) {
552
+ itemCode += yield* itemNode?.getInitCode(shiftState(state, code, {
553
+ inline: true
554
+ })) ??
547
555
  returnOrigin('');
556
+ } else {
557
+ itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
558
+ returnOrigin('');
559
+ }
548
560
  code += yield* self.getRightCode(itemCode, assignment, itemNode);
549
561
  code += ';\n';
550
562
  }
@@ -438,7 +438,17 @@ export class BackendVariable extends BaseNode {
438
438
 
439
439
  @withSourceMap()
440
440
  toNaturalTS(state = createCompilerState()): string {
441
- return '';
441
+ let code = this.name;
442
+ if (this.typeAnnotation) {
443
+ code += ': ';
444
+ code += this.typeAnnotation.toNaturalTS(shiftState(state, code));
445
+ if (this.typeAnnotation?.typeKind !== 'primitive' && this.defaultValue) {
446
+ if (this.isEnum()) {
447
+ code += `= ${this.typeAnnotation.typeKey}['${this.defaultValue}']`;
448
+ }
449
+ }
450
+ }
451
+ return code;
442
452
  }
443
453
  //================================================================================
444
454
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -570,7 +570,7 @@ export class BindDirective extends BaseNode {
570
570
 
571
571
  @withSourceMap()
572
572
  toNaturalTS(state = createCompilerState()): string {
573
- let code = `${this.name}: `;
573
+ let code = `_${this.name}: `;
574
574
 
575
575
  code += this.expression?.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize, inline: true }));
576
576
 
@@ -471,7 +471,7 @@ export class BindStyle extends BaseNode {
471
471
 
472
472
  @withSourceMap()
473
473
  toNaturalTS(state = createCompilerState()): string {
474
- let code = `${this.name}: `;
474
+ let code = `_${this.name}: `;
475
475
 
476
476
  code += this.expression?.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize, inline: true }));
477
477
 
@@ -1657,7 +1657,7 @@ export class BusinessComponent extends BaseNode {
1657
1657
  logics: [newLogic],
1658
1658
  },
1659
1659
  this,
1660
- 'events',
1660
+ 'bindEvents',
1661
1661
  );
1662
1662
  this.addBindEvent(event);
1663
1663
  } else {
@@ -2146,8 +2146,20 @@ export class BusinessComponent extends BaseNode {
2146
2146
  function* warpForEachGenerator({ key, node: itemNode }) {
2147
2147
  if (itemNode) {
2148
2148
  code += `const __${key}_${node?.name} = `;
2149
- const itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
2149
+ let itemCode = '';
2150
+ if (
2151
+ asserts.isNewComposite(itemNode)
2152
+ || asserts.isNewList(itemNode)
2153
+ || asserts.isNewMap(itemNode)
2154
+ ) {
2155
+ itemCode += yield* itemNode?.getInitCode(shiftState(state, code, {
2156
+ inline: true
2157
+ })) ??
2150
2158
  returnOrigin('');
2159
+ } else {
2160
+ itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
2161
+ returnOrigin('');
2162
+ }
2151
2163
  code += yield* self.getRightCode(itemCode, assignment, itemNode);
2152
2164
  code += ';\n';
2153
2165
  }
@@ -352,8 +352,20 @@ export class BusinessLogic extends Logic {
352
352
  function* warpForEachGenerator({ key, node: itemNode }) {
353
353
  if (itemNode) {
354
354
  code += `const __${key}_${node?.name} = `;
355
- const itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
355
+ let itemCode = '';
356
+ if (
357
+ asserts.isNewComposite(itemNode)
358
+ || asserts.isNewList(itemNode)
359
+ || asserts.isNewMap(itemNode)
360
+ ) {
361
+ itemCode += yield* itemNode?.getInitCode(shiftState(state, code, {
362
+ inline: true
363
+ })) ??
356
364
  returnOrigin('');
365
+ } else {
366
+ itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
367
+ returnOrigin('');
368
+ }
357
369
  code += yield* self.getRightCode(itemCode, assignment, itemNode);
358
370
  code += ';\n';
359
371
  }
@@ -268,6 +268,7 @@ export class CallConnector extends CallLogic {
268
268
  if (self.handleError) {
269
269
  code += ')';
270
270
  }
271
+ code += ')';
271
272
  if (
272
273
  self.parentNode.concept !== 'Argument' &&
273
274
  self.parentKey !== 'test' &&
@@ -280,7 +281,7 @@ export class CallConnector extends CallLogic {
280
281
  self.parentNode.concept !== 'MemberExpression' &&
281
282
  !['NewMap', 'NewList'].includes(self.parentNode.concept)
282
283
  ) {
283
- code += ');';
284
+ code += ';';
284
285
  }
285
286
  return code;
286
287
  }
@@ -368,7 +368,8 @@ export class CallInterface extends LogicItem {
368
368
  if (!this.calleeNamespace || !this.calleeName) throw new Error('调用接口为空');
369
369
  throw new Error(`${_name}下的${_interfaceName}接口未找到`);
370
370
  }
371
- let isSimpleBody = false; // 兼容body只有基本类型的
371
+ // 兼容 body 基本类型、List、Object
372
+ let bodyType: 'primitive' | 'List' = null;
372
373
  const _params = (_interface as Interface).params;
373
374
  const _queries = _params.filter((item) => item.in === 'query').map((item) => item.name);
374
375
  const _headers = _params.filter((item) => item.in === 'header').map((item) => item.name);
@@ -376,7 +377,9 @@ export class CallInterface extends LogicItem {
376
377
  .filter((item) => item.in === 'body')
377
378
  .map((item) => {
378
379
  if (item.typeAnnotation.typeKind === 'primitive') {
379
- isSimpleBody = true;
380
+ bodyType = 'primitive';
381
+ } else if (item.typeAnnotation.typeKind === 'generic' && item.typeAnnotation.typeName === 'List') {
382
+ bodyType = 'List';
380
383
  }
381
384
  return item.name;
382
385
  });
@@ -420,9 +423,13 @@ export class CallInterface extends LogicItem {
420
423
  code = setArgumentCode(completeArguments, _headers, code, true, false);
421
424
  code += `},\n`;
422
425
 
423
- if (isSimpleBody) {
426
+ if (bodyType === 'primitive') {
424
427
  code += `body: `;
425
428
  code = setArgumentCode(completeArguments, _body, code, false, false);
429
+ } else if (bodyType === 'List') {
430
+ code += `body: [`;
431
+ code = setArgumentCode(completeArguments, _body, code, false, true);
432
+ code += ']';
426
433
  } else {
427
434
  code += `body: {`;
428
435
  code = setArgumentCode(completeArguments, _body, code, false, true);
@@ -27,6 +27,7 @@ import type { ViewElement, ElementToVueOptions } from './ViewElement__';
27
27
  import type { MemberExpression } from './MemberExpression__';
28
28
  import type { StringLiteral } from './StringLiteral__';
29
29
  import type { TypeParam } from './TypeParam__';
30
+ import { BaseNode } from '.';
30
31
 
31
32
  //================================================================================
32
33
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -436,7 +437,7 @@ export class CallLogic extends LogicItem {
436
437
  /**
437
438
  * 设置argment 触发别的地方的更新
438
439
  */
439
- setArgumentName({ argument }: { argument: Argument[] }) {
440
+ setArgumentName({ argument }: { argument: Argument[]; }) {
440
441
  // argument.setKeyword(newKeyword);
441
442
  // this.arguments = argument;
442
443
  }
@@ -516,10 +517,29 @@ export class CallLogic extends LogicItem {
516
517
  argument ??
517
518
  logic?.params?.map((param) => {
518
519
  const relationOptions = { parentNode: this, parentKey: 'arguments' };
520
+ let expression = param.defaultExpression;
521
+ if (param.isFunction) {
522
+ const concept = param.defaultValue?.expression?.concept;
523
+ if (concept) {
524
+ let name = param.defaultValue?.expression?.name;
525
+ const CurConceptConstructor = getConceptConstructor(concept);
526
+ if (concept === 'SubLogic') {
527
+ // TODO 目前仅有这俩节点上有挂载,后续,扩展时,需要协同扩展
528
+ const firstContantSubLogic = this.getAncestor('Logic') as Logic || this.getAncestor('View') as View;
529
+ name = firstContantSubLogic.getSubLogicUniqueName();
530
+ }
531
+ expression = CurConceptConstructor.from({
532
+ ...param.defaultValue.expression,
533
+ name
534
+ }, this) as unknown as LogicItem;
535
+ } else {
536
+ expression = new Identifier();
537
+ }
538
+ }
519
539
  const argument = Argument.from(
520
540
  {
521
541
  keyword: param.name,
522
- expression: param.isFunction ? new Identifier() : param.defaultExpression,
542
+ expression,
523
543
  },
524
544
  this,
525
545
  );
@@ -669,7 +689,7 @@ export class CallLogic extends LogicItem {
669
689
  for (let i = 0; i < currentIndex; i++) {
670
690
  currentParamList.push(`,current${i === 0 ? '' : i}`);
671
691
  }
672
- code += `$global.useDatabaseCallback()(__${currentElement.name}_handleDataSourceLoad${currentParamList.join('')})`
692
+ code += `$global.useDatabaseCallback()(__${currentElement.name}_handleDataSourceLoad${currentParamList.join('')})`;
673
693
  return code;
674
694
  }
675
695
  if (calleeName === 'jsonSerialize') {
@@ -797,7 +817,7 @@ export class CallLogic extends LogicItem {
797
817
  let extensionName = '';
798
818
 
799
819
  const { calleeName, calleeNamespace, isComponentLogic, completeArguments, isViewLogic, typeArguments } = this;
800
- const completeTypeArguments = this.__TypeArguments?.length ? this.__TypeArguments : typeArguments;
820
+ const completeTypeArguments = this.__TypeArguments?.length ? this.__TypeArguments : typeArguments;
801
821
 
802
822
  const isShowArgument = (arg?: Argument) => {
803
823
  return arg?.expression;
@@ -825,8 +845,8 @@ export class CallLogic extends LogicItem {
825
845
  body: {
826
846
  `;
827
847
  const argsStr = (this?.arguments || []).filter((obj) => obj?.expression)
828
- .map((obj) => `\n${obj.keyword}: ${obj.expression?.toJS(state)}`)
829
- .join(', ');
848
+ .map((obj) => `\n${obj.keyword}: ${obj.expression?.toJS(state)}`)
849
+ .join(', ');
830
850
  code += argsStr;
831
851
 
832
852
  code += `}
@@ -837,9 +857,8 @@ export class CallLogic extends LogicItem {
837
857
  const isSpreadFunc = args.some((arg) => arg.spread);
838
858
  const keywordEntitiesIndex = findConceptKeyWordIndexFromNamespace(this.calleeNamespace, 'entities');
839
859
 
840
- code += `this.$logics['${
841
- this.calleeNamespace ? `${this.calleeNamespace}.${this.calleeName}` : this.calleeName
842
- }']`;
860
+ code += `this.$logics['${this.calleeNamespace ? `${this.calleeNamespace}.${this.calleeName}` : this.calleeName
861
+ }']`;
843
862
  code += `({
844
863
  config: {
845
864
  download: false,
@@ -1491,7 +1510,8 @@ export class CallLogic extends LogicItem {
1491
1510
  code += '()';
1492
1511
  }
1493
1512
  };
1494
-
1513
+ // 调用实体逻辑特殊处理
1514
+ if (tsCalleeNamespace.endsWith('.logics')) calleeKey = calleeKey.replace('.logics', 'Entity');
1495
1515
  code += calleeKey;
1496
1516
  setTypeArguments();
1497
1517
  setInputParam();
@@ -1616,12 +1636,12 @@ export class CallLogic extends LogicItem {
1616
1636
  state: Array.isArray(t) ? 2 : 1,
1617
1637
  };
1618
1638
  });
1619
- } catch (err) {}
1639
+ } catch (err) { }
1620
1640
  }
1621
1641
  return node;
1622
1642
  }
1623
1643
 
1624
- getCallNodeUsingCache(frontNdCache : Map<string, Logic>, serverNdCache : Map<string, Logic>, processNdCache : Map<string, Logic>): ['front' | 'server' | 'process', Logic | undefined] {
1644
+ getCallNodeUsingCache(frontNdCache: Map<string, Logic>, serverNdCache: Map<string, Logic>, processNdCache: Map<string, Logic>): ['front' | 'server' | 'process', Logic | undefined] {
1625
1645
  const cwKey = this.calleewholeKey;
1626
1646
  if (serverNdCache.get(cwKey)) {
1627
1647
  return ['server', serverNdCache.get(cwKey)];
@@ -1666,7 +1686,7 @@ export class CallLogic extends LogicItem {
1666
1686
  state: Array.isArray(t) ? 2 : 1,
1667
1687
  };
1668
1688
  });
1669
- } catch (err) {}
1689
+ } catch (err) { }
1670
1690
  }
1671
1691
  frontNdCache.set(cwKey, node);
1672
1692
  return ['front', node];
@@ -1706,7 +1726,7 @@ export class CallLogic extends LogicItem {
1706
1726
  } else {
1707
1727
  const result = getCallExpressionQuickInfo(range, getCode);
1708
1728
  let code = getCode();
1709
- if(code.includes('__elements.')){
1729
+ if (code.includes('__elements.')) {
1710
1730
  const prefixOffset = code.indexOf('__elements.');
1711
1731
  code = code.slice(prefixOffset);
1712
1732
  let indexOf = code.indexOf('(');
@@ -361,7 +361,7 @@ export class EntityProperty extends BaseNode {
361
361
  this.app?.emit('collect:end');
362
362
  }
363
363
 
364
- async _effect(options: { action?: 'delete' } = {}) {
364
+ async _effect(options: { action?: 'delete'; } = {}) {
365
365
  // 处理选中的此字段的 CallQueryComponent
366
366
  const callQueryComponents: Set<CallQueryComponent> = new Set();
367
367
  const refs = await this.findUsage();
@@ -408,7 +408,7 @@ export class EntityProperty extends BaseNode {
408
408
  /**
409
409
  * 设置是否必填
410
410
  */
411
- setDisplay(display: { [name: string]: boolean }) {
411
+ setDisplay(display: { [name: string]: boolean; }) {
412
412
  const object = {
413
413
  display,
414
414
  };
@@ -478,10 +478,10 @@ export class EntityProperty extends BaseNode {
478
478
  @withSourceMap()
479
479
  toNaturalTS(state = createCompilerState()): string {
480
480
  let code = '';
481
+ const excludeList = ['createdTime', 'updatedTime', 'createdBy', 'updatedBy'];
482
+ if (state.descriptionComment && !excludeList.includes(this.name))
483
+ code += createDescriptionComment(state, this, ['label']);
481
484
 
482
- if (state.descriptionComment)
483
- code += createDescriptionComment(state, this, ['label', 'description']);
484
-
485
485
  if (this.relationNamespace && this.relationEntity && this.relationProperty) {
486
486
  code += `@EntityRelation(() => new ${this.relationEntity}().${this.relationProperty})\n`;
487
487
  code += indent(state.tabSize);
@@ -844,7 +844,7 @@ export class Entity extends Annotatable {
844
844
  let code = '';
845
845
  if (state.descriptionComment)
846
846
  code += createDescriptionComment(state, this, ['description']);
847
- code = `class ${this?.name} {\n`;
847
+ code += `class ${this?.name} {\n`;
848
848
 
849
849
  this.properties.forEach((property) => {
850
850
  code += `${property.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize + 1 }))};\n`;
@@ -211,8 +211,8 @@ export class EnumItem extends BaseNode {
211
211
  toNaturalTS(state = createCompilerState()): string {
212
212
  let code = '';
213
213
 
214
- if (state.descriptionComment)
215
- code += createDescriptionComment(state, this, ['label']);
214
+ // if (state.descriptionComment)
215
+ // code += createDescriptionComment(state, this, ['label']);
216
216
  code += `'${this.value}' = '${this.label?.value}'`;
217
217
 
218
218
  return code;
@@ -985,7 +985,7 @@ export class Interface extends ImportedInterface {
985
985
  let code = '';
986
986
  if (state.descriptionComment)
987
987
  code += createDescriptionComment(state, this, ['description']);
988
- code = `declare function ${name}(`;
988
+ code += `declare function ${state?.rename || name}(`;
989
989
  if (params?.length) {
990
990
  code += '{ ';
991
991
  params?.forEach((param, index) => {
@@ -2152,8 +2152,20 @@ export class Logic extends Annotatable {
2152
2152
  function* warpForEachGenerator({ key, node: itemNode }) {
2153
2153
  if (itemNode) {
2154
2154
  code += `const __${key}_${node?.name} = `;
2155
- const itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
2155
+ let itemCode = '';
2156
+ if (
2157
+ asserts.isNewComposite(itemNode)
2158
+ || asserts.isNewList(itemNode)
2159
+ || asserts.isNewMap(itemNode)
2160
+ ) {
2161
+ itemCode += yield* itemNode?.getInitCode(shiftState(state, code, {
2162
+ inline: true
2163
+ })) ??
2156
2164
  returnOrigin('');
2165
+ } else {
2166
+ itemCode = yield* itemNode?.toEmbeddedTS(shiftState(state, code, { inline: true })) ??
2167
+ returnOrigin('');
2168
+ }
2157
2169
  code += yield* self.getRightCode(itemCode, assignment, itemNode);
2158
2170
  code += ';\n';
2159
2171
  }