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.
- package/README.md +1 -1
- package/dist/core/brand-detector.d.ts +2 -21
- package/dist/core/brand-detector.d.ts.map +1 -1
- package/dist/core/brand-detector.js +40 -67
- package/dist/core/brand-detector.js.map +1 -1
- package/dist/core/config-loader.d.ts.map +1 -1
- package/dist/core/description-extractor.d.ts +0 -22
- package/dist/core/description-extractor.d.ts.map +1 -1
- package/dist/core/description-extractor.js +21 -110
- package/dist/core/description-extractor.js.map +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +1 -28
- package/dist/core/errors.js.map +1 -1
- package/dist/core/extractor.d.ts +3 -37
- package/dist/core/extractor.d.ts.map +1 -1
- package/dist/core/extractor.js +42 -178
- package/dist/core/extractor.js.map +1 -1
- package/dist/core/file-resolver.d.ts.map +1 -1
- package/dist/core/file-resolver.js.map +1 -1
- package/dist/core/getter-resolver.d.ts +2 -46
- package/dist/core/getter-resolver.d.ts.map +1 -1
- package/dist/core/getter-resolver.js +33 -85
- package/dist/core/getter-resolver.js.map +1 -1
- package/dist/core/import-resolver.d.ts +10 -30
- package/dist/core/import-resolver.d.ts.map +1 -1
- package/dist/core/import-resolver.js +59 -112
- package/dist/core/import-resolver.js.map +1 -1
- package/dist/core/index.d.ts +0 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +0 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts +0 -6
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +2 -9
- package/dist/core/logger.js.map +1 -1
- package/dist/core/name-mapper.d.ts.map +1 -1
- package/dist/core/name-mapper.js.map +1 -1
- package/dist/core/schema-detector.d.ts +10 -30
- package/dist/core/schema-detector.d.ts.map +1 -1
- package/dist/core/schema-detector.js +60 -82
- package/dist/core/schema-detector.js.map +1 -1
- package/dist/core/schema-reference-analyzer.d.ts +2 -56
- package/dist/core/schema-reference-analyzer.d.ts.map +1 -1
- package/dist/core/schema-reference-analyzer.js +89 -137
- package/dist/core/schema-reference-analyzer.js.map +1 -1
- package/dist/core/test-generator.d.ts.map +1 -1
- package/dist/core/test-generator.js.map +1 -1
- package/dist/core/ts-host.d.ts +38 -0
- package/dist/core/ts-host.d.ts.map +1 -0
- package/dist/core/ts-host.js +2 -0
- package/dist/core/ts-host.js.map +1 -0
- package/dist/core/tsgo-ast-utils.d.ts +12 -0
- package/dist/core/tsgo-ast-utils.d.ts.map +1 -0
- package/dist/core/tsgo-ast-utils.js +43 -0
- package/dist/core/tsgo-ast-utils.js.map +1 -0
- package/dist/core/tsgo-host.d.ts +72 -0
- package/dist/core/tsgo-host.d.ts.map +1 -0
- package/dist/core/tsgo-host.js +232 -0
- package/dist/core/tsgo-host.js.map +1 -0
- package/dist/core/type-printer.d.ts.map +1 -1
- package/dist/core/type-printer.js +8 -13
- package/dist/core/type-printer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/core/extractor.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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":"
|
|
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"}
|
package/dist/core/extractor.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
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
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
146
|
-
|
|
147
|
-
|
|
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.
|
|
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.
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAA4B,MAAM,gCAAgC,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAkB5C;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,IAAI,CAAW;IACf,cAAc,CAAiB;IAC/B,cAAc,CAAiB;IAC/B,iBAAiB,CAA0B;IAC3C,cAAc,CAAiB;IAC/B,aAAa,CAAgB;IAC7B,mBAAmB,GAAG,IAAI,GAAG,EAA6C,CAAC;IAEnF;;;;;OAKG;IACH,YAAY,YAAqB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAuB;QAC7B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAEzC,mEAAmE;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,QAAgB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,QAAgB,EAAE,WAAqB;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACtD,OAAO,KAAK,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,QAAgB;QAC1B,OAAO;YACL,QAAQ;YACR,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;SACnC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,QAAgB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,6BAA6B,CACnC,UAAsB,EACtB,OAAyB;QAEzB,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,oCAAoC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/F,2CAA2C;QAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,gDAAgD;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAExF,wEAAwE;QACxE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,GACpE,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEvE,uBAAuB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE1E,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkE,CAAC;QAE3F,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE1C,4CAA4C;QAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,eAAe,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAAE,SAAS;YAEnC,wDAAwD;YACxD,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;oBACtB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACjF,IAAI,CAAC,kBAAkB;gBAAE,SAAS;YAElC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CACrC,kBAAkB,EAClB;oBACE,mBAAmB,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;oBACrD,mBAAmB,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC;iBACvD,EACD,CAAC,aAAa,EAAE,cAAc,CAAC,CAChC,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErF,mBAAmB;gBACnB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAEjF,kEAAkE;gBAClE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;oBACtB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,KAAK,EAAE,wCAAwC;iBAC5D,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,sCAAsC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE9D,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CACrC,UAAU,EACV,CAAC,yBAAyB,YAAY,GAAG,CAAC,EAC1C,CAAC,gBAAgB,CAAC,CACnB,CAAC;gBACF,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzF,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;oBACvB,KAAK,EAAE,YAAY;oBACnB,MAAM,EAAE,YAAY;oBACpB,UAAU;iBACX,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CACrC,UAAU,EACV,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EACrF,CAAC,aAAa,EAAE,cAAc,CAAC,CAChC,CAAC;YACF,IAAI,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACjF,IAAI,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YAEnF,uCAAuC;YACvC,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxE,MAAM,aAAa,GAAG,GAAG,UAAU,OAAO,CAAC;gBAC3C,MAAM,cAAc,GAAG,GAAG,UAAU,QAAQ,CAAC;gBAC7C,MAAM,iBAAiB,GAAG,SAAS,CAAC;gBAEpC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAExF,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;oBACzB,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAC9C,iBAAiB,EACjB,YAAY,EACZ,cAAc,CACf,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAC9C,UAAU,EACV,YAAY,EACZ,cAAc,CACf,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,iFAAiF;QACjF,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6C,CAAC;QAC3E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE3C,MAAM,kBAAkB,GAAG,CACzB,UAAkB,EAC6B,EAAE;YACjD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAE3B,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YAClD,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEjC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEnD,MAAM,kBAAkB,GACtB,QAAQ;gBACR,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;oBACzE,CAAC,CAAC,QAAQ,CAAC,gBAAgB;wBACzB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BACnE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gCACrC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU;oCAAE,OAAO,KAAK,CAAC;gCACnD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAC1C,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,UAAU,CACjD,CAAC;4BACJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEd,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBACnC,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,IAAI,eAAe,GAAG,IAAI,CAAC;gBAE3B,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACvC,IAAI,CAAC,SAAS;wBAAE,SAAS;oBAEzB,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;wBACzB,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC;wBACpC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAC;wBACtC,SAAS;oBACX,CAAC;oBAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAClD,IAAI,CAAC,cAAc;wBAAE,SAAS;oBAC9B,IACE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC;wBAC/C,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,QAAQ,CAAC,EACjD,CAAC;wBACD,eAAe,GAAG,KAAK,CAAC;wBACxB,MAAM;oBACR,CAAC;oBACD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBACxC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,eAAe,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC7E,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,EAAE,UAAU;oBAAE,SAAS;gBAElC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,SAAS,OAAO,CAAC,CAAC;gBACvF,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,QAAQ,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;YACjE,IAAI,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBACxD,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,MAAM,eAAe,KAAK,EAAE,GAAG,CAAC,CAAC;gBACpE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;gBAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,UAAU,QAAQ,CAAC,CAAC;YAClE,CAAC;YAED,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACnC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,wEAAwE;QACxE,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,UAAU,EAAE,KAAK,EAAE,uCAAuC;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,+DAA+D;QAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,wCAAwC;YACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU;gBACV,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,OAAe,EACf,GAAwB,EACxB,UAAkB,EAClB,WAAmB;QAEnB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QAE7C,6BAA6B;QAC7B,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,GAAG,GAAG,WAAW,IAAI,CAAC;QACnC,CAAC;QAED,uCAAuC;QACvC,MAAM,aAAa,GAAG,CAAC,GAAG,SAAS,IAAI,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;QAE5D,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,SAAS;YAEzB,MAAM,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAExC,8DAA8D;YAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,UAAU,CAAC;YACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAE7B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjC,QAAQ,GAAG,CAAC,QAAQ,CAAC;gBACvB,CAAC;qBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;wBACjD,KAAK,EAAE,CAAC;oBACV,CAAC;yBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;wBACxD,IAAI,KAAK,KAAK,CAAC;4BAAE,MAAM;wBACvB,KAAK,EAAE,CAAC;oBACV,CAAC;yBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBACvC,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,MAAM,EAAE,CAAC;YACX,CAAC;YAED,4BAA4B;YAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAElE,oEAAoE;YACpE,sDAAsD;YACtD,MAAM,YAAY,GAAG,YAAY;iBAC9B,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;iBAC3B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;iBACpB,IAAI,EAAE,CAAC;YAEV,IACE,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC5B,YAAY,KAAK,UAAU;gBAC3B,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EACrC,CAAC;gBACD,qBAAqB;gBACrB,IAAI,QAAQ,EAAE,CAAC;oBACb,WAAW,GAAG,kBAAkB,WAAW,IAAI,CAAC;gBAClD,CAAC;gBAED,sCAAsC;gBACtC,IAAI,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpD,WAAW,GAAG,YAAY,WAAW,EAAE,CAAC;gBAC1C,CAAC;gBAED,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,wBAAwB,CAAC,OAAe;QAC9C,iEAAiE;QACjE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,OAAO,CAAC;QAEvD,mDAAmD;QACnD,MAAM,mBAAmB,GAAG;YAC1B,iCAAiC;YACjC,iCAAiC;SAClC,CAAC;QAEF,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,kEAAkE;QAClE,OAAO,QAAQ,EAAE,CAAC;YAChB,QAAQ,GAAG,KAAK,CAAC;YAEjB,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;gBACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,SAAS;gBAEzB,2DAA2D;gBAC3D,MAAM,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrC,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,MAAM,GAAG,QAAQ,CAAC;gBAEtB,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;wBACjB,KAAK,EAAE,CAAC;oBACV,CAAC;yBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;wBACxB,KAAK,EAAE,CAAC;oBACV,CAAC;oBACD,MAAM,EAAE,CAAC;gBACX,CAAC;gBAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,6CAA6C;oBAC7C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC1E,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM,CAAC,uCAAuC;gBAChD,CAAC;gBACD,4DAA4D;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAW;QAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,GAAW;QACnC,OAAO,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -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
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGlE;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAA0B,EAC1B,
|
|
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 "
|
|
1
|
+
import type { SourceFile } from "@typescript/native-preview/unstable/ast";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
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":"
|
|
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"}
|