@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,343 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * 从旧 `KevinControlID`、`KevinControlWords` 和 `CreateCAAItem` 提取的32个
4
+ * 稳定自动代码块身份及迁移依据。
5
+ *
6
+ * `legacyCall` 保留 VB 分派调用的精确写法;`legacySourceLine` 指向当前归档
7
+ * `KevinCAAFileGuide.vb` 中方法定义的起始行,便于迁移和 golden test 审计。
8
+ */
9
+ export const KT_CODEGEN_LEGACY_BLOCKS = [
10
+ {
11
+ legacyId: 0,
12
+ key: "CATALOG PARAMS",
13
+ platform: "caa",
14
+ target: "caa.feature-io",
15
+ legacyCall: "CreateCAACatalogParam()",
16
+ legacySourceLine: 495,
17
+ legacyState: "active",
18
+ migrationStatus: "migrated",
19
+ },
20
+ {
21
+ legacyId: 1,
22
+ key: "FACTRY ON TREE",
23
+ platform: "caa",
24
+ target: "caa.model",
25
+ legacyCall: "CreateCAAFactoryOnTree()",
26
+ legacySourceLine: 1725,
27
+ legacyState: "active",
28
+ migrationStatus: "migrated",
29
+ },
30
+ {
31
+ legacyId: 2,
32
+ key: "IMPLEMENTS CPP GET",
33
+ platform: "caa",
34
+ target: "caa.feature-io",
35
+ legacyCall: "CreateCAAImplementsCppGet()",
36
+ legacySourceLine: 824,
37
+ legacyState: "active",
38
+ migrationStatus: "migrated",
39
+ },
40
+ {
41
+ legacyId: 3,
42
+ key: "IMPLEMENTS CPP SET",
43
+ platform: "caa",
44
+ target: "caa.feature-io",
45
+ legacyCall: "CreateCAAImplementsCppSet()",
46
+ legacySourceLine: 951,
47
+ legacyState: "active",
48
+ migrationStatus: "migrated",
49
+ },
50
+ {
51
+ legacyId: 4,
52
+ key: "IMPLEMENTS HEAD GET",
53
+ platform: "caa",
54
+ target: "caa.core",
55
+ legacyCall: "CreateCAAInterfacesGet(False)",
56
+ legacySourceLine: 676,
57
+ legacyState: "active",
58
+ migrationStatus: "migrated",
59
+ },
60
+ {
61
+ legacyId: 5,
62
+ key: "IMPLEMENTS HEAD SET",
63
+ platform: "caa",
64
+ target: "caa.core",
65
+ legacyCall: "CreateCAAInterfacesSet(False)",
66
+ legacySourceLine: 743,
67
+ legacyState: "active",
68
+ migrationStatus: "migrated",
69
+ },
70
+ {
71
+ legacyId: 6,
72
+ key: "IMPLEMENTS PARAM GET",
73
+ platform: "caa",
74
+ target: "caa.feature-io",
75
+ legacyCall: "CreateCAAImplementsCppParamsClassGet()",
76
+ legacySourceLine: 1027,
77
+ legacyState: "active",
78
+ migrationStatus: "migrated",
79
+ },
80
+ {
81
+ legacyId: 7,
82
+ key: "IMPLEMENTS PARAM SET",
83
+ platform: "caa",
84
+ target: "caa.feature-io",
85
+ legacyCall: "CreateCAAImplementsCppParamsClassSet()",
86
+ legacySourceLine: 1063,
87
+ legacyState: "active",
88
+ migrationStatus: "migrated",
89
+ },
90
+ {
91
+ legacyId: 8,
92
+ key: "INTERFACES HEAD GET",
93
+ platform: "caa",
94
+ target: "caa.model",
95
+ legacyCall: "CreateCAAInterfacesGet(True)",
96
+ legacySourceLine: 676,
97
+ legacyState: "active",
98
+ migrationStatus: "migrated",
99
+ },
100
+ {
101
+ legacyId: 9,
102
+ key: "INTERFACES HEAD SET",
103
+ platform: "caa",
104
+ target: "caa.model",
105
+ legacyCall: "CreateCAAInterfacesSet(True)",
106
+ legacySourceLine: 743,
107
+ legacyState: "active",
108
+ migrationStatus: "migrated",
109
+ },
110
+ {
111
+ legacyId: 10,
112
+ key: "PARAM CONSTRUCTOR",
113
+ platform: "cpp",
114
+ target: "cpp.parameter",
115
+ legacyCall: "CreateCAAParamConstructor()",
116
+ legacySourceLine: 543,
117
+ legacyState: "active",
118
+ migrationStatus: "migrated",
119
+ },
120
+ {
121
+ legacyId: 11,
122
+ key: "PARAM DECLARATION",
123
+ platform: "cpp",
124
+ target: "cpp.parameter",
125
+ legacyCall: "CreateCAAParamDeclaration()",
126
+ legacySourceLine: 644,
127
+ legacyState: "active",
128
+ migrationStatus: "migrated",
129
+ },
130
+ {
131
+ legacyId: 12,
132
+ key: "PARAM DESTRUCTOR",
133
+ platform: "cpp",
134
+ target: "cpp.parameter",
135
+ legacyCall: "CreateCAAParamDestructor()",
136
+ legacySourceLine: 608,
137
+ legacyState: "active",
138
+ migrationStatus: "migrated",
139
+ },
140
+ {
141
+ legacyId: 13,
142
+ key: "PARAM EQUAL",
143
+ platform: "cpp",
144
+ target: "cpp.parameter",
145
+ legacyCall: "CreateCAAParamEqual()",
146
+ legacySourceLine: 579,
147
+ legacyState: "active",
148
+ migrationStatus: "migrated",
149
+ },
150
+ {
151
+ legacyId: 14,
152
+ key: "DIALOG NOTIFY",
153
+ platform: "caa",
154
+ target: "caa.dialog",
155
+ legacyCall: "CreateCAADialogNotifyValueChange()",
156
+ legacySourceLine: 1603,
157
+ legacyState: "active",
158
+ migrationStatus: "migrated",
159
+ },
160
+ {
161
+ legacyId: 15,
162
+ key: "UPDATE DIALOG",
163
+ platform: "caa",
164
+ target: "caa.dialog",
165
+ legacyCall: "CreateCAAUpdateDialog()",
166
+ legacySourceLine: 1124,
167
+ legacyState: "active",
168
+ migrationStatus: "migrated",
169
+ },
170
+ {
171
+ legacyId: 16,
172
+ key: "UPDATE INFORS",
173
+ platform: "caa",
174
+ target: "caa.dialog",
175
+ legacyCall: "CreateCAAUpdateInfors()",
176
+ legacySourceLine: 1347,
177
+ legacyState: "active",
178
+ migrationStatus: "migrated",
179
+ },
180
+ {
181
+ legacyId: 17,
182
+ key: "QT UPDATE DIALOG",
183
+ platform: "qt",
184
+ target: "qt.dialog",
185
+ legacyCall: "CreateQTUpdateDialog()",
186
+ legacySourceLine: 1809,
187
+ legacyState: "active",
188
+ migrationStatus: "migrated",
189
+ },
190
+ {
191
+ legacyId: 18,
192
+ key: "QT UPDATE INFORS",
193
+ platform: "qt",
194
+ target: "qt.parameter",
195
+ legacyCall: "CreateQTUpdateInfors()",
196
+ legacySourceLine: 2096,
197
+ legacyState: "active",
198
+ migrationStatus: "migrated",
199
+ },
200
+ {
201
+ legacyId: 19,
202
+ key: "DLG DEFINE FIELD TYPE",
203
+ platform: "caa",
204
+ target: "caa.dialog",
205
+ legacyCall: "DlgDefineFieldType()",
206
+ legacySourceLine: 3141,
207
+ legacyState: "active",
208
+ migrationStatus: "migrated",
209
+ },
210
+ {
211
+ legacyId: 20,
212
+ key: "DLG SET ACTIVE FIELD",
213
+ platform: "caa",
214
+ target: "caa.dialog",
215
+ legacyCall: "DlgSetActiveField()",
216
+ legacySourceLine: 3169,
217
+ legacyState: "legacy-deprecated",
218
+ migrationStatus: "migrated",
219
+ },
220
+ {
221
+ legacyId: 21,
222
+ key: "DLG GET SELECTOR LIST",
223
+ platform: "caa",
224
+ target: "caa.dialog",
225
+ legacyCall: "DlgGetSelectorList()",
226
+ legacySourceLine: 3199,
227
+ legacyState: "legacy-deprecated",
228
+ migrationStatus: "migrated",
229
+ },
230
+ {
231
+ legacyId: 22,
232
+ key: "CMD AGENT DECLARE",
233
+ platform: "caa",
234
+ target: "caa.control",
235
+ legacyCall: "CmdAgentDeclare()",
236
+ legacySourceLine: 3238,
237
+ legacyState: "active",
238
+ migrationStatus: "migrated",
239
+ },
240
+ {
241
+ legacyId: 23,
242
+ key: "CMD AGENT CONSTRUCTOR",
243
+ platform: "caa",
244
+ target: "caa.control",
245
+ legacyCall: "CmdAgentConstructor()",
246
+ legacySourceLine: 3269,
247
+ legacyState: "active",
248
+ migrationStatus: "migrated",
249
+ },
250
+ {
251
+ legacyId: 24,
252
+ key: "CMD AGENT DESTRUCTOR",
253
+ platform: "caa",
254
+ target: "caa.control",
255
+ legacyCall: "CmdAgentDestructor()",
256
+ legacySourceLine: 3290,
257
+ legacyState: "active",
258
+ migrationStatus: "migrated",
259
+ },
260
+ {
261
+ legacyId: 25,
262
+ key: "CMD AGENT BUILD GRAPH",
263
+ platform: "caa",
264
+ target: "caa.control",
265
+ legacyCall: "CmdAgentBuildGraph()",
266
+ legacySourceLine: 3313,
267
+ legacyState: "active",
268
+ migrationStatus: "migrated",
269
+ },
270
+ {
271
+ legacyId: 26,
272
+ key: "CMD AGENT UPDATE STATE",
273
+ platform: "caa",
274
+ target: "caa.control",
275
+ legacyCall: "CmdAgentUpdateState()",
276
+ legacySourceLine: 3436,
277
+ legacyState: "active",
278
+ migrationStatus: "migrated",
279
+ },
280
+ {
281
+ legacyId: 27,
282
+ key: "CMD AGENT FIA CLEAR",
283
+ platform: "caa",
284
+ target: "caa.control",
285
+ legacyCall: "CmdAgentFiaClear()",
286
+ legacySourceLine: 3414,
287
+ legacyState: "active",
288
+ migrationStatus: "migrated",
289
+ },
290
+ {
291
+ legacyId: 28,
292
+ key: "CMD ACTION PDA",
293
+ platform: "caa",
294
+ target: "caa.control",
295
+ legacyCall: "CmdActionPda()",
296
+ legacySourceLine: 3497,
297
+ legacyState: "active",
298
+ migrationStatus: "migrated",
299
+ },
300
+ {
301
+ legacyId: 29,
302
+ key: "CMD ACTION FIA",
303
+ platform: "caa",
304
+ target: "caa.control",
305
+ legacyCall: "CmdActionFia()",
306
+ legacySourceLine: 3561,
307
+ legacyState: "active",
308
+ migrationStatus: "migrated",
309
+ },
310
+ {
311
+ legacyId: 30,
312
+ key: "CMD ELEMENT SELECTED",
313
+ platform: "caa",
314
+ target: "caa.control",
315
+ legacyCall: "CmdElementSelected()",
316
+ legacySourceLine: 3621,
317
+ legacyState: "legacy-deprecated",
318
+ migrationStatus: "migrated",
319
+ },
320
+ {
321
+ legacyId: 31,
322
+ key: "CMD SET ACTIVE FIELD",
323
+ platform: "caa",
324
+ target: "caa.control",
325
+ legacyCall: "CmdSetActiveField()",
326
+ legacySourceLine: 3686,
327
+ legacyState: "active",
328
+ migrationStatus: "migrated",
329
+ },
330
+ ];
331
+ const KT_CODEGEN_BLOCK_KEY_SET = new Set(KT_CODEGEN_LEGACY_BLOCKS.map((block) => block.key));
332
+ /** 判断运行时字符串是否为已知旧自动代码 block key。 */
333
+ export function ktCodegenIsBlockKey(value) {
334
+ return KT_CODEGEN_BLOCK_KEY_SET.has(value);
335
+ }
336
+ /** 根据稳定 key 取得旧生成块及其迁移依据。 */
337
+ export function ktCodegenGetBlock(key) {
338
+ const block = KT_CODEGEN_LEGACY_BLOCKS.find((candidate) => candidate.key === key);
339
+ if (!block)
340
+ throw new Error(`Unknown parameter code generation block: ${key}`);
341
+ return block;
342
+ }
343
+ //# sourceMappingURL=legacy-blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-blocks.js","sourceRoot":"","sources":["../../src/blocks/legacy-blocks.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAUtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,yBAAyB;QACrC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,0BAA0B;QACtC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,6BAA6B;QACzC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,6BAA6B;QACzC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,+BAA+B;QAC3C,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,+BAA+B;QAC3C,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,wCAAwC;QACpD,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,wCAAwC;QACpD,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,8BAA8B;QAC1C,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,8BAA8B;QAC1C,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,6BAA6B;QACzC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,6BAA6B;QACzC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,4BAA4B;QACxC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,aAAa;QAClB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,uBAAuB;QACnC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,oCAAoC;QAChD,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,yBAAyB;QACrC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,yBAAyB;QACrC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,wBAAwB;QACpC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,cAAc;QACtB,UAAU,EAAE,wBAAwB;QACpC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,sBAAsB;QAClC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,qBAAqB;QACjC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,mBAAmB;QAChC,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,sBAAsB;QAClC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,mBAAmB;QAChC,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,uBAAuB;QACnC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,sBAAsB;QAClC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,sBAAsB;QAClC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,wBAAwB;QAC7B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,uBAAuB;QACnC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,oBAAoB;QAChC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,gBAAgB;QAC5B,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,gBAAgB;QAC5B,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,sBAAsB;QAClC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,mBAAmB;QAChC,eAAe,EAAE,UAAU;KAC5B;IACD;QACE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,qBAAqB;QACjC,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,UAAU;KAC5B;CAUA,CAAC;AAQJ,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAC3D,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CACnD,CAAC;AAEF,oCAAoC;AACpC,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACtD,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC;IAC/E,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,19 @@
1
+ export * from "./api/index.js";
2
+ export * from "./blocks/index.js";
3
+ export * from "./legacy/index.js";
4
+ export * from "./model/index.js";
5
+ export * from "./KtCodegenAdapter.js";
6
+ export * from "./KtCodegenApply.js";
7
+ export * from "./KtCodegenBlockPresentation.js";
8
+ export * from "./KtCodegenController.js";
9
+ export * from "./KtCodegenCore.js";
10
+ export * from "./KtCodegenItem.js";
11
+ export * from "./KtCodegenMarker.js";
12
+ export * from "./KtCodegenOptions.js";
13
+ export * from "./KtCodegenParam.js";
14
+ export * from "./KtCodegenReader.js";
15
+ export * from "./KtCodegenRenderer.js";
16
+ export * from "./KtCodegenTableColumns.js";
17
+ export * from "./KtCodegenTableCore.js";
18
+ export * from "./KtCodegenTableData.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export * from "./api/index.js";
3
+ export * from "./blocks/index.js";
4
+ export * from "./legacy/index.js";
5
+ export * from "./model/index.js";
6
+ export * from "./KtCodegenAdapter.js";
7
+ export * from "./KtCodegenApply.js";
8
+ export * from "./KtCodegenBlockPresentation.js";
9
+ export * from "./KtCodegenController.js";
10
+ export * from "./KtCodegenCore.js";
11
+ export * from "./KtCodegenItem.js";
12
+ export * from "./KtCodegenMarker.js";
13
+ export * from "./KtCodegenOptions.js";
14
+ export * from "./KtCodegenParam.js";
15
+ export * from "./KtCodegenReader.js";
16
+ export * from "./KtCodegenRenderer.js";
17
+ export * from "./KtCodegenTableColumns.js";
18
+ export * from "./KtCodegenTableCore.js";
19
+ export * from "./KtCodegenTableData.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type KtCodegenDataResult, type KtCodegenDiagnostic } from "../model/diagnostic.js";
2
+ import type { KtCodegenParam } from "../KtCodegenParam.js";
3
+ /** 旧 Qt 简单 CSV 或标准 RFC 4180 写出方言。 */
4
+ export type KtCodegenLegacyCsvDialect = "qt-simple" | "rfc4180";
5
+ /** 旧17列 CSV 写出选项。 */
6
+ export interface KtCodegenLegacyCsvWriteOptions {
7
+ /** CSV 方言;默认 `qt-simple`。 */
8
+ readonly dialect?: KtCodegenLegacyCsvDialect;
9
+ /** 输出换行符;默认 LF。 */
10
+ readonly eol?: "\n" | "\r\n";
11
+ }
12
+ interface KtCodegenCsvMatrixResult {
13
+ readonly rows: readonly (readonly string[])[];
14
+ readonly diagnostics: readonly KtCodegenDiagnostic[];
15
+ }
16
+ /** 读取 CSV 矩阵;兼容 RFC 4180 引号和旧 Qt 未加引号的 `split(',')` 文件。 */
17
+ export declare function ktCodegenParseCsvMatrix(text: string): KtCodegenCsvMatrixResult;
18
+ /** 把旧17列 CSV 解析为统一的 `KtCodegenParam` 临时数据。 */
19
+ export declare function ktCodegenParseLegacyCsv(text: string): KtCodegenDataResult<KtCodegenParam>;
20
+ /** 把统一参数数据写成旧17列 CSV 文本。 */
21
+ export declare function ktCodegenWriteLegacyCsv(spec: KtCodegenParam, options?: KtCodegenLegacyCsvWriteOptions): KtCodegenDataResult<string>;
22
+ /** 直接把旧17列 CSV 转换为 C++/Qt v4 JSON 文本。 */
23
+ export declare function ktCodegenConvertLegacyCsvToV4Json(text: string, space?: number): KtCodegenDataResult<string>;
24
+ export {};
25
+ //# sourceMappingURL=csv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/legacy/csv.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,qCAAqC;AACrC,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhE,qBAAqB;AACrB,MAAM,WAAW,8BAA8B;IAC7C,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,mBAAmB;IACnB,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CAC9B;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD;AAiBD,2DAA2D;AAC3D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CA6D9E;AAED,8CAA8C;AAC9C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAoGzF;AA4BD,4BAA4B;AAC5B,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,8BAAmC,GAC3C,mBAAmB,CAAC,MAAM,CAAC,CAqC7B;AAED,yCAAyC;AACzC,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI,GACR,mBAAmB,CAAC,MAAM,CAAC,CAQ7B"}
@@ -0,0 +1,197 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { ktCodegenHasDiagnosticErrors, } from "../model/diagnostic.js";
3
+ import { ktCodegenParseLegacyV4Object, ktCodegenWriteLegacyV4Json } from "./v4-json.js";
4
+ import { KT_CODEGEN_LEGACY_17_COLUMN_CSV_HEADERS } from "./v4-schema.js";
5
+ function ktCodegenCsvDiagnostic(code, severity, message, row, column) {
6
+ const path = {
7
+ source: "csv",
8
+ ...(row === undefined ? {} : { row }),
9
+ ...(column === undefined ? {} : { column }),
10
+ };
11
+ return { code, severity, message, path };
12
+ }
13
+ /** 读取 CSV 矩阵;兼容 RFC 4180 引号和旧 Qt 未加引号的 `split(',')` 文件。 */
14
+ export function ktCodegenParseCsvMatrix(text) {
15
+ const rows = [];
16
+ const diagnostics = [];
17
+ let row = [];
18
+ let cell = "";
19
+ let inQuotes = false;
20
+ const input = text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
21
+ const finishCell = () => {
22
+ row.push(cell);
23
+ cell = "";
24
+ };
25
+ const finishRow = () => {
26
+ finishCell();
27
+ if (row.some((value) => value.length > 0))
28
+ rows.push(row);
29
+ row = [];
30
+ };
31
+ for (let index = 0; index < input.length; index += 1) {
32
+ const character = input[index];
33
+ if (inQuotes) {
34
+ if (character === '"') {
35
+ if (input[index + 1] === '"') {
36
+ cell += '"';
37
+ index += 1;
38
+ }
39
+ else {
40
+ inQuotes = false;
41
+ }
42
+ }
43
+ else {
44
+ cell += character;
45
+ }
46
+ continue;
47
+ }
48
+ if (character === '"' && cell.length === 0) {
49
+ inQuotes = true;
50
+ }
51
+ else if (character === ",") {
52
+ finishCell();
53
+ }
54
+ else if (character === "\n") {
55
+ finishRow();
56
+ }
57
+ else if (character === "\r") {
58
+ if (input[index + 1] === "\n")
59
+ index += 1;
60
+ finishRow();
61
+ }
62
+ else {
63
+ cell += character;
64
+ }
65
+ }
66
+ if (inQuotes) {
67
+ diagnostics.push(ktCodegenCsvDiagnostic("legacy.csv-unclosed-quote", "error", "CSV ended inside a quoted field.", rows.length));
68
+ }
69
+ if (cell.length > 0 || row.length > 0)
70
+ finishRow();
71
+ return { rows, diagnostics };
72
+ }
73
+ /** 把旧17列 CSV 解析为统一的 `KtCodegenParam` 临时数据。 */
74
+ export function ktCodegenParseLegacyCsv(text) {
75
+ const matrix = ktCodegenParseCsvMatrix(text);
76
+ const diagnostics = [...matrix.diagnostics];
77
+ let headers = null;
78
+ const data = [];
79
+ const metadata = {
80
+ NamePrefix: "",
81
+ NameMiddle: "",
82
+ NameSpace: "",
83
+ AppendFunction: "",
84
+ };
85
+ matrix.rows.forEach((rawRow, rowIndex) => {
86
+ const first = (rawRow[0] ?? "").trim();
87
+ if (first === "NameSuffix") {
88
+ headers = rawRow.map((entry) => entry.trim());
89
+ return;
90
+ }
91
+ if (first.startsWith("$")) {
92
+ const key = first.slice(1);
93
+ if (key in metadata)
94
+ metadata[key] = (rawRow[1] ?? "").trim();
95
+ else {
96
+ diagnostics.push(ktCodegenCsvDiagnostic("legacy.csv-unknown-metadata", "warning", `Unknown CSV metadata row ${first} was ignored.`, rowIndex));
97
+ }
98
+ return;
99
+ }
100
+ if (!headers) {
101
+ diagnostics.push(ktCodegenCsvDiagnostic("legacy.csv-row-before-header", "warning", "CSV row before the NameSuffix header was ignored.", rowIndex));
102
+ return;
103
+ }
104
+ if (rawRow.length < 17) {
105
+ diagnostics.push(ktCodegenCsvDiagnostic("legacy.csv-short-row", "error", `Expected 17 columns, got ${rawRow.length}.`, rowIndex));
106
+ return;
107
+ }
108
+ if (rawRow.length > 17) {
109
+ diagnostics.push(ktCodegenCsvDiagnostic("legacy.csv-extra-columns", "warning", `Only the first 17 of ${rawRow.length} columns were used.`, rowIndex));
110
+ }
111
+ data.push(rawRow.slice(0, 17).map((entry) => entry.trim()));
112
+ });
113
+ if (!headers) {
114
+ diagnostics.push(ktCodegenCsvDiagnostic("legacy.csv-header-missing", "error", "The 17-column NameSuffix header was not found."));
115
+ return { ok: false, value: null, diagnostics };
116
+ }
117
+ const parsed = ktCodegenParseLegacyV4Object({
118
+ type: "100106",
119
+ version: "4.0",
120
+ headers,
121
+ data,
122
+ ...metadata,
123
+ }, "legacy-17-column-csv");
124
+ const remappedDiagnostics = parsed.diagnostics.map((diagnostic) => diagnostic.path?.source === "json"
125
+ ? { ...diagnostic, path: { ...diagnostic.path, source: "csv" } }
126
+ : diagnostic);
127
+ diagnostics.push(...remappedDiagnostics);
128
+ return {
129
+ ok: !ktCodegenHasDiagnosticErrors(diagnostics),
130
+ value: parsed.value,
131
+ diagnostics,
132
+ };
133
+ }
134
+ function ktCodegenParamToCsvRow(parameter) {
135
+ return [
136
+ parameter.nameSuffix,
137
+ String(parameter.id),
138
+ parameter.name,
139
+ parameter.paramString,
140
+ parameter.dataType,
141
+ parameter.tcKind,
142
+ parameter.defaultValue,
143
+ parameter.catAttrInOut,
144
+ parameter.isList ? "1" : "",
145
+ parameter.isOnTree ? "1" : "",
146
+ parameter.component,
147
+ String(parameter.componentCount),
148
+ parameter.isParamDlg ? "1" : "",
149
+ parameter.unit,
150
+ parameter.author,
151
+ parameter.createDate,
152
+ parameter.notes,
153
+ ];
154
+ }
155
+ function ktCodegenEscapeRfc4180Cell(value) {
156
+ return /[",\r\n]/.test(value) ? `"${value.replaceAll('"', '""')}"` : value;
157
+ }
158
+ /** 把统一参数数据写成旧17列 CSV 文本。 */
159
+ export function ktCodegenWriteLegacyCsv(spec, options = {}) {
160
+ const dialect = options.dialect ?? "qt-simple";
161
+ const eol = options.eol ?? "\n";
162
+ const diagnostics = [];
163
+ const rows = [
164
+ [...KT_CODEGEN_LEGACY_17_COLUMN_CSV_HEADERS],
165
+ ...spec.items.map(ktCodegenParamToCsvRow),
166
+ ["$NamePrefix", spec.namePrefix, "the prefix"],
167
+ ["$NameMiddle", spec.nameMiddle, "the middle name"],
168
+ ["$NameSpace", spec.nameSpace, "$Name Space"],
169
+ ["$AppendFunction", spec.appendFunction, "the append function name"],
170
+ ];
171
+ const output = rows
172
+ .map((outputRow, rowIndex) => outputRow
173
+ .map((entry, columnIndex) => {
174
+ if (dialect === "rfc4180")
175
+ return ktCodegenEscapeRfc4180Cell(entry);
176
+ if (/[\r\n,]/.test(entry)) {
177
+ diagnostics.push(ktCodegenCsvDiagnostic("legacy.csv-lossy-qt-simple-write", "warning", "Comma or newline was replaced for compatibility with the old Qt split(',') reader.", rowIndex, columnIndex));
178
+ return entry.replaceAll(",", ";").replaceAll(/\r?\n/g, " ");
179
+ }
180
+ return entry;
181
+ })
182
+ .join(","))
183
+ .join(eol);
184
+ return { ok: true, value: `${output}${eol}`, diagnostics };
185
+ }
186
+ /** 直接把旧17列 CSV 转换为 C++/Qt v4 JSON 文本。 */
187
+ export function ktCodegenConvertLegacyCsvToV4Json(text, space = 2) {
188
+ const parsed = ktCodegenParseLegacyCsv(text);
189
+ if (!parsed.value)
190
+ return { ok: false, value: null, diagnostics: parsed.diagnostics };
191
+ return {
192
+ ok: parsed.ok,
193
+ value: ktCodegenWriteLegacyV4Json(parsed.value, space),
194
+ diagnostics: parsed.diagnostics,
195
+ };
196
+ }
197
+ //# sourceMappingURL=csv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/legacy/csv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./csv.js";
2
+ export * from "./v4-json.js";
3
+ export * from "./v4-schema.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/legacy/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ export * from "./csv.js";
3
+ export * from "./v4-json.js";
4
+ export * from "./v4-schema.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/legacy/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}