@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.
Files changed (86) hide show
  1. package/out/generator/genBundleFiles.d.ts +2 -2
  2. package/out/generator/genBundleFiles.d.ts.map +1 -1
  3. package/out/generator/genBundleFiles.js +175 -138
  4. package/out/generator/genBundleFiles.js.map +1 -1
  5. package/out/generator/qiankun.d.ts +1 -1
  6. package/out/generator/qiankun.d.ts.map +1 -1
  7. package/out/generator/qiankun.js +4 -1
  8. package/out/generator/qiankun.js.map +1 -1
  9. package/out/generator/release-body/data.d.ts.map +1 -1
  10. package/out/generator/release-body/data.js +34 -1
  11. package/out/generator/release-body/data.js.map +1 -1
  12. package/out/generator/release-body/utils.d.ts +2 -6
  13. package/out/generator/release-body/utils.d.ts.map +1 -1
  14. package/out/generator/release-body/utils.js +101 -3
  15. package/out/generator/release-body/utils.js.map +1 -1
  16. package/out/generator/templates/chunk.d.ts +11 -0
  17. package/out/generator/templates/chunk.d.ts.map +1 -0
  18. package/out/generator/templates/chunk.js +29 -0
  19. package/out/generator/templates/chunk.js.map +1 -0
  20. package/out/generator/templates/runtime.d.ts +7 -0
  21. package/out/generator/templates/runtime.d.ts.map +1 -0
  22. package/out/generator/templates/runtime.js +409 -0
  23. package/out/generator/templates/runtime.js.map +1 -0
  24. package/out/generator/ui-library-declaration/basic.d.ts.map +1 -1
  25. package/out/generator/ui-library-declaration/basic.js +5 -5
  26. package/out/generator/ui-library-declaration/basic.js.map +1 -1
  27. package/out/generator/ui-library-declaration/dependency.d.ts.map +1 -1
  28. package/out/generator/ui-library-declaration/dependency.js +3 -3
  29. package/out/generator/ui-library-declaration/dependency.js.map +1 -1
  30. package/out/index.d.ts +1 -0
  31. package/out/index.d.ts.map +1 -1
  32. package/out/index.js +1 -0
  33. package/out/index.js.map +1 -1
  34. package/out/natural/getContext/nasl2Files.d.ts +15 -0
  35. package/out/natural/getContext/nasl2Files.d.ts.map +1 -0
  36. package/out/natural/getContext/nasl2Files.js +75 -0
  37. package/out/natural/getContext/nasl2Files.js.map +1 -0
  38. package/out/natural/index.d.ts +3 -1
  39. package/out/natural/index.d.ts.map +1 -1
  40. package/out/natural/index.js +3 -1
  41. package/out/natural/index.js.map +1 -1
  42. package/out/natural/parseNaturalTS.d.ts +2 -1
  43. package/out/natural/parseNaturalTS.d.ts.map +1 -1
  44. package/out/natural/parseNaturalTS.js +3 -3
  45. package/out/natural/parseNaturalTS.js.map +1 -1
  46. package/out/natural/parseNaturalTSXView.js +1 -1
  47. package/out/natural/parseNaturalTSXView.js.map +1 -1
  48. package/out/natural/transform2BatchActions.d.ts +96 -0
  49. package/out/natural/transform2BatchActions.d.ts.map +1 -0
  50. package/out/natural/transform2BatchActions.js +387 -0
  51. package/out/natural/transform2BatchActions.js.map +1 -0
  52. package/out/natural/transformTSCode.d.ts +2 -2
  53. package/out/natural/transformTSCode.d.ts.map +1 -1
  54. package/out/natural/transformTSCode.js +8 -7
  55. package/out/natural/transformTSCode.js.map +1 -1
  56. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  57. package/out/natural/transforms/transform2Logic.js +1 -0
  58. package/out/natural/transforms/transform2Logic.js.map +1 -1
  59. package/out/natural/transforms/transform2LogicItem.d.ts +2 -0
  60. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  61. package/out/natural/transforms/transform2LogicItem.js +9 -7
  62. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  63. package/out/server/naslServer.d.ts +1 -1
  64. package/out/server/naslServer.d.ts.map +1 -1
  65. package/out/server/naslServer.js +27 -27
  66. package/out/server/naslServer.js.map +1 -1
  67. package/out/service/storage/api.d.ts +9 -0
  68. package/out/service/storage/api.js +8 -0
  69. package/out/service/storage/api.js.map +1 -1
  70. package/out/service/storage/service.d.ts +3 -0
  71. package/out/service/storage/service.d.ts.map +1 -1
  72. package/out/service/storage/service.js +11 -0
  73. package/out/service/storage/service.js.map +1 -1
  74. package/out/service/storage/specTools.d.ts +34 -0
  75. package/out/service/storage/specTools.d.ts.map +1 -0
  76. package/out/service/storage/specTools.js +52 -0
  77. package/out/service/storage/specTools.js.map +1 -0
  78. package/out/utils/json-schema-to-nasl-type.d.ts +37 -0
  79. package/out/utils/json-schema-to-nasl-type.d.ts.map +1 -0
  80. package/out/utils/json-schema-to-nasl-type.js +195 -0
  81. package/out/utils/json-schema-to-nasl-type.js.map +1 -0
  82. package/package.json +11 -11
  83. package/out/generator/ui-library-declaration/utils.d.ts +0 -3
  84. package/out/generator/ui-library-declaration/utils.d.ts.map +0 -1
  85. package/out/generator/ui-library-declaration/utils.js +0 -20
  86. package/out/generator/ui-library-declaration/utils.js.map +0 -1
