zinfer 0.2.7 → 1.0.0-next.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 (67) hide show
  1. package/README.md +1 -1
  2. package/dist/core/brand-detector.d.ts +2 -21
  3. package/dist/core/brand-detector.d.ts.map +1 -1
  4. package/dist/core/brand-detector.js +40 -67
  5. package/dist/core/brand-detector.js.map +1 -1
  6. package/dist/core/config-loader.d.ts.map +1 -1
  7. package/dist/core/description-extractor.d.ts +0 -22
  8. package/dist/core/description-extractor.d.ts.map +1 -1
  9. package/dist/core/description-extractor.js +21 -110
  10. package/dist/core/description-extractor.js.map +1 -1
  11. package/dist/core/errors.d.ts.map +1 -1
  12. package/dist/core/errors.js +1 -28
  13. package/dist/core/errors.js.map +1 -1
  14. package/dist/core/extractor.d.ts +3 -37
  15. package/dist/core/extractor.d.ts.map +1 -1
  16. package/dist/core/extractor.js +42 -178
  17. package/dist/core/extractor.js.map +1 -1
  18. package/dist/core/file-resolver.d.ts.map +1 -1
  19. package/dist/core/file-resolver.js.map +1 -1
  20. package/dist/core/getter-resolver.d.ts +2 -46
  21. package/dist/core/getter-resolver.d.ts.map +1 -1
  22. package/dist/core/getter-resolver.js +33 -85
  23. package/dist/core/getter-resolver.js.map +1 -1
  24. package/dist/core/import-resolver.d.ts +10 -30
  25. package/dist/core/import-resolver.d.ts.map +1 -1
  26. package/dist/core/import-resolver.js +59 -112
  27. package/dist/core/import-resolver.js.map +1 -1
  28. package/dist/core/index.d.ts +0 -2
  29. package/dist/core/index.d.ts.map +1 -1
  30. package/dist/core/index.js +0 -2
  31. package/dist/core/index.js.map +1 -1
  32. package/dist/core/logger.d.ts +0 -6
  33. package/dist/core/logger.d.ts.map +1 -1
  34. package/dist/core/logger.js +2 -9
  35. package/dist/core/logger.js.map +1 -1
  36. package/dist/core/name-mapper.d.ts.map +1 -1
  37. package/dist/core/name-mapper.js.map +1 -1
  38. package/dist/core/schema-detector.d.ts +10 -30
  39. package/dist/core/schema-detector.d.ts.map +1 -1
  40. package/dist/core/schema-detector.js +60 -82
  41. package/dist/core/schema-detector.js.map +1 -1
  42. package/dist/core/schema-reference-analyzer.d.ts +2 -56
  43. package/dist/core/schema-reference-analyzer.d.ts.map +1 -1
  44. package/dist/core/schema-reference-analyzer.js +89 -137
  45. package/dist/core/schema-reference-analyzer.js.map +1 -1
  46. package/dist/core/test-generator.d.ts.map +1 -1
  47. package/dist/core/test-generator.js.map +1 -1
  48. package/dist/core/ts-host.d.ts +38 -0
  49. package/dist/core/ts-host.d.ts.map +1 -0
  50. package/dist/core/ts-host.js +2 -0
  51. package/dist/core/ts-host.js.map +1 -0
  52. package/dist/core/tsgo-ast-utils.d.ts +12 -0
  53. package/dist/core/tsgo-ast-utils.d.ts.map +1 -0
  54. package/dist/core/tsgo-ast-utils.js +43 -0
  55. package/dist/core/tsgo-ast-utils.js.map +1 -0
  56. package/dist/core/tsgo-host.d.ts +72 -0
  57. package/dist/core/tsgo-host.d.ts.map +1 -0
  58. package/dist/core/tsgo-host.js +232 -0
  59. package/dist/core/tsgo-host.js.map +1 -0
  60. package/dist/core/type-printer.d.ts.map +1 -1
  61. package/dist/core/type-printer.js +8 -13
  62. package/dist/core/type-printer.js.map +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +1 -1
  66. package/dist/index.js.map +1 -1
  67. package/package.json +7 -7
@@ -12,10 +12,11 @@ export interface ExtractOptions {
12
12
  tsconfigPath?: string;
13
13
  }
14
14
  /**
15
- * Extracts input and output types from Zod schemas using TypeScript Compiler API.
15
+ * Extracts input and output types from Zod schemas using TypeScript's native
16
+ * tsgo/Corsa API (`@typescript/native-preview`). See issue #200.
16
17
  */
