@lcap/nasl 4.4.0-beta.17 → 4.4.0-beta.19

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 (66) hide show
  1. package/out/generator/genBundleFiles.js +1 -1
  2. package/out/generator/genBundleFiles.js.map +1 -1
  3. package/out/natural/exports/nasl2Files.d.ts.map +1 -1
  4. package/out/natural/exports/nasl2Files.js +98 -1
  5. package/out/natural/exports/nasl2Files.js.map +1 -1
  6. package/out/natural/exports/transform2BatchActions.d.ts +2 -0
  7. package/out/natural/exports/transform2BatchActions.d.ts.map +1 -1
  8. package/out/natural/exports/transform2BatchActions.js +744 -87
  9. package/out/natural/exports/transform2BatchActions.js.map +1 -1
  10. package/out/natural/parser/parseNaturalTS.d.ts.map +1 -1
  11. package/out/natural/parser/parseNaturalTS.js +81 -24
  12. package/out/natural/parser/parseNaturalTS.js.map +1 -1
  13. package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -1
  14. package/out/natural/parser/parseNaturalTSXView.js +29 -77
  15. package/out/natural/parser/parseNaturalTSXView.js.map +1 -1
  16. package/out/natural/transforms/checker/checkLcapEntity.d.ts +16 -0
  17. package/out/natural/transforms/checker/checkLcapEntity.d.ts.map +1 -0
  18. package/out/natural/transforms/checker/checkLcapEntity.js +334 -0
  19. package/out/natural/transforms/checker/checkLcapEntity.js.map +1 -0
  20. package/out/natural/transforms/checker/index.d.ts +1 -0
  21. package/out/natural/transforms/checker/index.d.ts.map +1 -1
  22. package/out/natural/transforms/checker/index.js +3 -1
  23. package/out/natural/transforms/checker/index.js.map +1 -1
  24. package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
  25. package/out/natural/transforms/transform2Entity.js +3 -2
  26. package/out/natural/transforms/transform2Entity.js.map +1 -1
  27. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +1 -1
  28. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  29. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +15 -1
  30. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  31. package/out/natural/transforms/transform2Logic.d.ts +3 -3
  32. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  33. package/out/natural/transforms/transform2Logic.js +34 -7
  34. package/out/natural/transforms/transform2Logic.js.map +1 -1
  35. package/out/natural/transforms/transform2LogicItem.d.ts +4 -0
  36. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  37. package/out/natural/transforms/transform2LogicItem.js +11 -2
  38. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  39. package/out/natural/transforms/transform2Variable.d.ts +3 -3
  40. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  41. package/out/natural/transforms/transform2Variable.js +32 -5
  42. package/out/natural/transforms/transform2Variable.js.map +1 -1
  43. package/out/natural/transforms/utils/parseDecorator.d.ts +27 -3
  44. package/out/natural/transforms/utils/parseDecorator.d.ts.map +1 -1
  45. package/out/natural/transforms/utils/parseDecorator.js +61 -6
  46. package/out/natural/transforms/utils/parseDecorator.js.map +1 -1
  47. package/out/natural/transforms/utils/transform2Directory.d.ts +59 -0
  48. package/out/natural/transforms/utils/transform2Directory.d.ts.map +1 -0
  49. package/out/natural/transforms/utils/transform2Directory.js +229 -0
  50. package/out/natural/transforms/utils/transform2Directory.js.map +1 -0
  51. package/out/natural/utils/index.d.ts +16 -0
  52. package/out/natural/utils/index.d.ts.map +1 -1
  53. package/out/natural/utils/index.js +26 -1
  54. package/out/natural/utils/index.js.map +1 -1
  55. package/out/natural/utils/nasl-file-types.d.ts +45 -0
  56. package/out/natural/utils/nasl-file-types.d.ts.map +1 -0
  57. package/out/natural/utils/nasl-file-types.js +131 -0
  58. package/out/natural/utils/nasl-file-types.js.map +1 -0
  59. package/out/server/createUiTs.d.ts +0 -1
  60. package/out/server/createUiTs.d.ts.map +1 -1
  61. package/out/server/createUiTs.js +1 -118
  62. package/out/server/createUiTs.js.map +1 -1
  63. package/out/server/naslServer.d.ts.map +1 -1
  64. package/out/server/naslServer.js +4 -19
  65. package/out/server/naslServer.js.map +1 -1
  66. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"transform2Variable.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Variable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform2Variable.js","sourceRoot":"","sources":["../../../src/natural/transforms/transform2Variable.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export interface DecoratorHandler<K extends string = never> {
17
17
  /**
18
18
  * Entity 装饰器处理器配置
19
19
  */
20
- export declare const ENTITY_DECORATOR: DecoratorHandler<'title' | 'uuid' | 'tableName' | 'origin'>;
20
+ export declare const ENTITY_DECORATOR: DecoratorHandler<'title' | 'uuid' | 'tableName' | 'origin' | 'directory'>;
21
21
  /**
22
22
  * EntityProperty 装饰器处理器配置
23
23
  */
@@ -29,11 +29,35 @@ export declare const ENTITY_RELATION_DECORATOR: DecoratorHandler;
29
29
  /**
30
30
  * Enum 装饰器处理器配置
31
31
  */
32
- export declare const ENUM_DECORATOR: DecoratorHandler<'title' | 'description'>;
32
+ export declare const ENUM_DECORATOR: DecoratorHandler<'title' | 'description' | 'directory'>;
33
33
  /**
34
34
  * Structure 装饰器处理器配置
35
35
  */
36
- export declare const STRUCTURE_DECORATOR: DecoratorHandler<'title'>;
36
+ export declare const STRUCTURE_DECORATOR: DecoratorHandler<'title' | 'directory'>;
37
+ /**
38
+ * Logic 装饰器处理器配置(服务端全局逻辑)
39
+ */
40
+ export declare const LOGIC_DECORATOR: DecoratorHandler<'description' | 'transactional' | 'directory'>;
41
+ /**
42
+ * Logic 装饰器处理器配置(View 中的前端逻辑)
43
+ */
44
+ export declare const VIEW_LOGIC_DECORATOR: DecoratorHandler<'description' | 'directory'>;
45
+ /**
46
+ * Variable 装饰器处理器配置(普通变量)
47
+ */
48
+ export declare const VARIABLE_DECORATOR: DecoratorHandler<'description'>;
49
+ /**
50
+ * BackendVariable 装饰器处理器配置(后端全局变量)
51
+ */
52
+ export declare const BACKEND_VARIABLE_DECORATOR: DecoratorHandler<'description'>;
53
+ /**
54
+ * FrontendVariable 装饰器处理器配置(前端全局变量)
55
+ */
56
+ export declare const FRONTEND_VARIABLE_DECORATOR: DecoratorHandler<'description' | 'localStorage'>;
57
+ /**
58
+ * Variable 装饰器处理器配置(View 中的变量)
59
+ */
60
+ export declare const VIEW_VARIABLE_DECORATOR: DecoratorHandler<'description' | 'directory'>;
37
61
  /**
38
62
  * StructureProperty 装饰器处理器配置
39
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parseDecorator.d.ts","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/parseDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,SAAS,EAAc,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGpG;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,mBAAmB,uBA8BtK;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK;IACtD,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAErB,QAAQ,CAAC,EAAE;SAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM;KAAE,CAAC;IAEnC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC1H;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAMxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,UAAU,CAgBnK,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBA0BvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAMpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,CAMzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,GAAG,UAAU,CAM/F,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,SAAS,EAC9C,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EACpC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAC1B,UAAU,EAAE,mBAAmB,GAChC,IAAI,CAiCN"}
1
+ {"version":3,"file":"parseDecorator.d.ts","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/parseDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,SAAS,EAAc,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIpG;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,mBAAmB,uBAoCtK;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK;IACtD,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAErB,QAAQ,CAAC,EAAE;SAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM;KAAE,CAAC;IAEnC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC1H;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAMtG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,UAAU,CAgBnK,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBA0BvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,GAAG,WAAW,CAMlF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,GAAG,WAAW,CAMvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,aAAa,GAAG,eAAe,GAAG,WAAW,CAG3F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,CAAC,aAAa,GAAG,WAAW,CAG9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,CAAC,aAAa,CAG9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,CAAC,aAAa,CAGtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,CAAC,aAAa,GAAG,cAAc,CAMxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,aAAa,GAAG,WAAW,CAGjF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,GAAG,UAAU,CAM/F,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,SAAS,EAC9C,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EACpC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAC1B,UAAU,EAAE,mBAAmB,GAChC,IAAI,CAmCN"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processDecoratorsByConfig = exports.STRUCTURE_PROPERTY_DECORATOR = exports.STRUCTURE_DECORATOR = exports.ENUM_DECORATOR = exports.ENTITY_RELATION_DECORATOR = exports.ENTITY_PROPERTY_DECORATOR = exports.ENTITY_DECORATOR = exports.pickDecoratorObject = void 0;
3
+ exports.processDecoratorsByConfig = exports.STRUCTURE_PROPERTY_DECORATOR = exports.VIEW_VARIABLE_DECORATOR = exports.FRONTEND_VARIABLE_DECORATOR = exports.BACKEND_VARIABLE_DECORATOR = exports.VARIABLE_DECORATOR = exports.VIEW_LOGIC_DECORATOR = exports.LOGIC_DECORATOR = exports.STRUCTURE_DECORATOR = exports.ENUM_DECORATOR = exports.ENTITY_RELATION_DECORATOR = exports.ENTITY_PROPERTY_DECORATOR = exports.ENTITY_DECORATOR = exports.pickDecoratorObject = void 0;
4
4
  const utils_1 = require("../../utils");
5
5
  const transform2Entity_1 = require("../transform2Entity");
6
+ const transform2Directory_1 = require("./transform2Directory");
6
7
  /**
7
8
  * 从装饰器对象表达式中提取指定的属性
8
9
  */
@@ -19,7 +20,14 @@ function pickDecoratorObject(objectExpression, keys, mappings, parseState) {
19
20
  value = item.value.value;
20
21
  }
21
22
  else if (item.value.type === 'StringLiteral') {
22
- value = item.value.value;
23
+ // directory 字段需要特殊处理
24
+ if (item.key.name === 'directory') {
25
+ const directoryInfo = (0, transform2Directory_1.parseDirectoryValue)(item.value.value, parseState);
26
+ value = directoryInfo;
27
+ }
28
+ else {
29
+ value = item.value.value;
30
+ }
23
31
  }
24
32
  else if (item.value.type === 'NumericLiteral') {
25
33
  value = item.value.value;
@@ -50,7 +58,7 @@ exports.pickDecoratorObject = pickDecoratorObject;
50
58
  */
51
59
  exports.ENTITY_DECORATOR = {
52
60
  name: 'Entity',
53
- allowedKeys: new Set(['title', 'uuid', 'tableName', 'origin']),
61
+ allowedKeys: new Set(['title', 'uuid', 'tableName', 'origin', 'directory']),
54
62
  mappings: {
55
63
  title: 'description',
56
64
  },
@@ -112,7 +120,7 @@ exports.ENTITY_RELATION_DECORATOR = {
112
120
  */
113
121
  exports.ENUM_DECORATOR = {
114
122
  name: 'Enum',
115
- allowedKeys: new Set(['title', 'description']),
123
+ allowedKeys: new Set(['title', 'description', 'directory']),
116
124
  mappings: {
117
125
  title: 'description',
118
126
  },
@@ -122,11 +130,56 @@ exports.ENUM_DECORATOR = {
122
130
  */
123
131
  exports.STRUCTURE_DECORATOR = {
124
132
  name: 'Structure',
125
- allowedKeys: new Set(['title']),
133
+ allowedKeys: new Set(['title', 'directory']),
126
134
  mappings: {
127
135
  title: 'description',
128
136
  },
129
137
  };
138
+ /**
139
+ * Logic 装饰器处理器配置(服务端全局逻辑)
140
+ */
141
+ exports.LOGIC_DECORATOR = {
142
+ name: 'Logic',
143
+ allowedKeys: new Set(['description', 'transactional', 'directory']),
144
+ };
145
+ /**
146
+ * Logic 装饰器处理器配置(View 中的前端逻辑)
147
+ */
148
+ exports.VIEW_LOGIC_DECORATOR = {
149
+ name: 'Logic',
150
+ allowedKeys: new Set(['description', 'directory']),
151
+ };
152
+ /**
153
+ * Variable 装饰器处理器配置(普通变量)
154
+ */
155
+ exports.VARIABLE_DECORATOR = {
156
+ name: 'Variable',
157
+ allowedKeys: new Set(['description']),
158
+ };
159
+ /**
160
+ * BackendVariable 装饰器处理器配置(后端全局变量)
161
+ */
162
+ exports.BACKEND_VARIABLE_DECORATOR = {
163
+ name: 'BackendVariable',
164
+ allowedKeys: new Set(['description']),
165
+ };
166
+ /**
167
+ * FrontendVariable 装饰器处理器配置(前端全局变量)
168
+ */
169
+ exports.FRONTEND_VARIABLE_DECORATOR = {
170
+ name: 'FrontendVariable',
171
+ allowedKeys: new Set(['description', 'localStorage']),
172
+ mappings: {
173
+ localStorage: 'localCache',
174
+ },
175
+ };
176
+ /**
177
+ * Variable 装饰器处理器配置(View 中的变量)
178
+ */
179
+ exports.VIEW_VARIABLE_DECORATOR = {
180
+ name: 'Variable',
181
+ allowedKeys: new Set(['description', 'directory']),
182
+ };
130
183
  /**
131
184
  * StructureProperty 装饰器处理器配置
132
185
  */
@@ -162,7 +215,9 @@ function processDecoratorsByConfig(decorators, handlers, target, parseState) {
162
215
  const decoratorProps = pickDecoratorObject(decoratorArgs, handler.allowedKeys, handler.mappings, parseState);
163
216
  Object.keys(decoratorProps).forEach(key => {
164
217
  if (decoratorProps[key] !== undefined) {
165
- target[key] = decoratorProps[key];
218
+ // directory 属性使用临时属性名,避免与只读 getter 冲突
219
+ const propName = key === 'directory' ? '_directoryInfo' : key;
220
+ target[propName] = decoratorProps[key];
166
221
  }
167
222
  });
168
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parseDecorator.js","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/parseDecorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseDecorator.js","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/parseDecorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { naslTypes, type ParseNaturalTSState } from '../../utils';
2
+ /**
3
+ * 解析的目录信息
4
+ */
5
+ export interface DirectoryInfo {
6
+ name: string;
7
+ title?: string;
8
+ }
9
+ /**
10
+ * 目录范围类型,根据装饰器名称决定
11
+ */
12
+ export type DirectoryScope = 'Logic' | 'Enum' | 'Structure' | 'Entity' | 'View';
13
+ /**
14
+ * 从字符串解析目录信息
15
+ * 支持格式:
16
+ * - name(title) - 包含标题的格式
17
+ * - name - 纯名称格式
18
+ *
19
+ * name 必须以小写字母开头,由小写字母、数字或下划线组成
20
+ *
21
+ * @param directoryValue - 目录字符串值
22
+ * @param parseState - 解析状态
23
+ * @returns 解析后的目录信息
24
+ */
25
+ export declare function parseDirectoryValue(directoryValue: string, parseState: ParseNaturalTSState): DirectoryInfo;
26
+ /**
27
+ * 根据装饰器名称获取目录范围
28
+ * @param decoratorName - 装饰器名称(Logic、Enum、Structure、Entity)
29
+ * @returns 目录范围
30
+ */
31
+ export declare function getDirectoryScopeFromDecorator(decoratorName: string): DirectoryScope;
32
+ /**
33
+ * 查找或创建目录(统一方法)
34
+ * 根据 directory 信息和范围类型,在对应的父节点中查找或创建目录
35
+ *
36
+ * @param appOrView - NASL 应用实例或 View 实例
37
+ * @param directoryInfo - 目录信息
38
+ * @param scope - 目录范围(Logic、Enum、Structure、Entity、View)
39
+ * @returns 找到或创建的目录实例
40
+ */
41
+ export declare function findOrCreateDirectory(appOrView: naslTypes.App | naslTypes.View, directoryInfo: DirectoryInfo, scope: DirectoryScope): naslTypes.Directory;
42
+ /**
43
+ * 将节点添加到指定目录(统一方法)
44
+ * @param directory - 目标目录
45
+ * @param node - 要添加的节点
46
+ * @param scope - 目录范围,用于确定正确的 namespace
47
+ * @param dataSourceName - 数据源名称(仅 Entity 类型需要)
48
+ */
49
+ export declare function addNodeToDirectory(directory: naslTypes.Directory, node: naslTypes.Entity | naslTypes.Logic | naslTypes.Enum | naslTypes.Structure | naslTypes.Variable, scope: DirectoryScope, dataSourceName?: string): void;
50
+ /**
51
+ * 处理节点的 directory 信息(统一方法)
52
+ * 如果节点有 _directoryInfo 临时属性,则在对应的父目录中创建或查找目录,并添加引用
53
+ *
54
+ * @param appOrView - NASL 应用实例或 View 实例
55
+ * @param node - 要处理的节点
56
+ * @param scope - 目录范围(Logic、Enum、Structure、Entity、View)
57
+ */
58
+ export declare function handleDirectory(appOrView: naslTypes.App | naslTypes.View, node: naslTypes.Entity | naslTypes.Logic | naslTypes.Enum | naslTypes.Structure | naslTypes.Variable, scope: DirectoryScope): void;
59
+ //# sourceMappingURL=transform2Directory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform2Directory.d.ts","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/transform2Directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAc,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhF;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,mBAAmB,GAC9B,aAAa,CAyBf;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,CAMpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,EACzC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,SAAS,CAiGrB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,EACpG,KAAK,EAAE,cAAc,EACrB,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CA2CN;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,EACzC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,EACpG,KAAK,EAAE,cAAc,GACpB,IAAI,CAeN"}
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleDirectory = exports.addNodeToDirectory = exports.findOrCreateDirectory = exports.getDirectoryScopeFromDecorator = exports.parseDirectoryValue = void 0;
4
+ const utils_1 = require("../../utils");
5
+ /**
6
+ * 从字符串解析目录信息
7
+ * 支持格式:
8
+ * - name(title) - 包含标题的格式
9
+ * - name - 纯名称格式
10
+ *
11
+ * name 必须以小写字母开头,由小写字母、数字或下划线组成
12
+ *
13
+ * @param directoryValue - 目录字符串值
14
+ * @param parseState - 解析状态
15
+ * @returns 解析后的目录信息
16
+ */
17
+ function parseDirectoryValue(directoryValue, parseState) {
18
+ // 验证格式: name(title) 或 name
19
+ // name 必须以小写字母开头,由小写字母、数字或下划线组成
20
+ const nameRegex = /^[a-z][a-z0-9_]*$/;
21
+ const nameWithTitleRegex = /^([a-z][a-z0-9_]*)\((.+)\)$/;
22
+ let name;
23
+ let title;
24
+ // 尝试匹配 name(title) 格式
25
+ const matchWithTitle = directoryValue.match(nameWithTitleRegex);
26
+ if (matchWithTitle) {
27
+ name = matchWithTitle[1];
28
+ title = matchWithTitle[2];
29
+ }
30
+ else if (nameRegex.test(directoryValue)) {
31
+ // 匹配纯 name 格式
32
+ name = directoryValue;
33
+ }
34
+ else {
35
+ return (0, utils_1.throwError)(parseState, `directory 格式不正确:"${directoryValue}"。正确格式为 "name(title)" 或 "name",其中 name 必须以小写字母开头,由小写字母、数字或下划线组成`);
36
+ }
37
+ return { name, title };
38
+ }
39
+ exports.parseDirectoryValue = parseDirectoryValue;
40
+ /**
41
+ * 根据装饰器名称获取目录范围
42
+ * @param decoratorName - 装饰器名称(Logic、Enum、Structure、Entity)
43
+ * @returns 目录范围
44
+ */
45
+ function getDirectoryScopeFromDecorator(decoratorName) {
46
+ const validScopes = ['Logic', 'Enum', 'Structure', 'Entity'];
47
+ if (validScopes.includes(decoratorName)) {
48
+ return decoratorName;
49
+ }
50
+ throw new Error(`不支持的装饰器类型:${decoratorName}`);
51
+ }
52
+ exports.getDirectoryScopeFromDecorator = getDirectoryScopeFromDecorator;
53
+ /**
54
+ * 查找或创建目录(统一方法)
55
+ * 根据 directory 信息和范围类型,在对应的父节点中查找或创建目录
56
+ *
57
+ * @param appOrView - NASL 应用实例或 View 实例
58
+ * @param directoryInfo - 目录信息
59
+ * @param scope - 目录范围(Logic、Enum、Structure、Entity、View)
60
+ * @returns 找到或创建的目录实例
61
+ */
62
+ function findOrCreateDirectory(appOrView, directoryInfo, scope) {
63
+ let parentDirectories;
64
+ let parentNode;
65
+ let rootDirectoryName;
66
+ // 根据范围确定父目录列表和父节点
67
+ if (scope === 'View') {
68
+ // View:目录直接存储在 view.directories 中
69
+ const view = appOrView;
70
+ parentDirectories = view.directories || [];
71
+ parentNode = view;
72
+ }
73
+ else {
74
+ // App 类型的处理
75
+ const app = appOrView;
76
+ switch (scope) {
77
+ case 'Logic':
78
+ // 逻辑目录存储在 app.directories 中,需要找到名为 'LOGICS' 的目录
79
+ rootDirectoryName = 'LOGICS';
80
+ parentDirectories = app.directories.filter((dir) => dir.name === 'LOGICS');
81
+ parentNode = app;
82
+ break;
83
+ case 'Enum':
84
+ // 枚举目录存储在 app.directories 中,需要找到名为 'ENUMS' 的目录
85
+ rootDirectoryName = 'ENUMS';
86
+ parentDirectories = app.directories.filter((dir) => dir.name === 'ENUMS');
87
+ parentNode = app;
88
+ break;
89
+ case 'Structure':
90
+ // 结构目录存储在 app.directories 中,需要找到名为 'STRUCTURES' 的目录
91
+ rootDirectoryName = 'STRUCTURES';
92
+ parentDirectories = app.directories.filter((dir) => dir.name === 'STRUCTURES');
93
+ parentNode = app;
94
+ break;
95
+ case 'Entity':
96
+ // 实体目录存储在数据源的 directories 中
97
+ if (app.dataSources && app.dataSources.length > 0) {
98
+ parentDirectories = app.dataSources[0].directories || [];
99
+ parentNode = app.dataSources[0];
100
+ }
101
+ else {
102
+ throw new Error('找不到数据源,无法创建实体目录');
103
+ }
104
+ break;
105
+ default:
106
+ throw new Error(`不支持的目录范围:${scope}`);
107
+ }
108
+ // 如果没有找到根目录(Logic、Enum、Structure),使用 App 的 addDirectory 方法创建根目录
109
+ if (rootDirectoryName && parentDirectories.length === 0) {
110
+ const rootDirectory = app.addDirectory({
111
+ name: rootDirectoryName,
112
+ });
113
+ parentDirectories = [rootDirectory];
114
+ }
115
+ }
116
+ // 在父目录列表中查找匹配的目录
117
+ let targetDirectory;
118
+ if (scope === 'View' || scope === 'Entity') {
119
+ // View 和 Entity:直接在 parentDirectories 中查找
120
+ targetDirectory = parentDirectories.find((dir) => dir.name === directoryInfo.name);
121
+ }
122
+ else {
123
+ // Logic、Enum、Structure:在父目录的 children 中查找
124
+ for (const parent of parentDirectories) {
125
+ if (parent.children) {
126
+ targetDirectory = parent.children.find((child) => child.name === directoryInfo.name);
127
+ if (targetDirectory) {
128
+ break;
129
+ }
130
+ }
131
+ }
132
+ }
133
+ // 如果找不到,创建新目录
134
+ if (!targetDirectory) {
135
+ if (scope === 'View' || scope === 'Entity') {
136
+ // View 和 Entity:直接在父节点下创建
137
+ targetDirectory = parentNode.addDirectory({
138
+ name: directoryInfo.name,
139
+ title: directoryInfo.title,
140
+ });
141
+ }
142
+ else if (parentDirectories.length > 0) {
143
+ // Logic、Enum、Structure:在父目录的 children 中创建
144
+ const parent = parentDirectories[0];
145
+ targetDirectory = parent.addDirectory({
146
+ name: directoryInfo.name,
147
+ title: directoryInfo.title,
148
+ });
149
+ }
150
+ }
151
+ return targetDirectory;
152
+ }
153
+ exports.findOrCreateDirectory = findOrCreateDirectory;
154
+ /**
155
+ * 将节点添加到指定目录(统一方法)
156
+ * @param directory - 目标目录
157
+ * @param node - 要添加的节点
158
+ * @param scope - 目录范围,用于确定正确的 namespace
159
+ * @param dataSourceName - 数据源名称(仅 Entity 类型需要)
160
+ */
161
+ function addNodeToDirectory(directory, node, scope, dataSourceName) {
162
+ // 根据 scope 确定正确的 namespace
163
+ let namespace;
164
+ switch (scope) {
165
+ case 'Logic':
166
+ namespace = 'app.logics';
167
+ break;
168
+ case 'Enum':
169
+ namespace = 'app.enums';
170
+ break;
171
+ case 'Structure':
172
+ namespace = 'app.structures';
173
+ break;
174
+ case 'Entity':
175
+ // Entity 的 namespace 需要包含数据源名称
176
+ const dsName = dataSourceName || node.dataSource?.name || 'defaultDS';
177
+ namespace = `app.dataSources.${dsName}.entities`;
178
+ break;
179
+ case 'View':
180
+ // View 中的变量和逻辑,namespace 为空
181
+ namespace = '';
182
+ break;
183
+ default:
184
+ namespace = '';
185
+ }
186
+ // 检查是否已存在同名引用
187
+ const existingDef = directory.definitions?.find((def) => def.name === node.name && (scope === 'View' ? def.referredConcept === node.concept : true));
188
+ if (existingDef) {
189
+ // 更新现有引用的属性
190
+ existingDef.referredConcept = node.concept;
191
+ existingDef.namespace = namespace;
192
+ }
193
+ else {
194
+ // 使用 Directory 的 addReferredDefinition 方法添加新引用
195
+ directory.addReferredDefinition({
196
+ name: node.name,
197
+ referredConcept: node.concept,
198
+ namespace: namespace,
199
+ });
200
+ }
201
+ }
202
+ exports.addNodeToDirectory = addNodeToDirectory;
203
+ /**
204
+ * 处理节点的 directory 信息(统一方法)
205
+ * 如果节点有 _directoryInfo 临时属性,则在对应的父目录中创建或查找目录,并添加引用
206
+ *
207
+ * @param appOrView - NASL 应用实例或 View 实例
208
+ * @param node - 要处理的节点
209
+ * @param scope - 目录范围(Logic、Enum、Structure、Entity、View)
210
+ */
211
+ function handleDirectory(appOrView, node, scope) {
212
+ // 从临时属性 _directoryInfo 读取 directory 信息
213
+ const directoryInfo = node._directoryInfo;
214
+ if (directoryInfo) {
215
+ try {
216
+ const directory = findOrCreateDirectory(appOrView, directoryInfo, scope);
217
+ addNodeToDirectory(directory, node, scope);
218
+ // 处理完后删除节点上的临时属性,避免序列化时包含
219
+ delete node._directoryInfo;
220
+ }
221
+ catch (error) {
222
+ // 目录处理失败时记录错误但不中断流程
223
+ const scopeDesc = scope === 'View' ? 'View directory' : 'directory';
224
+ console.warn(`处理 ${scopeDesc} 失败: ${error.message}`, node.name);
225
+ }
226
+ }
227
+ }
228
+ exports.handleDirectory = handleDirectory;
229
+ //# sourceMappingURL=transform2Directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform2Directory.js","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/transform2Directory.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,22 @@ export interface ParseViewState extends ParseLogicState {
43
43
  * @param babelNode2 babel节点,用于便捷生成代码片段信息
44
44
  */
45
45
  export declare function throwError(state: ParseNaturalTSState, message: string, babelNode?: babelTypes.Node | string, babelNode2?: babelTypes.Node | string): undefined;
46
+ /**
47
+ * 检查语句是否是指定名称的 $ 调用表达式(装饰器调用)
48
+ * @param statement - 要检查的语句
49
+ * @param decoratorName - 装饰器名称,如 'Logic', 'View', 'Variable'
50
+ * @returns 如果匹配返回 CallExpression,否则返回 undefined
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // 检查是否是 $Logic 调用
55
+ * const decorator = getDecoratorCall(prevStatement, 'Logic');
56
+ * if (decorator) {
57
+ * // 处理装饰器
58
+ * }
59
+ * ```
60
+ */
61
+ export declare function getDecoratorCall(statement: babelTypes.Statement | undefined, decoratorName: string): babelTypes.CallExpression | undefined;
46
62
  /**
47
63
  * 抛出警告,在 DEBUG 模式下不抛出这类错误
48
64
  * @param message 错误信息
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/natural/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAI5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAG3C,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,wBAAgB,KAAK,YAEpB;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM,CAAC;AAExE,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAGD,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,MAAM,EACN;IACE,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CAwC9J;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,QAYxH;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,yDAWxC;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,UAc/F;AAID,eAAO,MAAM,QAAQ,SAAU,GAAG,aAAa,MAAM,QAAQ,MAAM;;;CAoBlE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/natural/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAI5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAG3C,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,wBAAgB,KAAK,YAEpB;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM,CAAC;AAExE,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAGD,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,MAAM,EACN;IACE,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CAwC9J;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,EAC3C,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,cAAc,GAAG,SAAS,CAQvC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,QAYxH;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,yDAWxC;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,UAc/F;AAID,eAAO,MAAM,QAAQ,SAAU,GAAG,aAAa,MAAM,QAAQ,MAAM;;;CAoBlE,CAAC"}
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.genAIUID = exports.fetchFromComments = exports.tryParseTS = exports.throwWarning = exports.throwError = exports.ParseNaturalTSError = exports.parseNaturalTSErrorMap = exports.DEBUG = exports.splitPath = exports.firstUpperCase = exports.firstLowerCase = exports.uuidv4 = exports.genHash = exports.generate = exports.naslTypes = exports.babelTypes = void 0;
29
+ exports.genAIUID = exports.fetchFromComments = exports.tryParseTS = exports.throwWarning = exports.getDecoratorCall = exports.throwError = exports.ParseNaturalTSError = exports.parseNaturalTSErrorMap = exports.DEBUG = exports.splitPath = exports.firstUpperCase = exports.firstLowerCase = exports.uuidv4 = exports.genHash = exports.generate = exports.naslTypes = exports.babelTypes = void 0;
30
30
  const babel = __importStar(require("@babel/core"));
31
31
  const babelTypes = __importStar(require("@babel/types"));
32
32
  exports.babelTypes = babelTypes;
@@ -106,6 +106,31 @@ function throwError(state, message, babelNode, babelNode2) {
106
106
  }
107
107
  }
108
108
  exports.throwError = throwError;
109
+ /**
110
+ * 检查语句是否是指定名称的 $ 调用表达式(装饰器调用)
111
+ * @param statement - 要检查的语句
112
+ * @param decoratorName - 装饰器名称,如 'Logic', 'View', 'Variable'
113
+ * @returns 如果匹配返回 CallExpression,否则返回 undefined
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * // 检查是否是 $Logic 调用
118
+ * const decorator = getDecoratorCall(prevStatement, 'Logic');
119
+ * if (decorator) {
120
+ * // 处理装饰器
121
+ * }
122
+ * ```
123
+ */
124
+ function getDecoratorCall(statement, decoratorName) {
125
+ if (statement?.type === 'ExpressionStatement' &&
126
+ statement.expression.type === 'CallExpression' &&
127
+ statement.expression.callee.type === 'Identifier' &&
128
+ statement.expression.callee.name === `$${decoratorName}`) {
129
+ return statement.expression;
130
+ }
131
+ return undefined;
132
+ }
133
+ exports.getDecoratorCall = getDecoratorCall;
109
134
  /**
110
135
  * 抛出警告,在 DEBUG 模式下不抛出这类错误
111
136
  * @param message 错误信息
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/natural/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/natural/utils/index.ts"],"names":[],"mappings":"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"}