@phoenix-wing/kt-codegen 0.4.1

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 (144) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +4 -0
  3. package/README.md +328 -0
  4. package/dist/KtCodegenAdapter.d.ts +42 -0
  5. package/dist/KtCodegenAdapter.d.ts.map +1 -0
  6. package/dist/KtCodegenAdapter.js +90 -0
  7. package/dist/KtCodegenAdapter.js.map +1 -0
  8. package/dist/KtCodegenApply.d.ts +93 -0
  9. package/dist/KtCodegenApply.d.ts.map +1 -0
  10. package/dist/KtCodegenApply.js +194 -0
  11. package/dist/KtCodegenApply.js.map +1 -0
  12. package/dist/KtCodegenBlockPresentation.d.ts +14 -0
  13. package/dist/KtCodegenBlockPresentation.d.ts.map +1 -0
  14. package/dist/KtCodegenBlockPresentation.js +56 -0
  15. package/dist/KtCodegenBlockPresentation.js.map +1 -0
  16. package/dist/KtCodegenController.d.ts +68 -0
  17. package/dist/KtCodegenController.d.ts.map +1 -0
  18. package/dist/KtCodegenController.js +100 -0
  19. package/dist/KtCodegenController.js.map +1 -0
  20. package/dist/KtCodegenCore.d.ts +87 -0
  21. package/dist/KtCodegenCore.d.ts.map +1 -0
  22. package/dist/KtCodegenCore.js +234 -0
  23. package/dist/KtCodegenCore.js.map +1 -0
  24. package/dist/KtCodegenItem.d.ts +84 -0
  25. package/dist/KtCodegenItem.d.ts.map +1 -0
  26. package/dist/KtCodegenItem.js +88 -0
  27. package/dist/KtCodegenItem.js.map +1 -0
  28. package/dist/KtCodegenMarker.d.ts +110 -0
  29. package/dist/KtCodegenMarker.d.ts.map +1 -0
  30. package/dist/KtCodegenMarker.js +246 -0
  31. package/dist/KtCodegenMarker.js.map +1 -0
  32. package/dist/KtCodegenOptions.d.ts +29 -0
  33. package/dist/KtCodegenOptions.d.ts.map +1 -0
  34. package/dist/KtCodegenOptions.js +97 -0
  35. package/dist/KtCodegenOptions.js.map +1 -0
  36. package/dist/KtCodegenParam.d.ts +60 -0
  37. package/dist/KtCodegenParam.d.ts.map +1 -0
  38. package/dist/KtCodegenParam.js +68 -0
  39. package/dist/KtCodegenParam.js.map +1 -0
  40. package/dist/KtCodegenReader.d.ts +23 -0
  41. package/dist/KtCodegenReader.d.ts.map +1 -0
  42. package/dist/KtCodegenReader.js +28 -0
  43. package/dist/KtCodegenReader.js.map +1 -0
  44. package/dist/KtCodegenRenderer.d.ts +114 -0
  45. package/dist/KtCodegenRenderer.d.ts.map +1 -0
  46. package/dist/KtCodegenRenderer.js +1388 -0
  47. package/dist/KtCodegenRenderer.js.map +1 -0
  48. package/dist/KtCodegenTableColumns.d.ts +103 -0
  49. package/dist/KtCodegenTableColumns.d.ts.map +1 -0
  50. package/dist/KtCodegenTableColumns.js +35 -0
  51. package/dist/KtCodegenTableColumns.js.map +1 -0
  52. package/dist/KtCodegenTableCore.d.ts +61 -0
  53. package/dist/KtCodegenTableCore.d.ts.map +1 -0
  54. package/dist/KtCodegenTableCore.js +240 -0
  55. package/dist/KtCodegenTableCore.js.map +1 -0
  56. package/dist/KtCodegenTableData.d.ts +22 -0
  57. package/dist/KtCodegenTableData.d.ts.map +1 -0
  58. package/dist/KtCodegenTableData.js +17 -0
  59. package/dist/KtCodegenTableData.js.map +1 -0
  60. package/dist/api/analyze.d.ts +8 -0
  61. package/dist/api/analyze.d.ts.map +1 -0
  62. package/dist/api/analyze.js +102 -0
  63. package/dist/api/analyze.js.map +1 -0
  64. package/dist/api/contracts.d.ts +93 -0
  65. package/dist/api/contracts.d.ts.map +1 -0
  66. package/dist/api/contracts.js +3 -0
  67. package/dist/api/contracts.js.map +1 -0
  68. package/dist/api/index.d.ts +3 -0
  69. package/dist/api/index.d.ts.map +1 -0
  70. package/dist/api/index.js +4 -0
  71. package/dist/api/index.js.map +1 -0
  72. package/dist/blocks/index.d.ts +2 -0
  73. package/dist/blocks/index.d.ts.map +1 -0
  74. package/dist/blocks/index.js +3 -0
  75. package/dist/blocks/index.js.map +1 -0
  76. package/dist/blocks/legacy-blocks.d.ts +309 -0
  77. package/dist/blocks/legacy-blocks.d.ts.map +1 -0
  78. package/dist/blocks/legacy-blocks.js +343 -0
  79. package/dist/blocks/legacy-blocks.js.map +1 -0
  80. package/dist/index.d.ts +19 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/index.js +20 -0
  83. package/dist/index.js.map +1 -0
  84. package/dist/legacy/csv.d.ts +25 -0
  85. package/dist/legacy/csv.d.ts.map +1 -0
  86. package/dist/legacy/csv.js +197 -0
  87. package/dist/legacy/csv.js.map +1 -0
  88. package/dist/legacy/index.d.ts +4 -0
  89. package/dist/legacy/index.d.ts.map +1 -0
  90. package/dist/legacy/index.js +5 -0
  91. package/dist/legacy/index.js.map +1 -0
  92. package/dist/legacy/v4-json.d.ts +12 -0
  93. package/dist/legacy/v4-json.d.ts.map +1 -0
  94. package/dist/legacy/v4-json.js +363 -0
  95. package/dist/legacy/v4-json.js.map +1 -0
  96. package/dist/legacy/v4-schema.d.ts +30 -0
  97. package/dist/legacy/v4-schema.d.ts.map +1 -0
  98. package/dist/legacy/v4-schema.js +63 -0
  99. package/dist/legacy/v4-schema.js.map +1 -0
  100. package/dist/model/diagnostic.d.ts +38 -0
  101. package/dist/model/diagnostic.d.ts.map +1 -0
  102. package/dist/model/diagnostic.js +6 -0
  103. package/dist/model/diagnostic.js.map +1 -0
  104. package/dist/model/equal.d.ts +10 -0
  105. package/dist/model/equal.d.ts.map +1 -0
  106. package/dist/model/equal.js +64 -0
  107. package/dist/model/equal.js.map +1 -0
  108. package/dist/model/index.d.ts +5 -0
  109. package/dist/model/index.d.ts.map +1 -0
  110. package/dist/model/index.js +6 -0
  111. package/dist/model/index.js.map +1 -0
  112. package/dist/model/target.d.ts +58 -0
  113. package/dist/model/target.d.ts.map +1 -0
  114. package/dist/model/target.js +32 -0
  115. package/dist/model/target.js.map +1 -0
  116. package/dist/model/validate.d.ts +9 -0
  117. package/dist/model/validate.d.ts.map +1 -0
  118. package/dist/model/validate.js +52 -0
  119. package/dist/model/validate.js.map +1 -0
  120. package/dist/table/KtCodegenTable.d.ts +75 -0
  121. package/dist/table/KtCodegenTable.d.ts.map +1 -0
  122. package/dist/table/KtCodegenTable.js +541 -0
  123. package/dist/table/KtCodegenTable.js.map +1 -0
  124. package/dist/table/index.d.ts +4 -0
  125. package/dist/table/index.d.ts.map +1 -0
  126. package/dist/table/index.js +5 -0
  127. package/dist/table/index.js.map +1 -0
  128. package/doc/CAA/344/270/216Qt/345/257/271/350/257/235/346/241/206/345/217/214/345/220/221/346/233/264/346/226/260/345/235/227/350/277/201/347/247/273.md +74 -0
  129. package/doc/CAA/345/257/271/350/257/235/346/241/206/351/200/232/347/237/245/345/235/227/350/277/201/347/247/273.md +45 -0
  130. package/doc/CAA/346/216/245/345/217/243/345/244/264/346/226/207/344/273/266/345/235/227/350/277/201/347/247/273.md +75 -0
  131. package/doc/CAA/347/211/271/345/276/201/350/257/273/345/206/231/345/235/227/350/277/201/347/247/273.md +77 -0
  132. package/doc/CAA/347/233/256/345/275/225/344/270/216/346/240/221/345/267/245/345/216/202/345/235/227/350/277/201/347/247/273.md +78 -0
  133. package/doc/CommandAgent/347/224/237/345/221/275/345/221/250/346/234/237/345/235/227/350/277/201/347/247/273.md +47 -0
  134. package/doc/Command/345/212/250/344/275/234/344/270/216/346/264/273/345/212/250/345/255/227/346/256/265/345/235/227/350/277/201/347/247/273.md +46 -0
  135. package/doc/Command/345/233/276/344/270/216/347/212/266/346/200/201/345/235/227/350/277/201/347/247/273.md +64 -0
  136. package/doc/Dialog/345/255/227/346/256/265/344/270/216/345/272/237/345/274/203/345/205/274/345/256/271/345/235/227/350/277/201/347/247/273.md +60 -0
  137. package/doc/KtCodegen/345/221/275/345/220/215/350/277/201/347/247/273/350/257/264/346/230/216.md +55 -0
  138. package/doc//344/270/244/345/260/217/346/227/266/350/277/201/347/247/273/350/256/241/345/210/222/344/270/216/351/252/214/346/224/266.md +52 -0
  139. package/doc//346/231/256/351/200/232C++/345/217/202/346/225/260/345/235/227/350/277/201/347/247/273.md +72 -0
  140. package/doc//346/235/245/346/272/220/344/270/216/350/256/270/345/217/257/345/275/222/346/241/243.md +29 -0
  141. package/doc//347/224/237/346/210/220/345/235/227/350/277/201/347/247/273/347/237/251/351/230/265.md +75 -0
  142. package/doc//350/207/252/345/212/250/344/273/243/347/240/201/346/240/207/350/256/260/346/211/253/346/217/217.md +84 -0
  143. package/package.json +62 -0
  144. package/src/index.ts +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equal.js","sourceRoot":"","sources":["../../src/model/equal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./diagnostic.js";