17
18
  export declare class ZodTypeExtractor {
18
- private project;
19
+ private host;
19
20
  private schemaDetector;
20
21
  private getterResolver;
21
22
  private referenceAnalyzer;
@@ -77,47 +78,12 @@ export declare class ZodTypeExtractor {
77
78
  * Replaces an inline schema reference with a type name.
78
79
  */
79
80
  private replaceSchemaReference;
80
- /**
81
- * Injects temporary type for explicit type (without normalization for circular refs).
82
- */
83
- private injectExplicitType;
84
- /**
85
- * Cleans up explicit type temporaries.
86
- */
87
- private cleanupExplicitType;
88
- /**
89
- * Creates a ts-morph Project with appropriate compiler options.
90
- */
91
- private createProject;
92
- /**
93
- * Injects the __Normalize type definition into a source file if not already present.
94
- */
95
- private ensureNormalizeType;
96
- /**
97
- * Removes the __Normalize type definition from a source file.
98
- */
99
- private cleanupNormalizeType;
100
- /**
101
- * Injects temporary type aliases into the source file.
102
- * The __Normalize type must already be present (via ensureNormalizeType).
103
- * These are added in-memory only and never saved to disk.
104
- */
105
- private injectTemporaryTypes;
106
- /**
107
- * Resolves a type alias and returns its fully expanded string representation.
108
- */
109
- private resolveType;
110
81
  /**
111
82
  * Simplifies Zod internal function types to Function.
112
83
  * Replaces patterns like z.core.$InferInnerFunctionType<...> with Function.
113
84
  * Handles nested type parameters properly.
114
85
  */
115
86
  private simplifyZodFunctionTypes;
116
- /**
117
- * Removes the temporary input/output types that were injected during extraction.
118
- * Does not remove __Normalize (managed separately via ensureNormalizeType/cleanupNormalizeType).
119
- */
120
- private cleanupTemporaryTypes;
121
87
  /**
122
88
  * Escapes special characters in a string for use in a RegExp.
123
89
  */
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/core/extractor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAGnF,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAwD;IAEnF;;;;;OAKG;IACH,YAAY,YAAY,CAAC,EAAE,MAAM,EAOhC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAW9C;IAED;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAK5C;IAED;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CASxE;IAED;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAK/C;IAED;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzC;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiQrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8E9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAqDnB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAiDhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/core/extractor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAGnF,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAwD;IAEnF;;;;;OAKG;gBACS,YAAY,CAAC,EAAE,MAAM;IASjC;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa;IAa/C;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAO7C;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAWzE;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB;IAOhD;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAI1C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAuQrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8E9B;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAiDhC;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -1,16 +1,17 @@
1
- import { Project, TypeFormatFlags, ts } from "ts-morph";
2
- import { NORMALIZE_TYPE_DEFINITION, createTempTypeAlias } from "./normalizer.js";
1
+ import { createTempTypeAlias } from "./normalizer.js";
3
2
  import { SchemaDetector } from "./schema-detector.js";
4
3
  import { GetterResolver } from "./getter-resolver.js";
5
4
  import { SchemaReferenceAnalyzer } from "./schema-reference-analyzer.js";
6
5
  import { ImportResolver } from "./import-resolver.js";
7
6
  import { BrandDetector } from "./brand-detector.js";
7
+ import { TsgoHost } from "./tsgo-host.js";
8
8
  import { logDebugError } from "./logger.js";
9
9
  /**
10
- * Extracts input and output types from Zod schemas using TypeScript Compiler API.
10
+ * Extracts input and output types from Zod schemas using TypeScript's native
11
+ * tsgo/Corsa API (`@typescript/native-preview`). See issue #200.
11
12
  */
12
13
  export class ZodTypeExtractor {
13
- project;
14
+ host;
14
15
  schemaDetector;
15
16
  getterResolver;
16
17
  referenceAnalyzer;
@@ -24,7 +25,7 @@ export class ZodTypeExtractor {
24
25
  * default compiler options will be used.
25
26
  */
26
27
  constructor(tsconfigPath) {
27
- this.project = this.createProject(tsconfigPath);
28
+ this.host = new TsgoHost(tsconfigPath);
28
29
  this.schemaDetector = new SchemaDetector();
29
30
  this.getterResolver = new GetterResolver();
30
31
  this.referenceAnalyzer = new SchemaReferenceAnalyzer();
@@ -98,7 +99,7 @@ export class ZodTypeExtractor {
98
99
  * Gets or adds a source file to the project.
99
100
  */
100
101
  getOrAddSourceFile(filePath) {
101
- return this.project.getSourceFile(filePath) ?? this.project.addSourceFileAtPath(filePath);
102
+ return this.host.getSourceFile(filePath);
102
103
  }
103
104
  /**
104
105
  * Internal method to extract multiple schemas from a source file.
@@ -106,7 +107,7 @@ export class ZodTypeExtractor {
106
107
  extractMultipleFromSourceFile(sourceFile, schemas) {
107
108
  const results = [];
108
109
  // Find and resolve imported schemas
109
- const importedSchemas = this.importResolver.findImportedSchemas(sourceFile, this.project);
110
+ const importedSchemas = this.importResolver.findImportedSchemas(sourceFile, this.host.project);
110
111
  // Build schema names set including imports
111
112
  const schemaNames = new Set(schemas.map((s) => s.name));
112
113
  for (const localName of importedSchemas.keys()) {
@@ -121,7 +122,7 @@ export class ZodTypeExtractor {
121
122
  // First pass: extract raw types for all schemas
122
123
  const rawTypes = new Map();
123
124
  // Inject __Normalize once for the main source file
124
- this.ensureNormalizeType(sourceFile);
125
+ this.host.ensureNormalizeType(sourceFile);
125
126
  // Extract types from imported schemas first
126
127
  for (const [localName, importInfo] of importedSchemas) {
127
128
  if (!importInfo.resolved)
@@ -137,14 +138,17 @@ export class ZodTypeExtractor {
137
138
  });
138
139
  continue;
139
140
  }
140
- const importedSourceFile = this.project.getSourceFile(importInfo.sourceFilePath);
141
+ const importedSourceFile = this.host.tryGetSourceFile(importInfo.sourceFilePath);
141
142
  if (!importedSourceFile)
142
143
  continue;
143
- this.ensureNormalizeType(importedSourceFile);
144
+ this.host.ensureNormalizeType(importedSourceFile);
144
145
  try {
145
- this.injectTemporaryTypes(importedSourceFile, importInfo.originalName);
146
- const inputType = this.resolveType(importedSourceFile, "__TempInput");
147
- const outputType = this.resolveType(importedSourceFile, "__TempOutput");
146
+ const resolved = this.host.resolveTypes(importedSourceFile, [
147
+ createTempTypeAlias(importInfo.originalName, "input"),
148
+ createTempTypeAlias(importInfo.originalName, "output"),
149
+ ], ["__TempInput", "__TempOutput"]);
150
+ const inputType = this.simplifyZodFunctionTypes(resolved.get("__TempInput") ?? "");
151
+ const outputType = this.simplifyZodFunctionTypes(resolved.get("__TempOutput") ?? "");
148
152
  // Cache the result
149
153
  this.importedSchemaCache.set(cacheKey, { input: inputType, output: outputType });
150
154
  // Use local name as the key (how it's referenced in current file)
@@ -158,54 +162,43 @@ export class ZodTypeExtractor {
158
162
  logDebugError(`Failed to extract imported schema "${localName}"`, error);
159
163
  }
160
164
  finally {
161
- this.cleanupTemporaryTypes(importedSourceFile);
162
- this.cleanupNormalizeType(importedSourceFile);
165
+ this.host.cleanupNormalizeType(importedSourceFile);
163
166
  }
164
167
  }
165
168
  // Extract types from local schemas
166
169
  for (const schema of schemas) {
167
170
  const { name: schemaName, explicitType, isExported } = schema;
168
171
  if (explicitType) {
169
- this.injectExplicitType(sourceFile, explicitType);
170
- try {
171
- const resolvedType = this.resolveType(sourceFile, "__TempExplicit");
172
- rawTypes.set(schemaName, {
173
- input: resolvedType,
174
- output: resolvedType,
175
- isExported,
176
- });
177
- }
178
- finally {
179
- this.cleanupExplicitType(sourceFile);
180
- }
172
+ const resolved = this.host.resolveTypes(sourceFile, [`type __TempExplicit = ${explicitType};`], ["__TempExplicit"]);
173
+ const resolvedType = this.simplifyZodFunctionTypes(resolved.get("__TempExplicit") ?? "");
174
+ rawTypes.set(schemaName, {
175
+ input: resolvedType,
176
+ output: resolvedType,
177
+ isExported,
178
+ });
181
179
  continue;
182
180
  }
183
- this.injectTemporaryTypes(sourceFile, schemaName);
184
- try {
185
- let inputType = this.resolveType(sourceFile, "__TempInput");
186
- let outputType = this.resolveType(sourceFile, "__TempOutput");
187
- // Resolve getter-based self-references
188
- const getterFields = getterFieldMap.get(schemaName);
189
- if (getterFields && this.getterResolver.hasSelfReferences(getterFields)) {
190
- const inputTypeName = `${schemaName}Input`;
191
- const outputTypeName = `${schemaName}Output`;
192
- const originalInputType = inputType;
193
- inputType = this.getterResolver.resolveAnyTypes(inputType, getterFields, inputTypeName);
194
- if (outputType === "any") {
195
- outputType = this.getterResolver.resolveAnyTypes(originalInputType, getterFields, outputTypeName);
196
- }
197
- else {
198
- outputType = this.getterResolver.resolveAnyTypes(outputType, getterFields, outputTypeName);
199
- }
181
+ const resolved = this.host.resolveTypes(sourceFile, [createTempTypeAlias(schemaName, "input"), createTempTypeAlias(schemaName, "output")], ["__TempInput", "__TempOutput"]);
182
+ let inputType = this.simplifyZodFunctionTypes(resolved.get("__TempInput") ?? "");
183
+ let outputType = this.simplifyZodFunctionTypes(resolved.get("__TempOutput") ?? "");
184
+ // Resolve getter-based self-references
185
+ const getterFields = getterFieldMap.get(schemaName);
186
+ if (getterFields && this.getterResolver.hasSelfReferences(getterFields)) {
187
+ const inputTypeName = `${schemaName}Input`;
188
+ const outputTypeName = `${schemaName}Output`;
189
+ const originalInputType = inputType;
190
+ inputType = this.getterResolver.resolveAnyTypes(inputType, getterFields, inputTypeName);
191
+ if (outputType === "any") {
192
+ outputType = this.getterResolver.resolveAnyTypes(originalInputType, getterFields, outputTypeName);
193
+ }
194
+ else {
195
+ outputType = this.getterResolver.resolveAnyTypes(outputType, getterFields, outputTypeName);
200
196
  }
201
- rawTypes.set(schemaName, { input: inputType, output: outputType, isExported });
202
- }
203
- finally {
204
- this.cleanupTemporaryTypes(sourceFile);
205
197
  }
198
+ rawTypes.set(schemaName, { input: inputType, output: outputType, isExported });
206
199
  }
207
200
  // Clean up __Normalize from the main source file after all schemas are processed
208
- this.cleanupNormalizeType(sourceFile);
201
+ this.host.cleanupNormalizeType(sourceFile);
209
202
  const schemasByName = new Map(schemas.map((schema) => [schema.name, schema]));
210
203
  const resolvedTypes = new Map();
211
204
  const resolvingSchemas = new Set();
@@ -379,123 +372,6 @@ export class ZodTypeExtractor {
379
372
  }
380
373
  return typeStr;
381
374
  }
382
- /**
383
- * Injects temporary type for explicit type (without normalization for circular refs).
384
- */
385
- injectExplicitType(sourceFile, explicitType) {
386
- // Don't normalize - use the type directly to preserve circular references
387
- sourceFile.addStatements([`type __TempExplicit = ${explicitType};`]);
388
- }
389
- /**
390
- * Cleans up explicit type temporaries.
391
- */
392
- cleanupExplicitType(sourceFile) {
393
- const typeAlias = sourceFile.getTypeAlias("__TempExplicit");
394
- if (typeAlias) {
395
- typeAlias.remove();
396
- }
397
- }
398
- /**
399
- * Creates a ts-morph Project with appropriate compiler options.
400
- */
401
- createProject(tsconfigPath) {
402
- if (tsconfigPath) {
403
- return new Project({
404
- tsConfigFilePath: tsconfigPath,
405
- skipAddingFilesFromTsConfig: true,
406
- skipFileDependencyResolution: true,
407
- });
408
- }
409
- return new Project({
410
- skipFileDependencyResolution: true,
411
- compilerOptions: {
412
- strict: true,
413
- target: ts.ScriptTarget.ESNext,
414
- module: ts.ModuleKind.ESNext,
415
- moduleResolution: ts.ModuleResolutionKind.Bundler,
416
- esModuleInterop: true,
417
- skipLibCheck: true,
418
- },
419
- });
420
- }
421
- /**
422
- * Injects the __Normalize type definition into a source file if not already present.
423
- */
424
- ensureNormalizeType(sourceFile) {
425
- if (!sourceFile.getTypeAlias("__Normalize")) {
426
- sourceFile.addStatements([NORMALIZE_TYPE_DEFINITION]);
427
- }
428
- }
429
- /**
430
- * Removes the __Normalize type definition from a source file.
431
- */
432
- cleanupNormalizeType(sourceFile) {
433
- const typeAlias = sourceFile.getTypeAlias("__Normalize");
434
- if (typeAlias) {
435
- typeAlias.remove();
436
- }
437
- }
438
- /**
439
- * Injects temporary type aliases into the source file.
440
- * The __Normalize type must already be present (via ensureNormalizeType).
441
- * These are added in-memory only and never saved to disk.
442
- */
443
- injectTemporaryTypes(sourceFile, schemaName) {
444
- sourceFile.addStatements([
445
- createTempTypeAlias(schemaName, "input"),
446
- createTempTypeAlias(schemaName, "output"),
447
- ]);
448
- }
449
- /**
450
- * Resolves a type alias and returns its fully expanded string representation.
451
- */
452
- resolveType(sourceFile, typeName) {
453
- const typeAlias = sourceFile.getTypeAlias(typeName);
454
- if (!typeAlias) {
455
- throw new Error(`Failed to find type alias: ${typeName}`);
456
- }
457
- const type = typeAlias.getType();
458
- // Use TypeFormatFlags to get the fully expanded type without truncation
459
- // Don't use UseAliasDefinedOutsideCurrentScope to expand enum types
460
- const formatFlags = TypeFormatFlags.NoTruncation | TypeFormatFlags.InTypeAlias;
461
- let rawType = type.getText(typeAlias, formatFlags);
462
- // Remove trailing spaces from each line (ts-morph 27+ may add them)
463
- // Skip split/map/join for single-line types (most common case)
464
- if (rawType.includes("\n")) {
465
- rawType = rawType
466
- .split("\n")
467
- .map((line) => line.trimEnd())
468
- .join("\n");
469
- }
470
- else {
471
- rawType = rawType.trimEnd();
472
- }
473
- // Expand enum types: if the type is a single identifier, check if it's an enum
474
- if (/^[A-Z][a-zA-Z0-9]*$/.test(rawType)) {
475
- const enumDecl = sourceFile.getEnum(rawType);
476
- if (enumDecl) {
477
- // Extract enum values
478
- const members = enumDecl.getMembers();
479
- const values = members
480
- .map((member) => {
481
- const value = member.getValue();
482
- if (typeof value === "string") {
483
- return `"${value}"`;
484
- }
485
- else if (typeof value === "number") {
486
- return value.toString();
487
- }
488
- return null;
489
- })
490
- .filter(Boolean);
491
- if (values.length > 0) {
492
- rawType = values.join(" | ");
493
- }
494
- }
495
- }
496
- // Post-process to simplify Zod internal function types
497
- return this.simplifyZodFunctionTypes(rawType);
498
- }
499
375
  /**
500
376
  * Simplifies Zod internal function types to Function.
501
377
  * Replaces patterns like z.core.$InferInnerFunctionType<...> with Function.
@@ -544,18 +420,6 @@ export class ZodTypeExtractor {
544
420
  }
545
421
  return result;
546
422
  }
547
- /**
548
- * Removes the temporary input/output types that were injected during extraction.
549
- * Does not remove __Normalize (managed separately via ensureNormalizeType/cleanupNormalizeType).
550
- */
551
- cleanupTemporaryTypes(sourceFile) {
552
- for (const name of ["__TempInput", "__TempOutput"]) {
553
- const typeAlias = sourceFile.getTypeAlias(name);
554
- if (typeAlias) {
555
- typeAlias.remove();
556
- }
557
- }
558
- }
559
423
  /**
560
424
  * Escapes special characters in a string for use in a RegExp.
561
425
  */
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/core/extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/core/extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-resolver.d.ts","sourceRoot":"","sources":["../../src/core/file-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;IAED;;;;;;;OAOG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,MAAsB,GAC1B,MAAM,CAoCR;IAED;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAUvF;CACF"}
1
+ {"version":3,"file":"file-resolver.d.ts","sourceRoot":"","sources":["../../src/core/file-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;;OAMG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBpB;;;;;;;OAOG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,MAAsB,GAC1B,MAAM;IAsCT;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;CAWzF"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-resolver.js","sourceRoot":"","sources":["../../src/core/file-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-resolver.js","sourceRoot":"","sources":["../../src/core/file-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,67 +1,23 @@
1
- import { SourceFile } from "ts-morph";
1
+ import type { SourceFile } from "@typescript/native-preview/unstable/ast";
2
2
  /**
3
- * Information about a getter field in a z.object schema.
3
+ * GetterResolver, implemented against the tsgo/Corsa `ast` API. See issue #200.
4
4
  */
5
5
  export interface GetterFieldInfo {
6
- /** Referenced schema name */
7
6
  refSchema: string;
8
- /** Whether the reference is wrapped in z.array() */
9
7
  isArray: boolean;
10
- /** Whether the reference is wrapped in z.record() */
11
8
  isRecord: boolean;
12
- /** Whether the field is optional (.optional() or .nullable()) */
13
9
  isOptional: boolean;
14
- /** Whether this is a self-reference */
15
10
  isSelfRef: boolean;
16
11
  }
17
- /**
18
- * Mapping of schema name to its getter field information.
19
- */
20
12
  export type GetterFieldMap = Map<string, Map<string, GetterFieldInfo>>;
21
- /**
22
- * Detects and resolves getter-based recursive patterns in Zod schemas.
23
- */
24
13
  export declare class GetterResolver {
25
- /**
26
- * Analyzes a source file to find getter field mappings.
27
- *
28
- * @param sourceFile - The ts-morph SourceFile to analyze
29
- * @returns Map of schema name to field info
30
- */
31
14
  analyzeGetterFields(sourceFile: SourceFile, schemaNames?: Set<string>): GetterFieldMap;
32
- /**
33
- * Extracts getter field info from AST nodes.
34
- */
35
15
  private extractGetterFieldsFromAST;
36
- /**
37
- * Parses the return expression AST to extract schema reference info.
38
- */
39
16
  private parseReturnExpressionAST;
40
- /**
41
- * Extracts schema reference from an argument node.
42
- */
43
17
  private extractSchemaRef;
44
- /**
45
- * Resolves `any` types in extracted type string by replacing with self-references.
46
- * Uses structured parsing instead of regex.
47
- *
48
- * @param typeStr - The extracted type string with `any` placeholders
49
- * @param getterFields - Map of field name to getter field info
50
- * @param typeName - The generated type name to use for self-references
51
- * @returns The resolved type string with proper self-references
52
- */
53
18
  resolveAnyTypes(typeStr: string, getterFields: Map<string, GetterFieldInfo>, typeName: string): string;
54
- /**
55
- * Replaces any type in a record field.
56
- */
57
19
  private replaceRecordAny;
58
- /**
59
- * Replaces any type in a regular field.
60
- */
61
20
  private replaceFieldAny;
62
- /**
63
- * Checks if a schema has getter-based self-references.
64
- */
65
21
  hasSelfReferences(getterFields: Map<string, GetterFieldInfo>): boolean;
66
22
  }
67
23
  //# sourceMappingURL=getter-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getter-resolver.d.ts","sourceRoot":"","sources":["../../src/core/getter-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8D,MAAM,UAAU,CAAC;AAElG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAEvE;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc,CAqBrF;IAED;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA2BlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyEhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;OAQG;IACH,eAAe,CACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAC1C,QAAQ,EAAE,MAAM,GACf,MAAM,CAkBR;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuDvB;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,OAAO,CAErE;CACF"}
1
+ {"version":3,"file":"getter-resolver.d.ts","sourceRoot":"","sources":["../../src/core/getter-resolver.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAKV,UAAU,EAEX,MAAM,yCAAyC,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAEvE,qBAAa,cAAc;IACzB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc;IAuBtF,OAAO,CAAC,0BAA0B;IA+BlC,OAAO,CAAC,wBAAwB;IAuEhC,OAAO,CAAC,gBAAgB;IAOxB,eAAe,CACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAC1C,QAAQ,EAAE,MAAM,GACf,MAAM;IAkBT,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,eAAe;IAkDvB,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,OAAO;CAGvE"}