@@ -86,6 +86,15 @@ declare namespace _default {
86
86
  }
87
87
  export { url_9 as url };
88
88
  }
89
+ namespace changeView {
90
+ export namespace url_10 {
91
+ let method_10: string;
92
+ export { method_10 as method };
93
+ let path_10: string;
94
+ export { path_10 as path };
95
+ }
96
+ export { url_10 as url };
97
+ }
89
98
  }
90
99
  export default _default;
91
100
  //# sourceMappingURL=api.d.ts.map
@@ -63,5 +63,13 @@ exports.default = {
63
63
  path: '/api/v1/aiService/metrics/actionRecord/report',
64
64
  }
65
65
  },
66
+ // 根据 batchActions 获取修改视图
67
+ // https://docs.popo.netease.com/team/pc/0u6nqau4/pageDetail/5b0bc689c5424720b3fb0659fc84c2de
68
+ changeView: {
69
+ url: {
70
+ method: 'post',
71
+ path: '/proxy/nasl-storage/api/storage/change_view',
72
+ }
73
+ },
66
74
  };
67
75
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/service/storage/api.js"],"names":[],"mappings":";;AAAA,kBAAe;IACX,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,4CAA4C;SACrD;KACJ;IACD,SAAS,EAAE;QACP,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2CAA2C;SACpD;KACJ;IACD,YAAY,EAAE;QACV,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACxD;KACJ;IACD,WAAW,EAAE;QACT,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6CAA6C;SACtD;KACJ;IACD,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACxD;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oDAAoD;SAC7D;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kDAAkD;SAC3D;KACJ;IACD,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oCAAoC;SAC7C;KACJ;IACD,WAAW;IACX,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB;SACjC;KACJ;IACD,wCAAwC;IACxC,mBAAmB,EAAE;QACnB,GAAG,EAAE;YACH,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACtD;KACF;CACJ,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/service/storage/api.js"],"names":[],"mappings":";;AAAA,kBAAe;IACX,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,4CAA4C;SACrD;KACJ;IACD,SAAS,EAAE;QACP,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2CAA2C;SACpD;KACJ;IACD,YAAY,EAAE;QACV,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACxD;KACJ;IACD,WAAW,EAAE;QACT,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6CAA6C;SACtD;KACJ;IACD,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACxD;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oDAAoD;SAC7D;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kDAAkD;SAC3D;KACJ;IACD,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oCAAoC;SAC7C;KACJ;IACD,WAAW;IACX,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB;SACjC;KACJ;IACD,wCAAwC;IACxC,mBAAmB,EAAE;QACnB,GAAG,EAAE;YACH,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACtD;KACF;IACD,yBAAyB;IACzB,6FAA6F;IAC7F,UAAU,EAAE;QACV,GAAG,EAAE;YACH,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6CAA6C;SACpD;KACF;CACJ,CAAC"}
@@ -39,6 +39,9 @@ declare const _default: {
39
39
  aiCoachActionRecord({ body }: {
40
40
  body: any;
41
41
  }): any;
42
+ changeView({ body }: {
43
+ body: any;
44
+ }): any;
42
45
  };
