@lcap/nasl 2.21.0-beta.2 → 2.21.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 (188) hide show
  1. package/out/automate/engine/operators.d.ts +2 -2
  2. package/out/automate/engine/operators.js +14 -5
  3. package/out/automate/engine/operators.js.map +1 -1
  4. package/out/common/BaseNode.d.ts +6 -0
  5. package/out/common/BaseNode.js +45 -8
  6. package/out/common/BaseNode.js.map +1 -1
  7. package/out/concepts/Abort__.d.ts +1 -1
  8. package/out/concepts/Abort__.js +3 -3
  9. package/out/concepts/Abort__.js.map +1 -1
  10. package/out/concepts/App__.d.ts +0 -2
  11. package/out/concepts/App__.js +0 -42
  12. package/out/concepts/App__.js.map +1 -1
  13. package/out/concepts/BindAttribute__.js +18 -0
  14. package/out/concepts/BindAttribute__.js.map +1 -1
  15. package/out/concepts/BindEvent__.js +21 -22
  16. package/out/concepts/BindEvent__.js.map +1 -1
  17. package/out/concepts/CallFunction__.js.map +1 -1
  18. package/out/concepts/CallQueryComponent__.js +16 -16
  19. package/out/concepts/CallQueryComponent__.js.map +1 -1
  20. package/out/concepts/ConfigPropertyValue__.js.map +1 -1
  21. package/out/concepts/DataSource__.d.ts +0 -1
  22. package/out/concepts/DataSource__.js +0 -3
  23. package/out/concepts/DataSource__.js.map +1 -1
  24. package/out/concepts/EntityProperty__.d.ts +0 -23
  25. package/out/concepts/EntityProperty__.js +0 -121
  26. package/out/concepts/EntityProperty__.js.map +1 -1
  27. package/out/concepts/InterfaceParam__.d.ts +0 -3
  28. package/out/concepts/InterfaceParam__.js +0 -64
  29. package/out/concepts/InterfaceParam__.js.map +1 -1
  30. package/out/concepts/Interface__.d.ts +0 -3
  31. package/out/concepts/Interface__.js +4 -8
  32. package/out/concepts/Interface__.js.map +1 -1
  33. package/out/concepts/Logic__.d.ts +1 -1
  34. package/out/concepts/Logic__.js +22 -42
  35. package/out/concepts/Logic__.js.map +1 -1
  36. package/out/concepts/MatchCase__.js +1 -1
  37. package/out/concepts/MatchCase__.js.map +1 -1
  38. package/out/concepts/MemberExpression__.js +1 -1
  39. package/out/concepts/MemberExpression__.js.map +1 -1
  40. package/out/concepts/Module__.d.ts +0 -12
  41. package/out/concepts/Module__.js +0 -7
  42. package/out/concepts/Module__.js.map +1 -1
  43. package/out/concepts/NewMap__.js +5 -1
  44. package/out/concepts/NewMap__.js.map +1 -1
  45. package/out/concepts/NumericLiteral__.js +9 -3
  46. package/out/concepts/NumericLiteral__.js.map +1 -1
  47. package/out/concepts/OqlQueryComponent__.d.ts +0 -1
  48. package/out/concepts/OqlQueryComponent__.js +0 -46
  49. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  50. package/out/concepts/Param__.d.ts +0 -3
  51. package/out/concepts/Param__.js +1 -67
  52. package/out/concepts/Param__.js.map +1 -1
  53. package/out/concepts/Rect__.js.map +1 -1
  54. package/out/concepts/Return__.d.ts +0 -3
  55. package/out/concepts/Return__.js +1 -67
  56. package/out/concepts/Return__.js.map +1 -1
  57. package/out/concepts/SqlQueryComponent__.d.ts +0 -1
  58. package/out/concepts/SqlQueryComponent__.js +0 -46
  59. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  60. package/out/concepts/StructureProperty__.d.ts +0 -3
  61. package/out/concepts/StructureProperty__.js +0 -65
  62. package/out/concepts/StructureProperty__.js.map +1 -1
  63. package/out/concepts/TypeAnnotation__.d.ts +1 -3
  64. package/out/concepts/TypeAnnotation__.js +12 -31
  65. package/out/concepts/TypeAnnotation__.js.map +1 -1
  66. package/out/concepts/Variable__.d.ts +0 -3
  67. package/out/concepts/Variable__.js +1 -67
  68. package/out/concepts/Variable__.js.map +1 -1
  69. package/out/concepts/ViewComponent__.d.ts +7 -0
  70. package/out/concepts/ViewComponent__.js +7 -0
  71. package/out/concepts/ViewComponent__.js.map +1 -1
  72. package/out/concepts/ViewElement__.js +1 -1
  73. package/out/concepts/ViewElement__.js.map +1 -1
  74. package/out/concepts/basics/stdlib/nasl.collection.js +2 -2
  75. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  76. package/out/concepts/basics/stdlib/nasl.core.js +3 -3
  77. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  78. package/out/concepts/basics/stdlib/nasl.interface.js +1 -1
  79. package/out/concepts/basics/stdlib/nasl.interface.js.map +1 -1
  80. package/out/concepts/basics/stdlib/nasl.process.js +6 -6
  81. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  82. package/out/concepts/basics/stdlib/nasl.ui.js +43 -43
  83. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  84. package/out/concepts/basics/stdlib/nasl.util.js +19 -46
  85. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  86. package/out/concepts/basics/stdlib/nasl.validation.js +13 -13
  87. package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -1
  88. package/out/concepts/basics/types/coreTypeList.js +5 -1
  89. package/out/concepts/basics/types/coreTypeList.js.map +1 -1
  90. package/out/concepts/index__.d.ts +0 -1
  91. package/out/concepts/index__.js +0 -1
  92. package/out/concepts/index__.js.map +1 -1
  93. package/out/generator/genReleaseBody.js +0 -3
  94. package/out/generator/genReleaseBody.js.map +1 -1
  95. package/out/sentry/index.d.ts +28 -0
  96. package/out/sentry/index.js +104 -0
  97. package/out/sentry/index.js.map +1 -0
  98. package/out/server/entity2LogicNamespace.js +1 -1
  99. package/out/server/entity2LogicNamespace.js.map +1 -1
  100. package/out/server/extendBaseNode.js +65 -0
  101. package/out/server/extendBaseNode.js.map +1 -1
  102. package/out/server/formatTsUtils.js +5 -5
  103. package/out/server/formatTsUtils.js.map +1 -1
  104. package/out/server/getLogics.js +9 -7
  105. package/out/server/getLogics.js.map +1 -1
  106. package/out/server/naslServer.d.ts +2 -2
  107. package/out/server/naslServer.js +120 -51
  108. package/out/server/naslServer.js.map +1 -1
  109. package/out/server/translator.js +3 -2
  110. package/out/server/translator.js.map +1 -1
  111. package/out/service/creator/errHandles.js +5 -0
  112. package/out/service/creator/errHandles.js.map +1 -1
  113. package/out/service/storage/init.js +6 -8
  114. package/out/service/storage/init.js.map +1 -1
  115. package/out/templator/genQueryComponent.js +2 -2
  116. package/out/templator/genQueryComponent.js.map +1 -1
  117. package/out/templator/genSelectBlock.js +9 -1
  118. package/out/templator/genSelectBlock.js.map +1 -1
  119. package/out/templator/utils.d.ts +32 -0
  120. package/out/templator/utils.js +7 -7
  121. package/out/templator/utils.js.map +1 -1
  122. package/package.json +2 -2
  123. package/sandbox/stdlib/nasl.auth.ts +3 -1
  124. package/sandbox/stdlib/nasl.browser.ts +1 -1
  125. package/sandbox/stdlib/nasl.collection.ts +9 -9
  126. package/sandbox/stdlib/nasl.core.ts +100 -38
  127. package/sandbox/stdlib/nasl.interface.ts +1 -1
  128. package/sandbox/stdlib/nasl.langUtil.ts +4 -4
  129. package/sandbox/stdlib/nasl.oql.ts +156 -156
  130. package/sandbox/stdlib/nasl.process.ts +6 -6
  131. package/sandbox/stdlib/nasl.ui.ts +42 -42
  132. package/sandbox/stdlib/nasl.util.ts +45 -44
  133. package/sandbox/stdlib/nasl.validation.ts +8 -8
  134. package/src/automate/engine/operators.js +13 -5
  135. package/src/automate/upgrader/2.20.js +1 -0
  136. package/src/common/BaseNode.ts +32 -1
  137. package/src/concepts/Abort__.ts +4 -3
  138. package/src/concepts/App__.ts +2 -38
  139. package/src/concepts/BindAttribute__.ts +17 -1
  140. package/src/concepts/BindEvent__.ts +21 -21
  141. package/src/concepts/CallFunction__.ts +0 -1
  142. package/src/concepts/CallQueryComponent__.ts +16 -74
  143. package/src/concepts/ConfigPropertyValue__.ts +0 -4
  144. package/src/concepts/DataSource__.ts +0 -4
  145. package/src/concepts/EntityProperty__.ts +0 -129
  146. package/src/concepts/InterfaceParam__.ts +0 -55
  147. package/src/concepts/Interface__.ts +4 -4
  148. package/src/concepts/Logic__.ts +31 -47
  149. package/src/concepts/MatchCase__.ts +1 -1
  150. package/src/concepts/MemberExpression__.ts +1 -1
  151. package/src/concepts/Module__.ts +0 -6
  152. package/src/concepts/NewMap__.ts +5 -1
  153. package/src/concepts/NumericLiteral__.ts +9 -4
  154. package/src/concepts/OqlQueryComponent__.ts +0 -40
  155. package/src/concepts/Param__.ts +3 -59
  156. package/src/concepts/Rect__.ts +0 -8
  157. package/src/concepts/Return__.ts +1 -58
  158. package/src/concepts/SqlQueryComponent__.ts +0 -40
  159. package/src/concepts/StructureProperty__.ts +0 -57
  160. package/src/concepts/TypeAnnotation__.ts +12 -72
  161. package/src/concepts/Variable__.ts +1 -58
  162. package/src/concepts/ViewComponent__.ts +6 -0
  163. package/src/concepts/ViewElement__.ts +7 -7
  164. package/src/concepts/basics/stdlib/nasl.collection.ts +2 -2
  165. package/src/concepts/basics/stdlib/nasl.core.ts +3 -3
  166. package/src/concepts/basics/stdlib/nasl.interface.ts +1 -1
  167. package/src/concepts/basics/stdlib/nasl.process.ts +6 -6
  168. package/src/concepts/basics/stdlib/nasl.ui.ts +43 -43
  169. package/src/concepts/basics/stdlib/nasl.util.ts +19 -46
  170. package/src/concepts/basics/stdlib/nasl.validation.ts +13 -13
  171. package/src/concepts/basics/types/coreTypeList.ts +5 -1
  172. package/src/concepts/index__.ts +0 -1
  173. package/src/generator/genReleaseBody.ts +0 -2
  174. package/src/sentry/index.ts +134 -0
  175. package/src/server/entity2LogicNamespace.ts +1 -1
  176. package/src/server/extendBaseNode.ts +61 -1
  177. package/src/server/formatTsUtils.ts +5 -5
  178. package/src/server/getLogics.ts +8 -7
  179. package/src/server/naslServer.ts +120 -53
  180. package/src/server/translator.ts +3 -2
  181. package/src/service/creator/errHandles.js +6 -0
  182. package/src/service/storage/init.ts +6 -8
  183. package/src/templator/genQueryComponent.ts +5 -5
  184. package/src/templator/genSelectBlock.ts +9 -1
  185. package/src/templator/utils.ts +7 -7
  186. package/ts-worker/lib/Messager.js +0 -3
  187. package/ts-worker/src/index.js +0 -1
  188. package/src/concepts/DatabaseTypeAnnotation__.ts +0 -88
