@lcap/nasl 2.18.0 → 2.20.0-beta.2

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 (287) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +4 -4
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/uniqueName.d.ts +1 -1
  5. package/out/automate/engine/uniqueName.js +3 -3
  6. package/out/automate/engine/uniqueName.js.map +1 -1
  7. package/out/automate/template/myProcess.js +1 -1
  8. package/out/automate/template/myProcess.js.map +1 -1
  9. package/out/bak/translator.js +2 -1
  10. package/out/bak/translator.js.map +1 -1
  11. package/out/common/BaseNode.js +1 -0
  12. package/out/common/BaseNode.js.map +1 -1
  13. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  14. package/out/concepts/AnonymousFunction__.js +40 -2
  15. package/out/concepts/AnonymousFunction__.js.map +1 -1
  16. package/out/concepts/App__.d.ts +79 -261
  17. package/out/concepts/App__.js +241 -367
  18. package/out/concepts/App__.js.map +1 -1
  19. package/out/concepts/BatchAssignment__.d.ts +2 -0
  20. package/out/concepts/BatchAssignment__.js +108 -47
  21. package/out/concepts/BatchAssignment__.js.map +1 -1
  22. package/out/concepts/BindAttribute__.d.ts +5 -0
  23. package/out/concepts/BindAttribute__.js +15 -2
  24. package/out/concepts/BindAttribute__.js.map +1 -1
  25. package/out/concepts/BindDirective__.d.ts +5 -0
  26. package/out/concepts/BindDirective__.js +6 -0
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +5 -0
  29. package/out/concepts/BindEvent__.js +6 -0
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BindStyle__.d.ts +5 -0
  32. package/out/concepts/BindStyle__.js +6 -0
  33. package/out/concepts/BindStyle__.js.map +1 -1
  34. package/out/concepts/CallFunction__.js +33 -14
  35. package/out/concepts/CallFunction__.js.map +1 -1
  36. package/out/concepts/CallInterface__.js +2 -1
  37. package/out/concepts/CallInterface__.js.map +1 -1
  38. package/out/concepts/CallLogic__.d.ts +2 -1
  39. package/out/concepts/CallLogic__.js +112 -27
  40. package/out/concepts/CallLogic__.js.map +1 -1
  41. package/out/concepts/CallQueryComponent__.js +4 -1
  42. package/out/concepts/CallQueryComponent__.js.map +1 -1
  43. package/out/concepts/Constant__.d.ts +5 -0
  44. package/out/concepts/Constant__.js +6 -0
  45. package/out/concepts/Constant__.js.map +1 -1
  46. package/out/concepts/DataSource__.d.ts +2 -0
  47. package/out/concepts/DataSource__.js +55 -1
  48. package/out/concepts/DataSource__.js.map +1 -1
  49. package/out/concepts/Destination__.d.ts +2 -1
  50. package/out/concepts/Destination__.js +98 -25
  51. package/out/concepts/Destination__.js.map +1 -1
  52. package/out/concepts/Frontend__.d.ts +370 -0
  53. package/out/concepts/Frontend__.js +669 -0
  54. package/out/concepts/Frontend__.js.map +1 -0
  55. package/out/concepts/Identifier__.d.ts +1 -0
  56. package/out/concepts/Identifier__.js +18 -7
  57. package/out/concepts/Identifier__.js.map +1 -1
  58. package/out/concepts/LogicItem__.d.ts +6 -1
  59. package/out/concepts/LogicItem__.js +6 -0
  60. package/out/concepts/LogicItem__.js.map +1 -1
  61. package/out/concepts/Logic__.d.ts +85 -79
  62. package/out/concepts/Logic__.js +41 -23
  63. package/out/concepts/Logic__.js.map +1 -1
  64. package/out/concepts/Match__.js +14 -9
  65. package/out/concepts/Match__.js.map +1 -1
  66. package/out/concepts/NewComposite__.d.ts +345 -0
  67. package/out/concepts/NewComposite__.js +1068 -0
  68. package/out/concepts/NewComposite__.js.map +1 -0
  69. package/out/concepts/NewList__.d.ts +130 -0
  70. package/out/concepts/NewList__.js +349 -0
  71. package/out/concepts/NewList__.js.map +1 -0
  72. package/out/concepts/NewMap__.d.ts +221 -0
  73. package/out/concepts/NewMap__.js +480 -0
  74. package/out/concepts/NewMap__.js.map +1 -0
  75. package/out/concepts/New__.d.ts +19 -0
  76. package/out/concepts/New__.js +66 -0
  77. package/out/concepts/New__.js.map +1 -0
  78. package/out/concepts/Param__.d.ts +7 -0
  79. package/out/concepts/Param__.js +46 -3
  80. package/out/concepts/Param__.js.map +1 -1
  81. package/out/concepts/ProcessElement__.js +42 -13
  82. package/out/concepts/ProcessElement__.js.map +1 -1
  83. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  84. package/out/concepts/ProcessOutcomes__.js +87 -0
  85. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  86. package/out/concepts/Process__.d.ts +4 -20
  87. package/out/concepts/Process__.js +0 -7
  88. package/out/concepts/Process__.js.map +1 -1
  89. package/out/concepts/Return__.d.ts +5 -0
  90. package/out/concepts/Return__.js +8 -1
  91. package/out/concepts/Return__.js.map +1 -1
  92. package/out/concepts/SelectMembers__.js +3 -3
  93. package/out/concepts/SelectMembers__.js.map +1 -1
  94. package/out/concepts/Transactional__.d.ts +5 -0
  95. package/out/concepts/Transactional__.js +6 -0
  96. package/out/concepts/Transactional__.js.map +1 -1
  97. package/out/concepts/TypeAnnotation__.d.ts +3 -0
  98. package/out/concepts/TypeAnnotation__.js +50 -11
  99. package/out/concepts/TypeAnnotation__.js.map +1 -1
  100. package/out/concepts/ValidationRule__.js +1 -1
  101. package/out/concepts/ValidationRule__.js.map +1 -1
  102. package/out/concepts/Variable__.d.ts +5 -0
  103. package/out/concepts/Variable__.js +9 -2
  104. package/out/concepts/Variable__.js.map +1 -1
  105. package/out/concepts/ViewElement__.d.ts +5 -0
  106. package/out/concepts/ViewElement__.js +21 -3
  107. package/out/concepts/ViewElement__.js.map +1 -1
  108. package/out/concepts/View__.d.ts +6 -0
  109. package/out/concepts/View__.js +23 -3
  110. package/out/concepts/View__.js.map +1 -1
  111. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  112. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  113. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  114. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  115. package/out/concepts/basics/stdlib/nasl.ui.js +2 -0
  116. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  117. package/out/concepts/basics/stdlib/nasl.util.js +151 -19
  118. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  119. package/out/concepts/index__.d.ts +7 -0
  120. package/out/concepts/index__.js +7 -0
  121. package/out/concepts/index__.js.map +1 -1
  122. package/out/enums/KEYWORDS.d.ts +1 -0
  123. package/out/enums/KEYWORDS.js +9 -1
  124. package/out/enums/KEYWORDS.js.map +1 -1
  125. package/out/generator/genBundleFiles.d.ts +6 -3
  126. package/out/generator/genBundleFiles.js +54 -192
  127. package/out/generator/genBundleFiles.js.map +1 -1
  128. package/out/generator/genMetaData.d.ts +2 -11
  129. package/out/generator/genMetaData.js +185 -51
  130. package/out/generator/genMetaData.js.map +1 -1
  131. package/out/generator/genReleaseBody.d.ts +18 -2
  132. package/out/generator/genReleaseBody.js +80 -40
  133. package/out/generator/genReleaseBody.js.map +1 -1
  134. package/out/generator/index.d.ts +1 -0
  135. package/out/generator/index.js +1 -0
  136. package/out/generator/index.js.map +1 -1
  137. package/out/generator/permission.d.ts +17 -0
  138. package/out/generator/permission.js +221 -0
  139. package/out/generator/permission.js.map +1 -0
  140. package/out/index.d.ts +1 -1
  141. package/out/index.js +3 -1
  142. package/out/index.js.map +1 -1
  143. package/out/server/entity2LogicNamespace.js +89 -9
  144. package/out/server/entity2LogicNamespace.js.map +1 -1
  145. package/out/server/extendBaseNode.js +33 -20
  146. package/out/server/extendBaseNode.js.map +1 -1
  147. package/out/server/formatTsUtils.d.ts +1 -2
  148. package/out/server/formatTsUtils.js +36 -47
  149. package/out/server/formatTsUtils.js.map +1 -1
  150. package/out/server/getLogics.d.ts +2 -1
  151. package/out/server/getLogics.js +13 -2
  152. package/out/server/getLogics.js.map +1 -1
  153. package/out/server/getMemberIdentifier.js +4 -4
  154. package/out/server/getMemberIdentifier.js.map +1 -1
  155. package/out/server/getProcesses.js +1 -1
  156. package/out/server/getProcesses.js.map +1 -1
  157. package/out/server/naslServer.d.ts +3 -1
  158. package/out/server/naslServer.js +254 -65
  159. package/out/server/naslServer.js.map +1 -1
  160. package/out/server/process2LogicNamespace.js +8 -0
  161. package/out/server/process2LogicNamespace.js.map +1 -1
  162. package/out/server/translator.js +50 -5
  163. package/out/server/translator.js.map +1 -1
  164. package/out/service/creator/add.configs.js +4 -0
  165. package/out/service/creator/add.configs.js.map +1 -1
  166. package/out/service/datasource/api.d.ts +12 -0
  167. package/out/service/datasource/api.js +14 -0
  168. package/out/service/datasource/api.js.map +1 -0
  169. package/out/service/datasource/index.d.ts +2 -0
  170. package/out/service/datasource/index.js +10 -0
  171. package/out/service/datasource/index.js.map +1 -0
  172. package/out/service/storage/init.js +15 -4
  173. package/out/service/storage/init.js.map +1 -1
  174. package/out/templator/genEditTableBlock.js +4 -5
  175. package/out/templator/genEditTableBlock.js.map +1 -1
  176. package/out/templator/genGetBlock.js +4 -3
  177. package/out/templator/genGetBlock.js.map +1 -1
  178. package/out/templator/genGridViewBlock.js +16 -14
  179. package/out/templator/genGridViewBlock.js.map +1 -1
  180. package/out/templator/genListViewBlock.js +5 -5
  181. package/out/templator/genListViewBlock.js.map +1 -1
  182. package/out/templator/genTableBlock.js +6 -10
  183. package/out/templator/genTableBlock.js.map +1 -1
  184. package/package.json +2 -2
  185. package/sandbox/stdlib/nasl.auth.ts +1 -1
  186. package/sandbox/stdlib/nasl.core.ts +1 -0
  187. package/sandbox/stdlib/nasl.logging.ts +4 -4
  188. package/sandbox/stdlib/nasl.util.ts +9 -5
  189. package/src/automate/engine/index.js +4 -4
  190. package/src/automate/engine/uniqueName.js +3 -3
  191. package/src/automate/template/myProcess.js +1 -1
  192. package/src/automate/upgrader/2.20.js +41 -0
  193. package/src/bak/translator.js +4 -1
  194. package/src/common/BaseNode.ts +1 -0
  195. package/src/concepts/AnonymousFunction__.ts +48 -2
  196. package/src/concepts/App__.ts +298 -650
  197. package/src/concepts/BatchAssignment__.ts +111 -51
  198. package/src/concepts/BindAttribute__.ts +18 -25
  199. package/src/concepts/BindDirective__.ts +7 -0
  200. package/src/concepts/BindEvent__.ts +7 -0
  201. package/src/concepts/BindStyle__.ts +7 -0
  202. package/src/concepts/CallFunction__.ts +34 -45
  203. package/src/concepts/CallInterface__.ts +2 -1
  204. package/src/concepts/CallLogic__.ts +87 -55
  205. package/src/concepts/CallQueryComponent__.ts +4 -1
  206. package/src/concepts/Constant__.ts +7 -0
  207. package/src/concepts/DataSource__.ts +57 -5
  208. package/src/concepts/Destination__.ts +100 -43
  209. package/src/concepts/Frontend__.ts +945 -0
  210. package/src/concepts/Identifier__.ts +18 -16
  211. package/src/concepts/LogicItem__.ts +8 -1
  212. package/src/concepts/Logic__.ts +134 -149
  213. package/src/concepts/Match__.ts +13 -29
  214. package/src/concepts/NewComposite__.ts +1357 -0
  215. package/src/concepts/NewList__.ts +440 -0
  216. package/src/concepts/NewMap__.ts +666 -0
  217. package/src/concepts/New__.ts +73 -0
  218. package/src/concepts/Param__.ts +245 -199
  219. package/src/concepts/ProcessElement__.ts +43 -36
  220. package/src/concepts/ProcessOutcomes__.ts +90 -0
  221. package/src/concepts/Process__.ts +1 -23
  222. package/src/concepts/Return__.ts +11 -1
  223. package/src/concepts/SelectMembers__.ts +3 -3
  224. package/src/concepts/Transactional__.ts +7 -0
  225. package/src/concepts/TypeAnnotation__.ts +54 -49
  226. package/src/concepts/ValidationRule__.ts +19 -1
  227. package/src/concepts/Variable__.ts +12 -6
  228. package/src/concepts/ViewElement__.ts +28 -26
  229. package/src/concepts/View__.ts +26 -26
  230. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  231. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  232. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  233. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  234. package/src/concepts/index__.ts +7 -0
  235. package/src/enums/KEYWORDS.ts +9 -0
  236. package/src/generator/genBundleFiles.ts +74 -245
  237. package/src/generator/genMetaData.ts +178 -78
  238. package/src/generator/genReleaseBody.ts +87 -44
  239. package/src/generator/index.ts +1 -0
  240. package/src/generator/permission.ts +261 -0
  241. package/src/index.ts +1 -1
  242. package/src/server/entity2LogicNamespace.ts +90 -10
  243. package/src/server/extendBaseNode.ts +33 -22
  244. package/src/server/formatTsUtils.ts +36 -46
  245. package/src/server/getLogics.ts +15 -3
  246. package/src/server/getMemberIdentifier.ts +5 -5
  247. package/src/server/getProcesses.ts +1 -1
  248. package/src/server/naslServer.ts +260 -77
  249. package/src/server/process2LogicNamespace.ts +8 -0
  250. package/src/server/translator.ts +51 -5
  251. package/src/service/creator/add.configs.js +4 -0
  252. package/src/service/datasource/api.js +11 -0
  253. package/src/service/datasource/index.js +6 -0
  254. package/src/service/storage/init.ts +15 -4
  255. package/src/service/video/VideoTranscribe.js +1 -0
  256. package/src/templator/genEditTableBlock.ts +8 -16
  257. package/src/templator/genGetBlock.ts +18 -19
  258. package/src/templator/genGridViewBlock.ts +18 -18
  259. package/src/templator/genListViewBlock.ts +8 -11
  260. package/src/templator/genTableBlock.ts +6 -10
  261. package/ts-worker/lib/tsserver.js +8 -1
  262. package/out/automate/engine/2.14-components.d.ts +0 -1115
  263. package/out/automate/engine/2.14-components.js +0 -1087
  264. package/out/automate/engine/2.14-components.js.map +0 -1
  265. package/out/concepts/MatchExpression__.d.ts +0 -97
  266. package/out/concepts/MatchExpression__.js +0 -281
  267. package/out/concepts/MatchExpression__.js.map +0 -1
  268. package/src/automate/engine/dist/index.dev.js +0 -517
  269. package/src/common/dist/BaseNode.js +0 -1101
  270. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  271. package/src/concepts/dist/Anchor__.js +0 -179
  272. package/src/concepts/dist/Assignment__.js +0 -301
  273. package/src/concepts/dist/CallFunction__.js +0 -473
  274. package/src/concepts/dist/CallInterface__.js +0 -533
  275. package/src/concepts/dist/CallLogic__.js +0 -864
  276. package/src/concepts/dist/ForEachStatement__.js +0 -426
  277. package/src/concepts/dist/MatchCase__.js +0 -587
  278. package/src/concepts/dist/MemberExpression__.js +0 -348
  279. package/src/concepts/dist/Param__.js +0 -537
  280. package/src/concepts/dist/Return__.js +0 -493
  281. package/src/generator/dist/genBundleFiles.js +0 -414
  282. package/src/server/dist/formatTsUtils.js +0 -683
  283. package/src/server/dist/naslServer.js +0 -3396
  284. package/src/service/storage/dist/init.js +0 -541
  285. package/ts-worker/dist/webpack.config.dev.js +0 -104
  286. package/ts-worker/lib/dist/tsserver.dev.js +0 -22953
  287. package/ts-worker/sources/lib/dist/tsserver.dev.js +0 -22912
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewComposite__.js","sourceRoot":"","sources":["../../src/concepts/NewComposite__.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { TranslatorState } from '../translator';
2
+ import { Params } from '../common/EventEmitter';
3
+ import TypeAnnotation from './TypeAnnotation__';
4
+ import LogicItem from './LogicItem__';
5
+ /**
6
+ * list构造器
7
+ */
8
+ export declare class NewList extends LogicItem {
9
+ /**
10
+ * 产品概念
11
+ */
12
+ concept: 'NewList';
13
+ /**
14
+ * 类型
15
+ */
16
+ typeAnnotation: TypeAnnotation;
17
+ /**
18
+ * 成员表达式
19
+ */
20
+ items: Array<LogicItem>;
21
+ /**
22
+ * @param source 需要合并的部分参数
23
+ */
24
+ constructor(source?: Partial<NewList>);
25
+ static from(source: any, parentNode?: any, parentKey?: string): NewList;
26
+ /**
27
+ * 设置类型
28
+ */
29
+ setTypeAnnotation(typeAnnotation: TypeAnnotation): void;
30
+ /**
31
+ * 设置成员表达式
32
+ */
33
+ setItems(items: Array<LogicItem>): void;
34
+ getItemExistingNames(excludedList?: Array<LogicItem>): string[];
35
+ getItemUniqueName(name?: string): string;
36
+ /**
37
+ * 插入逻辑项
38
+ * @internal
39
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
40
+ */
41
+ _insertItemAt(name: string, index: number): LogicItem;
42
+ /**
43
+ * 插入逻辑项
44
+ * @internal
45
+ * @param logicItemOptions 逻辑项参数
46
+ */
47
+ _insertItemAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
48
+ /**
49
+ * 插入逻辑项
50
+ * @internal
51
+ * @param logicItem 已有的逻辑项实例
52
+ */
53
+ _insertItemAt(logicItem: LogicItem, index: number): LogicItem;
54
+ /**
55
+ * 插入逻辑项
56
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
57
+ */
58
+ insertItemAt(name: string, index: number): LogicItem;
59
+ /**
60
+ * 插入逻辑项
61
+ * @param logicItemOptions 逻辑项参数
62
+ */
63
+ insertItemAt(logicItemOptions: Partial<LogicItem>, index: number): LogicItem;
64
+ /**
65
+ * 插入逻辑项
66
+ * @param logicItem 已有的逻辑项实例
67
+ */
68
+ insertItemAt(logicItem: LogicItem, index: number): LogicItem;
69
+ /**
70
+ * 添加逻辑项
71
+ * @internal
72
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
73
+ */
74
+ _addItem(name?: string): LogicItem;
75
+ /**
76
+ * 添加逻辑项
77
+ * @internal
78
+ * @param logicItemOptions 逻辑项参数
79
+ */
80
+ _addItem(logicItemOptions: Partial<LogicItem>): LogicItem;
81
+ /**
82
+ * 添加逻辑项
83
+ * @internal
84
+ * @param logicItem 已有的逻辑项实例
85
+ */
86
+ _addItem(logicItem: LogicItem): LogicItem;
87
+ /**
88
+ * 添加逻辑项
89
+ * @internal
90
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
91
+ */
92
+ addItem(name?: string): LogicItem;
93
+ /**
94
+ * 添加逻辑项
95
+ * @param logicItemOptions 逻辑项参数
96
+ */
97
+ addItem(logicItemOptions: Partial<LogicItem>): LogicItem;
98
+ /**
99
+ * 添加逻辑项
100
+ * @param logicItem 已有的逻辑项实例
101
+ */
102
+ addItem(logicItem: LogicItem): LogicItem;
103
+ /**
104
+ * 删除类型标注
105
+ * @param name 类型标注名称
106
+ */
107
+ removeTypeAnnotation(name: string): void;
108
+ /**
109
+ * 删除类型标注
110
+ * @param typeAnnotation 已有的类型标注实例
111
+ */
112
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
113
+ __removeTypeAnnotation(typeAnnotation: TypeAnnotation): Params;
114
+ /**
115
+ * 删除逻辑项
116
+ * @param name 逻辑项名称
117
+ */
118
+ removeItem(name: string): void;
119
+ /**
120
+ * 删除逻辑项
121
+ * @param logicItem 已有的逻辑项实例
122
+ */
123
+ removeItem(logicItem: LogicItem): void;
124
+ __removeLogicItem(logicItem: LogicItem): Params;
125
+ toUI(state?: TranslatorState): string;
126
+ toJS(state?: TranslatorState): string;
127
+ toEmbeddedTS(state?: TranslatorState): string;
128
+ getInitCode(state?: TranslatorState): string;
129
+ }
130
+ export default NewList;
@@ -0,0 +1,349 @@
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 NewList_1;
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NewList = void 0;
37
+ const translator_1 = require("../translator");
38
+ const decorators_1 = require("../decorators");
39
+ const utils = __importStar(require("../utils"));
40
+ const classMap_1 = __importDefault(require("../common/classMap"));
41
+ const LogicItem__1 = __importDefault(require("./LogicItem__"));
42
+ /**
43
+ * list构造器
44
+ */
45
+ let NewList = NewList_1 = class NewList extends LogicItem__1.default {
46
+ /**
47
+ * 产品概念
48
+ */
49
+ concept = 'NewList';
50
+ /**
51
+ * 类型
52
+ */
53
+ typeAnnotation = undefined;
54
+ /**
55
+ * 成员表达式
56
+ */
57
+ items = [];
58
+ /**
59
+ * @param source 需要合并的部分参数
60
+ */
61
+ constructor(source) {
62
+ source = Object.assign({}, NewList_1.getDefaultOptions(), source);
63
+ super(source);
64
+ super.subConstructor(source);
65
+ }
66
+ static from(source, parentNode, parentKey) {
67
+ return super.from(source, parentNode, parentKey);
68
+ }
69
+ /**
70
+ * 设置类型
71
+ */
72
+ setTypeAnnotation(typeAnnotation) {
73
+ typeAnnotation._delete();
74
+ const relationOptions = { parentNode: this, parentKey: 'typeAnnotation' };
75
+ Object.assign(typeAnnotation, relationOptions);
76
+ const object = {
77
+ typeAnnotation,
78
+ };
79
+ this.update({
80
+ ...object,
81
+ });
82
+ }
83
+ /**
84
+ * 设置成员表达式
85
+ */
86
+ setItems(items) {
87
+ const object = {
88
+ items,
89
+ };
90
+ this.update({
91
+ ...object,
92
+ });
93
+ }
94
+ getItemExistingNames(excludedList = []) {
95
+ const excludedSet = new Set(excludedList);
96
+ return (this.items || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
97
+ }
98
+ getItemUniqueName(name = 'logicItem1') {
99
+ return utils.unique(name, this.getItemExistingNames(), undefined, false);
100
+ }
101
+ _insertItemAt(options, index) {
102
+ const logicItemOptions = {};
103
+ const relationOptions = { parentNode: this, parentKey: 'items' };
104
+ let logicItem;
105
+ if (!options) {
106
+ logicItem = LogicItem__1.default.from({
107
+ ...logicItemOptions,
108
+ name: this.getItemUniqueName(),
109
+ }, this, 'items');
110
+ }
111
+ else if (typeof options === 'string') {
112
+ logicItem = LogicItem__1.default.from({
113
+ ...logicItemOptions,
114
+ name: options,
115
+ }, this, 'items');
116
+ }
117
+ else if (options instanceof LogicItem__1.default) {
118
+ options.ensureDelete(); // 同一实例不支持多处存在
119
+ logicItem = options;
120
+ Object.assign(logicItem, relationOptions);
121
+ }
122
+ else {
123
+ logicItem = LogicItem__1.default.from({
124
+ ...logicItemOptions,
125
+ ...options,
126
+ }, this, 'items');
127
+ }
128
+ this.items.splice(index, 0, logicItem);
129
+ return logicItem;
130
+ }
131
+ insertItemAt(options, index) {
132
+ const node = this._insertItemAt(options, index);
133
+ node.create({
134
+ index,
135
+ parentNode: this,
136
+ parentKey: 'items',
137
+ });
138
+ return node;
139
+ }
140
+ _addItem(options) {
141
+ const index = this.items.length;
142
+ return this._insertItemAt(options, index);
143
+ }
144
+ addItem(options) {
145
+ const node = this._addItem(options);
146
+ const index = this.items.indexOf(node);
147
+ node.create({
148
+ index,
149
+ parentNode: this,
150
+ parentKey: 'items',
151
+ });
152
+ return node;
153
+ }
154
+ removeTypeAnnotation(options) {
155
+ let typeAnnotation;
156
+ if (typeof options === 'string') {
157
+ typeAnnotation = this.typeAnnotation;
158
+ if (!typeAnnotation) {
159
+ throw new Error('找不到类型标注 ' + options);
160
+ }
161
+ }
162
+ else {
163
+ typeAnnotation = options;
164
+ }
165
+ return typeAnnotation.delete();
166
+ }
167
+ __removeTypeAnnotation(typeAnnotation) {
168
+ const parentKey = typeAnnotation.parentKey;
169
+ const params = {
170
+ parentNode: this,
171
+ parentKey,
172
+ index: -1,
173
+ object: null,
174
+ oldObject: typeAnnotation,
175
+ };
176
+ if (parentKey) {
177
+ params.parentKey = parentKey;
178
+ if (Array.isArray(this[parentKey])) {
179
+ const index = this[parentKey].indexOf(typeAnnotation);
180
+ ~index && this[parentKey].splice(index, 1);
181
+ params.index = index;
182
+ }
183
+ else if (this[parentKey] === typeAnnotation) {
184
+ params.index = 0;
185
+ this[parentKey] = undefined;
186
+ }
187
+ }
188
+ return params;
189
+ }
190
+ removeItem(options) {
191
+ let logicItem;
192
+ if (typeof options === 'string') {
193
+ logicItem = this.items.find((item) => item.name === options);
194
+ if (!logicItem) {
195
+ throw new Error('找不到逻辑项 ' + options);
196
+ }
197
+ }
198
+ else {
199
+ logicItem = options;
200
+ }
201
+ return logicItem.delete();
202
+ }
203
+ __removeLogicItem(logicItem) {
204
+ const parentKey = logicItem.parentKey;
205
+ const params = {
206
+ parentNode: this,
207
+ parentKey,
208
+ index: -1,
209
+ object: null,
210
+ oldObject: logicItem,
211
+ };
212
+ if (parentKey) {
213
+ params.parentKey = parentKey;
214
+ if (Array.isArray(this[parentKey])) {
215
+ const index = this[parentKey].indexOf(logicItem);
216
+ ~index && this[parentKey].splice(index, 1);
217
+ params.index = index;
218
+ }
219
+ else if (this[parentKey] === logicItem) {
220
+ params.index = 0;
221
+ this[parentKey] = undefined;
222
+ }
223
+ }
224
+ return params;
225
+ }
226
+ //================================================================================
227
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
228
+ // 自动生成的代码已结束。下面可以手动编写。
229
+ //================================================================================
230
+ toUI(state) {
231
+ let code = '';
232
+ code += '[';
233
+ this.items.forEach((item, index) => {
234
+ code += item.toUI((0, translator_1.shiftState)(state, code, { inline: true }));
235
+ if (index + 1 < this.items.length)
236
+ code += ', ';
237
+ });
238
+ code += ']';
239
+ return code;
240
+ }
241
+ toJS(state) {
242
+ let code = '';
243
+ code += 'await (async () => {\n';
244
+ code += 'const arr = [\n';
245
+ this.items.forEach((item, index) => {
246
+ code += item.toJS((0, translator_1.shiftState)(state, code, { inline: true }));
247
+ if (index + 1 < this.items.length)
248
+ code += ', ';
249
+ });
250
+ code += '\n];\n';
251
+ code += `return arr;\n`;
252
+ code += '})()';
253
+ return code;
254
+ }
255
+ toEmbeddedTS(state) {
256
+ let code = '';
257
+ if (this.typeAnnotation) {
258
+ code += '(() => { \n';
259
+ // ts报错检查
260
+ code += 'function __newComposite() {\n';
261
+ const typeCode = `nasl.util.New<${this.typeAnnotation.sortedTypeKey}>()`;
262
+ this.items.forEach((item, index) => {
263
+ code += `nasl.util.Add(${typeCode}, `;
264
+ code += item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
265
+ code += ');';
266
+ code += '\n';
267
+ });
268
+ code += `return ${typeCode};\n`;
269
+ code += '};\n';
270
+ code += 'return __newComposite();\n';
271
+ code += '})()';
272
+ }
273
+ else {
274
+ code += '(() => { \n';
275
+ const arr = [];
276
+ this.items.forEach((item, index) => {
277
+ arr.push(item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true })));
278
+ code += arr[index];
279
+ code += '; ';
280
+ });
281
+ code += '\n';
282
+ // ts报错检查
283
+ code += 'function __newComposite() {\n';
284
+ if (this.items.length === 0) {
285
+ code += 'return nasl.util.NewList();\n';
286
+ }
287
+ else {
288
+ code += 'let arr = [';
289
+ this.items.forEach((item, index) => {
290
+ code += ['__IDENTIFIER__', '__IDENTIFIER__()'].includes(arr[index]) ? null : arr[index];
291
+ if (index + 1 < this.items.length)
292
+ code += ', ';
293
+ });
294
+ code += ']\n';
295
+ code += 'return nasl.util.NewList(...arr);\n';
296
+ }
297
+ code += '};\n';
298
+ code += 'return __newComposite();\n';
299
+ code += '})()';
300
+ }
301
+ return code;
302
+ }
303
+ getInitCode(state) {
304
+ let code = '';
305
+ code += '(() => { \n';
306
+ code += 'function __newComposite() {\n';
307
+ if (this.items.length === 0) {
308
+ code += 'return nasl.util.NewList();\n';
309
+ }
310
+ else {
311
+ code += 'let arr = [';
312
+ this.items.forEach((item, index) => {
313
+ const ts = item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { inline: true }));
314
+ code += ts === '__IDENTIFIER__' ? null : ts;
315
+ if (index + 1 < this.items.length)
316
+ code += ', ';
317
+ });
318
+ code += ']\n';
319
+ code += 'return nasl.util.NewList(...arr);\n';
320
+ }
321
+ code += '};\n';
322
+ code += 'return __newComposite();\n';
323
+ code += '})()';
324
+ return code;
325
+ }
326
+ };
327
+ __decorate([
328
+ (0, decorators_1.property)()
329
+ ], NewList.prototype, "concept", void 0);
330
+ __decorate([
331
+ (0, decorators_1.property)('TypeAnnotation')
332
+ ], NewList.prototype, "typeAnnotation", void 0);
333
+ __decorate([
334
+ (0, decorators_1.property)('LogicItem')
335
+ ], NewList.prototype, "items", void 0);
336
+ __decorate([
337
+ (0, translator_1.withSourceMap)()
338
+ ], NewList.prototype, "toEmbeddedTS", null);
339
+ NewList = NewList_1 = __decorate([
340
+ (0, decorators_1.concept)('list构造器')
341
+ ], NewList);
342
+ exports.NewList = NewList;
343
+ classMap_1.default.NewList = NewList;
344
+ exports.default = NewList;
345
+ //================================================================================
346
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
347
+ // 自动生成的代码已结束。下面可以手动编写。
348
+ //================================================================================
349
+ //# sourceMappingURL=NewList__.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewList__.js","sourceRoot":"","sources":["../../src/concepts/NewList__.ts"],"names":[],"mappings":"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"}