43
46
  export default _default;
44
47
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service/storage/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;;0CAMN;QAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;yCAcvE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;mCAcrE;QAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;qCAanD;QAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,QAAQ,cAAc,CAAC;wCAiB5E;QAClC,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC;gBACnD,KAAK,EAAE,MAAM,EAAE,CAAC;aACjB,EAAE,CAAC;SACL,CAAC;QACF,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAChC;+BAiB0B;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;6BAWf;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE;yBAUlB;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;kCAWJ;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;;AApH7C,wBA8HE"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service/storage/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;;0CAMN;QAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;yCAcvE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;mCAcrE;QAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;qCAanD;QAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,QAAQ,cAAc,CAAC;wCAiB5E;QAClC,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC;gBACnD,KAAK,EAAE,MAAM,EAAE,CAAC;aACjB,EAAE,CAAC;SACL,CAAC;QACF,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAChC;+BAiB0B;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;6BAWf;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE;yBAUlB;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;kCAWJ;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;yBAUtB;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;;AA9HpC,wBAyIE"}
@@ -116,5 +116,16 @@ exports.default = {
116
116
  },
117
117
  });
118
118
  },
119
+ changeView({ body }) {
120
+ const appData = window.appData;
121
+ return service.changeView({
122
+ body,
123
+ headers: {
124
+ appId: appData?.appId,
125
+ 'request-appBaseVersion': window.appData?.baseVersion || '',
126
+ 'request-versionChangedTime': window.appData?.versionChangedTime || '',
127
+ },
128
+ });
129
+ },
119
130
  };