@@ -1,17 +1,20 @@
1
1
  declare namespace nasl.util {
2
2
  export function Convert(value: null): <T extends never>() => T;
3
- export function Convert(value: nasl.core.Long): <T extends nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.DateTime>() => T;
4
- export function Convert(value: nasl.core.Decimal): <T extends nasl.core.Boolean | nasl.core.Long | nasl.core.String>() => T;
3
+ export function Convert(value: nasl.core.Integer): <T extends nasl.core.Decimal | nasl.core.Boolean | nasl.core.Double | nasl.core.Long | nasl.core.String>() => T;
4
+ export function Convert(value: nasl.core.Long): <T extends nasl.core.Decimal | nasl.core.Integer | nasl.core.String | nasl.core.Boolean | nasl.core.DateTime>() => T;
5
+ export function Convert(value: nasl.core.Double): <T extends nasl.core.Decimal | nasl.core.Boolean | nasl.core.Integer | nasl.core.Long | nasl.core.String>() => T;
6
+ export function Convert(value: nasl.core.Decimal): <T extends nasl.core.String | nasl.core.Boolean | nasl.core.Integer | nasl.core.Long | nasl.core.Double>() => T;
7
+ export function Convert(value: nasl.core.Email): <T extends nasl.core.String>() => T;
5
8
  export function Convert(value: nasl.core.Binary): <T extends nasl.core.String>() => T;
6
- export function Convert(value: nasl.core.String): <T extends nasl.core.Decimal | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Long | nasl.core.Boolean>() => T;
9
+ export function Convert(value: nasl.core.String): <T extends nasl.core.Decimal | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Double | nasl.core.Integer | nasl.core.Long | nasl.core.Boolean>() => T;
7
10
  export function Convert(value: nasl.core.Date): <T extends nasl.core.DateTime | nasl.core.String>() => T;
8
11
  export function Convert(value: nasl.core.Time): <T extends nasl.core.String>() => T;
9
12
  export function Convert(value: nasl.core.DateTime): <T extends nasl.core.Date | nasl.core.Time | nasl.core.String | nasl.core.Long>() => T;
10
- export function Convert(value: nasl.core.Boolean): <T extends nasl.core.String | nasl.core.Long | nasl.core.Decimal>() => T;
13
+ export function Convert(value: nasl.core.Boolean): <T extends nasl.core.String | nasl.core.Integer | nasl.core.Decimal>() => T;
11
14
  export function Convert(value: nasl.core.Any): <T extends nasl.core.String>() => T;
12
15
 
13
16
  export function ToString<T extends nasl.core.Any>(value: T): nasl.core.String;
14
- export function FromString(value: nasl.core.String): <T extends nasl.core.Decimal | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Decimal | nasl.core.Long | nasl.core.Boolean>() => T;
17
+ export function FromString(value: nasl.core.String): <T extends nasl.core.Decimal | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Double | nasl.core.Integer | nasl.core.Long | nasl.core.Boolean>() => T;
15
18
  export function EnumToList<T extends nasl.core.Enums>(): nasl.collection.List<{ text: nasl.core.String, value: nasl.core.String }>;
16
19
  export function EnumValueToText<T extends nasl.core.Enums>(value: nasl.core.Enums): nasl.core.String;
17
20
  export function StringToEnumValue<T extends nasl.core.Enums>(value: nasl.core.String): T;
@@ -20,44 +23,44 @@ declare namespace nasl.util {
20
23
  export function Join(list: nasl.collection.List<nasl.core.Any>, seperator: nasl.core.String): nasl.core.String;
21
24
  // export function Concat(str1: nasl.core.Any, str2: nasl.core.Any): nasl.core.String;
22
25
  export function Concat(...args: nasl.core.Any): nasl.core.String;
23
- export function Length(str1: nasl.core.String): nasl.core.Long;
24
- export function Length<K, V>(str1: nasl.collection.Map<K, V>): nasl.core.Long;
25
- export function Length<T>(str1: nasl.collection.List<T>): nasl.core.Long;
26
- export function IndexOf(str: nasl.core.String, search: nasl.core.String, formIndex: nasl.core.Long, ignoreCase: nasl.core.Boolean): nasl.core.Long;
27
- export function LastIndexOf(str: nasl.core.String, search: nasl.core.String, ignoreCase: nasl.core.Boolean): nasl.core.Long;
26
+ export function Length(str1: nasl.core.String): nasl.core.Integer;
27
+ export function Length<K, V>(str1: nasl.collection.Map<K, V>): nasl.core.Integer;
28
+ export function Length<T>(str1: nasl.collection.List<T>): nasl.core.Integer;
29
+ export function IndexOf(str: nasl.core.String, search: nasl.core.String, formIndex: nasl.core.Integer, ignoreCase: nasl.core.Boolean): nasl.core.Integer;
30
+ export function LastIndexOf(str: nasl.core.String, search: nasl.core.String, ignoreCase: nasl.core.Boolean): nasl.core.Integer;
28
31
  export function Replace(str: nasl.core.String, search: nasl.core.String, replace: nasl.core.String): nasl.core.String;
29
- export function SubString(str: nasl.core.String, start: nasl.core.Long, length?: nasl.core.Long): nasl.core.String;
32
+ export function SubString(str: nasl.core.String, start: nasl.core.Integer, length?: nasl.core.Integer): nasl.core.String;
30
33
  export function ToLower(str1: nasl.core.String): nasl.core.String;
31
34
  export function ToUpper(str1: nasl.core.String): nasl.core.String;
32
35
  export function Trim(str1: nasl.core.String): nasl.core.String;
33
36
 
34
- export function Get<T>(list: nasl.collection.List<T>, index: nasl.core.Long): T;
35
- export function Set<T, K extends T>(list: nasl.collection.List<T>, index: nasl.core.Long, item: K): T;
37
+ export function Get<T>(list: nasl.collection.List<T>, index: nasl.core.Integer): T;
38
+ export function Set<T, K extends T>(list: nasl.collection.List<T>, index: nasl.core.Integer, item: K): T;
36
39
  export function Contains<T, K extends T>(list: nasl.collection.List<T>, item: K): nasl.core.Boolean;
37
40
  export function Add<T, K extends T>(list: nasl.collection.List<T>, item: K): void;
38
- export function AddAll<T>(list: nasl.collection.List<T>, addList: nasl.collection.List<T>): nasl.core.Long;
39
- export function Insert<T, K extends T>(list: nasl.collection.List<T>, index: nasl.core.Long, item: K): void;
41
+ export function AddAll<T>(list: nasl.collection.List<T>, addList: nasl.collection.List<T>): nasl.core.Integer;
42
+ export function Insert<T, K extends T>(list: nasl.collection.List<T>, index: nasl.core.Integer, item: K): void;
40
43
  export function Remove<T, K extends T>(list: nasl.collection.List<T>, item: K): void;
41
- export function RemoveAt<T>(list: nasl.collection.List<T>, index: nasl.core.Long): T;
44
+ export function RemoveAt<T>(list: nasl.collection.List<T>, index: nasl.core.Integer): T;
42
45
 
43
46
  export function ListHead<T>(list: nasl.collection.List<T>): T;
44
47
  export function ListLast<T>(list: nasl.collection.List<T>): T;
45
48
  export function ListFlatten<T>(list: nasl.collection.List<nasl.collection.List<T>>): nasl.collection.List<T>;
46
49
  export function ListTransform<T0, T>(list: nasl.collection.List<T0>, by: (elem: T0) => T): nasl.collection.List<T>;
47
- export function ListToMap<T, K extends nasl.core.Boolean | nasl.core.Long | nasl.core.Decimal | nasl.core.String, V>(map: nasl.collection.List<T>, byKey: (elem: T) => K, byVal: (elem: T) => V): nasl.collection.Map<K, V>;
48
- export function ListGroupBy<A, K extends nasl.core.Boolean | nasl.core.Long | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<A>, by: (elem: A) => K): nasl.collection.Map<K, nasl.collection.List<A>>;
50
+ export function ListToMap<T, K extends nasl.core.Boolean | nasl.core.Integer | nasl.core.Long | nasl.core.Decimal | nasl.core.String, V>(map: nasl.collection.List<T>, byKey: (elem: T) => K, byVal: (elem: T) => V): nasl.collection.Map<K, V>;
51
+ export function ListGroupBy<A, K extends nasl.core.Boolean | nasl.core.Integer | nasl.core.Long | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<A>, by: (elem: A) => K): nasl.collection.Map<K, nasl.collection.List<A>>;
49
52
 
