skir-typescript-gen 0.0.1 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +162 -46
- package/dist/index.js.map +1 -1
- package/dist/record_info.d.ts +0 -2
- package/dist/record_info.d.ts.map +1 -1
- package/dist/record_info.js +0 -3
- package/dist/record_info.js.map +1 -1
- package/package.json +16 -12
- package/src/index.ts +187 -56
- package/src/record_info.ts +0 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import type { CodeGenerator } from "skir-internal";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
declare const Config: z.ZodObject<{
|
|
4
|
-
importPathExtension: z.
|
|
4
|
+
importPathExtension: z.ZodOptional<z.ZodString>;
|
|
5
5
|
clientModulePath: z.ZodOptional<z.ZodString>;
|
|
6
|
-
}, z.core.$
|
|
6
|
+
}, z.core.$strict>;
|
|
7
7
|
type Config = z.infer<typeof Config>;
|
|
8
8
|
declare class TypescriptCodeGenerator implements CodeGenerator<Config> {
|
|
9
|
-
readonly id = "typescript";
|
|
9
|
+
readonly id = "skir-typescript-gen";
|
|
10
10
|
readonly configType: z.ZodObject<{
|
|
11
|
-
importPathExtension: z.
|
|
11
|
+
importPathExtension: z.ZodOptional<z.ZodString>;
|
|
12
12
|
clientModulePath: z.ZodOptional<z.ZodString>;
|
|
13
|
-
}, z.core.$
|
|
14
|
-
readonly version = "1.0.0";
|
|
13
|
+
}, z.core.$strict>;
|
|
15
14
|
generateCode(input: CodeGenerator.Input<Config>): CodeGenerator.Output;
|
|
16
15
|
}
|
|
17
16
|
export declare const GENERATOR: TypescriptCodeGenerator;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAQd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,QAAA,MAAM,MAAM;;;kBAGV,CAAC;AAEH,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAErC,cAAM,uBAAwB,YAAW,aAAa,CAAC,MAAM,CAAC;IAC5D,QAAQ,CAAC,EAAE,yBAAyB;IACpC,QAAQ,CAAC,UAAU;;;uBAAU;IAE7B,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM;CAyBvE;AAy3BD,eAAO,MAAM,SAAS,yBAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,19 +4,14 @@ import { maybeEscapeTopLevelUpperCaseName } from "./class_speller.js";
|
|
|
4
4
|
import { toFrozenExpression } from "./expression_maker.js";
|
|
5
5
|
import { createRecordInfo, } from "./record_info.js";
|
|
6
6
|
import { TypeSpeller } from "./type_speller.js";
|
|
7
|
-
const Config = z.
|
|
8
|
-
importPathExtension: z.
|
|
9
|
-
z.literal(""),
|
|
10
|
-
z.literal(".js"),
|
|
11
|
-
z.literal(".ts"),
|
|
12
|
-
]),
|
|
7
|
+
const Config = z.strictObject({
|
|
8
|
+
importPathExtension: z.optional(z.string().regex(/(|\.js)$/)),
|
|
13
9
|
clientModulePath: z.optional(z.string()),
|
|
14
10
|
});
|
|
15
11
|
class TypescriptCodeGenerator {
|
|
16
12
|
constructor() {
|
|
17
|
-
this.id = "typescript";
|
|
13
|
+
this.id = "skir-typescript-gen";
|
|
18
14
|
this.configType = Config;
|
|
19
|
-
this.version = "1.0.0";
|
|
20
15
|
}
|
|
21
16
|
generateCode(input) {
|
|
22
17
|
const { recordMap, config } = input;
|
|
@@ -53,11 +48,16 @@ class TsModuleCodeGenerator {
|
|
|
53
48
|
// | |/ / | (_) | | | | || (_) || |_ | __/| (_| || || |_
|
|
54
49
|
// |___/ \\___/ |_| |_| \\___/ \\__| \\___| \\__,_||_| \\__|
|
|
55
50
|
//
|
|
56
|
-
|
|
51
|
+
// Generated by skir-typescript-gen
|
|
52
|
+
// Home: https://github.com/gepheum/skir-typescript-gen
|
|
53
|
+
//
|
|
57
54
|
// To install the Skir client library:
|
|
58
|
-
// npm i skir
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
// npm i skir-client\n\n`);
|
|
56
|
+
if (this.fileType === ".js") {
|
|
57
|
+
const typesFileName = paths.basename(this.inModule.path.replace(/\.skir$/, ".d.ts"));
|
|
58
|
+
this.push(`/// <reference types="./${typesFileName}" />\n\n`);
|
|
59
|
+
}
|
|
60
|
+
this.push(`import * as $ from "${this.resolveClientModulePath()}";\n`);
|
|
61
61
|
this.writeImports();
|
|
62
62
|
for (const recordLocation of this.inModule.records) {
|
|
63
63
|
this.writeClassesForRecord(recordLocation);
|
|
@@ -74,7 +74,7 @@ class TsModuleCodeGenerator {
|
|
|
74
74
|
"${this.inModule.path}",
|
|
75
75
|
[\n`);
|
|
76
76
|
for (const recordLocation of this.inModule.records) {
|
|
77
|
-
this.
|
|
77
|
+
this.pushJsonLike(this.getRecordSpec(recordLocation));
|
|
78
78
|
this.push(",\n");
|
|
79
79
|
}
|
|
80
80
|
this.push(`
|
|
@@ -121,8 +121,8 @@ class TsModuleCodeGenerator {
|
|
|
121
121
|
for (const entry of Object.entries(this.inModule.pathToImportedNames)) {
|
|
122
122
|
const [path, importedNames] = entry;
|
|
123
123
|
const { importPathExtension } = this.config;
|
|
124
|
-
let tsPath = paths.relative(thisPath, path).replace(/\.skir
|
|
125
|
-
importPathExtension;
|
|
124
|
+
let tsPath = paths.relative(thisPath, path).replace(/\.skir$/, "") +
|
|
125
|
+
(importPathExtension ?? ".js");
|
|
126
126
|
if (!tsPath.startsWith(".")) {
|
|
127
127
|
tsPath = `./${tsPath}`;
|
|
128
128
|
}
|
|
@@ -167,7 +167,12 @@ class TsModuleCodeGenerator {
|
|
|
167
167
|
writeFrozenClassForStruct(struct) {
|
|
168
168
|
const { fileType } = this;
|
|
169
169
|
const { className } = struct;
|
|
170
|
-
this.
|
|
170
|
+
this.pushDocstring([
|
|
171
|
+
this.getDocTextForDocstring(struct.doc),
|
|
172
|
+
`\nDeeply immutable. If you need mutability, use \`${className.type}.Mutable\`.`,
|
|
173
|
+
className.isNested ? `\n@alias ${className.type}` : "",
|
|
174
|
+
]);
|
|
175
|
+
this.push(!className.isNested ? "export " : "");
|
|
171
176
|
if (fileType === ".d.ts") {
|
|
172
177
|
this.push("declare ");
|
|
173
178
|
}
|
|
@@ -180,18 +185,31 @@ class TsModuleCodeGenerator {
|
|
|
180
185
|
declarePropertiesOfFrozenClass(struct) {
|
|
181
186
|
const { className, fields, indexableFields } = struct;
|
|
182
187
|
this.push(`
|
|
188
|
+
/**
|
|
189
|
+
* Creates a new instance of \`${className.type}\`.
|
|
190
|
+
*
|
|
191
|
+
* You must specify all the fields unless you use \`create<"partial">({...})>\`,
|
|
192
|
+
* in which case missing fields are set to their default values.
|
|
193
|
+
*/
|
|
183
194
|
static create<_Wholeness extends "whole" | "partial" = "whole">(
|
|
184
195
|
initializer: ${className.type}.Initializer<_Wholeness>
|
|
185
196
|
): ${className.type};\n\n`);
|
|
186
197
|
this.push("private constructor();\n\n");
|
|
187
198
|
for (const field of fields) {
|
|
199
|
+
this.pushDocstring(this.getDocTextForDocstring(field.doc));
|
|
188
200
|
this.push(`readonly ${field.property}: ${field.tsTypes.frozen};\n`);
|
|
189
201
|
}
|
|
190
202
|
this.pushEol();
|
|
191
203
|
if (indexableFields.length) {
|
|
192
204
|
for (const indexableField of indexableFields) {
|
|
193
205
|
const { searchMethodName } = indexableField;
|
|
194
|
-
const { keyType, frozenValueType, searchMethodParamName } = indexableField.indexable;
|
|
206
|
+
const { keyExpression, keyType, frozenValueType, searchMethodParamName, } = indexableField.indexable;
|
|
207
|
+
this.pushDocstring([
|
|
208
|
+
`Searches for an item of \`${indexableField.property}\` by its key.`,
|
|
209
|
+
`The key of an item \`v\` is \`${keyExpression}\`.`,
|
|
210
|
+
"If multiple items share the same key, the last occurrence is returned.",
|
|
211
|
+
"Returns `undefined` if the key was not found.",
|
|
212
|
+
]);
|
|
195
213
|
this.push(`${searchMethodName}(`);
|
|
196
214
|
this.push(`${searchMethodParamName}: ${keyType}`);
|
|
197
215
|
this.push(`): ${frozenValueType} | undefined;\n`);
|
|
@@ -199,12 +217,19 @@ class TsModuleCodeGenerator {
|
|
|
199
217
|
this.pushEol();
|
|
200
218
|
}
|
|
201
219
|
this.push(`
|
|
220
|
+
/** Returns this instance (no-op). */
|
|
202
221
|
toFrozen(): this;
|
|
222
|
+
|
|
223
|
+
/** Returns a mutable shallow copy of this instance. */
|
|
203
224
|
toMutable(): ${className.type}.Mutable;
|
|
204
225
|
|
|
226
|
+
/** Default instance with all fields set to their default values. */
|
|
205
227
|
static readonly DEFAULT: ${className.type};
|
|
228
|
+
|
|
229
|
+
/** Serializer for \`${className.type}\` instances. */
|
|
206
230
|
static readonly serializer: $.Serializer<${className.type}>;
|
|
207
231
|
|
|
232
|
+
/** Mutable version of this class. */
|
|
208
233
|
static readonly Mutable: typeof ${className.value}_Mutable;\n`);
|
|
209
234
|
this.declareNestedClasses(struct.nestedRecords);
|
|
210
235
|
this.pushEol();
|
|
@@ -213,6 +238,7 @@ class TsModuleCodeGenerator {
|
|
|
213
238
|
this.push("private readonly FROZEN: undefined;\n");
|
|
214
239
|
}
|
|
215
240
|
declareNestedClasses(nestedKeys) {
|
|
241
|
+
this.pushEol();
|
|
216
242
|
const { typeSpeller } = this;
|
|
217
243
|
// Export the constructor of every nested class as a property of this class.
|
|
218
244
|
for (const nestedKey of nestedKeys) {
|
|
@@ -224,15 +250,24 @@ class TsModuleCodeGenerator {
|
|
|
224
250
|
declareMutableClassForStruct(struct) {
|
|
225
251
|
const { fileType } = this;
|
|
226
252
|
const { className, fields, fieldsWithMutableGetter } = struct;
|
|
227
|
-
this.
|
|
253
|
+
this.pushDocstring([
|
|
254
|
+
`Mutable version of \`${className.type}\`.\n`,
|
|
255
|
+
`@alias ${className.type}.Mutable`,
|
|
256
|
+
]);
|
|
228
257
|
if (fileType === ".d.ts") {
|
|
229
258
|
this.push("declare ");
|
|
230
259
|
}
|
|
231
260
|
this.push(`class ${className.value}_Mutable {\n`);
|
|
232
261
|
this.push(`
|
|
262
|
+
/**
|
|
263
|
+
* Creates a new mutable instance.
|
|
264
|
+
*
|
|
265
|
+
* Fields not specified in \`initializer\` will be set to their default values.
|
|
266
|
+
*/
|
|
233
267
|
constructor(initializer?: ${className.type}.Initializer<"partial">);\n\n`);
|
|
234
268
|
// Declare the fields.
|
|
235
269
|
for (const field of fields) {
|
|
270
|
+
this.pushDocstring(this.getDocTextForDocstring(field.doc));
|
|
236
271
|
const type = field.tsTypes["maybe-mutable"];
|
|
237
272
|
this.push(`${field.property}: ${type};\n`);
|
|
238
273
|
}
|
|
@@ -244,9 +279,8 @@ class TsModuleCodeGenerator {
|
|
|
244
279
|
}
|
|
245
280
|
this.pushEol();
|
|
246
281
|
}
|
|
247
|
-
this.
|
|
248
|
-
|
|
249
|
-
toMutable(): this;\n`);
|
|
282
|
+
this.pushDocstring("Returns a deeply-immutable copy of this instance.");
|
|
283
|
+
this.push(`toFrozen(): ${className.type};\n`);
|
|
250
284
|
this.pushEol();
|
|
251
285
|
this.push("readonly [$._INITIALIZER]: ");
|
|
252
286
|
this.push(`${className.type}.Initializer | undefined;\n`);
|
|
@@ -255,7 +289,12 @@ class TsModuleCodeGenerator {
|
|
|
255
289
|
writeClassForEnum(enumInfo) {
|
|
256
290
|
const { fileType } = this;
|
|
257
291
|
const { className } = enumInfo;
|
|
258
|
-
this.
|
|
292
|
+
this.pushDocstring([
|
|
293
|
+
this.getDocTextForDocstring(enumInfo.doc),
|
|
294
|
+
"\nDeeply immutable.\n",
|
|
295
|
+
className.isNested ? `@alias ${className.type}` : "",
|
|
296
|
+
]);
|
|
297
|
+
this.push(!className.isNested ? "export " : "");
|
|
259
298
|
if (fileType === ".d.ts") {
|
|
260
299
|
this.push("declare ");
|
|
261
300
|
}
|
|
@@ -269,23 +308,53 @@ class TsModuleCodeGenerator {
|
|
|
269
308
|
}
|
|
270
309
|
}
|
|
271
310
|
declarePropertiesOfClassForEnum(enumInfo) {
|
|
272
|
-
const { className, constantVariants
|
|
311
|
+
const { className, constantVariants, onlyConstants, wrapperVariants } = enumInfo;
|
|
273
312
|
// Declare the enum constants.
|
|
274
|
-
for (const
|
|
275
|
-
this.
|
|
313
|
+
for (const variant of constantVariants) {
|
|
314
|
+
this.pushDocstring(variant.number === 0
|
|
315
|
+
? [
|
|
316
|
+
`Constant indicating an unknown \`${className.type}\` (kind: '?').\n`,
|
|
317
|
+
`Default value for fields of type \`${className.type}\`.`,
|
|
318
|
+
]
|
|
319
|
+
: this.getDocTextForDocstring(variant.doc));
|
|
320
|
+
this.push(`static readonly ${variant.property}: ${className.type};\n`);
|
|
276
321
|
}
|
|
277
322
|
this.pushEol();
|
|
278
323
|
// Declare the `create` function.
|
|
324
|
+
{
|
|
325
|
+
const docLines = [
|
|
326
|
+
`Gets or creates a \`${className.type}\` instance from the given initializer.`,
|
|
327
|
+
];
|
|
328
|
+
if (!onlyConstants) {
|
|
329
|
+
docLines.push("To create wrapper variants, use `create({kind: ..., value: ...})`.");
|
|
330
|
+
docLines.push("Possible values for `kind` are: " +
|
|
331
|
+
wrapperVariants.map((v) => `'${v.name}'`).join(", ") +
|
|
332
|
+
".");
|
|
333
|
+
}
|
|
334
|
+
for (const variant of wrapperVariants) {
|
|
335
|
+
if (variant.doc.text.length <= 0) {
|
|
336
|
+
continue;
|
|
337
|
+
}
|
|
338
|
+
const variantDoc = this.getDocTextForDocstring(variant.doc);
|
|
339
|
+
docLines.push(`Doc for '${variant.name}': ${variantDoc}`);
|
|
340
|
+
}
|
|
341
|
+
this.pushDocstring(docLines);
|
|
342
|
+
}
|
|
279
343
|
this.push(`static create<_Wholeness extends "whole" | "partial" = "whole">(
|
|
280
344
|
initializer: ${className.type}.Initializer<_Wholeness>
|
|
281
345
|
): ${className.type};\n\n`);
|
|
282
|
-
// Declare the `
|
|
283
|
-
this.push(`readonly kind: ${className.type}.Kind;\n`);
|
|
284
|
-
if (!onlyConstants) {
|
|
285
|
-
this.push(`declare readonly value: ${className.type}.Value;\n`);
|
|
286
|
-
this.push(`declare readonly union: ${className.type}.UnionView;\n`);
|
|
287
|
-
}
|
|
346
|
+
// Declare the `union`.
|
|
288
347
|
this.pushEol();
|
|
348
|
+
this.pushDocstring([
|
|
349
|
+
"This instance as the union of all the variant types.\n",
|
|
350
|
+
"Use `union.kind` to determine the variant held by this instance.",
|
|
351
|
+
onlyConstants
|
|
352
|
+
? ""
|
|
353
|
+
: "If it's a wrapper variant, 'union.value' is the wrapped value.",
|
|
354
|
+
]);
|
|
355
|
+
this.push(`declare readonly union: ${className.type}.UnionView;\n`);
|
|
356
|
+
this.pushEol();
|
|
357
|
+
this.pushDocstring(`Serializer for \`${className.type}\` instances.`);
|
|
289
358
|
this.push(`static readonly serializer: $.Serializer<${className.type}>;\n`);
|
|
290
359
|
this.declareNestedClasses(enumInfo.nestedRecords);
|
|
291
360
|
}
|
|
@@ -314,8 +383,13 @@ class TsModuleCodeGenerator {
|
|
|
314
383
|
this.push("}\n}\n\n");
|
|
315
384
|
}
|
|
316
385
|
declareMutableGetter(field) {
|
|
386
|
+
this.pushDocstring([
|
|
387
|
+
`If the value of \`${field.property}\` is already mutable, returns it as-is.`,
|
|
388
|
+
`Otherwise, makes a mutable copy, assigns it back to \`${field.property}\` and returns it.`,
|
|
389
|
+
]);
|
|
317
390
|
const { mutable } = field.tsTypes;
|
|
318
391
|
this.push(`get ${field.mutableGetterName}(): ${mutable};\n`);
|
|
392
|
+
this.pushEol();
|
|
319
393
|
}
|
|
320
394
|
defineInitFunctionForStruct(record) {
|
|
321
395
|
const { typeSpeller } = this;
|
|
@@ -358,6 +432,7 @@ class TsModuleCodeGenerator {
|
|
|
358
432
|
this.push('interface _Initializer<_Wholeness extends "whole" | "partial"> {\n');
|
|
359
433
|
for (const field of fields) {
|
|
360
434
|
const type = field.tsTypes.initializer;
|
|
435
|
+
this.pushDocstring(this.getDocTextForDocstring(field.doc));
|
|
361
436
|
this.push(`readonly ${field.property}: ${type};\n`);
|
|
362
437
|
}
|
|
363
438
|
this.push("}\n\n");
|
|
@@ -372,28 +447,27 @@ class TsModuleCodeGenerator {
|
|
|
372
447
|
}
|
|
373
448
|
// Declare the Mutable and OrMutable types.
|
|
374
449
|
this.push(`
|
|
450
|
+
/** Mutable version of ${className.type}. */
|
|
375
451
|
export type Mutable = ${className.value}_Mutable;
|
|
376
452
|
export type OrMutable = ${className.name} | Mutable;\n\n`);
|
|
377
453
|
}
|
|
378
454
|
declareEnumSpecificTypes(enumInfo) {
|
|
379
|
-
const { initializerType, kindType,
|
|
455
|
+
const { initializerType, kindType, unionViewType } = enumInfo;
|
|
456
|
+
this.pushDocstring("Identifies a variant.");
|
|
380
457
|
this.push(`export type Kind = ${kindType};\n\n`);
|
|
381
|
-
if (!onlyConstants) {
|
|
382
|
-
this.push(`export type Value = ${enumInfo.valueType};\n\n`);
|
|
383
|
-
}
|
|
384
458
|
this.push(`export type Initializer<_Wholeness extends "whole" | "partial" = "whole"> = ${initializerType};\n\n`);
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
}
|
|
459
|
+
this.pushDocstring(`View of a \`${enumInfo.className.type}\` as a union type.`);
|
|
460
|
+
this.push(`export type UnionView = ${unionViewType};\n\n`);
|
|
388
461
|
}
|
|
389
462
|
writeMethod(method) {
|
|
390
463
|
const { fileType, typeSpeller } = this;
|
|
391
|
-
const { number, requestType, responseType } = method;
|
|
464
|
+
const { doc, number, requestType, responseType } = method;
|
|
392
465
|
const name = method.name.text;
|
|
393
466
|
const varName = maybeEscapeTopLevelUpperCaseName(name);
|
|
394
467
|
if (fileType === ".d.ts") {
|
|
395
468
|
const reqTsType = typeSpeller.getTsType(requestType, "frozen");
|
|
396
469
|
const respTsType = typeSpeller.getTsType(responseType, "frozen");
|
|
470
|
+
this.pushDocstring(this.getDocTextForDocstring(doc));
|
|
397
471
|
this.push(`
|
|
398
472
|
export const ${varName}: $.Method<${reqTsType}, ${respTsType}>;\n\n`);
|
|
399
473
|
}
|
|
@@ -406,7 +480,7 @@ class TsModuleCodeGenerator {
|
|
|
406
480
|
number: ${number},
|
|
407
481
|
requestSerializer: ${reqSerializer},
|
|
408
482
|
responseSerializer: ${respSerializer},
|
|
409
|
-
doc: ${JSON.stringify(
|
|
483
|
+
doc: ${JSON.stringify(doc.text)},
|
|
410
484
|
};\n\n`);
|
|
411
485
|
}
|
|
412
486
|
}
|
|
@@ -532,7 +606,7 @@ class TsModuleCodeGenerator {
|
|
|
532
606
|
}
|
|
533
607
|
throw TypeError();
|
|
534
608
|
}
|
|
535
|
-
|
|
609
|
+
pushJsonLike(jsonLike) {
|
|
536
610
|
if (jsonLike instanceof JavascriptIdentifier) {
|
|
537
611
|
this.push(jsonLike.identifier);
|
|
538
612
|
}
|
|
@@ -542,7 +616,7 @@ class TsModuleCodeGenerator {
|
|
|
542
616
|
else if (Array.isArray(jsonLike)) {
|
|
543
617
|
this.push("[\n");
|
|
544
618
|
for (const item of jsonLike) {
|
|
545
|
-
this.
|
|
619
|
+
this.pushJsonLike(item);
|
|
546
620
|
this.push(",\n");
|
|
547
621
|
}
|
|
548
622
|
this.push("]");
|
|
@@ -554,7 +628,7 @@ class TsModuleCodeGenerator {
|
|
|
554
628
|
continue;
|
|
555
629
|
}
|
|
556
630
|
this.push(`${name}: `);
|
|
557
|
-
this.
|
|
631
|
+
this.pushJsonLike(value);
|
|
558
632
|
this.push(",\n");
|
|
559
633
|
}
|
|
560
634
|
this.push("}");
|
|
@@ -565,6 +639,7 @@ class TsModuleCodeGenerator {
|
|
|
565
639
|
const name = constant.name.text;
|
|
566
640
|
if (fileType === ".d.ts") {
|
|
567
641
|
const type = typeSpeller.getTsType(constant.type, "frozen");
|
|
642
|
+
this.pushDocstring(this.getDocTextForDocstring(constant.doc));
|
|
568
643
|
this.push(`export const ${name}: ${type};\n\n`);
|
|
569
644
|
}
|
|
570
645
|
else {
|
|
@@ -575,6 +650,41 @@ class TsModuleCodeGenerator {
|
|
|
575
650
|
this.push(");\n\n");
|
|
576
651
|
}
|
|
577
652
|
}
|
|
653
|
+
getDocTextForDocstring(doc) {
|
|
654
|
+
return doc.pieces
|
|
655
|
+
.map((p) => {
|
|
656
|
+
switch (p.kind) {
|
|
657
|
+
case "text":
|
|
658
|
+
return p.text;
|
|
659
|
+
case "reference":
|
|
660
|
+
return `\`${p.referenceRange.text.slice(1, -1)}\``;
|
|
661
|
+
}
|
|
662
|
+
})
|
|
663
|
+
.join("");
|
|
664
|
+
}
|
|
665
|
+
pushDocstring(textOrLines) {
|
|
666
|
+
const text = (typeof textOrLines === "string" ? textOrLines : textOrLines.join("\n"))
|
|
667
|
+
.replace(/^\s*\n+/g, "")
|
|
668
|
+
.replace(/\n+\s*$/g, "")
|
|
669
|
+
.replace(/\n{3,}/g, "\n\n")
|
|
670
|
+
.replace("*/", "* /");
|
|
671
|
+
if (text.length <= 0) {
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
const lines = text.split("\n");
|
|
675
|
+
const escape = (line) => line.replace(/\*\//g, "* /");
|
|
676
|
+
if (lines.length === 1) {
|
|
677
|
+
const line = escape(lines[0]);
|
|
678
|
+
this.push(`/** ${line} */\n`);
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
this.push("/**\n");
|
|
682
|
+
for (const line of lines.map(escape)) {
|
|
683
|
+
this.push(` * ${line}\n`);
|
|
684
|
+
}
|
|
685
|
+
this.push(" */\n");
|
|
686
|
+
}
|
|
687
|
+
}
|
|
578
688
|
push(code) {
|
|
579
689
|
this.code += code.trimStart();
|
|
580
690
|
}
|
|
@@ -629,9 +739,15 @@ class TsModuleCodeGenerator {
|
|
|
629
739
|
break;
|
|
630
740
|
}
|
|
631
741
|
}
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
742
|
+
let indent = indentUnit.repeat(contextStack.length);
|
|
743
|
+
if (line.startsWith("*")) {
|
|
744
|
+
// Docstring: make sure the stars are aligned.
|
|
745
|
+
indent += " ";
|
|
746
|
+
}
|
|
747
|
+
result += `${indent}${line}\n`;
|
|
748
|
+
if (line.startsWith("//") ||
|
|
749
|
+
line.startsWith("/*") ||
|
|
750
|
+
line.startsWith("*")) {
|
|
635
751
|
continue;
|
|
636
752
|
}
|
|
637
753
|
const lastChar = line.slice(-1);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,CAAC;AAW9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAKL,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC;IAC5B,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7D,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACzC,CAAC,CAAC;AAIH,MAAM,uBAAuB;IAA7B;QACW,OAAE,GAAG,qBAAqB,CAAC;QAC3B,eAAU,GAAG,MAAM,CAAC;IA2B/B,CAAC;IAzBC,YAAY,CAAC,KAAkC;QAC7C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACpC,MAAM,WAAW,GAA+B,EAAE,CAAC;QACnD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC3C,IAAI,EAAE,IAAI,qBAAqB,CAC7B,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,CACN,CAAC,QAAQ,EAAE;aACb,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;gBAC7C,IAAI,EAAE,IAAI,qBAAqB,CAC7B,MAAM,EACN,SAAS,EACT,MAAM,EACN,OAAO,CACR,CAAC,QAAQ,EAAE;aACb,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAChC,CAAC;CACF;AAED,gDAAgD;AAChD,MAAM,qBAAqB;IACzB,YACmB,QAAgB,EACjC,SAAiD,EAChC,MAAc,EACd,QAAyB;QAHzB,aAAQ,GAAR,QAAQ,CAAQ;QAEhB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAiB;QAi2BpC,SAAI,GAAG,EAAE,CAAC;QA/1BhB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,QAAQ;QACN,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;iCAYmB,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAC/C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,2BAA2B,aAAa,UAAU,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,4EAA4E;QAC5E,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC;YACN,qBAAqB,CAAC,SAAS;;YAE/B,qBAAqB,CAAC,SAAS;;;eAG5B,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACjB,CAAC,CAAC;gBACV,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC;;iBAED,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC;UACN,qBAAqB,CAAC,SAAS;;UAE/B,qBAAqB,CAAC,SAAS,MAAM,CAAC,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC;UACN,qBAAqB,CAAC,SAAS;;UAE/B,qBAAqB,CAAC,SAAS,MAAM,CAAC,CAAC;YAC3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC1C,CAAC;IAEO,uBAAuB;QAC7B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;QACpC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,6CAA6C;YAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,GAAG,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,YAAY;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC;YACpC,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5C,IAAI,MAAM,GACR,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBACrD,CAAC,mBAAmB,IAAI,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,KAAK,MAAM,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,UAAU,MAAM,MAAM,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,EAAE;iBACd,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;qBACrB,GAAG,CAAC,gCAAgC,CAAC;qBACrC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,MAAM,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,MAAsB;QAClD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC;QACN,qBAAqB,CAAC,SAAS;WAC5B,UAAU,IAAI,SAAS,CAAC,IAAI;QAC/B,qBAAqB,CAAC,SAAS,MAAM,CAAC,CAAC;QAE3C,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,MAAkB;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC;YACjB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC;YACvC,qDAAqD,SAAS,CAAC,IAAI,aAAa;YAChF,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,KAAK,4BAA4B,CAAC,CAAC;QAEhE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;IAC9B,CAAC;IAEO,8BAA8B,CAAC,MAAkB;QACvD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC;;uCAEyB,SAAS,CAAC,IAAI;;;;;;uBAM9B,SAAS,CAAC,IAAI;WAC1B,SAAS,CAAC,IAAI,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC;gBAC5C,MAAM,EACJ,aAAa,EACb,OAAO,EACP,eAAe,EACf,qBAAqB,GACtB,GAAG,cAAc,CAAC,SAAU,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC;oBACjB,6BAA6B,cAAc,CAAC,QAAQ,gBAAgB;oBACpE,iCAAiC,aAAa,KAAK;oBACnD,wEAAwE;oBACxE,+CAA+C;iBAChD,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,qBAAqB,KAAK,OAAO,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,MAAM,eAAe,iBAAiB,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;;;;;qBAKO,SAAS,CAAC,IAAI;;;iCAGF,SAAS,CAAC,IAAI;;6BAElB,SAAS,CAAC,IAAI;iDACM,SAAS,CAAC,IAAI;;;wCAGvB,SAAS,CAAC,KAAK,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACrD,CAAC;IAEO,oBAAoB,CAAC,UAAgC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,4EAA4E;QAC5E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,mBAAmB,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,UAAU,eAAe,CAAC,KAAK,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,MAAkB;QACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC;YACjB,wBAAwB,SAAS,CAAC,IAAI,OAAO;YAC7C,UAAU,SAAS,CAAC,IAAI,UAAU;SACnC,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,KAAK,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC;;;;;;kCAMoB,SAAS,CAAC,IAAI,+BAA+B,CAAC,CAAC;QAE7E,sBAAsB;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,+BAA+B;QAC/B,IAAI,uBAAuB,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,uBAAuB,EAAE,CAAC;gBAC5C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;IAC9B,CAAC;IAEO,iBAAiB,CAAC,QAAkB;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC;YACjB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC;YACzC,uBAAuB;YACvB,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;SACrD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,KAAK,0BAA0B,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;QAE5B,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,+BAA+B,CAAC,QAAkB;QACxD,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,GACnE,QAAQ,CAAC;QAEX,8BAA8B;QAC9B,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,CAChB,OAAO,CAAC,MAAM,KAAK,CAAC;gBAClB,CAAC,CAAC;oBACE,oCAAoC,SAAS,CAAC,IAAI,mBAAmB;oBACrE,sCAAsC,SAAS,CAAC,IAAI,KAAK;iBAC1D;gBACH,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAC7C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,QAAQ,MAAM,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,iCAAiC;QACjC,CAAC;YACC,MAAM,QAAQ,GAAG;gBACf,uBAAuB,SAAS,CAAC,IAAI,yCAAyC;aAC/E,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAI,CACX,oEAAoE,CACrE,CAAC;gBACF,QAAQ,CAAC,IAAI,CACX,kCAAkC;oBAChC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpD,GAAG,CACN,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,IAAI,MAAM,UAAU,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,IAAI,CACP;uBACiB,SAAS,CAAC,IAAI;WAC1B,SAAS,CAAC,IAAI,OAAO,CAC3B,CAAC;QAEF,uBAAuB;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,CAAC;YACjB,wDAAwD;YACxD,kEAAkE;YAClE,aAAa;gBACX,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,gEAAgE;SACrE,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,IAAI,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,CAAC,aAAa,CAAC,oBAAoB,SAAS,CAAC,IAAI,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,4CAA4C,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAEO,gCAAgC,CAAC,QAAkB;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,EACJ,SAAS,EACT,aAAa,EACb,eAAe,EAAE,aAAa,GAC/B,GAAG,QAAQ,CAAC;QACb,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;gCACkB,SAAS,CAAC,KAAK;;4BAEnB,CAAC,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,kBAAkB,CAAC;gBACrC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC;iBACC,KAAK,CAAC,UAAU;qBACZ,WAAW;cAClB,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAEO,oBAAoB,CAAC,KAAkB;QAC7C,IAAI,CAAC,aAAa,CAAC;YACjB,qBAAqB,KAAK,CAAC,QAAQ,0CAA0C;YAC7E,yDAAyD,KAAK,CAAC,QAAQ,oBAAoB;SAC5F,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,iBAAiB,OAAO,OAAO,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,2BAA2B,CAAC,MAAkB;QACpD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC;qBACO,SAAS,CAAC,KAAK,2BAA2B,CAAC,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,MAAM;gBACd,cAAc,EAAE,IAAI;gBACpB,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,QAAQ,MAAM,MAAM,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;IACjC,CAAC;IAEO,yBAAyB,CAAC,MAAkB;QAClD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,4BAA4B,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAChD,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CACP,eAAe,eAAe,CAAC,IAAI,MAAM,eAAe,CAAC,KAAK,KAAK,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;IAClC,CAAC;IAEO,0BAA0B,CAAC,MAAkB;QACnD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAErC,qCAAqC;QACrC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CACP,oEAAoE,CACrE,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,QAAQ,KAAK,IAAI,KAAK,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,CACP;qGAC6F,CAC9F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,qBAAqB;YACrB,IAAI,CAAC,IAAI,CACP;gDACwC,CACzC,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC;+BACiB,SAAS,CAAC,IAAI;8BACf,SAAS,CAAC,KAAK;gCACb,SAAS,CAAC,IAAI,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAEO,wBAAwB,CAAC,QAAkB;QACjD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,sBAAsB,QAAQ,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CACP,+EAA+E,eAAe,OAAO,CACtG,CAAC;QACF,IAAI,CAAC,aAAa,CAChB,eAAe,QAAQ,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,2BAA2B,aAAa,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,WAAW,CAAC,MAAc;QAChC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,WAAY,EAAE,QAAQ,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,YAAa,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC;uBACO,OAAO,cAAc,SAAS,KAAK,UAAU,QAAQ,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAY,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC;uBACO,OAAO;mBACX,IAAI;oBACH,MAAM;+BACK,aAAa;gCACZ,cAAc;iBAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;eAC1B,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAkB;QAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,OAAO,GAAG,SAAS,CAAC,KAAK,aAAa,CAAC;YACzC,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO,qBAAqB,IAAI,GAAG,CAAC;YACtC,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,OAAO,wBAAwB,KAAK,GAAG,CAAC;YAC1C,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,OAAO,0BAA0B,IAAI,CAAC,SAAS,IAAI,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAEO,aAAa,CAAC,MAAsB;QAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,UAAU,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAkB;QACtC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QACrD,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/C,MAAM,EAAE,IAAI,oBAAoB,CAAC,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1D,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,UAAU,EAAE,gBAAgB;gBAC1B,CAAC,CAAC,IAAI,oBAAoB,CAAC,gBAAgB,CAAC;gBAC5C,CAAC,CAAC,SAAS;YACb,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAClD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,KAAK,CAAC,YAAY;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAChD,aAAa,EAAE,KAAK,CAAC,gBAAgB;oBACnC,CAAC,CAAC,KAAK,CAAC,iBAAiB;oBACzB,CAAC,CAAC,SAAS;gBACb,SAAS,EAAE,KAAK,CAAC,SAAS;oBACxB,CAAC,CAAC;wBACE,YAAY,EAAE,KAAK,CAAC,gBAAgB;wBACpC,KAAK,EAAE,IAAI,oBAAoB,CAC7B,UAAU,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAC1C;wBACD,aAAa,EACX,KAAK,CAAC,SAAS,CAAC,kBAAkB,KAAK,GAAG;4BACxC,CAAC,CAAC,IAAI,oBAAoB,CACtB,UAAU,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAC/C;4BACH,CAAC,CAAC,SAAS;qBAChB;oBACH,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YACH,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SACnE,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,QAAkB;QACpC,MAAM,EACJ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,GAChB,GAAG,QAAQ,CAAC;QACb,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/C,aAAa,EAAE,aAAa;gBAC1B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,oBAAoB,CAAC,gBAAgB,SAAS,CAAC,KAAK,EAAE,CAAC;YAC/D,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,UAAU,EAAE,gBAAgB;gBAC1B,CAAC,CAAC,IAAI,oBAAoB,CAAC,gBAAgB,CAAC;gBAC5C,CAAC,CAAC,SAAS;YACb,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACtD,QAAQ,EAAE,gBAAgB;iBACvB,GAAG,CACF,CAAC,OAAO,EAAE,EAAE,CACV,CAAC;gBACC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACrD,CAAa,CACjB;iBACA,MAAM,CACL,eAAe,CAAC,GAAG,CACjB,CAAC,OAAO,EAAE,EAAE,CACV,CAAC;gBACC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACpD,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aACrC,CAAa,CACjB,CACF;YACH,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SACnE,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,IAAkB;QACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC;iBAChD,CAAC;YACJ,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC5C,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,QAAkB;QACrC,IAAI,QAAQ,YAAY,oBAAoB,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,QAAkB;QACtC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAK,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,IAAI,OAAO,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,mBAAmB,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAIO,sBAAsB,CAAC,GAAQ;QACrC,OAAO,GAAG,CAAC,MAAM;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,MAAM;oBACT,OAAO,CAAC,CAAC,IAAI,CAAC;gBAChB,KAAK,WAAW;oBACd,OAAO,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,WAAuC;QAC3D,MAAM,IAAI,GAAG,CACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE;aACE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;aAC1B,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IACpB,CAAC;IAEO,yBAAyB;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,wEAAwE;QACxE,uCAAuC;QACvC,MAAM,YAAY,GAA6C,EAAE,CAAC;QAClE,8CAA8C;QAC9C,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QACnD,MAAM,sBAAsB,GAAG,CAAC,CAAwB,EAAU,EAAE;YAClE,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;gBACb,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;gBACb,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;gBACb,KAAK,GAAG;oBACN,OAAO,GAAG,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QACF,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,4BAA4B;gBAC5B,MAAM,IAAI,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBAC/C,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;wBACnC,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BAC7B,MAAM,KAAK,EAAE,CAAC;wBAChB,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,IAAI,OAAO,EAAE,KAAK,GAAG,EAAE,CAAC;wBACtB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,8CAA8C;gBAC9C,MAAM,IAAI,GAAG,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,IAAI,CAAC;YAC/B,IACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EACpB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,iCAAiC;oBACjC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBACD,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,IAAI,OAAO,EAAE,KAAK,GAAG,EAAE,CAAC;wBACtB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,IAAI,OAAO,EAAE,KAAK,GAAG,IAAI,OAAO,EAAE,KAAK,GAAG,EAAE,CAAC;wBAC3C,YAAY,CAAC,GAAG,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CACL,MAAM;YACJ,uEAAuE;aACtE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;YAC1B,uEAAuE;aACtE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;YAC1B,wEAAwE;aACvE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;YAC1B,qDAAqD;aACpD,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC;YAC7B,sDAAsD;aACrD,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC;YAC7B,oCAAoC;aACnC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC3B,CAAC;IACJ,CAAC;;AA1JuB,+BAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,AAAxC,CAAyC;AAgK5E,MAAM,oBAAoB;IACxB,YAAqB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;CAC5C;AAWD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC"}
|
package/dist/record_info.d.ts
CHANGED
|
@@ -34,8 +34,6 @@ export interface EnumInfo {
|
|
|
34
34
|
readonly constantVariants: readonly EnumConstantVariant[];
|
|
35
35
|
readonly wrapperVariants: readonly EnumWrapperVariant[];
|
|
36
36
|
readonly kindType: TsType;
|
|
37
|
-
/** Union of `undefined` and the frozen type of all the wrapper variants. */
|
|
38
|
-
readonly valueType: TsType;
|
|
39
37
|
readonly initializerType: TsType;
|
|
40
38
|
readonly valueOnlyInitializerType: TsType;
|
|
41
39
|
readonly unionViewType: TsType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record_info.d.ts","sourceRoot":"","sources":["../src/record_info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAGH,SAAS,EACT,cAAc,EAEd,YAAY,EAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAgB,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,aAAa,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3C,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,EAAE,SAAS,WAAW,EAAE,CAAC;IACzD,gDAAgD;IAChD,QAAQ,CAAC,eAAe,EAAE,SAAS,WAAW,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,aAAa,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3C,kEAAkE;IAClE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1D,QAAQ,CAAC,eAAe,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"record_info.d.ts","sourceRoot":"","sources":["../src/record_info.ts"],"names":[],"mappings":"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"}
|
package/dist/record_info.js
CHANGED
|
@@ -109,7 +109,6 @@ class RecordInfoCreator {
|
|
|
109
109
|
const constantVariants = [];
|
|
110
110
|
const wrapperVariants = [];
|
|
111
111
|
const typesInKindTypeUnion = [];
|
|
112
|
-
const typesInValueTypeUnion = [TsType.UNDEFINED];
|
|
113
112
|
const typesInInitializerUnion = [];
|
|
114
113
|
const typesInValueOnlyInitializerUnion = [];
|
|
115
114
|
const typesInUnionView = [];
|
|
@@ -146,7 +145,6 @@ class RecordInfoCreator {
|
|
|
146
145
|
const nameLiteral = TsType.literal(name);
|
|
147
146
|
const { frozen, initializer } = enumVariant.tsTypes;
|
|
148
147
|
wrapperVariants.push(enumVariant);
|
|
149
|
-
typesInValueTypeUnion.push(frozen);
|
|
150
148
|
typesInKindTypeUnion.push(nameLiteral);
|
|
151
149
|
typesInInitializerUnion.push(TsType.inlineInterface({
|
|
152
150
|
kind: nameLiteral,
|
|
@@ -172,7 +170,6 @@ class RecordInfoCreator {
|
|
|
172
170
|
constantVariants: constantVariants,
|
|
173
171
|
wrapperVariants: wrapperVariants,
|
|
174
172
|
kindType: TsType.union(typesInKindTypeUnion),
|
|
175
|
-
valueType: TsType.union(typesInValueTypeUnion),
|
|
176
173
|
initializerType: TsType.union(typesInInitializerUnion),
|
|
177
174
|
valueOnlyInitializerType: TsType.union(typesInValueOnlyInitializerUnion),
|
|
178
175
|
unionViewType: TsType.union(typesInUnionView),
|
package/dist/record_info.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record_info.js","sourceRoot":"","sources":["../src/record_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,UAAU,EACV,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"record_info.js","sourceRoot":"","sources":["../src/record_info.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skir-typescript-gen",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"repository": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build": "tsc",
|
|
25
25
|
"build:e2e-test": "tsc -b e2e-test",
|
|
26
26
|
"format-skir": "cd e2e-test && skir format && cd ..",
|
|
27
|
-
"format-skir:check": "cd e2e-test && skir format
|
|
27
|
+
"format-skir:check": "cd e2e-test && skir format --ci && cd ..",
|
|
28
28
|
"format": "prettier --write \"**/*.ts\" && npm run format-skir",
|
|
29
29
|
"format:check": "prettier --check \"**/*.ts\" && npm run format-skir:check",
|
|
30
30
|
"test": "npm run build && cd e2e-test && skir gen && npm run build:e2e-test && cd .. && mocha",
|
|
@@ -32,21 +32,25 @@
|
|
|
32
32
|
"lint:fix": "eslint src/**/*.ts --fix"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"skir-internal": "^0.0.
|
|
35
|
+
"skir-internal": "^0.0.8",
|
|
36
|
+
"zod": "^4.2.1"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
|
-
"@
|
|
39
|
-
"@types/
|
|
40
|
-
"@
|
|
41
|
-
"@typescript-eslint/
|
|
39
|
+
"@eslint/js": "^9.39.2",
|
|
40
|
+
"@types/mocha": "^10.0.1",
|
|
41
|
+
"@types/node": "^20.6.0",
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
43
|
+
"@typescript-eslint/parser": "^8.50.1",
|
|
42
44
|
"buckwheat": "^1.1.2",
|
|
43
|
-
"eslint": "^
|
|
44
|
-
"mocha": "^
|
|
45
|
+
"eslint": "^9.39.2",
|
|
46
|
+
"mocha": "^11.7.5",
|
|
45
47
|
"prettier": "^3.2.4",
|
|
46
48
|
"prettier-plugin-organize-imports": "^4.2.0",
|
|
47
|
-
"skir": "^0.0.
|
|
48
|
-
"skir-client": "^0.0.
|
|
49
|
+
"skir": "^0.0.7",
|
|
50
|
+
"skir-client": "^0.0.10",
|
|
49
51
|
"ts-node": "^10.9.2",
|
|
50
|
-
"
|
|
52
|
+
"tsx": "^4.21.0",
|
|
53
|
+
"typescript": "^5.2.2",
|
|
54
|
+
"typescript-eslint": "^8.50.1"
|
|
51
55
|
}
|
|
52
56
|
}
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as paths from "path";
|
|
|
2
2
|
import type {
|
|
3
3
|
CodeGenerator,
|
|
4
4
|
Constant,
|
|
5
|
+
Doc,
|
|
5
6
|
Method,
|
|
6
7
|
Module,
|
|
7
8
|
RecordKey,
|
|
@@ -20,21 +21,16 @@ import {
|
|
|
20
21
|
} from "./record_info.js";
|
|
21
22
|
import { TypeSpeller } from "./type_speller.js";
|
|
22
23
|
|
|
23
|
-
const Config = z.
|
|
24
|
-
importPathExtension: z.
|
|
25
|
-
z.literal(""),
|
|
26
|
-
z.literal(".js"),
|
|
27
|
-
z.literal(".ts"),
|
|
28
|
-
]),
|
|
24
|
+
const Config = z.strictObject({
|
|
25
|
+
importPathExtension: z.optional(z.string().regex(/(|\.js)$/)),
|
|
29
26
|
clientModulePath: z.optional(z.string()),
|
|
30
27
|
});
|
|
31
28
|
|
|
32
29
|
type Config = z.infer<typeof Config>;
|
|
33
30
|
|
|
34
31
|
class TypescriptCodeGenerator implements CodeGenerator<Config> {
|
|
35
|
-
readonly id = "typescript";
|
|
32
|
+
readonly id = "skir-typescript-gen";
|
|
36
33
|
readonly configType = Config;
|
|
37
|
-
readonly version = "1.0.0";
|
|
38
34
|
|
|
39
35
|
generateCode(input: CodeGenerator.Input<Config>): CodeGenerator.Output {
|
|
40
36
|
const { recordMap, config } = input;
|
|
@@ -84,12 +80,20 @@ class TsModuleCodeGenerator {
|
|
|
84
80
|
// | |/ / | (_) | | | | || (_) || |_ | __/| (_| || || |_
|
|
85
81
|
// |___/ \\___/ |_| |_| \\___/ \\__| \\___| \\__,_||_| \\__|
|
|
86
82
|
//
|
|
87
|
-
|
|
83
|
+
// Generated by skir-typescript-gen
|
|
84
|
+
// Home: https://github.com/gepheum/skir-typescript-gen
|
|
85
|
+
//
|
|
88
86
|
// To install the Skir client library:
|
|
89
|
-
// npm i skir
|
|
90
|
-
|
|
91
|
-
|
|
87
|
+
// npm i skir-client\n\n`);
|
|
88
|
+
|
|
89
|
+
if (this.fileType === ".js") {
|
|
90
|
+
const typesFileName = paths.basename(
|
|
91
|
+
this.inModule.path.replace(/\.skir$/, ".d.ts"),
|
|
92
|
+
);
|
|
93
|
+
this.push(`/// <reference types="./${typesFileName}" />\n\n`);
|
|
94
|
+
}
|
|
92
95
|
|
|
96
|
+
this.push(`import * as $ from "${this.resolveClientModulePath()}";\n`);
|
|
93
97
|
this.writeImports();
|
|
94
98
|
|
|
95
99
|
for (const recordLocation of this.inModule.records) {
|
|
@@ -108,7 +112,7 @@ class TsModuleCodeGenerator {
|
|
|
108
112
|
"${this.inModule.path}",
|
|
109
113
|
[\n`);
|
|
110
114
|
for (const recordLocation of this.inModule.records) {
|
|
111
|
-
this.
|
|
115
|
+
this.pushJsonLike(this.getRecordSpec(recordLocation));
|
|
112
116
|
this.push(",\n");
|
|
113
117
|
}
|
|
114
118
|
this.push(`
|
|
@@ -161,8 +165,8 @@ class TsModuleCodeGenerator {
|
|
|
161
165
|
const [path, importedNames] = entry;
|
|
162
166
|
const { importPathExtension } = this.config;
|
|
163
167
|
let tsPath =
|
|
164
|
-
paths.relative(thisPath, path).replace(/\.skir
|
|
165
|
-
importPathExtension;
|
|
168
|
+
paths.relative(thisPath, path).replace(/\.skir$/, "") +
|
|
169
|
+
(importPathExtension ?? ".js");
|
|
166
170
|
if (!tsPath.startsWith(".")) {
|
|
167
171
|
tsPath = `./${tsPath}`;
|
|
168
172
|
}
|
|
@@ -209,9 +213,12 @@ class TsModuleCodeGenerator {
|
|
|
209
213
|
private writeFrozenClassForStruct(struct: StructInfo): void {
|
|
210
214
|
const { fileType } = this;
|
|
211
215
|
const { className } = struct;
|
|
212
|
-
this.
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
this.pushDocstring([
|
|
217
|
+
this.getDocTextForDocstring(struct.doc),
|
|
218
|
+
`\nDeeply immutable. If you need mutability, use \`${className.type}.Mutable\`.`,
|
|
219
|
+
className.isNested ? `\n@alias ${className.type}` : "",
|
|
220
|
+
]);
|
|
221
|
+
this.push(!className.isNested ? "export " : "");
|
|
215
222
|
if (fileType === ".d.ts") {
|
|
216
223
|
this.push("declare ");
|
|
217
224
|
}
|
|
@@ -227,19 +234,36 @@ class TsModuleCodeGenerator {
|
|
|
227
234
|
private declarePropertiesOfFrozenClass(struct: StructInfo): void {
|
|
228
235
|
const { className, fields, indexableFields } = struct;
|
|
229
236
|
this.push(`
|
|
237
|
+
/**
|
|
238
|
+
* Creates a new instance of \`${className.type}\`.
|
|
239
|
+
*
|
|
240
|
+
* You must specify all the fields unless you use \`create<"partial">({...})>\`,
|
|
241
|
+
* in which case missing fields are set to their default values.
|
|
242
|
+
*/
|
|
230
243
|
static create<_Wholeness extends "whole" | "partial" = "whole">(
|
|
231
244
|
initializer: ${className.type}.Initializer<_Wholeness>
|
|
232
245
|
): ${className.type};\n\n`);
|
|
233
246
|
this.push("private constructor();\n\n");
|
|
234
247
|
for (const field of fields) {
|
|
248
|
+
this.pushDocstring(this.getDocTextForDocstring(field.doc));
|
|
235
249
|
this.push(`readonly ${field.property}: ${field.tsTypes.frozen};\n`);
|
|
236
250
|
}
|
|
237
251
|
this.pushEol();
|
|
238
252
|
if (indexableFields.length) {
|
|
239
253
|
for (const indexableField of indexableFields) {
|
|
240
254
|
const { searchMethodName } = indexableField;
|
|
241
|
-
const {
|
|
242
|
-
|
|
255
|
+
const {
|
|
256
|
+
keyExpression,
|
|
257
|
+
keyType,
|
|
258
|
+
frozenValueType,
|
|
259
|
+
searchMethodParamName,
|
|
260
|
+
} = indexableField.indexable!;
|
|
261
|
+
this.pushDocstring([
|
|
262
|
+
`Searches for an item of \`${indexableField.property}\` by its key.`,
|
|
263
|
+
`The key of an item \`v\` is \`${keyExpression}\`.`,
|
|
264
|
+
"If multiple items share the same key, the last occurrence is returned.",
|
|
265
|
+
"Returns `undefined` if the key was not found.",
|
|
266
|
+
]);
|
|
243
267
|
this.push(`${searchMethodName}(`);
|
|
244
268
|
this.push(`${searchMethodParamName}: ${keyType}`);
|
|
245
269
|
this.push(`): ${frozenValueType} | undefined;\n`);
|
|
@@ -247,12 +271,19 @@ class TsModuleCodeGenerator {
|
|
|
247
271
|
this.pushEol();
|
|
248
272
|
}
|
|
249
273
|
this.push(`
|
|
274
|
+
/** Returns this instance (no-op). */
|
|
250
275
|
toFrozen(): this;
|
|
276
|
+
|
|
277
|
+
/** Returns a mutable shallow copy of this instance. */
|
|
251
278
|
toMutable(): ${className.type}.Mutable;
|
|
252
279
|
|
|
280
|
+
/** Default instance with all fields set to their default values. */
|
|
253
281
|
static readonly DEFAULT: ${className.type};
|
|
282
|
+
|
|
283
|
+
/** Serializer for \`${className.type}\` instances. */
|
|
254
284
|
static readonly serializer: $.Serializer<${className.type}>;
|
|
255
285
|
|
|
286
|
+
/** Mutable version of this class. */
|
|
256
287
|
static readonly Mutable: typeof ${className.value}_Mutable;\n`);
|
|
257
288
|
this.declareNestedClasses(struct.nestedRecords);
|
|
258
289
|
this.pushEol();
|
|
@@ -262,6 +293,7 @@ class TsModuleCodeGenerator {
|
|
|
262
293
|
}
|
|
263
294
|
|
|
264
295
|
private declareNestedClasses(nestedKeys: readonly RecordKey[]): void {
|
|
296
|
+
this.pushEol();
|
|
265
297
|
const { typeSpeller } = this;
|
|
266
298
|
// Export the constructor of every nested class as a property of this class.
|
|
267
299
|
for (const nestedKey of nestedKeys) {
|
|
@@ -274,16 +306,25 @@ class TsModuleCodeGenerator {
|
|
|
274
306
|
private declareMutableClassForStruct(struct: StructInfo): void {
|
|
275
307
|
const { fileType } = this;
|
|
276
308
|
const { className, fields, fieldsWithMutableGetter } = struct;
|
|
277
|
-
this.
|
|
309
|
+
this.pushDocstring([
|
|
310
|
+
`Mutable version of \`${className.type}\`.\n`,
|
|
311
|
+
`@alias ${className.type}.Mutable`,
|
|
312
|
+
]);
|
|
278
313
|
if (fileType === ".d.ts") {
|
|
279
314
|
this.push("declare ");
|
|
280
315
|
}
|
|
281
316
|
this.push(`class ${className.value}_Mutable {\n`);
|
|
282
317
|
this.push(`
|
|
318
|
+
/**
|
|
319
|
+
* Creates a new mutable instance.
|
|
320
|
+
*
|
|
321
|
+
* Fields not specified in \`initializer\` will be set to their default values.
|
|
322
|
+
*/
|
|
283
323
|
constructor(initializer?: ${className.type}.Initializer<"partial">);\n\n`);
|
|
284
324
|
|
|
285
325
|
// Declare the fields.
|
|
286
326
|
for (const field of fields) {
|
|
327
|
+
this.pushDocstring(this.getDocTextForDocstring(field.doc));
|
|
287
328
|
const type = field.tsTypes["maybe-mutable"];
|
|
288
329
|
this.push(`${field.property}: ${type};\n`);
|
|
289
330
|
}
|
|
@@ -297,9 +338,8 @@ class TsModuleCodeGenerator {
|
|
|
297
338
|
this.pushEol();
|
|
298
339
|
}
|
|
299
340
|
|
|
300
|
-
this.
|
|
301
|
-
|
|
302
|
-
toMutable(): this;\n`);
|
|
341
|
+
this.pushDocstring("Returns a deeply-immutable copy of this instance.");
|
|
342
|
+
this.push(`toFrozen(): ${className.type};\n`);
|
|
303
343
|
this.pushEol();
|
|
304
344
|
this.push("readonly [$._INITIALIZER]: ");
|
|
305
345
|
this.push(`${className.type}.Initializer | undefined;\n`);
|
|
@@ -309,9 +349,12 @@ class TsModuleCodeGenerator {
|
|
|
309
349
|
private writeClassForEnum(enumInfo: EnumInfo): void {
|
|
310
350
|
const { fileType } = this;
|
|
311
351
|
const { className } = enumInfo;
|
|
312
|
-
this.
|
|
313
|
-
|
|
314
|
-
|
|
352
|
+
this.pushDocstring([
|
|
353
|
+
this.getDocTextForDocstring(enumInfo.doc),
|
|
354
|
+
"\nDeeply immutable.\n",
|
|
355
|
+
className.isNested ? `@alias ${className.type}` : "",
|
|
356
|
+
]);
|
|
357
|
+
this.push(!className.isNested ? "export " : "");
|
|
315
358
|
if (fileType === ".d.ts") {
|
|
316
359
|
this.push("declare ");
|
|
317
360
|
}
|
|
@@ -327,33 +370,66 @@ class TsModuleCodeGenerator {
|
|
|
327
370
|
}
|
|
328
371
|
|
|
329
372
|
private declarePropertiesOfClassForEnum(enumInfo: EnumInfo): void {
|
|
330
|
-
const {
|
|
331
|
-
|
|
332
|
-
constantVariants: constantFields,
|
|
333
|
-
onlyConstants,
|
|
334
|
-
} = enumInfo;
|
|
373
|
+
const { className, constantVariants, onlyConstants, wrapperVariants } =
|
|
374
|
+
enumInfo;
|
|
335
375
|
|
|
336
376
|
// Declare the enum constants.
|
|
337
|
-
for (const
|
|
338
|
-
this.
|
|
377
|
+
for (const variant of constantVariants) {
|
|
378
|
+
this.pushDocstring(
|
|
379
|
+
variant.number === 0
|
|
380
|
+
? [
|
|
381
|
+
`Constant indicating an unknown \`${className.type}\` (kind: '?').\n`,
|
|
382
|
+
`Default value for fields of type \`${className.type}\`.`,
|
|
383
|
+
]
|
|
384
|
+
: this.getDocTextForDocstring(variant.doc),
|
|
385
|
+
);
|
|
386
|
+
this.push(`static readonly ${variant.property}: ${className.type};\n`);
|
|
339
387
|
}
|
|
340
388
|
this.pushEol();
|
|
341
389
|
|
|
342
390
|
// Declare the `create` function.
|
|
391
|
+
{
|
|
392
|
+
const docLines = [
|
|
393
|
+
`Gets or creates a \`${className.type}\` instance from the given initializer.`,
|
|
394
|
+
];
|
|
395
|
+
if (!onlyConstants) {
|
|
396
|
+
docLines.push(
|
|
397
|
+
"To create wrapper variants, use `create({kind: ..., value: ...})`.",
|
|
398
|
+
);
|
|
399
|
+
docLines.push(
|
|
400
|
+
"Possible values for `kind` are: " +
|
|
401
|
+
wrapperVariants.map((v) => `'${v.name}'`).join(", ") +
|
|
402
|
+
".",
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
for (const variant of wrapperVariants) {
|
|
406
|
+
if (variant.doc.text.length <= 0) {
|
|
407
|
+
continue;
|
|
408
|
+
}
|
|
409
|
+
const variantDoc = this.getDocTextForDocstring(variant.doc);
|
|
410
|
+
docLines.push(`Doc for '${variant.name}': ${variantDoc}`);
|
|
411
|
+
}
|
|
412
|
+
this.pushDocstring(docLines);
|
|
413
|
+
}
|
|
343
414
|
this.push(
|
|
344
415
|
`static create<_Wholeness extends "whole" | "partial" = "whole">(
|
|
345
416
|
initializer: ${className.type}.Initializer<_Wholeness>
|
|
346
417
|
): ${className.type};\n\n`,
|
|
347
418
|
);
|
|
348
419
|
|
|
349
|
-
// Declare the `
|
|
350
|
-
this.
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
420
|
+
// Declare the `union`.
|
|
421
|
+
this.pushEol();
|
|
422
|
+
this.pushDocstring([
|
|
423
|
+
"This instance as the union of all the variant types.\n",
|
|
424
|
+
"Use `union.kind` to determine the variant held by this instance.",
|
|
425
|
+
onlyConstants
|
|
426
|
+
? ""
|
|
427
|
+
: "If it's a wrapper variant, 'union.value' is the wrapped value.",
|
|
428
|
+
]);
|
|
429
|
+
this.push(`declare readonly union: ${className.type}.UnionView;\n`);
|
|
355
430
|
this.pushEol();
|
|
356
431
|
|
|
432
|
+
this.pushDocstring(`Serializer for \`${className.type}\` instances.`);
|
|
357
433
|
this.push(`static readonly serializer: $.Serializer<${className.type}>;\n`);
|
|
358
434
|
this.declareNestedClasses(enumInfo.nestedRecords);
|
|
359
435
|
}
|
|
@@ -388,8 +464,13 @@ class TsModuleCodeGenerator {
|
|
|
388
464
|
}
|
|
389
465
|
|
|
390
466
|
private declareMutableGetter(field: StructField): void {
|
|
467
|
+
this.pushDocstring([
|
|
468
|
+
`If the value of \`${field.property}\` is already mutable, returns it as-is.`,
|
|
469
|
+
`Otherwise, makes a mutable copy, assigns it back to \`${field.property}\` and returns it.`,
|
|
470
|
+
]);
|
|
391
471
|
const { mutable } = field.tsTypes;
|
|
392
472
|
this.push(`get ${field.mutableGetterName}(): ${mutable};\n`);
|
|
473
|
+
this.pushEol();
|
|
393
474
|
}
|
|
394
475
|
|
|
395
476
|
private defineInitFunctionForStruct(record: StructInfo): void {
|
|
@@ -443,6 +524,7 @@ class TsModuleCodeGenerator {
|
|
|
443
524
|
);
|
|
444
525
|
for (const field of fields) {
|
|
445
526
|
const type = field.tsTypes.initializer;
|
|
527
|
+
this.pushDocstring(this.getDocTextForDocstring(field.doc));
|
|
446
528
|
this.push(`readonly ${field.property}: ${type};\n`);
|
|
447
529
|
}
|
|
448
530
|
this.push("}\n\n");
|
|
@@ -461,33 +543,33 @@ class TsModuleCodeGenerator {
|
|
|
461
543
|
|
|
462
544
|
// Declare the Mutable and OrMutable types.
|
|
463
545
|
this.push(`
|
|
546
|
+
/** Mutable version of ${className.type}. */
|
|
464
547
|
export type Mutable = ${className.value}_Mutable;
|
|
465
548
|
export type OrMutable = ${className.name} | Mutable;\n\n`);
|
|
466
549
|
}
|
|
467
550
|
|
|
468
551
|
private declareEnumSpecificTypes(enumInfo: EnumInfo): void {
|
|
469
|
-
const { initializerType, kindType,
|
|
470
|
-
|
|
552
|
+
const { initializerType, kindType, unionViewType } = enumInfo;
|
|
553
|
+
this.pushDocstring("Identifies a variant.");
|
|
471
554
|
this.push(`export type Kind = ${kindType};\n\n`);
|
|
472
|
-
if (!onlyConstants) {
|
|
473
|
-
this.push(`export type Value = ${enumInfo.valueType};\n\n`);
|
|
474
|
-
}
|
|
475
555
|
this.push(
|
|
476
556
|
`export type Initializer<_Wholeness extends "whole" | "partial" = "whole"> = ${initializerType};\n\n`,
|
|
477
557
|
);
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
558
|
+
this.pushDocstring(
|
|
559
|
+
`View of a \`${enumInfo.className.type}\` as a union type.`,
|
|
560
|
+
);
|
|
561
|
+
this.push(`export type UnionView = ${unionViewType};\n\n`);
|
|
481
562
|
}
|
|
482
563
|
|
|
483
564
|
private writeMethod(method: Method): void {
|
|
484
565
|
const { fileType, typeSpeller } = this;
|
|
485
|
-
const { number, requestType, responseType } = method;
|
|
566
|
+
const { doc, number, requestType, responseType } = method;
|
|
486
567
|
const name = method.name.text;
|
|
487
568
|
const varName = maybeEscapeTopLevelUpperCaseName(name);
|
|
488
569
|
if (fileType === ".d.ts") {
|
|
489
570
|
const reqTsType = typeSpeller.getTsType(requestType!, "frozen");
|
|
490
571
|
const respTsType = typeSpeller.getTsType(responseType!, "frozen");
|
|
572
|
+
this.pushDocstring(this.getDocTextForDocstring(doc));
|
|
491
573
|
this.push(`
|
|
492
574
|
export const ${varName}: $.Method<${reqTsType}, ${respTsType}>;\n\n`);
|
|
493
575
|
} else {
|
|
@@ -499,7 +581,7 @@ class TsModuleCodeGenerator {
|
|
|
499
581
|
number: ${number},
|
|
500
582
|
requestSerializer: ${reqSerializer},
|
|
501
583
|
responseSerializer: ${respSerializer},
|
|
502
|
-
doc: ${JSON.stringify(
|
|
584
|
+
doc: ${JSON.stringify(doc.text)},
|
|
503
585
|
};\n\n`);
|
|
504
586
|
}
|
|
505
587
|
}
|
|
@@ -649,7 +731,7 @@ class TsModuleCodeGenerator {
|
|
|
649
731
|
throw TypeError();
|
|
650
732
|
}
|
|
651
733
|
|
|
652
|
-
private
|
|
734
|
+
private pushJsonLike(jsonLike: JsonLike): void {
|
|
653
735
|
if (jsonLike instanceof JavascriptIdentifier) {
|
|
654
736
|
this.push(jsonLike.identifier);
|
|
655
737
|
} else if (typeof jsonLike === "string" || typeof jsonLike === "number") {
|
|
@@ -657,7 +739,7 @@ class TsModuleCodeGenerator {
|
|
|
657
739
|
} else if (Array.isArray(jsonLike)) {
|
|
658
740
|
this.push("[\n");
|
|
659
741
|
for (const item of jsonLike) {
|
|
660
|
-
this.
|
|
742
|
+
this.pushJsonLike(item);
|
|
661
743
|
this.push(",\n");
|
|
662
744
|
}
|
|
663
745
|
this.push("]");
|
|
@@ -668,7 +750,7 @@ class TsModuleCodeGenerator {
|
|
|
668
750
|
continue;
|
|
669
751
|
}
|
|
670
752
|
this.push(`${name}: `);
|
|
671
|
-
this.
|
|
753
|
+
this.pushJsonLike(value);
|
|
672
754
|
this.push(",\n");
|
|
673
755
|
}
|
|
674
756
|
this.push("}");
|
|
@@ -680,6 +762,7 @@ class TsModuleCodeGenerator {
|
|
|
680
762
|
const name = constant.name.text;
|
|
681
763
|
if (fileType === ".d.ts") {
|
|
682
764
|
const type = typeSpeller.getTsType(constant.type!, "frozen");
|
|
765
|
+
this.pushDocstring(this.getDocTextForDocstring(constant.doc));
|
|
683
766
|
this.push(`export const ${name}: ${type};\n\n`);
|
|
684
767
|
} else {
|
|
685
768
|
this.push(`export const ${name} = /*@__PURE__*/ `);
|
|
@@ -692,6 +775,46 @@ class TsModuleCodeGenerator {
|
|
|
692
775
|
|
|
693
776
|
private static readonly SEPARATOR = `// ${"-".repeat(80 - "// ".length)}`;
|
|
694
777
|
|
|
778
|
+
private getDocTextForDocstring(doc: Doc): string {
|
|
779
|
+
return doc.pieces
|
|
780
|
+
.map((p) => {
|
|
781
|
+
switch (p.kind) {
|
|
782
|
+
case "text":
|
|
783
|
+
return p.text;
|
|
784
|
+
case "reference":
|
|
785
|
+
return `\`${p.referenceRange.text.slice(1, -1)}\``;
|
|
786
|
+
}
|
|
787
|
+
})
|
|
788
|
+
.join("");
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
private pushDocstring(textOrLines: string | readonly string[]): void {
|
|
792
|
+
const text = (
|
|
793
|
+
typeof textOrLines === "string" ? textOrLines : textOrLines.join("\n")
|
|
794
|
+
)
|
|
795
|
+
.replace(/^\s*\n+/g, "")
|
|
796
|
+
.replace(/\n+\s*$/g, "")
|
|
797
|
+
.replace(/\n{3,}/g, "\n\n")
|
|
798
|
+
.replace("*/", "* /");
|
|
799
|
+
|
|
800
|
+
if (text.length <= 0) {
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
const lines = text.split("\n");
|
|
805
|
+
const escape = (line: string): string => line.replace(/\*\//g, "* /");
|
|
806
|
+
if (lines.length === 1) {
|
|
807
|
+
const line = escape(lines[0]!);
|
|
808
|
+
this.push(`/** ${line} */\n`);
|
|
809
|
+
} else {
|
|
810
|
+
this.push("/**\n");
|
|
811
|
+
for (const line of lines.map(escape)) {
|
|
812
|
+
this.push(` * ${line}\n`);
|
|
813
|
+
}
|
|
814
|
+
this.push(" */\n");
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
|
|
695
818
|
private push(code: string): void {
|
|
696
819
|
this.code += code.trimStart();
|
|
697
820
|
}
|
|
@@ -749,9 +872,17 @@ class TsModuleCodeGenerator {
|
|
|
749
872
|
break;
|
|
750
873
|
}
|
|
751
874
|
}
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
875
|
+
let indent = indentUnit.repeat(contextStack.length);
|
|
876
|
+
if (line.startsWith("*")) {
|
|
877
|
+
// Docstring: make sure the stars are aligned.
|
|
878
|
+
indent += " ";
|
|
879
|
+
}
|
|
880
|
+
result += `${indent}${line}\n`;
|
|
881
|
+
if (
|
|
882
|
+
line.startsWith("//") ||
|
|
883
|
+
line.startsWith("/*") ||
|
|
884
|
+
line.startsWith("*")
|
|
885
|
+
) {
|
|
755
886
|
continue;
|
|
756
887
|
}
|
|
757
888
|
const lastChar = line.slice(-1);
|
package/src/record_info.ts
CHANGED
|
@@ -50,8 +50,6 @@ export interface EnumInfo {
|
|
|
50
50
|
readonly constantVariants: readonly EnumConstantVariant[];
|
|
51
51
|
readonly wrapperVariants: readonly EnumWrapperVariant[];
|
|
52
52
|
readonly kindType: TsType;
|
|
53
|
-
/** Union of `undefined` and the frozen type of all the wrapper variants. */
|
|
54
|
-
readonly valueType: TsType;
|
|
55
53
|
readonly initializerType: TsType;
|
|
56
54
|
readonly valueOnlyInitializerType: TsType;
|
|
57
55
|
readonly unionViewType: TsType;
|
|
@@ -270,7 +268,6 @@ class RecordInfoCreator {
|
|
|
270
268
|
const constantVariants: EnumConstantVariant[] = [];
|
|
271
269
|
const wrapperVariants: EnumWrapperVariant[] = [];
|
|
272
270
|
const typesInKindTypeUnion: TsType[] = [];
|
|
273
|
-
const typesInValueTypeUnion: TsType[] = [TsType.UNDEFINED];
|
|
274
271
|
const typesInInitializerUnion: TsType[] = [];
|
|
275
272
|
const typesInValueOnlyInitializerUnion: TsType[] = [];
|
|
276
273
|
const typesInUnionView: TsType[] = [];
|
|
@@ -311,7 +308,6 @@ class RecordInfoCreator {
|
|
|
311
308
|
const nameLiteral = TsType.literal(name);
|
|
312
309
|
const { frozen, initializer } = enumVariant.tsTypes;
|
|
313
310
|
wrapperVariants.push(enumVariant);
|
|
314
|
-
typesInValueTypeUnion.push(frozen);
|
|
315
311
|
typesInKindTypeUnion.push(nameLiteral);
|
|
316
312
|
typesInInitializerUnion.push(
|
|
317
313
|
TsType.inlineInterface({
|
|
@@ -344,7 +340,6 @@ class RecordInfoCreator {
|
|
|
344
340
|
constantVariants: constantVariants,
|
|
345
341
|
wrapperVariants: wrapperVariants,
|
|
346
342
|
kindType: TsType.union(typesInKindTypeUnion),
|
|
347
|
-
valueType: TsType.union(typesInValueTypeUnion),
|
|
348
343
|
initializerType: TsType.union(typesInInitializerUnion),
|
|
349
344
|
valueOnlyInitializerType: TsType.union(typesInValueOnlyInitializerUnion),
|
|
350
345
|
unionViewType: TsType.union(typesInUnionView),
|