120
131
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/service/storage/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/service/storage/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { CodeAction } from '../../index';
2
+ /**
3
+ * 将代码操作转换为批量操作视图
4
+ * @param params - 转换参数对象
5
+ * @param params.codeActions - 代码操作数组,每个元素包含 path、content、action
6
+ * @param params.app - NASL 应用实例,用于操作目标应用
7
+ * @param params.sessionId - 会话 ID,用于生成唯一标识和追踪
8
+ * @param params.type - 操作类型,'normal' 为正常模式,'debug' 为调试模式
9
+ * @returns Promise<{batchView: any, batchActions: Operators, ...}> 包含批量操作视图和相关数据的对象
10
+
11
+ */
12
+ export declare const transform2BatchView: ({ codeActions, app, sessionId, type, }: {
13
+ codeActions: CodeAction[];
14
+ app: any;
15
+ sessionId: string;
16
+ type?: 'normal' | 'debug';
17
+ }) => Promise<{
18
+ batchActions: import("../../index").Operators;
19
+ accumulatedTsCode?: string;
20
+ parseJSON?: any;
21
+ errors?: {
22
+ item: string;
23
+ type: string;
24
+ error: Error;
25
+ }[];
26
+ batchView: {
27
+ status: string;
28
+ result: any;
29
+ } | {
30
+ status: string;
31
+ result?: undefined;
32
+ };
33
+ }>;
34
+ //# sourceMappingURL=specTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specTools.d.ts","sourceRoot":"","sources":["../../../src/service/storage/specTools.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,UAAU,EAAE,MAAM,aAAa,CAAC;AA0BjE;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,2CAK7B;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;;;;;;;;;;;;;;;;EASA,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transform2BatchView = void 0;
7
+ const service_1 = __importDefault(require("./service"));
8
+ const index_1 = require("../../index");
9
+ /**
10
+ * 获取变更视图
11
+ * 通过存储服务调用变更视图接口,用于获取批量操作的预览效果
12
+ * @param body - 请求体,包含批量操作数据
13
+ * @returns Promise<{status: string, result?: any}> 返回操作状态和结果
14
+ */
15
+ const getChangeView = async (body) => {
16
+ try {
17
+ // 调用存储服务的变更视图接口
18
+ const result = await service_1.default.changeView({
19
+ body,
20
+ });
21
+ return {
22
+ status: 'success',
23
+ result,
24
+ };
25
+ }
26
+ catch (error) {
27
+ // 如果调用失败,返回失败状态
28
+ return {
29
+ status: 'fail',
30
+ };
31
+ }
32
+ };
33
+ /**
34
+ * 将代码操作转换为批量操作视图
35
+ * @param params - 转换参数对象
36
+ * @param params.codeActions - 代码操作数组,每个元素包含 path、content、action
37
+ * @param params.app - NASL 应用实例,用于操作目标应用
38
+ * @param params.sessionId - 会话 ID,用于生成唯一标识和追踪
39
+ * @param params.type - 操作类型,'normal' 为正常模式,'debug' 为调试模式
40
+ * @returns Promise<{batchView: any, batchActions: Operators, ...}> 包含批量操作视图和相关数据的对象
41
+
42
+ */
43
+ const transform2BatchView = async ({ codeActions, app, sessionId, type = 'normal', }) => {
44
+ const result = (0, index_1.transform2BatchActions)({ codeActions, app, sessionId, type });
45
+ const batchView = await getChangeView([result.batchActions]);
46
+ return {
47
+ batchView,
48
+ ...result,
49
+ };
50
+ };
51
+ exports.transform2BatchView = transform2BatchView;
52
+ //# sourceMappingURL=specTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specTools.js","sourceRoot":"","sources":["../../../src/service/storage/specTools.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAuC;AACvC,uCAAiE;AAEjE;;;;;GAKG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;IACxC,IAAI,CAAC;QACH,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,iBAAc,CAAC,UAAU,CAAC;YAC7C,IAAI;SACL,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM;SACP,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB;QAChB,OAAO;YACL,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACI,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,WAAW,EACX,GAAG,EACH,SAAS,EACT,IAAI,GAAG,QAAQ,GAMhB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7E,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7D,OAAO;QACL,SAAS;QACT,GAAG,MAAM;KACV,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,mBAAmB,uBAmB9B"}
@@ -0,0 +1,37 @@
1
+ import { TypeAnnotation } from '@lcap/nasl-concepts';
2
+ /**
3
+ * 我有一个 json schema,请你作为参考。
4
+ * 请写一个函数将这个json schema 的类型转换为 NASL: @packages/nasl-concepts/src/concepts/TypeAnnotation__.ts
5
+ * https://minio-api.codewave-test.163yun.com/lowcode-static/packages/@lcap/element-plus@1.1.0/dist-theme/mcpTool.json
6
+ */
7
+ /**
8
+ * JSON Schema 类型定义
9
+ */
10
+ interface JSONSchema {
11
+ type?: string | string[];
12
+ properties?: Record<string, JSONSchema>;
13
+ items?: JSONSchema | JSONSchema[];
14
+ required?: string[];
15
+ anyOf?: JSONSchema[];
16
+ oneOf?: JSONSchema[];
17
+ allOf?: JSONSchema[];
18
+ $ref?: string;
19
+ enum?: any[];
20
+ description?: string;
21
+ title?: string;
22
+ format?: string;
23
+ additionalProperties?: boolean | JSONSchema;
24
+ [key: string]: any;
25
+ }
26
+ /**
27
+ * 将 JSON Schema 转换为 NASL TypeAnnotation
28
+ *
29
+ * @param schema JSON Schema 对象
30
+ * @param refs 用于解析 $ref 的引用映射(可选)
31
+ * @returns NASL TypeAnnotation
32
+ */
33
+ export default function jsonSchemaToNaslType(schema: JSONSchema, refs?: {
34
+ [key: string]: JSONSchema;
35
+ }): TypeAnnotation;
36
+ export {};
37
+ //# sourceMappingURL=json-schema-to-nasl-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-to-nasl-type.d.ts","sourceRoot":"","sources":["../../src/utils/json-schema-to-nasl-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AAGxE;;;;GAIG;AAEH;;GAEG;AACH,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,GACnC,cAAc,CA4MhB"}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const nasl_concepts_1 = require("@lcap/nasl-concepts");
4
+ /**
5
+ * 将 JSON Schema 转换为 NASL TypeAnnotation
6
+ *
7
+ * @param schema JSON Schema 对象
8
+ * @param refs 用于解析 $ref 的引用映射(可选)
9
+ * @returns NASL TypeAnnotation
10
+ */
11
+ function jsonSchemaToNaslType(schema, refs) {
12
+ if (!schema || typeof schema !== 'object') {
13
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Any');
14
+ }
15
+ // 处理 $ref 引用
16
+ if (schema.$ref) {
17
+ if (refs && refs[schema.$ref]) {
18
+ return jsonSchemaToNaslType(refs[schema.$ref], refs);
19
+ }
20
+ // 如果无法解析引用,返回 Any
21
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Any');
22
+ }
23
+ // 处理 anyOf (联合类型)
24
+ if (schema.anyOf && Array.isArray(schema.anyOf) && schema.anyOf.length > 0) {
25
+ const types = schema.anyOf.map((s) => jsonSchemaToNaslType(s, refs));
26
+ if (types.length === 1) {
27
+ return types[0];
28
+ }
29
+ return nasl_concepts_1.TypeAnnotation.createUnion(types[0], ...types.slice(1));
30
+ }
31
+ // 处理 oneOf (联合类型)
32
+ if (schema.oneOf && Array.isArray(schema.oneOf) && schema.oneOf.length > 0) {
33
+ const types = schema.oneOf.map((s) => jsonSchemaToNaslType(s, refs));
34
+ if (types.length === 1) {
35
+ return types[0];
36
+ }
37
+ return nasl_concepts_1.TypeAnnotation.createUnion(types[0], ...types.slice(1));
38
+ }
39
+ // 处理 allOf (合并所有类型)
40
+ if (schema.allOf && Array.isArray(schema.allOf) && schema.allOf.length > 0) {
41
+ // allOf 通常用于合并属性,这里简化处理为合并第一个类型
42
+ return jsonSchemaToNaslType(schema.allOf[0], refs);
43
+ }
44
+ // 处理枚举类型
45
+ if (schema.enum && Array.isArray(schema.enum) && schema.enum.length > 0) {
46
+ // 枚举类型转换为字符串联合类型
47
+ const enumTypes = schema.enum.map((value) => {
48
+ if (typeof value === 'string') {
49
+ return nasl_concepts_1.TypeAnnotation.createLiteral(value);
50
+ }
51
+ else if (typeof value === 'number') {
52
+ return nasl_concepts_1.TypeAnnotation.createLiteral(value);
53
+ }
54
+ else if (typeof value === 'boolean') {
55
+ return nasl_concepts_1.TypeAnnotation.createLiteral(value);
56
+ }
57
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('String');
58
+ });
59
+ if (enumTypes.length === 1) {
60
+ return enumTypes[0];
61
+ }
62
+ return nasl_concepts_1.TypeAnnotation.createUnion(enumTypes[0], ...enumTypes.slice(1));
63
+ }
64
+ // 处理类型
65
+ const type = schema.type;
66
+ // 如果 type 是数组,转换为联合类型
67
+ if (Array.isArray(type)) {
68
+ const types = type
69
+ .filter((t) => t !== 'null')
70
+ .map((t) => jsonSchemaToNaslType({ ...schema, type: t }, refs));
71
+ if (types.length === 0) {
72
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Any');
73
+ }
74
+ if (types.length === 1) {
75
+ return types[0];
76
+ }
77
+ return nasl_concepts_1.TypeAnnotation.createUnion(types[0], ...types.slice(1));
78
+ }
79
+ // 处理基本类型
80
+ switch (type) {
81
+ case 'string': {
82
+ // 根据 format 判断具体类型
83
+ if (schema.format === 'date') {
84
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Date');
85
+ }
86
+ if (schema.format === 'time') {
87
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Time');
88
+ }
89
+ if (schema.format === 'date-time' || schema.format === 'datetime') {
90
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('DateTime');
91
+ }
92
+ if (schema.format === 'email') {
93
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Email');
94
+ }
95
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('String');
96
+ }
97
+ case 'number': {
98
+ // number 类型在 NASL 中通常使用 Decimal
99
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Decimal');
100
+ }
101
+ case 'integer': {
102
+ // integer 类型在 NASL 中通常使用 Long
103
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Long');
104
+ }
105
+ case 'boolean': {
106
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Boolean');
107
+ }
108
+ case 'null': {
109
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Null');
110
+ }
111
+ case 'array': {
112
+ // 处理数组类型
113
+ if (schema.items) {
114
+ if (Array.isArray(schema.items)) {
115
+ // 元组类型(tuple),转换为联合类型
116
+ const itemTypes = schema.items.map((item) => jsonSchemaToNaslType(item, refs));
117
+ if (itemTypes.length === 1) {
118
+ return nasl_concepts_1.TypeAnnotation.createGeneric('List', {
119
+ typeArguments: [itemTypes[0]],
120
+ });
121
+ }
122
+ // 多个类型时,使用联合类型作为 List 的泛型参数
123
+ const unionType = nasl_concepts_1.TypeAnnotation.createUnion(itemTypes[0], ...itemTypes.slice(1));
124
+ return nasl_concepts_1.TypeAnnotation.createGeneric('List', {
125
+ typeArguments: [unionType],
126
+ });
127
+ }
128
+ else {
129
+ // 普通数组类型
130
+ const itemType = jsonSchemaToNaslType(schema.items, refs);
131
+ return nasl_concepts_1.TypeAnnotation.createGeneric('List', {
132
+ typeArguments: [itemType],
133
+ });
134
+ }
135
+ }
136
+ // 如果没有 items,默认为 List<Any>
137
+ return nasl_concepts_1.TypeAnnotation.createGeneric('List', {
138
+ typeArguments: [nasl_concepts_1.TypeAnnotation.createPrimitive('Any')],
139
+ });
140
+ }
141
+ case 'object': {
142
+ // 处理对象类型
143
+ const properties = [];
144
+ const requiredFields = {};
145
+ const requiredList = schema.required || [];
146
+ for (let i = 0; i < requiredList.length; i++) {
147
+ requiredFields[requiredList[i]] = true;
148
+ }
149
+ if (schema.properties && typeof schema.properties === 'object') {
150
+ const propKeys = Object.keys(schema.properties);
151
+ for (let i = 0; i < propKeys.length; i++) {
152
+ const key = propKeys[i];
153
+ const propSchema = schema.properties[key];
154
+ const propType = jsonSchemaToNaslType(propSchema, refs);
155
+ const isRequired = requiredFields[key] === true;
156
+ // 如果字段不是必需的,将类型标记为可选
157
+ if (!isRequired && propType) {
158
+ propType.optional = true;
159
+ }
160
+ const property = nasl_concepts_1.StructureProperty.from({
161
+ concept: 'StructureProperty',
162
+ name: key,
163
+ label: propSchema.title,
164
+ description: propSchema.description,
165
+ typeAnnotation: propType,
166
+ });
167
+ properties.push(property);
168
+ }
169
+ }
170
+ // 如果有 additionalProperties,添加一个索引签名
171
+ if (schema.additionalProperties !== false) {
172
+ const additionalType = typeof schema.additionalProperties === 'object'
173
+ ? jsonSchemaToNaslType(schema.additionalProperties, refs)
174
+ : nasl_concepts_1.TypeAnnotation.createPrimitive('Any');
175
+ // 在 NASL 中,additionalProperties 可以通过添加一个特殊的属性来表示
176
+ // 这里简化处理,不添加额外属性
177
+ }
178
+ // 创建匿名结构类型
179
+ return nasl_concepts_1.TypeAnnotation.createTypeAnonymousStructure(properties);
180
+ }
181
+ default: {
182
+ // 如果没有 type 字段,尝试根据其他信息推断
183
+ if (schema.properties) {
184
+ return jsonSchemaToNaslType({ ...schema, type: 'object' }, refs);
185
+ }
186
+ if (schema.items) {
187
+ return jsonSchemaToNaslType({ ...schema, type: 'array' }, refs);
188
+ }
189
+ // 默认返回 Any
190
+ return nasl_concepts_1.TypeAnnotation.createPrimitive('Any');
191
+ }
192
+ }
193
+ }
194
+ exports.default = jsonSchemaToNaslType;
195
+ //# sourceMappingURL=json-schema-to-nasl-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-to-nasl-type.js","sourceRoot":"","sources":["../../src/utils/json-schema-to-nasl-type.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lcap/nasl",
3
3
  "description": "NetEase Application Specific Language",
