@lcap/nasl-concepts 3.9.0-beta.2 → 3.9.0-beta.20
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.
- package/out/common/BaseNode.d.ts +25 -3
- package/out/common/BaseNode.d.ts.map +1 -1
- package/out/common/BaseNode.js +186 -36
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/AbstractInterface__.d.ts +1 -1
- package/out/concepts/AbstractInterface__.d.ts.map +1 -1
- package/out/concepts/AbstractInterface__.js.map +1 -1
- package/out/concepts/Annotation__.d.ts.map +1 -1
- package/out/concepts/Annotation__.js +0 -3
- package/out/concepts/Annotation__.js.map +1 -1
- package/out/concepts/App__.d.ts +2 -1
- package/out/concepts/App__.d.ts.map +1 -1
- package/out/concepts/App__.js +17 -13
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/AssigneeV2__.d.ts.map +1 -1
- package/out/concepts/AssigneeV2__.js +5 -3
- package/out/concepts/AssigneeV2__.js.map +1 -1
- package/out/concepts/Assignment__.d.ts +3 -0
- package/out/concepts/Assignment__.d.ts.map +1 -1
- package/out/concepts/Assignment__.js +42 -2
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/Attribute__.d.ts +1 -1
- package/out/concepts/Attribute__.d.ts.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.d.ts.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js +2 -50
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/BackendVariable__.d.ts.map +1 -1
- package/out/concepts/BackendVariable__.js +16 -1
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/BaseSetter__.d.ts +1 -1
- package/out/concepts/BaseSetter__.d.ts.map +1 -1
- package/out/concepts/BaseSetter__.js.map +1 -1
- package/out/concepts/BatchAssignment__.d.ts +3 -0
- package/out/concepts/BatchAssignment__.d.ts.map +1 -1
- package/out/concepts/BatchAssignment__.js +54 -0
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts.map +1 -1
- package/out/concepts/BindAttribute__.js +27 -5
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +1 -1
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts.map +1 -1
- package/out/concepts/BindEvent__.js +2 -0
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BindStyle__.js +1 -1
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/BusinessComponent__.d.ts +12 -1
- package/out/concepts/BusinessComponent__.d.ts.map +1 -1
- package/out/concepts/BusinessComponent__.js +174 -103
- package/out/concepts/BusinessComponent__.js.map +1 -1
- package/out/concepts/BusinessLogic__.d.ts.map +1 -1
- package/out/concepts/BusinessLogic__.js +2 -50
- package/out/concepts/BusinessLogic__.js.map +1 -1
- package/out/concepts/CallFunction__.d.ts +1 -1
- package/out/concepts/CallFunction__.js +7 -7
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +6 -1
- package/out/concepts/CallInterface__.d.ts.map +1 -1
- package/out/concepts/CallInterface__.js +31 -10
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +1 -0
- package/out/concepts/CallLogic__.d.ts.map +1 -1
- package/out/concepts/CallLogic__.js +63 -19
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallMicroserviceInterface__.d.ts +39 -0
- package/out/concepts/CallMicroserviceInterface__.d.ts.map +1 -0
- package/out/concepts/CallMicroserviceInterface__.js +134 -0
- package/out/concepts/CallMicroserviceInterface__.js.map +1 -0
- package/out/concepts/CallQueryComponent__.d.ts +4 -2
- package/out/concepts/CallQueryComponent__.d.ts.map +1 -1
- package/out/concepts/CallQueryComponent__.js +45 -21
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/ConfigProperty__.d.ts +1 -0
- package/out/concepts/ConfigProperty__.d.ts.map +1 -1
- package/out/concepts/ConfigProperty__.js +24 -1
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/ConnectionInfo__.d.ts +40 -0
- package/out/concepts/ConnectionInfo__.d.ts.map +1 -0
- package/out/concepts/ConnectionInfo__.js +92 -0
- package/out/concepts/ConnectionInfo__.js.map +1 -0
- package/out/concepts/ConnectorTrigger__.d.ts +1 -0
- package/out/concepts/ConnectorTrigger__.d.ts.map +1 -1
- package/out/concepts/ConnectorTrigger__.js +46 -11
- package/out/concepts/ConnectorTrigger__.js.map +1 -1
- package/out/concepts/Connector__.d.ts +4 -4
- package/out/concepts/Connector__.d.ts.map +1 -1
- package/out/concepts/Connector__.js +20 -4
- package/out/concepts/Connector__.js.map +1 -1
- package/out/concepts/Destination__.d.ts.map +1 -1
- package/out/concepts/Destination__.js +13 -8
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts.map +1 -1
- package/out/concepts/EntityProperty__.js +3 -2
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +3 -3
- package/out/concepts/Entity__.d.ts.map +1 -1
- package/out/concepts/Entity__.js +8 -2
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Event__.js +1 -1
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +2 -0
- package/out/concepts/Frontend__.d.ts.map +1 -1
- package/out/concepts/Frontend__.js +61 -50
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +5 -0
- package/out/concepts/Identifier__.d.ts.map +1 -1
- package/out/concepts/Identifier__.js +87 -5
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/ImportedInterface__.d.ts +1 -1
- package/out/concepts/ImportedInterface__.d.ts.map +1 -1
- package/out/concepts/ImportedInterface__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +12 -4
- package/out/concepts/Interface__.d.ts.map +1 -1
- package/out/concepts/Interface__.js +17 -3
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +14 -1
- package/out/concepts/LogicItem__.d.ts.map +1 -1
- package/out/concepts/LogicItem__.js +23 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +2 -2
- package/out/concepts/Logic__.d.ts.map +1 -1
- package/out/concepts/Logic__.js +28 -114
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MatchCase__.d.ts +28 -28
- package/out/concepts/MatchCase__.d.ts.map +1 -1
- package/out/concepts/MatchCase__.js +16 -16
- package/out/concepts/MatchCase__.js.map +1 -1
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +6 -2
- package/out/concepts/MemberExpression__.d.ts.map +1 -1
- package/out/concepts/MemberExpression__.js +103 -132
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/MetadataType__.d.ts +1 -1
- package/out/concepts/MetadataType__.d.ts.map +1 -1
- package/out/concepts/MetadataType__.js +6 -2
- package/out/concepts/MetadataType__.js.map +1 -1
- package/out/concepts/MicroserviceInterface__.d.ts +117 -0
- package/out/concepts/MicroserviceInterface__.d.ts.map +1 -0
- package/out/concepts/MicroserviceInterface__.js +263 -0
- package/out/concepts/MicroserviceInterface__.js.map +1 -0
- package/out/concepts/Module__.d.ts +17 -17
- package/out/concepts/Module__.d.ts.map +1 -1
- package/out/concepts/Module__.js +23 -11
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +2 -1
- package/out/concepts/NewComposite__.d.ts.map +1 -1
- package/out/concepts/NewComposite__.js +23 -0
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewStructure__.d.ts +120 -0
- package/out/concepts/NewStructure__.d.ts.map +1 -0
- package/out/concepts/NewStructure__.js +250 -0
- package/out/concepts/NewStructure__.js.map +1 -0
- package/out/concepts/OverriddenLogic__.d.ts +11 -9
- package/out/concepts/OverriddenLogic__.d.ts.map +1 -1
- package/out/concepts/OverriddenLogic__.js +31 -58
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/Param__.d.ts +6 -1
- package/out/concepts/Param__.d.ts.map +1 -1
- package/out/concepts/Param__.js +32 -22
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessDefinitionV2__.d.ts +299 -0
- package/out/concepts/ProcessDefinitionV2__.d.ts.map +1 -0
- package/out/concepts/ProcessDefinitionV2__.js +437 -0
- package/out/concepts/ProcessDefinitionV2__.js.map +1 -0
- package/out/concepts/ProcessElementV2__.d.ts +20 -5
- package/out/concepts/ProcessElementV2__.d.ts.map +1 -1
- package/out/concepts/ProcessElementV2__.js +52 -15
- package/out/concepts/ProcessElementV2__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +1 -0
- package/out/concepts/ProcessElement__.d.ts.map +1 -1
- package/out/concepts/ProcessElement__.js +18 -0
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessV2__.d.ts +73 -303
- package/out/concepts/ProcessV2__.d.ts.map +1 -1
- package/out/concepts/ProcessV2__.js +239 -361
- package/out/concepts/ProcessV2__.js.map +1 -1
- package/out/concepts/Process__.d.ts +3 -1
- package/out/concepts/Process__.d.ts.map +1 -1
- package/out/concepts/Process__.js +49 -2
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/PropertyTransformSetter__.d.ts +26 -0
- package/out/concepts/PropertyTransformSetter__.d.ts.map +1 -0
- package/out/concepts/PropertyTransformSetter__.js +55 -0
- package/out/concepts/PropertyTransformSetter__.js.map +1 -0
- package/out/concepts/QueryOrderByExpression__.d.ts +0 -1
- package/out/concepts/QueryOrderByExpression__.d.ts.map +1 -1
- package/out/concepts/QueryOrderByExpression__.js +0 -1
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +5 -0
- package/out/concepts/Return__.d.ts.map +1 -1
- package/out/concepts/Return__.js +8 -3
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts.map +1 -1
- package/out/concepts/StructureProperty__.js +16 -0
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts.map +1 -1
- package/out/concepts/Structure__.js +6 -8
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SubLogic__.d.ts +3 -3
- package/out/concepts/SubLogic__.d.ts.map +1 -1
- package/out/concepts/SubLogic__.js +176 -50
- package/out/concepts/SubLogic__.js.map +1 -1
- package/out/concepts/TriggerLauncher__.d.ts +1 -0
- package/out/concepts/TriggerLauncher__.d.ts.map +1 -1
- package/out/concepts/TriggerLauncher__.js +22 -1
- package/out/concepts/TriggerLauncher__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts.map +1 -1
- package/out/concepts/TypeAnnotation__.js +6 -3
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +5 -0
- package/out/concepts/Variable__.d.ts.map +1 -1
- package/out/concepts/Variable__.js +27 -12
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +3 -0
- package/out/concepts/ViewElement__.d.ts.map +1 -1
- package/out/concepts/ViewElement__.js +132 -31
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +11 -2
- package/out/concepts/View__.d.ts.map +1 -1
- package/out/concepts/View__.js +135 -96
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.processV2.d.ts.map +1 -1
- package/out/concepts/basics/stdlib/nasl.processV2.js +78 -0
- package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.ui.js +40 -40
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +16 -16
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/index.d.ts +3 -1
- package/out/concepts/index.d.ts.map +1 -1
- package/out/concepts/index.js +1 -3
- package/out/concepts/index.js.map +1 -1
- package/out/concepts/index__.d.ts +6 -0
- package/out/concepts/index__.d.ts.map +1 -1
- package/out/concepts/index__.js +6 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/concepts/utils/asserts.d.ts +306 -0
- package/out/concepts/utils/asserts.d.ts.map +1 -1
- package/out/concepts/utils/asserts.js +425 -16
- package/out/concepts/utils/asserts.js.map +1 -1
- package/out/concepts/utils/types.d.ts +25 -7
- package/out/concepts/utils/types.d.ts.map +1 -1
- package/out/decorators/constant.d.ts +7 -0
- package/out/decorators/constant.d.ts.map +1 -1
- package/out/decorators/constant.js.map +1 -1
- package/out/decorators/index.d.ts +3 -2
- package/out/decorators/index.d.ts.map +1 -1
- package/out/decorators/index.js.map +1 -1
- package/out/decorators/utils.d.ts.map +1 -1
- package/out/decorators/utils.js +3 -3
- package/out/decorators/utils.js.map +1 -1
- package/out/index.d.ts +1 -0
- package/out/index.d.ts.map +1 -1
- package/out/index.js +2 -1
- package/out/index.js.map +1 -1
- package/out/semantics/semanticData.d.ts +33 -0
- package/out/semantics/semanticData.d.ts.map +1 -0
- package/out/semantics/semanticData.js +371 -0
- package/out/semantics/semanticData.js.map +1 -0
- package/out/service/annotation.d.ts +30 -0
- package/out/service/annotation.d.ts.map +1 -0
- package/out/service/{modules.js → annotation.js} +94 -3
- package/out/service/annotation.js.map +1 -0
- package/out/service/engine.d.ts.map +1 -1
- package/out/service/engine.js +8 -1
- package/out/service/engine.js.map +1 -1
- package/out/service/entity2LogicNamespace.d.ts.map +1 -1
- package/out/service/entity2LogicNamespace.js.map +1 -1
- package/out/service/getConnector.d.ts.map +1 -1
- package/out/service/getConnector.js +3 -1
- package/out/service/getConnector.js.map +1 -1
- package/out/service/getLogics.js +13 -13
- package/out/service/getLogics.js.map +1 -1
- package/out/service/getMemberIdentifier.d.ts +8 -3
- package/out/service/getMemberIdentifier.d.ts.map +1 -1
- package/out/service/getMemberIdentifier.js +23 -26
- package/out/service/getMemberIdentifier.js.map +1 -1
- package/out/service/getProcesses.d.ts +1 -1
- package/out/service/getProcesses.d.ts.map +1 -1
- package/out/service/getProcesses.js +2 -1
- package/out/service/getProcesses.js.map +1 -1
- package/out/service/getProcessesV2.d.ts +4 -17
- package/out/service/getProcessesV2.d.ts.map +1 -1
- package/out/service/getProcessesV2.js +38 -5
- package/out/service/getProcessesV2.js.map +1 -1
- package/out/service/index.d.ts +1 -1
- package/out/service/index.d.ts.map +1 -1
- package/out/service/index.js +1 -1
- package/out/service/index.js.map +1 -1
- package/out/utils/bak-translator.d.ts.map +1 -1
- package/out/utils/bak-translator.js +44 -65
- package/out/utils/bak-translator.js.map +1 -1
- package/out/utils/uiPathId.d.ts +3 -0
- package/out/utils/uiPathId.d.ts.map +1 -0
- package/out/utils/uiPathId.js +34 -0
- package/out/utils/uiPathId.js.map +1 -0
- package/out/utils/utils.d.ts.map +1 -1
- package/out/utils/utils.js.map +1 -1
- package/package.json +5 -5
- package/out/concepts/types__.d.ts +0 -2
- package/out/concepts/types__.d.ts.map +0 -1
- package/out/concepts/types__.js +0 -3
- package/out/concepts/types__.js.map +0 -1
- package/out/service/modules.d.ts +0 -9
- package/out/service/modules.d.ts.map +0 -1
- package/out/service/modules.js.map +0 -1
package/out/common/BaseNode.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { EventEmitter } from './EventEmitter';
|
|
|
3
3
|
import { Diagnostic } from '@lcap/nasl-types';
|
|
4
4
|
import type { EventPayload, Params, NodePathOption } from './types';
|
|
5
5
|
import { type SyntaxNode, type App, type TypeAnnotation, type SyntaxNodeConcept, type ConceptClassMap } from '../concepts';
|
|
6
|
-
type SourceMap = Translator.SourceMap<
|
|
6
|
+
type SourceMap = Translator.SourceMap<SyntaxNode>;
|
|
7
7
|
/**
|
|
8
8
|
* 顶点类
|
|
9
9
|
* 属性均为只读,仅在初始化和 load 的情况下可以修改
|
|
@@ -30,6 +30,10 @@ export declare class BaseNode extends EventEmitter {
|
|
|
30
30
|
* 唯一 Id
|
|
31
31
|
*/
|
|
32
32
|
id: string;
|
|
33
|
+
/**
|
|
34
|
+
* 用于AI指标的uuid
|
|
35
|
+
*/
|
|
36
|
+
_aiUUID: undefined | string;
|
|
33
37
|
/**
|
|
34
38
|
* 变动时间
|
|
35
39
|
*/
|
|
@@ -136,7 +140,7 @@ export declare class BaseNode extends EventEmitter {
|
|
|
136
140
|
* 'ENABLED' ==> 启用断点
|
|
137
141
|
* 'DISABLED' ==> 禁用断点
|
|
138
142
|
*/
|
|
139
|
-
breakpoint
|
|
143
|
+
breakpoint?: 'ENABLED' | 'DISABLED' | null | undefined;
|
|
140
144
|
/**
|
|
141
145
|
* @param source 需要合并的部分参数
|
|
142
146
|
*/
|
|
@@ -180,6 +184,11 @@ export declare class BaseNode extends EventEmitter {
|
|
|
180
184
|
_delete(): Params;
|
|
181
185
|
static from(source: any, parentNode?: BaseNode, parentKey?: string): BaseNode;
|
|
182
186
|
get nodePath(): string;
|
|
187
|
+
/**
|
|
188
|
+
* 生成完整调用令牌
|
|
189
|
+
*
|
|
190
|
+
* @description 语义检查时使用
|
|
191
|
+
*/
|
|
183
192
|
getTokenKeyWithNamespace(): string;
|
|
184
193
|
getNodePath(useIndex: boolean): string;
|
|
185
194
|
getNodePath(useIndexKeys: string[]): string;
|
|
@@ -243,6 +252,13 @@ export declare class BaseNode extends EventEmitter {
|
|
|
243
252
|
* this.deepPick(result, ['id'])
|
|
244
253
|
*/
|
|
245
254
|
deepPick(source: any, keys?: Array<string>): void;
|
|
255
|
+
/**
|
|
256
|
+
* 输出全量标注的 JSON 数据
|
|
257
|
+
*
|
|
258
|
+
* @description 给全量标注的数据使用
|
|
259
|
+
* @description 会判断节点是否存在`typeAnnotation`属性,如果没有则使用`__TypeAnnotation`属性。
|
|
260
|
+
*/
|
|
261
|
+
toAnnotationJSON(): Record<string, any>;
|
|
246
262
|
/**
|
|
247
263
|
* 去除循环依赖,转为纯 JSON
|
|
248
264
|
* @param parentKey 外面的 key,提供给 JSON.stringify 使用
|
|
@@ -337,9 +353,14 @@ export declare class BaseNode extends EventEmitter {
|
|
|
337
353
|
/**
|
|
338
354
|
* 迭代所有子节点
|
|
339
355
|
*
|
|
340
|
-
* @description
|
|
356
|
+
* @description 严格迭代所有子节点!排除属性!条件满足时整个遍历全部终止!
|
|
341
357
|
*/
|
|
342
358
|
traverseStrictChildrenStopWhen(cb: (el: SyntaxNode) => void, setStopFlag: (el: SyntaxNode) => boolean, whitelist?: string[]): void;
|
|
359
|
+
/**
|
|
360
|
+
* 迭代所有子节点
|
|
361
|
+
* @description 严格迭代所有子节点,排除属性;多函数特化版本,不做额外检查
|
|
362
|
+
*/
|
|
363
|
+
traverseStrictChildrenDoMultiTasks(tasks: Array<(_: SyntaxNode) => Generator<any, any, any>>, cleanups: Array<(_: SyntaxNode) => Generator<any, any, any>>): Generator<any, any, any>;
|
|
343
364
|
/**
|
|
344
365
|
* 带剪枝的迭先序遍历
|
|
345
366
|
*
|
|
@@ -395,6 +416,7 @@ export declare class BaseNode extends EventEmitter {
|
|
|
395
416
|
* @returns 搜索到的节点
|
|
396
417
|
*/
|
|
397
418
|
findNaslNodeByBFS(input?: SyntaxNodeConcept | ((node: SyntaxNode) => boolean), containsSelf?: boolean): SyntaxNode[];
|
|
419
|
+
getEmbeddedFilePath(): string;
|
|
398
420
|
toEmbeddedTS(): Generator<any, string, any>;
|
|
399
421
|
toEmbeddedTSFile(): Embedded.TSFileGenerator<BaseNode>;
|
|
400
422
|
toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../src/common/BaseNode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAgBpE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,GAAG,EAER,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAErB,MAAM,aAAa,CAAC;AAErB,KAAK,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../src/common/BaseNode.ts"],"names":[],"mappings":"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"}
|
package/out/common/BaseNode.js
CHANGED
|
@@ -41,6 +41,7 @@ const actionable_1 = require("../service/actionable");
|
|
|
41
41
|
const store_1 = require("../store");
|
|
42
42
|
const decorators_1 = require("../decorators");
|
|
43
43
|
const concepts_1 = require("../concepts");
|
|
44
|
+
const semanticData_1 = require("../semantics/semanticData");
|
|
44
45
|
const patchCompose = (node, type = 'add') => {
|
|
45
46
|
if (node?.composedBy) {
|
|
46
47
|
const app = node?.app;
|
|
@@ -80,6 +81,10 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
80
81
|
* 唯一 Id
|
|
81
82
|
*/
|
|
82
83
|
this.id = utils.uuidv4().replace(/-/g, '');
|
|
84
|
+
/**
|
|
85
|
+
* 用于AI指标的uuid
|
|
86
|
+
*/
|
|
87
|
+
this._aiUUID = undefined;
|
|
83
88
|
/**
|
|
84
89
|
* 父节点
|
|
85
90
|
*/
|
|
@@ -95,17 +100,19 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
95
100
|
this.on('update', this.genActionListener);
|
|
96
101
|
this.on('node:Editing', this.nodeEditing);
|
|
97
102
|
/**
|
|
98
|
-
*
|
|
103
|
+
* 非测试模式下监听 action,delete,update 事件
|
|
99
104
|
*/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
if (process.env.NODE_ENV !== 'testing') {
|
|
106
|
+
this.on('create', () => nasl_utils_1.breakpoint.operators.create(this));
|
|
107
|
+
this.on('delete', () => nasl_utils_1.breakpoint.operators.delete(this));
|
|
108
|
+
this.on('update', () => nasl_utils_1.breakpoint.operators.update(this));
|
|
109
|
+
}
|
|
103
110
|
}
|
|
104
111
|
subConstructor(source) {
|
|
105
112
|
const concept = this.concept || this.constructor.name;
|
|
106
113
|
const propertyMap = (0, decorators_1.getConceptPropertyMap)(concept);
|
|
107
114
|
const whitePropertyMap = (0, decorators_1.getConceptWhitePropertyMap)(concept);
|
|
108
|
-
const properties =
|
|
115
|
+
const properties = ['typeAnnotation', ...propertyMap.keys(), ...whitePropertyMap.keys()];
|
|
109
116
|
// 测试时用的标记属性
|
|
110
117
|
if (process.env.NODE_ENV === 'testing') {
|
|
111
118
|
properties.push('__$Selected', '__TypeAnnotation');
|
|
@@ -114,11 +121,22 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
114
121
|
if (key === 'concept') {
|
|
115
122
|
return;
|
|
116
123
|
}
|
|
124
|
+
if (source[key] === undefined) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
117
127
|
const sourceItem = source[key] !== undefined ? source[key] : this[key];
|
|
118
128
|
let property = propertyMap.get(key);
|
|
119
129
|
let objectRefCtor;
|
|
120
|
-
|
|
121
|
-
|
|
130
|
+
if (
|
|
131
|
+
// 属性存在
|
|
132
|
+
sourceItem &&
|
|
133
|
+
(
|
|
134
|
+
// 全量标注需要的后端标注数据
|
|
135
|
+
key === 'typeAnnotation' ||
|
|
136
|
+
(
|
|
137
|
+
// 测试环境下手动添加的前端标注数据
|
|
138
|
+
process.env.NODE_ENV === 'testing' &&
|
|
139
|
+
key === '__TypeAnnotation'))) {
|
|
122
140
|
property = { objectRef: 'TypeAnnotation' };
|
|
123
141
|
}
|
|
124
142
|
try {
|
|
@@ -126,7 +144,7 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
126
144
|
const arr = property.objectRef.split(' | ');
|
|
127
145
|
for (let i = 0; i < arr.length; i++) {
|
|
128
146
|
objectRefCtor = (0, decorators_1.getConceptConstructor)(arr[i]);
|
|
129
|
-
if (sourceItem instanceof objectRefCtor) {
|
|
147
|
+
if (objectRefCtor && sourceItem instanceof objectRefCtor) {
|
|
130
148
|
sourceItem.parentNode = this;
|
|
131
149
|
sourceItem.parentKey = key;
|
|
132
150
|
break;
|
|
@@ -145,7 +163,9 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
145
163
|
throw e;
|
|
146
164
|
}
|
|
147
165
|
});
|
|
148
|
-
|
|
166
|
+
if (process.env.NODE_ENV !== 'testing') {
|
|
167
|
+
nasl_utils_1.breakpoint.operators.create(this);
|
|
168
|
+
}
|
|
149
169
|
// node 环境下需要删除当前节点的 concept 属性
|
|
150
170
|
if (utils.isNode && ('concept' in this) && !this.concept) {
|
|
151
171
|
Reflect.deleteProperty(this, 'concept');
|
|
@@ -625,7 +645,7 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
625
645
|
const Ctor = (0, decorators_1.getConceptConstructor)(source?.concept) || this;
|
|
626
646
|
if (Ctor && source instanceof Ctor) {
|
|
627
647
|
if (utils.isDebugMode) {
|
|
628
|
-
console.warn('传入的对象已经是一个实例,请确认逻辑是否存在问题!');
|
|
648
|
+
// console.warn('传入的对象已经是一个实例,请确认逻辑是否存在问题!');
|
|
629
649
|
}
|
|
630
650
|
if (parentNode) {
|
|
631
651
|
source.parentNode = parentNode;
|
|
@@ -663,12 +683,23 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
663
683
|
get nodePath() {
|
|
664
684
|
return this.getNodePath(false);
|
|
665
685
|
}
|
|
686
|
+
/**
|
|
687
|
+
* 生成完整调用令牌
|
|
688
|
+
*
|
|
689
|
+
* @description 语义检查时使用
|
|
690
|
+
*/
|
|
666
691
|
getTokenKeyWithNamespace() {
|
|
667
692
|
/**
|
|
668
693
|
* 本来想在 BaseNode 上加个 getNamespace 方法作为默认的类型的
|
|
669
694
|
* 但是没想到上层有逻辑依赖了判断节点是否有这个方法,加上这个默认方法之后有些功能挂了,所以这里不得不使用 as any
|
|
670
695
|
*/
|
|
671
|
-
|
|
696
|
+
if (typeof this.getTsNamespace === 'function') {
|
|
697
|
+
return `${this.getTsNamespace()}.${this.name}`;
|
|
698
|
+
}
|
|
699
|
+
else if (typeof this.getNamespace === 'function') {
|
|
700
|
+
return `${this.getNamespace()}.${this.name}`;
|
|
701
|
+
}
|
|
702
|
+
throw new Error(`${this.concept} 节点 getTokenKeyWithNamespace 方法未实现`);
|
|
672
703
|
}
|
|
673
704
|
getNodePath(useIndex) {
|
|
674
705
|
let node = this;
|
|
@@ -746,7 +777,7 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
746
777
|
return parentNode;
|
|
747
778
|
}
|
|
748
779
|
get app() {
|
|
749
|
-
return this.getAncestor('App');
|
|
780
|
+
return semanticData_1.varScopeCtx.isFirstScreen ? semanticData_1.varScopeCtx.app : this.getAncestor('App');
|
|
750
781
|
}
|
|
751
782
|
/**
|
|
752
783
|
*
|
|
@@ -796,7 +827,9 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
796
827
|
return instance;
|
|
797
828
|
}
|
|
798
829
|
if (Array.isArray(instance)) {
|
|
799
|
-
return instance.map((item) =>
|
|
830
|
+
return instance.map((item) => {
|
|
831
|
+
return item && item._toJSON ? item._toJSON(filerFn) : item;
|
|
832
|
+
});
|
|
800
833
|
}
|
|
801
834
|
return instance && instance._toJSON ? instance._toJSON(filerFn) : instance;
|
|
802
835
|
}
|
|
@@ -895,6 +928,46 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
895
928
|
target.assign ? target.assign(obj) : Object.assign(target, obj);
|
|
896
929
|
}, { node: source }, { mode: 'anyObject' });
|
|
897
930
|
}
|
|
931
|
+
/**
|
|
932
|
+
* 输出全量标注的 JSON 数据
|
|
933
|
+
*
|
|
934
|
+
* @description 给全量标注的数据使用
|
|
935
|
+
* @description 会判断节点是否存在`typeAnnotation`属性,如果没有则使用`__TypeAnnotation`属性。
|
|
936
|
+
*/
|
|
937
|
+
toAnnotationJSON() {
|
|
938
|
+
const source = {};
|
|
939
|
+
const propertyMap = (0, decorators_1.getConceptPropertyMap)(this.concept ?? this.constructor.name);
|
|
940
|
+
for (const [key, property] of propertyMap) {
|
|
941
|
+
if (!property) {
|
|
942
|
+
continue;
|
|
943
|
+
}
|
|
944
|
+
const { objectRef: propertyObjectRef } = property;
|
|
945
|
+
const sourceItem = this[key];
|
|
946
|
+
if (!propertyObjectRef) {
|
|
947
|
+
source[key] = sourceItem;
|
|
948
|
+
}
|
|
949
|
+
else if (Array.isArray(sourceItem)) {
|
|
950
|
+
source[key] = sourceItem.map((child) => {
|
|
951
|
+
return child.toAnnotationJSON?.() ?? child;
|
|
952
|
+
});
|
|
953
|
+
}
|
|
954
|
+
else {
|
|
955
|
+
source[key] = sourceItem?.toAnnotationJSON?.() ?? sourceItem;
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
// concept 在原型链上,这里需要补一下属性
|
|
959
|
+
source.concept = this.concept;
|
|
960
|
+
// 全量标注比原始属性多了个 typeAnnotation
|
|
961
|
+
if (!source.typeAnnotation && this.typeAnnotation) {
|
|
962
|
+
source.typeAnnotation = this.typeAnnotation?.toAnnotationJSON?.() ?? this.typeAnnotation;
|
|
963
|
+
}
|
|
964
|
+
// 前端标注转为后端标注
|
|
965
|
+
if (!this.typeAnnotation && this.__TypeAnnotation) {
|
|
966
|
+
source.typeAnnotation = this.__TypeAnnotation.toAnnotationJSON?.();
|
|
967
|
+
delete source.__TypeAnnotation;
|
|
968
|
+
}
|
|
969
|
+
return source;
|
|
970
|
+
}
|
|
898
971
|
/**
|
|
899
972
|
* 去除循环依赖,转为纯 JSON
|
|
900
973
|
* @param parentKey 外面的 key,提供给 JSON.stringify 使用
|
|
@@ -1123,16 +1196,28 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1123
1196
|
}
|
|
1124
1197
|
}
|
|
1125
1198
|
else {
|
|
1126
|
-
const expIndex = parentNode[parentKey].findIndex((item) => item === oldNode);
|
|
1127
1199
|
const firstUpperText = parentKey[0].toUpperCase() + parentKey.slice(1, parentKey.length);
|
|
1200
|
+
const firstUpperTextWithoutSuffix = firstUpperText.slice(0, firstUpperText.length - 1);
|
|
1201
|
+
const expIndex = parentNode[parentKey].findIndex((item) => item === oldNode);
|
|
1128
1202
|
Object.assign(newNode, { offsetX, offsetY });
|
|
1129
1203
|
if (parentNode.concept === 'MatchCase') {
|
|
1130
1204
|
parentKey === 'body' ? parentNode.insertItemInBodyAt(newNode, expIndex) : parentNode.insertLogicItemInPatternsAt(newNode, expIndex);
|
|
1131
1205
|
}
|
|
1132
|
-
else if (parentNode[`insertItemIn${firstUpperText}At`])
|
|
1206
|
+
else if (parentNode[`insertItemIn${firstUpperText}At`]) {
|
|
1133
1207
|
parentNode[`insertItemIn${firstUpperText}At`](newNode, expIndex);
|
|
1134
|
-
|
|
1208
|
+
}
|
|
1209
|
+
else if (parentNode[`insert${firstUpperText}At`]) {
|
|
1210
|
+
parentNode[`insert${firstUpperText}At`](newNode, expIndex);
|
|
1211
|
+
}
|
|
1212
|
+
else if (parentNode[`insert${firstUpperTextWithoutSuffix}At`]) {
|
|
1213
|
+
parentNode[`insert${firstUpperTextWithoutSuffix}At`](newNode, expIndex);
|
|
1214
|
+
}
|
|
1215
|
+
else if (parentNode[`insert${newNode.concept}At`]) {
|
|
1216
|
+
parentNode[`insert${newNode.concept}At`](newNode, expIndex);
|
|
1217
|
+
}
|
|
1218
|
+
else {
|
|
1135
1219
|
parentNode.insertItemAt(newNode, expIndex);
|
|
1220
|
+
}
|
|
1136
1221
|
}
|
|
1137
1222
|
oldNode.delete();
|
|
1138
1223
|
app.emit('collect:end');
|
|
@@ -1188,7 +1273,7 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1188
1273
|
propertyKeys.push(...whitelist);
|
|
1189
1274
|
}
|
|
1190
1275
|
for (const property of propertyKeys) {
|
|
1191
|
-
const child = node[property];
|
|
1276
|
+
const child = node?.[property];
|
|
1192
1277
|
if (!child)
|
|
1193
1278
|
continue;
|
|
1194
1279
|
else if (Array.isArray(child))
|
|
@@ -1205,11 +1290,8 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1205
1290
|
* @description 与`traverseChildren`不同,此方法会过滤掉非节点值
|
|
1206
1291
|
*/
|
|
1207
1292
|
*traverseChildrenGenerator(cb) {
|
|
1208
|
-
const isNode = (node) => {
|
|
1209
|
-
return Boolean(node) && typeof node === 'object' && ('concept' in node) && typeof node.concept === 'string';
|
|
1210
|
-
};
|
|
1211
1293
|
function* traverse(node) {
|
|
1212
|
-
if (
|
|
1294
|
+
if (concepts_1.asserts.isBaseNode(node)) {
|
|
1213
1295
|
const result = cb(node);
|
|
1214
1296
|
if (utils.isGenerator(result)) {
|
|
1215
1297
|
yield* result;
|
|
@@ -1247,21 +1329,45 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1247
1329
|
* @description 严格迭代所有子节点!排除属性!
|
|
1248
1330
|
*/
|
|
1249
1331
|
traverseStrictChildren(cb, whitelist) {
|
|
1250
|
-
|
|
1251
|
-
if (
|
|
1252
|
-
|
|
1332
|
+
function traverse(node) {
|
|
1333
|
+
if (!node) {
|
|
1334
|
+
return;
|
|
1253
1335
|
}
|
|
1254
|
-
|
|
1336
|
+
if (concepts_1.asserts.isBaseNode(node)) {
|
|
1337
|
+
cb(node);
|
|
1338
|
+
}
|
|
1339
|
+
const propertyMap = (0, decorators_1.getConceptPropertyMap)(node?.concept);
|
|
1340
|
+
if (!propertyMap) {
|
|
1341
|
+
return;
|
|
1342
|
+
}
|
|
1343
|
+
const keys = (whitelist && whitelist.length > 0)
|
|
1344
|
+
? Array.from(propertyMap.keys()).concat(whitelist)
|
|
1345
|
+
: propertyMap.keys();
|
|
1346
|
+
for (const property of keys) {
|
|
1347
|
+
const prop = node[property];
|
|
1348
|
+
if (!prop) {
|
|
1349
|
+
continue;
|
|
1350
|
+
}
|
|
1351
|
+
else if (Array.isArray(prop)) {
|
|
1352
|
+
for (const child of prop) {
|
|
1353
|
+
traverse(child);
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
else {
|
|
1357
|
+
traverse(prop);
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
traverse(this);
|
|
1255
1362
|
}
|
|
1256
1363
|
/**
|
|
1257
1364
|
* 迭代所有子节点
|
|
1258
1365
|
*
|
|
1259
|
-
* @description
|
|
1366
|
+
* @description 严格迭代所有子节点!排除属性!条件满足时整个遍历全部终止!
|
|
1260
1367
|
*/
|
|
1261
1368
|
traverseStrictChildrenStopWhen(cb, setStopFlag, whitelist) {
|
|
1262
1369
|
let shouldStop = false;
|
|
1263
|
-
|
|
1264
|
-
function traverse(node) {
|
|
1370
|
+
function __traverse(node) {
|
|
1265
1371
|
if (concepts_1.asserts.isBaseNode(node)) {
|
|
1266
1372
|
cb(node);
|
|
1267
1373
|
}
|
|
@@ -1281,12 +1387,45 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1281
1387
|
if (!child)
|
|
1282
1388
|
continue;
|
|
1283
1389
|
else if (Array.isArray(child))
|
|
1284
|
-
child?.forEach?.((node) =>
|
|
1390
|
+
child?.forEach?.((node) => __traverse(node));
|
|
1285
1391
|
else
|
|
1286
|
-
|
|
1392
|
+
__traverse(child);
|
|
1287
1393
|
}
|
|
1288
1394
|
}
|
|
1289
|
-
|
|
1395
|
+
__traverse(this);
|
|
1396
|
+
}
|
|
1397
|
+
/**
|
|
1398
|
+
* 迭代所有子节点
|
|
1399
|
+
* @description 严格迭代所有子节点,排除属性;多函数特化版本,不做额外检查
|
|
1400
|
+
*/
|
|
1401
|
+
*traverseStrictChildrenDoMultiTasks(tasks, cleanups) {
|
|
1402
|
+
function __traverse(nd) {
|
|
1403
|
+
if (!concepts_1.asserts.isBaseNode(nd)) {
|
|
1404
|
+
return;
|
|
1405
|
+
}
|
|
1406
|
+
tasks.forEach(task => utils.runGeneratorSync(task(nd)));
|
|
1407
|
+
const props = (0, decorators_1.getConceptPropertyMap)(nd?.concept)?.keys();
|
|
1408
|
+
if (!props) {
|
|
1409
|
+
cleanups.forEach(task => utils.runGeneratorSync(task(nd)));
|
|
1410
|
+
return;
|
|
1411
|
+
}
|
|
1412
|
+
for (const p of props) {
|
|
1413
|
+
const child = nd[p];
|
|
1414
|
+
if (!child) {
|
|
1415
|
+
continue;
|
|
1416
|
+
}
|
|
1417
|
+
else if (Array.isArray(child)) {
|
|
1418
|
+
child?.forEach?.((node) => {
|
|
1419
|
+
__traverse(node);
|
|
1420
|
+
});
|
|
1421
|
+
}
|
|
1422
|
+
else {
|
|
1423
|
+
__traverse(child);
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
cleanups.forEach(task => utils.runGeneratorSync(task(nd)));
|
|
1427
|
+
}
|
|
1428
|
+
__traverse(this);
|
|
1290
1429
|
}
|
|
1291
1430
|
/**
|
|
1292
1431
|
* 带剪枝的迭先序遍历
|
|
@@ -1483,8 +1622,10 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1483
1622
|
const queue = []; // 创建一个队列存储待遍历的节点
|
|
1484
1623
|
const results = []; // 创建一个数组存储匹配的结果
|
|
1485
1624
|
queue.push(this); // 将初始节点加入队列
|
|
1486
|
-
|
|
1487
|
-
|
|
1625
|
+
let point = 0; // 创建一个指针,指向当前遍历的节点
|
|
1626
|
+
while (queue[point]) {
|
|
1627
|
+
const node = queue[point]; // 从队列中取出一个节点
|
|
1628
|
+
point++; // 指针后移
|
|
1488
1629
|
if (node) {
|
|
1489
1630
|
let result = false;
|
|
1490
1631
|
if (!containsSelf) {
|
|
@@ -1535,14 +1676,17 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1535
1676
|
}
|
|
1536
1677
|
return results; // 返回匹配的结果数组
|
|
1537
1678
|
}
|
|
1679
|
+
getEmbeddedFilePath() {
|
|
1680
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1681
|
+
}
|
|
1538
1682
|
*toEmbeddedTS() {
|
|
1539
|
-
throw new Error(
|
|
1683
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1540
1684
|
}
|
|
1541
1685
|
*toEmbeddedTSFile() {
|
|
1542
|
-
throw new Error(
|
|
1686
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1543
1687
|
}
|
|
1544
1688
|
toEmbeddedDeclarationTSFile() {
|
|
1545
|
-
throw new Error(
|
|
1689
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1546
1690
|
}
|
|
1547
1691
|
/**
|
|
1548
1692
|
* 生成自然语言 TS
|
|
@@ -1627,6 +1771,12 @@ __decorate([
|
|
|
1627
1771
|
__decorate([
|
|
1628
1772
|
(0, decorators_1.property)()
|
|
1629
1773
|
], BaseNode.prototype, "concept", null);
|
|
1774
|
+
__decorate([
|
|
1775
|
+
(0, decorators_1.property)()
|
|
1776
|
+
], BaseNode.prototype, "_aiUUID", void 0);
|
|
1777
|
+
__decorate([
|
|
1778
|
+
(0, decorators_1.property)()
|
|
1779
|
+
], BaseNode.prototype, "changedTime", void 0);
|
|
1630
1780
|
__decorate([
|
|
1631
1781
|
(0, decorators_1.whiteProperty)()
|
|
1632
1782
|
], BaseNode.prototype, "workingCopy", void 0);
|