50
- export function ListSum<T extends nasl.core.Long | nasl.core.Decimal>(list: nasl.collection.List<T>): T;
51
- export function ListProduct<T extends nasl.core.Long | nasl.core.Decimal>(list: nasl.collection.List<T>): T;
52
- export function ListMax<T extends nasl.core.Long | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<T>): T;
53
- export function ListMin<T extends nasl.core.Long | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<T>): T;
53
+ export function ListSum<T extends nasl.core.Integer | nasl.core.Long | nasl.core.Double | nasl.core.Decimal>(list: nasl.collection.List<T>): T;
54
+ export function ListProduct<T extends nasl.core.Integer | nasl.core.Long | nasl.core.Double | nasl.core.Decimal>(list: nasl.collection.List<T>): T;
55
+ export function ListMax<T extends nasl.core.Integer | nasl.core.Long | nasl.core.Double | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<T>): T;
56
+ export function ListMin<T extends nasl.core.Integer | nasl.core.Long | nasl.core.Double | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<T>): T;
54
57
 
55
- export function ListAverage<T extends nasl.core.Long | nasl.core.Decimal>(list: nasl.collection.List<T>): nasl.core.Decimal;
58
+ export function ListAverage<T extends nasl.core.Integer | nasl.core.Long | nasl.core.Double>(list: nasl.collection.List<T>): nasl.core.Double;
56
59
  export function ListAverage(list: nasl.collection.List<nasl.core.Decimal>): nasl.core.Decimal;