2
+ export * from "./equal.js";
3
+ export * from "./target.js";
4
+ export * from "./validate.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export * from "./diagnostic.js";
3
+ export * from "./equal.js";
4
+ export * from "./target.js";
5
+ export * from "./validate.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,58 @@
1
+ /** 代码生成目标所属的平台。 */
2
+ export type KtCodegenPlatform = "caa" | "qt" | "cpp";
3
+ /** 当前核心识别的全部 CAA、Qt 和普通 C++ 生成目标。 */
4
+ export declare const KT_CODEGEN_TARGETS: readonly [{
5
+ readonly id: "caa.model";
6
+ readonly platform: "caa";
7
+ readonly layer: "model";
8
+ readonly label: "CAA Model";
9
+ }, {
10
+ readonly id: "caa.core";
11
+ readonly platform: "caa";
12
+ readonly layer: "core";
13
+ readonly label: "CAA Core";
14
+ }, {
15
+ readonly id: "caa.control";
16
+ readonly platform: "caa";
17
+ readonly layer: "control";
18
+ readonly label: "CAA Control";
19
+ }, {
20
+ readonly id: "caa.dialog";
21
+ readonly platform: "caa";
22
+ readonly layer: "dialog";
23
+ readonly label: "CAA Dialog";
24
+ }, {
25
+ readonly id: "caa.parameter";
26
+ readonly platform: "caa";
27
+ readonly layer: "parameter";
28
+ readonly label: "CAA Parameter";
29
+ }, {
30
+ readonly id: "caa.feature-io";
31
+ readonly platform: "caa";
32
+ readonly layer: "feature-io";
33
+ readonly label: "CAA Feature In/Out";
34
+ }, {
35
+ readonly id: "qt.dialog";
36
+ readonly platform: "qt";
37
+ readonly layer: "dialog";
38
+ readonly label: "Qt Dialog";
39
+ }, {
40
+ readonly id: "qt.parameter";
41
+ readonly platform: "qt";
42
+ readonly layer: "parameter";
43
+ readonly label: "Qt Parameter";
44
+ }, {
45
+ readonly id: "cpp.parameter";
46
+ readonly platform: "cpp";
47
+ readonly layer: "parameter";
48
+ readonly label: "C++ Parameter";
49
+ }];
50
+ /** 单个生成目标的只读元数据。 */
51
+ export type KtCodegenTarget = (typeof KT_CODEGEN_TARGETS)[number];
52
+ /** 可用于请求和 Renderer 注册的稳定目标 ID。 */
53
+ export type KtCodegenTargetId = KtCodegenTarget["id"];
54
+ /** 判断运行时字符串是否为已知生成目标 ID。 */
55
+ export declare function ktCodegenIsTargetId(value: string): value is KtCodegenTargetId;
56
+ /** 根据稳定 ID 取得生成目标元数据。 */
57
+ export declare function ktCodegenGetTarget(id: KtCodegenTargetId): KtCodegenTarget;
58
+ //# sourceMappingURL=target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/model/target.ts"],"names":[],"mappings":"AAEA,mBAAmB;AACnB,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAErD,qCAAqC;AACrC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAerB,CAAC;AAEX,oBAAoB;AACpB,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAMtD,4BAA4B;AAC5B,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAE7E;AAED,yBAAyB;AACzB,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,iBAAiB,GACpB,eAAe,CAMjB"}
@@ -0,0 +1,32 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /** 当前核心识别的全部 CAA、Qt 和普通 C++ 生成目标。 */
3
+ export const KT_CODEGEN_TARGETS = [
4
+ { id: "caa.model", platform: "caa", layer: "model", label: "CAA Model" },
5
+ { id: "caa.core", platform: "caa", layer: "core", label: "CAA Core" },
6
+ { id: "caa.control", platform: "caa", layer: "control", label: "CAA Control" },
7
+ { id: "caa.dialog", platform: "caa", layer: "dialog", label: "CAA Dialog" },
8
+ { id: "caa.parameter", platform: "caa", layer: "parameter", label: "CAA Parameter" },
9
+ {
10
+ id: "caa.feature-io",
11
+ platform: "caa",
12
+ layer: "feature-io",
13
+ label: "CAA Feature In/Out",
14
+ },
15
+ { id: "qt.dialog", platform: "qt", layer: "dialog", label: "Qt Dialog" },
16
+ { id: "qt.parameter", platform: "qt", layer: "parameter", label: "Qt Parameter" },
17
+ { id: "cpp.parameter", platform: "cpp", layer: "parameter", label: "C++ Parameter" },
18
+ ];
19
+ const KT_CODEGEN_TARGET_ID_SET = new Set(KT_CODEGEN_TARGETS.map((target) => target.id));
20
+ /** 判断运行时字符串是否为已知生成目标 ID。 */
21
+ export function ktCodegenIsTargetId(value) {
22
+ return KT_CODEGEN_TARGET_ID_SET.has(value);
23
+ }
24
+ /** 根据稳定 ID 取得生成目标元数据。 */
25
+ export function ktCodegenGetTarget(id) {
26
+ const target = KT_CODEGEN_TARGETS.find((candidate) => candidate.id === id);
27
+ if (!target) {
28
+ throw new Error(`Unknown parameter code generation target: ${id}`);
29
+ }
30
+ return target;
31
+ }
32
+ //# sourceMappingURL=target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/model/target.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAKtC,qCAAqC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;IACxE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;IACrE,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9E,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;IAC3E,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE;IACpF;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,oBAAoB;KAC5B;IACD,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;IACxE,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;IACjF,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE;CAC5E,CAAC;AAQX,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAC3D,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAC9C,CAAC;AAEF,4BAA4B;AAC5B,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,kBAAkB,CAChC,EAAqB;IAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { KtCodegenDiagnostic } from "./diagnostic.js";
2
+ import type { KtCodegenParam } from "../KtCodegenParam.js";
3
+ /**
4
+ * 在写出或 Analyze 边界校验公开可变字段的结构完整性。
5
+ *
6
+ * 此校验不限制 Combo 字符串候选值;列表外值由 UI 提示并保持原样。
7
+ */
8
+ export declare function ktCodegenValidateParam(data: KtCodegenParam): KtCodegenDiagnostic[];
9
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/model/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAoB3D;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,cAAc,GACnB,mBAAmB,EAAE,CA4EvB"}
@@ -0,0 +1,52 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ function ktCodegenValidationError(code, message, field, row) {
3
+ return {
4
+ code,
5
+ severity: "error",
6
+ message,
7
+ path: {
8
+ source: "model",
9
+ field,
10
+ ...(row === undefined ? {} : { row }),
11
+ },
12
+ };
13
+ }
14
+ /**
15
+ * 在写出或 Analyze 边界校验公开可变字段的结构完整性。
16
+ *
17
+ * 此校验不限制 Combo 字符串候选值;列表外值由 UI 提示并保持原样。
18
+ */
19
+ export function ktCodegenValidateParam(data) {
20
+ const diagnostics = [];
21
+ if (!data.namePrefix.trim()) {
22
+ diagnostics.push(ktCodegenValidationError("model.missing-prefix", "namePrefix is required.", "namePrefix"));
23
+ }
24
+ if (!data.nameMiddle.trim()) {
25
+ diagnostics.push(ktCodegenValidationError("model.missing-middle", "nameMiddle is required.", "nameMiddle"));
26
+ }
27
+ const identities = new Set();
28
+ data.items.forEach((parameter, row) => {
29
+ if (!parameter.nameSuffix.trim()) {
30
+ diagnostics.push(ktCodegenValidationError("model.missing-name-suffix", "nameSuffix is required.", "nameSuffix", row));
31
+ }
32
+ if (!parameter.paramString.trim()) {
33
+ diagnostics.push(ktCodegenValidationError("model.missing-symbol", "paramString is required.", "paramString", row));
34
+ }
35
+ if (!parameter.dataType.trim()) {
36
+ diagnostics.push(ktCodegenValidationError("model.missing-data-type", "dataType is required.", "dataType", row));
37
+ }
38
+ if (!Number.isInteger(parameter.id)) {
39
+ diagnostics.push(ktCodegenValidationError("model.invalid-id", "id must be an integer.", "id", row));
40
+ }
41
+ if (!Number.isInteger(parameter.componentCount) || parameter.componentCount < 0) {
42
+ diagnostics.push(ktCodegenValidationError("model.invalid-component-count", "componentCount must be a non-negative integer.", "componentCount", row));
43
+ }
44
+ const identity = `${parameter.nameSuffix}\u0000${parameter.paramString}`;
45
+ if (identities.has(identity)) {
46
+ diagnostics.push(ktCodegenValidationError("model.duplicate-symbol", `Duplicate parameter ${parameter.nameSuffix}.${parameter.paramString}.`, "paramString", row));
47
+ }
48
+ identities.add(identity);
49
+ });
50
+ return diagnostics;
51
+ }
52
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/model/validate.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAKtC,SAAS,wBAAwB,CAC/B,IAAY,EACZ,OAAe,EACf,KAAa,EACb,GAAY;IAEZ,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,OAAO;QACP,IAAI,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,KAAK;YACL,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;SACtC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAoB;IAEpB,MAAM,WAAW,GAA0B,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,WAAW,CAAC,IAAI,CACd,wBAAwB,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,YAAY,CAAC,CAC1F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,WAAW,CAAC,IAAI,CACd,wBAAwB,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,YAAY,CAAC,CAC1F,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QACpC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,WAAW,CAAC,IAAI,CACd,wBAAwB,CACtB,2BAA2B,EAC3B,yBAAyB,EACzB,YAAY,EACZ,GAAG,CACJ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CACd,wBAAwB,CACtB,sBAAsB,EACtB,0BAA0B,EAC1B,aAAa,EACb,GAAG,CACJ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CACd,wBAAwB,CACtB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,GAAG,CACJ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,WAAW,CAAC,IAAI,CACd,wBAAwB,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,IAAI,EAAE,GAAG,CAAC,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAChF,WAAW,CAAC,IAAI,CACd,wBAAwB,CACtB,+BAA+B,EAC/B,gDAAgD,EAChD,gBAAgB,EAChB,GAAG,CACJ,CACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,UAAU,SAAS,SAAS,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CACd,wBAAwB,CACtB,wBAAwB,EACxB,uBAAuB,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,GAAG,EACvE,aAAa,EACb,GAAG,CACJ,CACF,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { type KtCodegenTableColumn } from "../KtCodegenTableColumns.js";
2
+ import type { KtCodegenTableData } from "../KtCodegenTableData.js";
3
+ /** 默认 Web Component 标签名。 */
4
+ export declare const KT_CODEGEN_TABLE_TAG_NAME = "kt-codegen-table";
5
+ /** 表格 Combo 候选项;未知当前值始终会额外保留。 */
6
+ export interface KtCodegenTableOptions {
7
+ readonly tcKind: readonly string[];
8
+ readonly catAttrInOut: readonly string[];
9
+ readonly component: readonly string[];
10
+ }
11
+ /** 表格可替换的列和候选项配置。 */
12
+ export interface KtCodegenTableConfiguration {
13
+ readonly columns: readonly KtCodegenTableColumn[];
14
+ readonly options: KtCodegenTableOptions;
15
+ }
16
+ /** clean/dirty 状态跃迁事件的数据。 */
17
+ export interface KtCodegenTableDirtyChangeDetail {
18
+ readonly dirty: boolean;
19
+ readonly documentRevision: number;
20
+ readonly itemCount: number;
21
+ }
22
+ /** 组件内部数据发生变化;宿主 View 可据此防抖后交换整表。 */
23
+ export interface KtCodegenTableChangeDetail {
24
+ readonly documentRevision: number;
25
+ readonly itemCount: number;
26
+ }
27
+ export type KtCodegenTableStatus = "idle" | "saving" | "saved" | "error";
28
+ /**
29
+ * 独立的 Codegen 17列表格 Web Component。
30
+ *
31
+ * 组件内部使用 KtCodegenTableCore;宿主通过 setData/getData 在文档级动作时
32
+ * 交换整表,只在 clean/dirty 状态跃迁时接收 kt-codegen-table-dirty-change。
33
+ */
34
+ export declare class KtCodegenTable extends HTMLElement {
35
+ private readonly param;
36
+ private readonly core;
37
+ private readonly root;
38
+ private readonly fittedWidths;
39
+ private columns;
40
+ private options;
41
+ constructor();
42
+ connectedCallback(): void;
43
+ configure(configuration: Partial<KtCodegenTableConfiguration>): void;
44
+ setData(data: KtCodegenTableData): void;
45
+ getData(): KtCodegenTableData;
46
+ markCheckpoint(documentRevision?: number): void;
47
+ revertToCheckpoint(): void;
48
+ focusRow(row: number): void;
49
+ setStatus(status: KtCodegenTableStatus, message: string): void;
50
+ private build;
51
+ private render;
52
+ private renderHead;
53
+ private renderRows;
54
+ private createCell;
55
+ private changeCell;
56
+ private selectRow;
57
+ private handleAction;
58
+ private syncSelection;
59
+ private syncActions;
60
+ /** 轻量复现 Qt resizeColumnsToContents;只改变组件布局,不修改表格数据。 */
61
+ private fitColumnsToContents;
62
+ private columnWidth;
63
+ private disableAction;
64
+ private syncDirtyStatus;
65
+ private emitDirtyTransition;
66
+ private emitChange;
67
+ }
68
+ /** 显式注册 Web Component;重复调用安全,不产生模块加载副作用。 */
69
+ export declare function ktCodegenDefineTableElement(tagName?: string): typeof KtCodegenTable;
70
+ declare global {
71
+ interface HTMLElementTagNameMap {
72
+ "kt-codegen-table": KtCodegenTable;
73
+ }
74
+ }
75
+ //# sourceMappingURL=KtCodegenTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KtCodegenTable.d.ts","sourceRoot":"","sources":["../../src/table/KtCodegenTable.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,4BAA4B;AAC5B,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,iCAAiC;AACjC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,qBAAqB;AACrB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AAED,6BAA6B;AAC7B,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qCAAqC;AACrC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAqKzE;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,OAAO,CAAC,OAAO,CAA6D;IAC5E,OAAO,CAAC,OAAO,CAIb;;IAQF,iBAAiB,IAAI,IAAI;IAIzB,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI;IAepE,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAMvC,OAAO,IAAI,kBAAkB;IAI7B,cAAc,CAAC,gBAAgB,SAA6B,GAAG,IAAI;IAOnE,kBAAkB,IAAI,IAAI;IAO1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAO3B,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAO9D,OAAO,CAAC,KAAK;IAoDb,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,UAAU;IAoElB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,WAAW;IAYnB,uDAAuD;IACvD,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,UAAU;CAanB;AAED,4CAA4C;AAC5C,wBAAgB,2BAA2B,CACzC,OAAO,SAA4B,GAClC,OAAO,cAAc,CAKvB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}