@lcap/nasl 4.4.0-beta.1 → 4.4.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.
- package/out/generator/genBundleFiles.d.ts +2 -2
- package/out/generator/genBundleFiles.d.ts.map +1 -1
- package/out/generator/genBundleFiles.js +175 -138
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/qiankun.d.ts +1 -1
- package/out/generator/qiankun.d.ts.map +1 -1
- package/out/generator/qiankun.js +4 -1
- package/out/generator/qiankun.js.map +1 -1
- package/out/generator/release-body/data.d.ts.map +1 -1
- package/out/generator/release-body/data.js +34 -1
- package/out/generator/release-body/data.js.map +1 -1
- package/out/generator/release-body/utils.d.ts +2 -6
- package/out/generator/release-body/utils.d.ts.map +1 -1
- package/out/generator/release-body/utils.js +101 -3
- package/out/generator/release-body/utils.js.map +1 -1
- package/out/generator/templates/chunk.d.ts +11 -0
- package/out/generator/templates/chunk.d.ts.map +1 -0
- package/out/generator/templates/chunk.js +29 -0
- package/out/generator/templates/chunk.js.map +1 -0
- package/out/generator/templates/runtime.d.ts +7 -0
- package/out/generator/templates/runtime.d.ts.map +1 -0
- package/out/generator/templates/runtime.js +409 -0
- package/out/generator/templates/runtime.js.map +1 -0
- package/out/generator/ui-library-declaration/basic.d.ts.map +1 -1
- package/out/generator/ui-library-declaration/basic.js +5 -5
- package/out/generator/ui-library-declaration/basic.js.map +1 -1
- package/out/generator/ui-library-declaration/dependency.d.ts.map +1 -1
- package/out/generator/ui-library-declaration/dependency.js +3 -3
- package/out/generator/ui-library-declaration/dependency.js.map +1 -1
- package/out/index.d.ts +1 -0
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -0
- package/out/index.js.map +1 -1
- package/out/natural/getContext/nasl2Files.d.ts +15 -0
- package/out/natural/getContext/nasl2Files.d.ts.map +1 -0
- package/out/natural/getContext/nasl2Files.js +75 -0
- package/out/natural/getContext/nasl2Files.js.map +1 -0
- package/out/natural/index.d.ts +3 -1
- package/out/natural/index.d.ts.map +1 -1
- package/out/natural/index.js +3 -1
- package/out/natural/index.js.map +1 -1
- package/out/natural/parseNaturalTS.d.ts +2 -1
- package/out/natural/parseNaturalTS.d.ts.map +1 -1
- package/out/natural/parseNaturalTS.js +3 -3
- package/out/natural/parseNaturalTS.js.map +1 -1
- package/out/natural/parseNaturalTSXView.js +1 -1
- package/out/natural/parseNaturalTSXView.js.map +1 -1
- package/out/natural/transform2BatchActions.d.ts +96 -0
- package/out/natural/transform2BatchActions.d.ts.map +1 -0
- package/out/natural/transform2BatchActions.js +387 -0
- package/out/natural/transform2BatchActions.js.map +1 -0
- package/out/natural/transformTSCode.d.ts +2 -2
- package/out/natural/transformTSCode.d.ts.map +1 -1
- package/out/natural/transformTSCode.js +8 -7
- package/out/natural/transformTSCode.js.map +1 -1
- package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
- package/out/natural/transforms/transform2Logic.js +1 -0
- package/out/natural/transforms/transform2Logic.js.map +1 -1
- package/out/natural/transforms/transform2LogicItem.d.ts +2 -0
- package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
- package/out/natural/transforms/transform2LogicItem.js +9 -7
- package/out/natural/transforms/transform2LogicItem.js.map +1 -1
- package/out/server/naslServer.d.ts +1 -1
- package/out/server/naslServer.d.ts.map +1 -1
- package/out/server/naslServer.js +27 -27
- package/out/server/naslServer.js.map +1 -1
- package/out/service/storage/api.d.ts +9 -0
- package/out/service/storage/api.js +8 -0
- package/out/service/storage/api.js.map +1 -1
- package/out/service/storage/service.d.ts +3 -0
- package/out/service/storage/service.d.ts.map +1 -1
- package/out/service/storage/service.js +11 -0
- package/out/service/storage/service.js.map +1 -1
- package/out/service/storage/specTools.d.ts +34 -0
- package/out/service/storage/specTools.d.ts.map +1 -0
- package/out/service/storage/specTools.js +52 -0
- package/out/service/storage/specTools.js.map +1 -0
- package/out/utils/json-schema-to-nasl-type.d.ts +37 -0
- package/out/utils/json-schema-to-nasl-type.d.ts.map +1 -0
- package/out/utils/json-schema-to-nasl-type.js +195 -0
- package/out/utils/json-schema-to-nasl-type.js.map +1 -0
- package/package.json +11 -11
- package/out/generator/ui-library-declaration/utils.d.ts +0 -3
- package/out/generator/ui-library-declaration/utils.d.ts.map +0 -1
- package/out/generator/ui-library-declaration/utils.js +0 -20
- package/out/generator/ui-library-declaration/utils.js.map +0 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* 这个模块的主要功能是将多个代码文件操作(创建、更新、删除)转换为统一的nasl批量操作格式,
|
|
4
|
+
*
|
|
5
|
+
* 主要处理流程:
|
|
6
|
+
* 1. 解析codeAction 的路径,提取命名空间和项目类型信息
|
|
7
|
+
* 2. 将代码内容包装在适当的命名空间中
|
|
8
|
+
* 3. 使用 parseNaturalTS 解析 TypeScript 代码为 NASL 对象
|
|
9
|
+
* 4. 为每种类型(entity、structure、enum、logic、view)提供统一的操作接口
|
|
10
|
+
* 5. 生成批量操作数组,支持创建、更新和删除操作
|
|
11
|
+
* 6. 处理操作过程中的错误并提供调试信息
|
|
12
|
+
*
|
|
13
|
+
* 目前支持的类型:
|
|
14
|
+
* - entity: 数据实体
|
|
15
|
+
* - structure: 数据结构
|
|
16
|
+
* - enum: 枚举类型
|
|
17
|
+
* - logic: 业务逻辑
|
|
18
|
+
* - view: 视图组件
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* 用于描述对代码文件的操作,包括路径、内容和操作类型
|
|
22
|
+
*/
|
|
23
|
+
export interface CodeAction {
|
|
24
|
+
/** 文件路径,例如: 'src/app.enums.SomeType.ts' */
|
|
25
|
+
path: string;
|
|
26
|
+
/** 文件内容 */
|
|
27
|
+
content: string;
|
|
28
|
+
/** 操作类型:创建、更新或删除 */
|
|
29
|
+
action: 'create' | 'update' | 'delete';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 批量操作接口
|
|
33
|
+
* 用于描述单个批量操作的详细信息
|
|
34
|
+
*/
|
|
35
|
+
interface BatchAction {
|
|
36
|
+
/** 操作类型 */
|
|
37
|
+
action: string;
|
|
38
|
+
/** 操作路径 */
|
|
39
|
+
path: string;
|
|
40
|
+
/** NASL 对象 */
|
|
41
|
+
object: any;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 用于描述一组批量操作及其元信息
|
|
45
|
+
*/
|
|
46
|
+
export interface Operators {
|
|
47
|
+
/** 唯一标识符 */
|
|
48
|
+
uuid: string;
|
|
49
|
+
/** 批量操作数组 */
|
|
50
|
+
actions: BatchAction[];
|
|
51
|
+
/** 操作描述信息 */
|
|
52
|
+
actionMsg: string;
|
|
53
|
+
/** 源类型 */
|
|
54
|
+
sourceType: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 将 codeAction 数组转换为批量操作
|
|
58
|
+
* 这是整个模块的核心函数,负责将多个codeAction 转换成统一的批量操作格式
|
|
59
|
+
*
|
|
60
|
+
* 处理流程:
|
|
61
|
+
* 1. 解析每个 codeAction ,提取类型和名称信息
|
|
62
|
+
* 2. 将需要解析的代码合并并通过 parseNaturalTS 解析
|
|
63
|
+
* 3. 为每个操作生成对应的 NASL 对象
|
|
64
|
+
* 4. 构建批量操作数组,支持创建、更新和删除操作
|
|
65
|
+
* 5. 处理错误并返回结果
|
|
66
|
+
*
|
|
67
|
+
* @param codeActions - codeAction 数组,每个元素包含 path、content、action
|
|
68
|
+
* @param app - NASL 应用实例,用于操作目标应用
|
|
69
|
+
* @param sessionId - 会话 ID,用于生成唯一标识
|
|
70
|
+
* @param type - 操作类型,'normal' 为正常模式,'debug' 为调试模式(会返回更多信息)
|
|
71
|
+
* @returns 包含批量操作和可选调试信息的对象
|
|
72
|
+
*/
|
|
73
|
+
export declare const transform2BatchActions: ({ codeActions, app, sessionId, type, }: {
|
|
74
|
+
codeActions: CodeAction[];
|
|
75
|
+
app: any;
|
|
76
|
+
sessionId: string;
|
|
77
|
+
type?: 'normal' | 'debug';
|
|
78
|
+
}) => {
|
|
79
|
+
batchActions: Operators;
|
|
80
|
+
accumulatedTsCode?: string;
|
|
81
|
+
parseJSON?: any;
|
|
82
|
+
errors?: Array<{
|
|
83
|
+
item: string;
|
|
84
|
+
type: string;
|
|
85
|
+
error: Error;
|
|
86
|
+
}>;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* 将批量操作应用到 app 实例
|
|
90
|
+
* 处理批量操作(create/update/delete),并将其应用到 app 中
|
|
91
|
+
* @param app - NASL 应用实例,需传入 Vue 劫持后的响应式 app
|
|
92
|
+
* @param batchActions - 需要应用的批量操作
|
|
93
|
+
*/
|
|
94
|
+
export declare const applyBatchActions: (app: any, batchActions: Operators) => void;
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=transform2BatchActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform2BatchActions.d.ts","sourceRoot":"","sources":["../../src/natural/transform2BatchActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACxC;AAED;;;GAGG;AACH,UAAU,WAAW;IACnB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU;IACV,UAAU,EAAE,MAAM,CAAC;CACpB;AAyHD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,2CAKhC;IACD,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B,KAAG;IACF,YAAY,EAAE,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CAkL9D,CAAC;AAqBF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,GAAG,gBAAgB,SAAS,SAoDlE,CAAC"}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* 这个模块的主要功能是将多个代码文件操作(创建、更新、删除)转换为统一的nasl批量操作格式,
|
|
5
|
+
*
|
|
6
|
+
* 主要处理流程:
|
|
7
|
+
* 1. 解析codeAction 的路径,提取命名空间和项目类型信息
|
|
8
|
+
* 2. 将代码内容包装在适当的命名空间中
|
|
9
|
+
* 3. 使用 parseNaturalTS 解析 TypeScript 代码为 NASL 对象
|
|
10
|
+
* 4. 为每种类型(entity、structure、enum、logic、view)提供统一的操作接口
|
|
11
|
+
* 5. 生成批量操作数组,支持创建、更新和删除操作
|
|
12
|
+
* 6. 处理操作过程中的错误并提供调试信息
|
|
13
|
+
*
|
|
14
|
+
* 目前支持的类型:
|
|
15
|
+
* - entity: 数据实体
|
|
16
|
+
* - structure: 数据结构
|
|
17
|
+
* - enum: 枚举类型
|
|
18
|
+
* - logic: 业务逻辑
|
|
19
|
+
* - view: 视图组件
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.applyBatchActions = exports.transform2BatchActions = void 0;
|
|
23
|
+
const uuid_1 = require("uuid");
|
|
24
|
+
const concepts_1 = require("../concepts");
|
|
25
|
+
const index_1 = require("../index");
|
|
26
|
+
const utils_1 = require("../utils");
|
|
27
|
+
/**
|
|
28
|
+
* 根据命名空间获取项目类型
|
|
29
|
+
* @param namespace - 命名空间字符串
|
|
30
|
+
* @returns 项目类型,如果无法识别则返回 'unknown'
|
|
31
|
+
*/
|
|
32
|
+
const getItemType = (namespace) => {
|
|
33
|
+
if (namespace.includes('entities'))
|
|
34
|
+
return 'entity';
|
|
35
|
+
if (namespace.includes('structures'))
|
|
36
|
+
return 'structure';
|
|
37
|
+
if (namespace.includes('enums'))
|
|
38
|
+
return 'enum';
|
|
39
|
+
if (namespace.includes('logics'))
|
|
40
|
+
return 'logic';
|
|
41
|
+
if (namespace.includes('views'))
|
|
42
|
+
return 'view';
|
|
43
|
+
return 'unknown';
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* 创建不同类型处理器的工厂函数
|
|
47
|
+
* 为每种类型(entity、structure、enum、logic、view)提供统一的操作接口
|
|
48
|
+
* @param appInstance - 解析后的应用实例,用于查找新创建的对象
|
|
49
|
+
* @param app - 目前已有的应用实例,用于查找已存在的对象和添加新对象
|
|
50
|
+
* @returns 包含各种类型处理器的对象
|
|
51
|
+
*/
|
|
52
|
+
const createTypeHandlers = (appInstance, app) => ({
|
|
53
|
+
entity: {
|
|
54
|
+
/** 实体在应用中的路径模板 */
|
|
55
|
+
path: 'app.dataSources[name=defaultDS].entities[0]',
|
|
56
|
+
/** 从解析实例中查找实体的方法 */
|
|
57
|
+
findMethod: (name) => appInstance?.dataSources[0].findEntityByName(name),
|
|
58
|
+
/** 从目标应用中查找已存在实体的方法 */
|
|
59
|
+
findExisting: (name) => app.dataSources[0].findEntityByName(name),
|
|
60
|
+
/** 向目标应用添加实体的方法 */
|
|
61
|
+
addMethod: (json) => app.dataSources[0].addEntity(json),
|
|
62
|
+
},
|
|
63
|
+
structure: {
|
|
64
|
+
/** 结构体在应用中的路径模板 */
|
|
65
|
+
path: 'app.structures[0]',
|
|
66
|
+
/** 从解析实例中查找结构体的方法 */
|
|
67
|
+
findMethod: (name) => appInstance?.findStructureByName(name),
|
|
68
|
+
/** 从目标应用中查找已存在结构体的方法 */
|
|
69
|
+
findExisting: (name) => app.findStructureByName(name),
|
|
70
|
+
/** 向目标应用添加结构体的方法 */
|
|
71
|
+
addMethod: (json) => app.addStructure(json),
|
|
72
|
+
},
|
|
73
|
+
enum: {
|
|
74
|
+
/** 枚举在应用中的路径模板 */
|
|
75
|
+
path: 'app.enums[0]',
|
|
76
|
+
/** 从解析实例中查找枚举的方法 */
|
|
77
|
+
findMethod: (name) => appInstance?.findEnumByName(name),
|
|
78
|
+
/** 从目标应用中查找已存在枚举的方法 */
|
|
79
|
+
findExisting: (name) => app.findEnumByName(name),
|
|
80
|
+
/** 向目标应用添加枚举的方法 */
|
|
81
|
+
addMethod: (json) => app.addEnum(json),
|
|
82
|
+
},
|
|
83
|
+
logic: {
|
|
84
|
+
/** 逻辑在应用中的路径模板 */
|
|
85
|
+
path: 'app.logics[0]',
|
|
86
|
+
/** 从解析实例中查找逻辑的方法 */
|
|
87
|
+
findMethod: (name) => appInstance?.findLogicByName(name),
|
|
88
|
+
/** 从目标应用中查找已存在逻辑的方法 */
|
|
89
|
+
findExisting: (name) => app.findLogicByName(name),
|
|
90
|
+
/** 向目标应用添加逻辑的方法 */
|
|
91
|
+
addMethod: (json) => app.addLogic(json),
|
|
92
|
+
},
|
|
93
|
+
view: {
|
|
94
|
+
/** 视图在应用中的路径模板 */
|
|
95
|
+
path: 'app.frontendTypes[name=pc].frontends[name=pc].views[0]',
|
|
96
|
+
/** 从解析实例中查找视图的方法 */
|
|
97
|
+
findMethod: (name) => appInstance?.frontendTypes[0].frontends[0].findViewByName(name),
|
|
98
|
+
/** 从目标应用中查找已存在视图的方法 */
|
|
99
|
+
findExisting: (name) => app.frontendTypes[0].frontends[0].findViewByName(name),
|
|
100
|
+
/** 向目标应用添加视图的方法 */
|
|
101
|
+
addMethod: (json) => app.frontendTypes[0].frontends[0].addView(json),
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* 转换单个codeAction
|
|
106
|
+
* 将codeAction 中的路径和内容转换为可解析的格式
|
|
107
|
+
* @param path - 文件路径
|
|
108
|
+
* @param content - 文件内容
|
|
109
|
+
* @param action - 操作类型
|
|
110
|
+
* @returns 包含转换后代码、项目类型、项目名称和操作类型的对象
|
|
111
|
+
*/
|
|
112
|
+
const transformCodeAction = ({ path, content, action, }) => {
|
|
113
|
+
// 移除路径前缀 'src/'
|
|
114
|
+
const namespace = path.replace('src/', '');
|
|
115
|
+
// 解析命名空间,提取项目名称
|
|
116
|
+
const namespaceParts = namespace.split('.');
|
|
117
|
+
const itemName = namespaceParts.length >= 2 ? namespaceParts[namespaceParts.length - 2] : '';
|
|
118
|
+
const parentNamespace = namespaceParts.slice(0, -2).join('.');
|
|
119
|
+
// 根据命名空间确定项目类型
|
|
120
|
+
const itemType = getItemType(namespace);
|
|
121
|
+
// 生成转换后的代码,为非未知类型添加命名空间包装
|
|
122
|
+
let transformedCode = content;
|
|
123
|
+
if (itemType !== 'unknown' && parentNamespace) {
|
|
124
|
+
// 对于视图类型,需要额外的缩进
|
|
125
|
+
const indent = itemType === 'view' ? ' ' : '';
|
|
126
|
+
transformedCode = `namespace ${parentNamespace} {\n${indent}${content}\n}\n`;
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
transformedCode,
|
|
130
|
+
itemType,
|
|
131
|
+
itemName,
|
|
132
|
+
action,
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* 将 codeAction 数组转换为批量操作
|
|
137
|
+
* 这是整个模块的核心函数,负责将多个codeAction 转换成统一的批量操作格式
|
|
138
|
+
*
|
|
139
|
+
* 处理流程:
|
|
140
|
+
* 1. 解析每个 codeAction ,提取类型和名称信息
|
|
141
|
+
* 2. 将需要解析的代码合并并通过 parseNaturalTS 解析
|
|
142
|
+
* 3. 为每个操作生成对应的 NASL 对象
|
|
143
|
+
* 4. 构建批量操作数组,支持创建、更新和删除操作
|
|
144
|
+
* 5. 处理错误并返回结果
|
|
145
|
+
*
|
|
146
|
+
* @param codeActions - codeAction 数组,每个元素包含 path、content、action
|
|
147
|
+
* @param app - NASL 应用实例,用于操作目标应用
|
|
148
|
+
* @param sessionId - 会话 ID,用于生成唯一标识
|
|
149
|
+
* @param type - 操作类型,'normal' 为正常模式,'debug' 为调试模式(会返回更多信息)
|
|
150
|
+
* @returns 包含批量操作和可选调试信息的对象
|
|
151
|
+
*/
|
|
152
|
+
const transform2BatchActions = ({ codeActions, app, sessionId, type = 'normal', }) => {
|
|
153
|
+
// 开始性能计时
|
|
154
|
+
const startTime = performance.now();
|
|
155
|
+
// 存储转换后的代码片段(用于解析)
|
|
156
|
+
const codeArray = [];
|
|
157
|
+
// 存储每个项目的类型、名称和操作信息
|
|
158
|
+
const itemTypes = [];
|
|
159
|
+
// 存储处理过程中的错误
|
|
160
|
+
const errors = [];
|
|
161
|
+
// 第一阶段:转换所有codeAction
|
|
162
|
+
for (const item of codeActions) {
|
|
163
|
+
try {
|
|
164
|
+
const { transformedCode, itemType, itemName, action } = transformCodeAction(item);
|
|
165
|
+
// 只有非删除操作才需要累积代码用于解析,因为删除操作不需要解析新的 NASL 对象
|
|
166
|
+
if (action !== 'delete') {
|
|
167
|
+
codeArray.push(transformedCode);
|
|
168
|
+
}
|
|
169
|
+
itemTypes.push({ type: itemType, name: itemName, action });
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
errors.push({
|
|
173
|
+
item: item.path,
|
|
174
|
+
type: 'transformCodeAction',
|
|
175
|
+
error: error,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// 第二阶段:解析累积的代码
|
|
180
|
+
// 将所有需要解析的代码合并为一个字符串(性能优化)
|
|
181
|
+
const accumulatedTsCode = codeArray.join('');
|
|
182
|
+
// 只有当有需要解析的代码时才调用 parseNaturalTS
|
|
183
|
+
let appInstance = null;
|
|
184
|
+
let parseJSON = null;
|
|
185
|
+
if (accumulatedTsCode) {
|
|
186
|
+
// 解析 TypeScript 代码为 NASL 对象
|
|
187
|
+
parseJSON = (0, index_1.parseNaturalTS)(accumulatedTsCode, {});
|
|
188
|
+
if (!parseJSON)
|
|
189
|
+
return null;
|
|
190
|
+
// 生成 AI 唯一标识并创建应用实例
|
|
191
|
+
const { node: nodes } = (0, index_1.genAIUID)(parseJSON.toJSON(), sessionId);
|
|
192
|
+
appInstance = new concepts_1.App(nodes);
|
|
193
|
+
}
|
|
194
|
+
// 初始化批量操作对象
|
|
195
|
+
const batchActions = {
|
|
196
|
+
uuid: (0, uuid_1.v4)().replace(/-/g, ''), // 生成无连字符的 UUID
|
|
197
|
+
actions: [],
|
|
198
|
+
actionMsg: '批量操作数据模型和视图',
|
|
199
|
+
sourceType: 'spec_driven',
|
|
200
|
+
};
|
|
201
|
+
// 通知开始收集操作
|
|
202
|
+
app.emit('collect:start', { actionMsg: '批量操作数据模型和视图' });
|
|
203
|
+
// 第三阶段:生成批量操作
|
|
204
|
+
// 获取不同类型的处理器
|
|
205
|
+
const typeHandlers = createTypeHandlers(appInstance, app);
|
|
206
|
+
// 遍历每个项目,生成对应的批量操作
|
|
207
|
+
for (const { type: itemType, name: itemName, action } of itemTypes) {
|
|
208
|
+
// 跳过未知类型或无名称的项目
|
|
209
|
+
if (itemType === 'unknown' || !itemName)
|
|
210
|
+
continue;
|
|
211
|
+
try {
|
|
212
|
+
const handler = typeHandlers[itemType];
|
|
213
|
+
if (!handler)
|
|
214
|
+
continue;
|
|
215
|
+
// 根据操作类型执行不同的处理逻辑
|
|
216
|
+
if (action === 'delete') {
|
|
217
|
+
// 删除操作:查找已存在的对象并删除
|
|
218
|
+
const existingNode = handler.findExisting(itemName);
|
|
219
|
+
if (existingNode) {
|
|
220
|
+
// 在调试模式下实际执行删除
|
|
221
|
+
if (type === 'debug') {
|
|
222
|
+
existingNode.delete(existingNode);
|
|
223
|
+
}
|
|
224
|
+
// 添加删除操作到批量操作列表
|
|
225
|
+
batchActions.actions.push({
|
|
226
|
+
action: 'delete',
|
|
227
|
+
path: existingNode.nodePath,
|
|
228
|
+
object: null,
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
// 要删除的对象不存在,记录错误
|
|
233
|
+
errors.push({
|
|
234
|
+
item: itemName,
|
|
235
|
+
type: itemType,
|
|
236
|
+
error: new Error(`要删除的对象不存在: ${handler.path} - ${itemName}`),
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
// 创建或更新操作:从解析的实例中获取 NASL 对象
|
|
242
|
+
const naslObject = handler.findMethod(itemName);
|
|
243
|
+
if (!naslObject) {
|
|
244
|
+
errors.push({
|
|
245
|
+
item: itemName,
|
|
246
|
+
type: itemType,
|
|
247
|
+
error: new Error(`未找到对应的 NASL 对象: ${handler.path} - ${itemName}`),
|
|
248
|
+
});
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
// 特殊处理:对于 view 类型,如果父级概念是 View,则跳过处理
|
|
252
|
+
// 这可能是为了避免嵌套视图的问题
|
|
253
|
+
if (itemType === 'view' && naslObject.parentNode?.concept === 'View') {
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
// 检查目标应用中是否已存在同名对象
|
|
257
|
+
const existingNode = handler.findExisting(itemName);
|
|
258
|
+
let finalAction = 'create';
|
|
259
|
+
let path = '';
|
|
260
|
+
if (existingNode) {
|
|
261
|
+
// 存在同名对象,标记为更新操作
|
|
262
|
+
finalAction = 'update';
|
|
263
|
+
path = existingNode.nodePath;
|
|
264
|
+
// 在调试模式下先删除已存在的对象
|
|
265
|
+
if (type === 'debug') {
|
|
266
|
+
existingNode.delete();
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// 在调试模式下添加新对象
|
|
270
|
+
if (type === 'debug') {
|
|
271
|
+
handler.addMethod(naslObject.toJSON());
|
|
272
|
+
}
|
|
273
|
+
// 添加创建或更新操作到批量操作列表
|
|
274
|
+
batchActions.actions.push({
|
|
275
|
+
action: finalAction,
|
|
276
|
+
path: path || handler.path,
|
|
277
|
+
object: naslObject.toJSON(),
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
// 记录处理过程中的错误
|
|
283
|
+
errors.push({
|
|
284
|
+
item: itemName,
|
|
285
|
+
type: itemType,
|
|
286
|
+
error: error,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// 第四阶段:错误处理和结果返回
|
|
291
|
+
// 如果有错误发生,在控制台输出错误信息(但不中断执行)
|
|
292
|
+
if (errors.length > 0) {
|
|
293
|
+
console.error('批量处理过程中发现错误:', errors.length);
|
|
294
|
+
}
|
|
295
|
+
// 通知收集操作结束
|
|
296
|
+
app.emit('collect:end');
|
|
297
|
+
// 构建返回结果,基础结果包含批量操作
|
|
298
|
+
let result = {
|
|
299
|
+
batchActions,
|
|
300
|
+
};
|
|
301
|
+
// 调试模式下返回额外的调试信息
|
|
302
|
+
if (type === 'debug') {
|
|
303
|
+
result = {
|
|
304
|
+
...result,
|
|
305
|
+
accumulatedTsCode, // 累积的 TypeScript 代码
|
|
306
|
+
parseJSON, // 解析后的 JSON 对象
|
|
307
|
+
errors, // 错误列表
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
// 计算并输出执行时间
|
|
311
|
+
const endTime = performance.now();
|
|
312
|
+
console.log(`transform2BatchActions 执行时间: ${endTime - startTime}ms`);
|
|
313
|
+
return result;
|
|
314
|
+
};
|
|
315
|
+
exports.transform2BatchActions = transform2BatchActions;
|
|
316
|
+
/**
|
|
317
|
+
* 辅助函数:从路径项中提取索引
|
|
318
|
+
* @param pathItem - 路径项,如 'entities[0]'
|
|
319
|
+
* @returns 索引数字,如果没有则返回 undefined
|
|
320
|
+
*/
|
|
321
|
+
const extractIndex = (pathItem) => {
|
|
322
|
+
const match = pathItem.match(/\[(\d+)\]$/);
|
|
323
|
+
return match ? parseInt(match[1], 10) : undefined;
|
|
324
|
+
};
|
|
325
|
+
/**
|
|
326
|
+
* 辅助函数:从路径项中提取父级键名
|
|
327
|
+
* @param pathItem - 路径片段,如 'entities[0]' 或 'dataSources[name=defaultDS]'
|
|
328
|
+
* @returns 父级键名,如 'entities' 或 'dataSources'
|
|
329
|
+
*/
|
|
330
|
+
const getParentKey = (pathItem) => {
|
|
331
|
+
return pathItem.replace(/\[.*\]$/, '');
|
|
332
|
+
};
|
|
333
|
+
/**
|
|
334
|
+
* 将批量操作应用到 app 实例
|
|
335
|
+
* 处理批量操作(create/update/delete),并将其应用到 app 中
|
|
336
|
+
* @param app - NASL 应用实例,需传入 Vue 劫持后的响应式 app
|
|
337
|
+
* @param batchActions - 需要应用的批量操作
|
|
338
|
+
*/
|
|
339
|
+
const applyBatchActions = (app, batchActions) => {
|
|
340
|
+
const { actionMsg, sourceType, actions } = batchActions;
|
|
341
|
+
app.emit('collect:start', {
|
|
342
|
+
actionMsg,
|
|
343
|
+
sourceType,
|
|
344
|
+
});
|
|
345
|
+
for (const event of actions) {
|
|
346
|
+
const { action, path, object } = event;
|
|
347
|
+
try {
|
|
348
|
+
switch (action) {
|
|
349
|
+
case 'create': {
|
|
350
|
+
const pathArr = (0, utils_1.splitPath)(path) || [];
|
|
351
|
+
const lastPathItem = pathArr?.pop();
|
|
352
|
+
if (!lastPathItem)
|
|
353
|
+
break;
|
|
354
|
+
const parentPath = pathArr.join('.');
|
|
355
|
+
const parentKey = getParentKey(lastPathItem);
|
|
356
|
+
const index = extractIndex(lastPathItem);
|
|
357
|
+
const parentNode = app.findNodeByPath(parentPath);
|
|
358
|
+
if (!parentNode)
|
|
359
|
+
break;
|
|
360
|
+
const node = concepts_1.BaseNode.from(object);
|
|
361
|
+
node.createNode({
|
|
362
|
+
parentNode,
|
|
363
|
+
parentKey,
|
|
364
|
+
index,
|
|
365
|
+
});
|
|
366
|
+
break;
|
|
367
|
+
}
|
|
368
|
+
case 'delete': {
|
|
369
|
+
const node = app.findNodeByPath(path);
|
|
370
|
+
node?.delete();
|
|
371
|
+
break;
|
|
372
|
+
}
|
|
373
|
+
case 'update': {
|
|
374
|
+
const node = app.findNodeByPath(path);
|
|
375
|
+
node?.update(object);
|
|
376
|
+
break;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
catch (error) {
|
|
381
|
+
console.error(`Error applying ${action} operation for path ${path}:`, error);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
app.emit('collect:end');
|
|
385
|
+
};
|
|
386
|
+
exports.applyBatchActions = applyBatchActions;
|
|
387
|
+
//# sourceMappingURL=transform2BatchActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform2BatchActions.js","sourceRoot":"","sources":["../../src/natural/transform2BatchActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { naslTypes } from './transforms/utils';
|
|
2
|
-
export declare function transformTSCode(tsCode: string, contextLogicName?: string, unNeedUID?: boolean, needThrowError?: boolean): any;
|
|
3
|
-
export declare function tryTransformTSCode(tsCode: string, contextLogicName: string, unNeedUID?: boolean, needThrowError?: boolean): naslTypes.Logic;
|
|
2
|
+
export declare function transformTSCode(tsCode: string, contextLogicName?: string, unNeedUID?: boolean, needThrowError?: boolean, source?: string): any;
|
|
3
|
+
export declare function tryTransformTSCode(tsCode: string, contextLogicName: string, unNeedUID?: boolean, needThrowError?: boolean, source?: string): naslTypes.Logic;
|
|
4
4
|
export declare function parseNaturalTSLogic(tsCode: string): any;
|
|
5
5
|
export declare function transformTSCodeEx(answer: any, activeLogic: any, context: any): void;
|
|
6
6
|
export declare function transformTSCodeToExpression(answer: any, context: any): naslTypes.LogicItemNode[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTSCode.d.ts","sourceRoot":"","sources":["../../src/natural/transformTSCode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,SAAS,EAA2C,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transformTSCode.d.ts","sourceRoot":"","sources":["../../src/natural/transformTSCode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,SAAS,EAA2C,MAAM,oBAAoB,CAAC;AA4FpG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,OA8BxI;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAQ5J;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,OAEjD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QA4B5E;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,6BAYpE"}
|
|
@@ -38,7 +38,7 @@ function getLogicTypeFromName(logicName) {
|
|
|
38
38
|
return 'view_logic';
|
|
39
39
|
return 'global_logic';
|
|
40
40
|
}
|
|
41
|
-
function transformTSCode2Logic(body, root, contextLogicName, logicNames, needThrowError) {
|
|
41
|
+
function transformTSCode2Logic(body, root, contextLogicName, logicNames, needThrowError, source) {
|
|
42
42
|
const logic = new utils_1.naslTypes.Logic();
|
|
43
43
|
logic.body = [
|
|
44
44
|
new utils_1.naslTypes.Start(),
|
|
@@ -86,7 +86,8 @@ function transformTSCode2Logic(body, root, contextLogicName, logicNames, needThr
|
|
|
86
86
|
logic,
|
|
87
87
|
logicType: getLogicTypeFromName(contextLogicName),
|
|
88
88
|
logicNames,
|
|
89
|
-
needThrowError
|
|
89
|
+
needThrowError,
|
|
90
|
+
source
|
|
90
91
|
});
|
|
91
92
|
item && logic.body.push(item);
|
|
92
93
|
});
|
|
@@ -114,7 +115,7 @@ function checkFormat(tsCode) {
|
|
|
114
115
|
(0, utils_1.throwError)(undefined, '格式不正确');
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
|
-
function transformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError) {
|
|
118
|
+
function transformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError, source) {
|
|
118
119
|
checkFormat(tsCode);
|
|
119
120
|
if (!contextLogicName) {
|
|
120
121
|
const functionRE = /function\s+(\w+)\s*\(/;
|
|
@@ -135,10 +136,10 @@ function transformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError) {
|
|
|
135
136
|
if (needHandleFuncs?.length > 1) {
|
|
136
137
|
// 获取多个逻辑的name
|
|
137
138
|
const logicNames = needHandleFuncs.map((item) => item?.id?.name || item?.declaration?.id?.name);
|
|
138
|
-
logics = needHandleFuncs.map((item) => transformTSCode2Logic(item, root, contextLogicName, logicNames, needThrowError));
|
|
139
|
+
logics = needHandleFuncs.map((item) => transformTSCode2Logic(item, root, contextLogicName, logicNames, needThrowError, source));
|
|
139
140
|
}
|
|
140
141
|
else {
|
|
141
|
-
logics = transformTSCode2Logic(needHandleFuncs[0], root, contextLogicName, [], needThrowError);
|
|
142
|
+
logics = transformTSCode2Logic(needHandleFuncs[0], root, contextLogicName, [], needThrowError, source);
|
|
142
143
|
}
|
|
143
144
|
if (!unNeedUID) {
|
|
144
145
|
const { node: newLogic } = (0, tools_1.genAIUID)(logics, 'nl2logic');
|
|
@@ -149,13 +150,13 @@ function transformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError) {
|
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
152
|
exports.transformTSCode = transformTSCode;
|
|
152
|
-
function tryTransformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError) {
|
|
153
|
+
function tryTransformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError, source) {
|
|
153
154
|
if (tsCode.includes('```')) {
|
|
154
155
|
const cap = tsCode.match(/```.*\n([\s\S]+?)```/);
|
|
155
156
|
if (cap)
|
|
156
157
|
tsCode = cap[1].trim();
|
|
157
158
|
}
|
|
158
|
-
return transformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError);
|
|
159
|
+
return transformTSCode(tsCode, contextLogicName, unNeedUID, needThrowError, source);
|
|
159
160
|
}
|
|
160
161
|
exports.tryTransformTSCode = tryTransformTSCode;
|
|
161
162
|
function parseNaturalTSLogic(tsCode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTSCode.js","sourceRoot":"","sources":["../../src/natural/transformTSCode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAmC;AACnC,4DAA4D;AAC5D,mDAAqC;AACrC,mCAAmC;AACnC,8CAAoG;AACpG,0EAAwF;AACxF,oFAAiF;AAEjF,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,aAAa,CAAC;IAC5F,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1D,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAS,EAAE,IAAS,EAAE,gBAAyB,EAAE,UAAqB,EAAE,cAAwB;
|
|
1
|
+
{"version":3,"file":"transformTSCode.js","sourceRoot":"","sources":["../../src/natural/transformTSCode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform2Logic.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA2C,eAAe,
|
|
1
|
+
{"version":3,"file":"transform2Logic.d.ts","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA2C,eAAe,EAAqB,MAAM,SAAS,CAAC;AAW7H,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC,KAAK,CA6E5M;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,UAAU,CAAC,uBAAuB,GAAG,UAAU,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC,KAAK,CAiB/L;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,uBAAuB,GAAG,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC,KAAK,CAM9M"}
|
|
@@ -25,6 +25,7 @@ function transformFunctionDeclaration2Logic(func, contextLogicName, currentPosit
|
|
|
25
25
|
if (currentPositionComment) {
|
|
26
26
|
statements = statements.filter((stat) => stat.start > currentPositionComment.start);
|
|
27
27
|
}
|
|
28
|
+
logic.description = (0, utils_1.fetchFromComments)(func.leadingComments);
|
|
28
29
|
const newStatements = [];
|
|
29
30
|
statements.forEach((node, index) => {
|
|
30
31
|
if (node?.leadingComments?.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform2Logic.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Logic.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"transform2Logic.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Logic.ts"],"names":[],"mappings":";;;AAAA,mCAA6H;AAC7H,uCAAqC;AACrC,+DAA6E;AAC7E,yEAAsE;AAEtE,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,aAAa,CAAC;IAC5F,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1D,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAgB,kCAAkC,CAAC,IAAoC,EAAE,gBAAwB,EAAE,sBAA8C,EAAE,OAAwB;IACzL,MAAM,KAAK,GAAG,IAAI,iBAAS,CAAC,KAAK,EAAE,CAAC;IACpC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;IAClE,KAAK,CAAC,IAAI,GAAG;QACX,IAAI,iBAAS,CAAC,KAAK,EAAE;KACtB,CAAC;IAEF,IAAI,UAAU,GAA6D,EAAE,CAAC;IAC9E,IAAI,UAAU,GAA2B,EAAE,CAAC;IAE5C,UAAU,GAAG,IAAI,CAAC,MAAkE,CAAC;IACrF,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAQ,CAAC;IAEjF,IAAI,sBAAsB,EAAE,CAAC;QAC3B,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IACD,KAAK,CAAC,WAAW,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,EAAS,CAAC;IAChC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACjC,IAAI,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC;QAC/C,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,IAAI,EAAE,gBAAgB,EAAE,MAAM,IAAI,KAAK,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,UAAU,GAAG,aAAa,CAAC;IAE3B,IAAI,UAAU,EAAE,MAAM,KAAK,CAAC,IAAK,UAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;QACnF,iBAAiB;QACjB,MAAM,UAAU,GAAI,UAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC;QACrF,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,UAAU,GAAG,UAAU,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,KAAkC,CAAC;QACvC,KAAK,GAAG,IAAA,qCAAe,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,IAAI,SAAS,CAAC;QAClF,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,IAAA,yCAAmB,EAAC,IAAI,EAAE;YACrC,GAAG,OAAO;YACV,aAAa,EAAE,OAAO;YACtB,KAAK;YACL,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;SAC5C,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/F,IAAI,KAAK,IAAI,CAAC;YACZ,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,IAAA,mDAAwB,EAAE,IAAI,CAAC,UAA0C,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAC1H,IAAI,cAAc;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,cAAc,CAAA;QACtE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;QAChD,MAAM,cAAc,GAAI,IAAI,CAAC,UAA0C,EAAE,cAAc,CAAC;QACxF,IAAI,cAAc,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,iBAAS,CAAC,MAAM,CAAC;gBACtC,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,IAAA,mDAAwB,EAAC,cAAc,EAAE,OAAO,CAAC,IAAI,SAAS;aAC/E,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA7ED,gFA6EC;AAED,SAAgB,iCAAiC,CAAC,IAAwE,EAAE,gBAAwB,EAAE,OAAwB;IAC5K,IAAI,IAAI,GAAG,gBAAgB,IAAI,SAAS,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,OAAO,kCAAkC,CAAC;QACxC,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,KAAK;QACZ,EAAE,EAAE;YACF,IAAI,EAAE,YAAY;YAClB,IAAI;SACL;QACD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAiC;KAC7C,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAjBD,8EAiBC;AAED,SAAgB,eAAe,CAAC,IAAyG,EAAE,gBAAwB,EAAE,OAAwB;IAC3L,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClF,OAAO,iCAAiC,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,OAAO,kCAAkC,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAND,0CAMC"}
|