57
60
 
58
61
  export function ListSort<T>(list: nasl.collection.List<T>, by: (item: T) => any, sort: nasl.core.Boolean): void;
59
62
  export function ListFind<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): T;
60
- export function ListFindIndex<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.core.Long;
63
+ export function ListFindIndex<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.core.Integer;
61
64
 
62
65
  export function ListFindAll<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.collection.List<T>;
63
66
  export function ListFilter<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.collection.List<T>;
@@ -65,8 +68,8 @@ declare namespace nasl.util {
65
68
  export function ListReverse<T>(list: nasl.collection.List<T>): void;
66
69
  export function ListDistinct<T>(list: nasl.collection.List<T>): void;
67
70
  export function ListDistinctBy<A, B>(list: nasl.collection.List<A>, by: (elem: A) => B): nasl.collection.List<A>;
68
- export function ListSlice<T>(list: nasl.collection.List<T>, start: nasl.core.Long, end: nasl.core.Long): nasl.collection.List<T>;
69
- export function SliceToListPage<T>(list: nasl.collection.List<T>, page: nasl.core.Long, size: nasl.core.Long): { list: nasl.collection.List<T>, total: nasl.core.Long };
71
+ export function ListSlice<T>(list: nasl.collection.List<T>, start: nasl.core.Integer, end: nasl.core.Integer): nasl.collection.List<T>;
72
+ export function SliceToListPage<T>(list: nasl.collection.List<T>, page: nasl.core.Integer, size: nasl.core.Integer): { list: nasl.collection.List<T>, total: nasl.core.Integer };
70
73
 
71
74
  export function MapGet<K, V>(map: nasl.collection.Map<K, V>, key: K): V;
72
75
  export function MapPut<K, V>(map: nasl.collection.Map<K, V>, key: K, value: V): void;
@@ -76,32 +79,32 @@ declare namespace nasl.util {
76
79
  export function MapValues<K, V>(map: nasl.collection.Map<K, V>): nasl.collection.List<V>;
77
80
  export function MapFilter<K, V>(map: nasl.collection.Map<K, V>, by: (key: K, value: V) => nasl.core.Boolean): nasl.collection.Map<K, V>;
78
81
  // 将元素类型为 K0, V0 的 Map 映射为元素类型为 K, V 的 Map
79
- export function MapTransform<K0, V0, K extends nasl.core.Boolean | nasl.core.Long | nasl.core.Decimal | nasl.core.String, V>(map: nasl.collection.Map<K0, V0>, byKey: (key: K0, value: V0) => K, byVal: (key: K0, value: V0) => V): nasl.collection.Map<K, V>;
82
+ export function MapTransform<K0, V0, K extends nasl.core.Boolean | nasl.core.Integer | nasl.core.Long | nasl.core.Decimal | nasl.core.String, V>(map: nasl.collection.Map<K0, V0>, byKey: (key: K0, value: V0) => K, byVal: (key: K0, value: V0) => V): nasl.collection.Map<K, V>;
80
83
 
81
84
  export function CurrDate(): nasl.core.Date;
82
85
  export function CurrTime(): nasl.core.Time;
83
86
  export function CurrDateTime(): nasl.core.DateTime;
84
87
  export function FormatDate(date: nasl.core.Date, formatter: nasl.core.String): nasl.core.String;
85
88
  export function FormatDateTime(dateTime: nasl.core.DateTime, formatter: nasl.core.String): nasl.core.String;
86
- export function FormatNumber(doubleValue: nasl.core.Decimal | nasl.core.Long, digits: nasl.core.Long, showGroups: nasl.core.Boolean): nasl.core.String;
87
- export function AddDays(dateTime: nasl.core.Date, amount: nasl.core.Long): nasl.core.Date;
88
- export function AddDays(dateTime: nasl.core.DateTime, amount: nasl.core.Long): nasl.core.DateTime;
89
- export function AddMonths(dateTime: nasl.core.Date, amount: nasl.core.Long): nasl.core.Date;
90
- export function AddMonths(dateTime: nasl.core.DateTime, amount: nasl.core.Long): nasl.core.DateTime;
91
- export function DateDiff<T extends nasl.core.Date | nasl.core.Time | nasl.core.DateTime>(dateTime1: T, dateTime2: T, calcType: nasl.core.String): nasl.core.Long;
89
+ export function FormatNumber(doubleValue: nasl.core.Decimal | nasl.core.Double | nasl.core.Integer | nasl.core.Long, digits: nasl.core.Integer, showGroups: nasl.core.Boolean): nasl.core.String;
90
+ export function AddDays(dateTime: nasl.core.Date, amount: nasl.core.Integer): nasl.core.Date;
91
+ export function AddDays(dateTime: nasl.core.DateTime, amount: nasl.core.Integer): nasl.core.DateTime;
92
+ export function AddMonths(dateTime: nasl.core.Date, amount: nasl.core.Integer): nasl.core.Date;
93
+ export function AddMonths(dateTime: nasl.core.DateTime, amount: nasl.core.Integer): nasl.core.DateTime;
94
+ export function DateDiff<T extends nasl.core.Date | nasl.core.Time | nasl.core.DateTime>(dateTime1: T, dateTime2: T, calcType: nasl.core.String): nasl.core.Integer;
92
95
  export function Clone<T>(struct: T): T;
93
96
  export function Clear<T>(struct: T): T;
94
- export function RandomInt(start: nasl.core.Long, end: nasl.core.Long): nasl.core.Long;
97
+ export function RandomInt(start: nasl.core.Integer, end: nasl.core.Integer): nasl.core.Integer;
95
98
  export function New<T>(): T;
96
99
  export function NewList<T>(...args: T[]): nasl.collection.List<T>;
97
- export function NewMap<K extends nasl.core.String, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>;
98
- export function NewMap<K extends nasl.core.Long, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>;
99
- export function NewMap<K extends nasl.core.Boolean, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>;
100
- export function NewMap<K extends nasl.core.Long, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>;
101
- export function NewMap<K extends nasl.core.Decimal, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>;
102
- export function NewMap<K extends nasl.core.None, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>;
103
-
104
- export function CreateListPage<T>(list: nasl.collection.List<T>, total: nasl.core.Long): { list: nasl.collection.List<T>, total: nasl.core.Long };
100
+ export function NewMap<K, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>;
101
+ export function ValidMapKey<K extends nasl.core.String>(key: K): K;
102
+ export function ValidMapKey<K extends nasl.core.Integer>(key: K): K;
103
+ export function ValidMapKey<K extends nasl.core.Boolean>(key: K): K;
104
+ export function ValidMapKey<K extends nasl.core.Long>(key: K): K;
105
+ export function ValidMapKey<K extends nasl.core.Decimal>(key: K): K;
106
+ export function ValidMapKey<K extends nasl.core.None>(key: K): K;
107
+ export function CreateListPage<T>(list: nasl.collection.List<T>, total: nasl.core.Integer): { list: nasl.collection.List<T>, total: nasl.core.Integer };
105
108
 
106
109
  export function consoleLog(arg: nasl.core.Any): void;
107
110
  export function jsonSerialize(arg: nasl.core.Any): nasl.core.String;
@@ -112,8 +115,6 @@ declare namespace nasl.util {
112
115
 
113
116
  // 处理携带了error的类型,去除掉error然后返回
114
117
  export function autoHandleError<T>(value: T): Exclude<T, nasl.ui.Error>;
115
- export function Round(value: nasl.core.Decimal, moda: nasl.core.String): nasl.core.Long;
116
-
117
118
  }
118
119
 
119
120
 
@@ -1,10 +1,10 @@
1
1
  declare namespace nasl.validation {
2
- export function minLength(min: nasl.core.Long): nasl.core.Boolean;
3
- export function maxLength(min: nasl.core.Long): nasl.core.Boolean;
4
- export function rangeLength(min: nasl.core.Long, max: nasl.core.Long): nasl.core.Boolean;
5
- export function min(min: nasl.core.Decimal | nasl.core.String | nasl.core.Date | nasl.core.DateTime): nasl.core.Boolean;
6
- export function max(min: nasl.core.Decimal | nasl.core.String | nasl.core.Date | nasl.core.DateTime): nasl.core.Boolean;
7
- export function range(min: nasl.core.Decimal | nasl.core.String | nasl.core.Date | nasl.core.DateTime, max: nasl.core.Decimal | nasl.core.String | nasl.core.Date | nasl.core.DateTime): nasl.core.Boolean;
2
+ export function minLength(min: nasl.core.Integer): nasl.core.Boolean;
3
+ export function maxLength(min: nasl.core.Integer): nasl.core.Boolean;
4
+ export function rangeLength(min: nasl.core.Integer, max: nasl.core.Integer): nasl.core.Boolean;
5
+ export function min(min: nasl.core.Decimal | nasl.core.Double | nasl.core.String | nasl.core.Date | nasl.core.DateTime): nasl.core.Boolean;
6
+ export function max(min: nasl.core.Decimal | nasl.core.Double | nasl.core.String | nasl.core.Date | nasl.core.DateTime): nasl.core.Boolean;
7
+ export function range(min: nasl.core.Decimal | nasl.core.Double | nasl.core.String | nasl.core.Date | nasl.core.DateTime, max: nasl.core.Decimal | nasl.core.Double | nasl.core.String | nasl.core.Date | nasl.core.DateTime): nasl.core.Boolean;
8
8
  export function pattern(re: nasl.core.String | RegExp): nasl.core.Boolean;
9
9
  export function is(arg: nasl.core.Any): nasl.core.Boolean;
10
10
  export function isNot(arg: nasl.core.Any): nasl.core.Boolean;
@@ -21,8 +21,8 @@ declare namespace nasl.validation {
21
21
  export function decimal(force?: nasl.core.Boolean, digits?: nasl.core.String): nasl.core.Boolean;
22
22
  export function ip(version: nasl.core.Decimal): nasl.core.Boolean;
23
23
  export function ipRange(version: nasl.core.Decimal): nasl.core.Boolean;
24
- export function byteLength(min: nasl.core.Long, max: nasl.core.Long): nasl.core.Boolean;
25
- export function divisibleBy(divisor: nasl.core.Long | nasl.core.Decimal): nasl.core.Boolean;
24
+ export function byteLength(min: nasl.core.Integer, max: nasl.core.Integer): nasl.core.Boolean;
25
+ export function divisibleBy(divisor: nasl.core.Integer | nasl.core.Long | nasl.core.Double | nasl.core.Decimal): nasl.core.Boolean;
26
26
  export function hash(algorithm?: nasl.core.String): nasl.core.Boolean;
27
27
  export function isbn(version: nasl.core.String): nasl.core.Boolean;
28
28
  export function iso8601(strict: nasl.core.Boolean): nasl.core.Boolean;
@@ -162,7 +162,7 @@ export const ops = {
162
162
  }
163
163
  return item;
164
164
  },
165
- _addModule(app, name, belongs, data) {
165
+ _addModule(app, frontend, name, belongs, data) {
166
166
  // const ms = app[belongs];
167
167
  // const exist = ms.find((m) => m.name === name);
168
168
  // if (!exist) {
@@ -172,10 +172,18 @@ export const ops = {
172
172
  if (app[method])
173
173
  app[method](data);
174
174
  else {
175
- const ms = app[belongs];
176
- const exist = ms.find((m) => m.name === name);
177
- if (!exist) {
178
- app['addModuleIn' + firstUpperCase(belongs)](data);
175
+ if (frontend && belongs === 'componentDependencies') {
176
+ const ms = frontend[belongs];
177
+ const exist = ms.find((m) => m.name === name);
178
+ if (!exist) {
179
+ frontend.addModule(data);
180
+ }
181
+ } else {
182
+ const ms = app[belongs];
183
+ const exist = ms.find((m) => m.name === name);
184
+ if (!exist) {
185
+ app['addModuleIn' + firstUpperCase(belongs)](data);
186
+ }
179
187
  }
180
188
  }
181
189
  },
@@ -21,6 +21,7 @@ const excludedKeySet = new Set([
21
21
  export function replace(script) {
22
22
  script = script.replace('execTemplate = function(app,', 'execTemplate = function(app, frontend, ');
23
23
  script = script.replace('_uniqueName.initAppUniqueNames(app);', '_uniqueName.initAppUniqueNames(app, frontend);');
24
+ script = script.replace('_addModule(app', '_addModule(app, frontend');
24
25
  return script;
25
26
  }
26
27
 
@@ -15,10 +15,13 @@ import { Diagnostic } from '../manager/diagnostic';
15
15
  import { ViewElement, App, TypeAnnotation } from '..';
16
16
  import * as jsoner from '../service/storage/jsoner';
17
17
 
18
+ import { sentryMonitorNaslNode } from '../sentry';
19
+
18
20
  /**
19
21
  * 顶点类
20
22
  * 属性均为只读,仅在初始化和 load 的情况下可以修改
21
23
  */
24
+ @sentryMonitorNaslNode
22
25
  export class BaseNode extends EventEmitter {
23
26
  /**
24
27
  * 可修改标志,内部属性
@@ -810,7 +813,13 @@ export class BaseNode extends EventEmitter {
810
813
  async getCurrentTypeAnnotation(): Promise<any> {
811
814
  /* override */
812
815
  }
813
-
816
+ /**
817
+ * 获取当前节点的下一级内容
818
+ */
819
+ @action('获取当前节点的下一级内容')
820
+ getSelectRef(newTypeAnnotation: TypeAnnotation, needNewStructure = false): any {
821
+ /* override */
822
+ }
814
823
  /**
815
824
  * 销毁
816
825
  * 从 Map 中删除点和子节点
@@ -1026,6 +1035,28 @@ export class BaseNode extends EventEmitter {
1026
1035
  });
1027
1036
  return arr;
1028
1037
  }
1038
+ get isTreeLeaf() {
1039
+ if (this.concept === 'EntityProperty' || this.concept === 'InterfaceParam' || this.concept === 'Param'
1040
+ || this.concept === 'Return' || this.concept === 'StructureProperty' || this.concept === 'Variable') {
1041
+ return !this.hasChildren;
1042
+ }
1043
+ return false;
1044
+ }
1045
+ get hasChildren() {
1046
+ const typeAnnotation = (this as any).typeAnnotation || this.__TypeAnnotation;
1047
+ if (typeAnnotation) {
1048
+ const { typeKind, typeNamespace, typeName } = typeAnnotation;
1049
+ if (typeKind === 'reference' || typeKind === 'generic') {
1050
+ if (typeNamespace.endsWith('.enums'))
1051
+ return null;
1052
+ return [{}];
1053
+ } else if (typeNamespace === 'nasl.core' && ['String', 'Text', 'Email'].includes(typeName)) {
1054
+ return [{}];
1055
+ }
1056
+ return null;
1057
+ }
1058
+ return null;
1059
+ }
1029
1060
  }
1030
1061
 
1031
1062
  export default BaseNode;
@@ -39,9 +39,6 @@ export class Abort extends LogicItem {
39
39
  super(source);
40
40
  super.subConstructor(source);
41
41
  }
42
- getClassName() {
43
- return 'Abort';
44
- }
45
42
 
46
43
  static from(source: any, parentNode?: any, parentKey?: string): Abort {
47
44
  return super.from(source, parentNode, parentKey) as Abort;
@@ -58,6 +55,10 @@ export class Abort extends LogicItem {
58
55
  // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
59
56
  // 自动生成的代码已结束。下面可以手动编写。
60
57
  //================================================================================
58
+ toUI(): string {
59
+ return '中止';
60
+ }
61
+
61
62
  toJS(state?: TranslatorState): string {
62
63
  const code = `throw Error('程序中止');`;
63
64
  return code;
@@ -6,6 +6,7 @@ export interface AssetsInfo {
6
6
 
7
7
  import { queryNodeByPath } from '../service/storage/jsoner';
8
8
  import { getNaslNodeByNodeCallee, getNodeByNodeCallee } from '../automate/engine/utils';
9
+ import ConfigProperty from './ConfigProperty__';
9
10
  import TypeAnnotation from './TypeAnnotation__';
10
11
  import View from './View__';
11
12
  interface MessageData {
@@ -16,7 +17,7 @@ interface MessageData {
16
17
  type: number
17
18
  resultName?: string,
18
19
  }
19
- import ConfigProperty from './ConfigProperty__';
20
+ // import CallLogic from './CallLogic__';
20
21
 
21
22
  //================================================================================
22
23
  // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
@@ -2459,43 +2460,6 @@ export class App extends BaseNode {
2459
2460
  this.emit('collect:end');
2460
2461
  }
2461
2462
 
2462
- getSelectRef(newTypeAnnotation: TypeAnnotation) {
2463
- try {
2464
- const { typeName, typeKind, typeNamespace, typeArguments } = newTypeAnnotation;
2465
- let completionChildren;
2466
- if (typeKind === 'reference') {
2467
- if (typeNamespace === 'nasl.ui' || typeNamespace === 'nasl.process' || typeNamespace === 'nasl.auth') {
2468
- const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
2469
- const properties = (node as Structure)?.properties || [];
2470
- completionChildren = properties;
2471
- } else if (typeNamespace.endsWith('.enums')) {
2472
- completionChildren = [];
2473
- } else {
2474
- const node = getNodeByNodeCallee(this, typeNamespace + '.' + typeName);
2475
- const properties = node?.properties || [];
2476
- completionChildren = properties;
2477
- }
2478
- } else if (typeKind === 'generic') {
2479
- const node = getNaslNodeByNodeCallee(typeNamespace, typeName);
2480
- const properties = ((node as Structure)?.properties && [...(node as Structure)?.properties]) || [];
2481
- for (let i = 0; i < properties.length; i++) {
2482
- const item = properties[i];
2483
- if (item?.typeAnnotation?.typeKind === 'typeParam') {
2484
- const newItem: any = BaseNode.from(item.toJSON());
2485
- newItem.typeAnnotation = typeArguments[0];
2486
- newItem.parentNode = this;
2487
- properties[i] = newItem;
2488
- }
2489
- }
2490
- completionChildren = properties;
2491
- } else {
2492
- completionChildren = [];
2493
- }
2494
- return completionChildren;
2495
- } catch (err) {
2496
- console.log(err);
2497
- }
2498
- }
2499
2463
  /* 判断接口是否有误,需要重新导出 */
2500
2464
 
2501
2465
  getQualifiedInterface(interfaces: Interface[] = this.interfaces): MessageData[] {
@@ -942,7 +942,7 @@ export class BindAttribute extends BaseNode {
942
942
  } else {
943
943
  value = this.expression?.toVue(options) || '';
944
944
  }
945
- } else if (this.type === 'string') {
945
+ } else if (this.type === 'string') {
946
946
  if (
947
947
  (
948
948
  this.name === 'destination' || (this.name === 'href' && value.startsWith('/'))
@@ -955,6 +955,22 @@ export class BindAttribute extends BaseNode {
955
955
  && this.app?.sysPrefixPath
956
956
  ) {
957
957
  value = `${this.app?.sysPrefixPath}${value}`;
958
+ } else {
959
+ let code = '';
960
+ if (typeof value === 'string') {
961
+ code = value;
962
+ if (options?.finalCode !== false) {
963
+ code = value.replace(/['"`\\]/g, (m) => {
964
+ const escape = '\\';
965
+ if (m === '\\') {
966
+ return `${escape}${escape}`;
967
+ } else {
968
+ return `${escape}${m}`;
969
+ }
970
+ });
971
+ }
972
+ }
973
+ value = code;
958
974
  }
959
975
  }
960
976
  if (value !== undefined && value !== null && typeof value === 'string') {
@@ -748,39 +748,39 @@ export class BindEvent extends BaseNode {
748
748
  // 获取bindEvent上的logic的参数从上文获取
749
749
  getContextRenderLogicParams(logic: Logic) {
750
750
  const argsList: Param[] = [];
751
+ const virtualParams = logic.virtualParams;
751
752
  if (this.logics?.length) {
752
753
  let parent = this.parentNode;
753
754
  let index = 0;
754
- const event = Param.from({ name: 'event' }, logic, 'virtualParams');
755
- const typeString = this.getEventTypeString();
756
- if (!typeString)
757
- return argsList;
758
- if (typeString && typeString.includes('nasl.ui')) {
759
- const last = typeString.lastIndexOf('.');
760
- event.typeAnnotation = TypeAnnotation.createReference(typeString.substring(last + 1, typeString.length), {
761
- typeNamespace: 'nasl.ui',
762
- });
763
- } else {
764
- const last = typeString.lastIndexOf('.');
765
- event.typeAnnotation = TypeAnnotation.createPrimitive(typeString.substring(last + 1, typeString.length), {
766
- typeNamespace: 'nasl.core',
767
- });
768
- }
755
+ const event = Param.from({ name: 'event', typeAnnotation: null }, logic, 'virtualParams');
769
756
  argsList.push(event);
770
-
771
757
  while (parent && parent.concept !== 'View') {
772
758
  if ((parent as ViewElement).slotScope) {
773
- const param = Param.from({ name: index === 0 ? 'current' : 'current' + index }, logic, 'virtualParams');
774
- param.typeAnnotation = TypeAnnotation.createGeneric('Current', {
775
- typeNamespace: 'nasl.ui',
776
- typeArguments: [],
777
- });
759
+ const param = Param.from({ name: index === 0 ? 'current' : 'current' + index, typeAnnotation: null }, logic, 'virtualParams');
778
760
  argsList.push(param);
779
761
  index++;
780
762
  }
781
763
  parent = parent.parentNode;
782
764
  }
783
765
  }
766
+ let haveDifference = false;
767
+ // 如果长度一样
768
+ if (virtualParams.length === argsList.length) {
769
+ // 那就看一下每一项的名字是不是变了
770
+ for (let i = 0; i < virtualParams.length; i++) {
771
+ if (virtualParams[i].name !== argsList[i].name) {
772
+ haveDifference = true;
773
+ break;
774
+ }
775
+ }
776
+ // 如果变了, 输出新的
777
+ if (haveDifference) {
778
+ return argsList;
779
+ }
780
+ // 如果没变,输出旧的不让树组件刷新
781
+ return virtualParams;
782
+ }
783
+ // 长度啥的都不一样,就输出新的
784
784
  return argsList;
785
785
  }
786
786
 
@@ -410,7 +410,6 @@ export class CallFunction extends LogicItem {
410
410
  }
411
411
  }
412
412
 
413
-
414
413
  toUI(): string {
415
414
  let code = this.calleeName;
416
415
  code += '(';