4
- "version": "4.4.0-beta.1",
4
+ "version": "4.4.0-beta.3",
5
5
  "author": "Forrest <rainforest92@126.com>",
6
6
  "main": "./out",
7
7
  "types": "./out/index.d.ts",
@@ -79,14 +79,14 @@
79
79
  "vue": "3.4.33",
80
80
  "vue-template-compiler": "2.6.14",
81
81
  "vue-template-es2015-compiler": "1.9.1",
82
- "@lcap/nasl-breakpoint": "4.4.0-beta.1",
83
- "@lcap/nasl-concepts": "4.4.0-beta.1",
84
- "@lcap/nasl-translator": "4.4.0-beta.1",
85
- "@lcap/nasl-types": "4.4.0-beta.1",
86
- "@lcap/nasl-unified-frontend-generator": "4.4.0-beta.1",
87
- "@lcap/nasl-utils": "4.4.0-beta.1",
88
- "@lcap/nasl-log": "4.4.0-beta.1",
89
- "@lcap/nasl-language-server-core": "4.4.0-beta.1"
82
+ "@lcap/nasl-breakpoint": "4.4.0-beta.3",
83
+ "@lcap/nasl-concepts": "4.4.0-beta.3",
84
+ "@lcap/nasl-language-server-core": "4.4.0-beta.3",
85
+ "@lcap/nasl-log": "4.4.0-beta.3",
86
+ "@lcap/nasl-translator": "4.4.0-beta.3",
87
+ "@lcap/nasl-types": "4.4.0-beta.3",
88
+ "@lcap/nasl-unified-frontend-generator": "4.4.0-beta.3",
89
+ "@lcap/nasl-utils": "4.4.0-beta.3"
90
90
  },
91
91
  "devDependencies": {
92
92
  "@babel/preset-react": "7.24.1",
@@ -100,8 +100,8 @@
100
100
  "rimraf": "3.0.2",
101
101
  "typedoc": "0.25.13",
102
102
  "typescript": "5.4.4",
103
- "@lcap/nasl-tsconfig": "1.0.1",
104
- "@lcap/nasl-test-toolkit": "1.0.0"
103
+ "@lcap/nasl-test-toolkit": "1.0.0",
104
+ "@lcap/nasl-tsconfig": "1.0.1"
105
105
  },
106
106
  "scripts": {
107
107
  "clear": "rimraf ./out",
@@ -1,3 +0,0 @@
1
- import type { AxiosInstance } from 'axios';
2
- export declare function fetchFile<T>(url: string, axios: AxiosInstance, text?: boolean): Promise<T>;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/generator/ui-library-declaration/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,OAAO,cAiBnF"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchFile = void 0;
4
- async function fetchFile(url, axios, text) {
5
- if (typeof window !== 'undefined' && typeof window.fetch !== 'undefined') {
6
- const response = await window.fetch(url);
7
- const data = await text ? response.text() : response.json();
8
- return data;
9
- }
10
- const response = await axios.get(url, {
11
- responseType: text ? 'text' : 'json',
12
- responseEncoding: 'utf8',
13
- });
14
- if (response.status !== 200) {
15
- throw new Error('request error!');
16
- }
17
- return response.data;
18
- }
19
- exports.fetchFile = fetchFile;
20
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/generator/ui-library-declaration/utils.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,SAAS,CAAI,GAAW,EAAE,KAAoB,EAAE,IAAc;IAClF,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,IAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAI,GAAG,EAAE;QACvC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACpC,gBAAgB,EAAE,MAAM;KACzB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAjBD,8BAiBC"}