zinfer 0.0.1 → 0.1.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 +477 -28
- package/bin/zinfer +2 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +484 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/brand-detector.d.ts +32 -0
- package/dist/core/brand-detector.d.ts.map +1 -0
- package/dist/core/brand-detector.js +121 -0
- package/dist/core/brand-detector.js.map +1 -0
- package/dist/core/config-loader.d.ts +85 -0
- package/dist/core/config-loader.d.ts.map +1 -0
- package/dist/core/config-loader.js +105 -0
- package/dist/core/config-loader.js.map +1 -0
- package/dist/core/description-extractor.d.ts +54 -0
- package/dist/core/description-extractor.d.ts.map +1 -0
- package/dist/core/description-extractor.js +180 -0
- package/dist/core/description-extractor.js.map +1 -0
- package/dist/core/errors.d.ts +35 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +96 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/extractor.d.ts +121 -0
- package/dist/core/extractor.d.ts.map +1 -0
- package/dist/core/extractor.js +494 -0
- package/dist/core/extractor.js.map +1 -0
- package/dist/core/file-resolver.d.ts +39 -0
- package/dist/core/file-resolver.d.ts.map +1 -0
- package/dist/core/file-resolver.js +88 -0
- package/dist/core/file-resolver.js.map +1 -0
- package/dist/core/getter-resolver.d.ts +67 -0
- package/dist/core/getter-resolver.d.ts.map +1 -0
- package/dist/core/getter-resolver.js +234 -0
- package/dist/core/getter-resolver.js.map +1 -0
- package/dist/core/import-resolver.d.ts +51 -0
- package/dist/core/import-resolver.d.ts.map +1 -0
- package/dist/core/import-resolver.js +158 -0
- package/dist/core/import-resolver.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +20 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +36 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/name-mapper.d.ts +45 -0
- package/dist/core/name-mapper.d.ts.map +1 -0
- package/dist/core/name-mapper.js +82 -0
- package/dist/core/name-mapper.js.map +1 -0
- package/dist/core/normalizer.d.ts +24 -0
- package/dist/core/normalizer.d.ts.map +1 -0
- package/dist/core/normalizer.js +50 -0
- package/dist/core/normalizer.js.map +1 -0
- package/dist/core/schema-detector.d.ts +49 -0
- package/dist/core/schema-detector.d.ts.map +1 -0
- package/dist/core/schema-detector.js +272 -0
- package/dist/core/schema-detector.js.map +1 -0
- package/dist/core/schema-reference-analyzer.d.ts +77 -0
- package/dist/core/schema-reference-analyzer.d.ts.map +1 -0
- package/dist/core/schema-reference-analyzer.js +269 -0
- package/dist/core/schema-reference-analyzer.js.map +1 -0
- package/dist/core/test-generator.d.ts +97 -0
- package/dist/core/test-generator.d.ts.map +1 -0
- package/dist/core/test-generator.js +177 -0
- package/dist/core/test-generator.js.map +1 -0
- package/dist/core/type-printer.d.ts +46 -0
- package/dist/core/type-printer.d.ts.map +1 -0
- package/dist/core/type-printer.js +424 -0
- package/dist/core/type-printer.js.map +1 -0
- package/dist/core/types.d.ts +124 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +66 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/package.json +63 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../src/core/import-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { NORMALIZE_TYPE_DEFINITION, createTempTypeAlias, TEMP_TYPE_NAMES } from "./normalizer.js";
|
|
2
|
+
export { ZodTypeExtractor, type ExtractOptions } from "./extractor.js";
|
|
3
|
+
export { formatResult, formatInputOnly, formatOutputOnly, formatAsDeclaration, formatMultipleAsDeclarations, generateDeclarationFile, type PrintOptions, } from "./type-printer.js";
|
|
4
|
+
export { SchemaDetector } from "./schema-detector.js";
|
|
5
|
+
export { NameMapper, createNameMapper } from "./name-mapper.js";
|
|
6
|
+
export { FileResolver } from "./file-resolver.js";
|
|
7
|
+
export { DescriptionExtractor } from "./description-extractor.js";
|
|
8
|
+
export { ZinferError, NoSchemasFoundError, NoFilesMatchedError, InvalidOptionError, formatError, } from "./errors.js";
|
|
9
|
+
export { setVerbose, logVerbose, logDebugError, logProgress } from "./logger.js";
|
|
10
|
+
export { ConfigLoader, defineConfig, type ZinferConfig, type ConfigLoadResult, } from "./config-loader.js";
|
|
11
|
+
export { BrandDetector, type SchemaBrandMap } from "./brand-detector.js";
|
|
12
|
+
export { TestGenerator, generateTypeTests, generateImportPrefix, createTestSchemaInfo, toPascalCase, type TestSchemaInfo, type TestFileInfo, type TestGeneratorOptions, } from "./test-generator.js";
|
|
13
|
+
export type { ExtractResult, FileExtractResult, DetectedSchema, MappedTypeName, NameMappingOptions, OutputOptions, GeneratedFile, DeclarationOptions, FieldDescription, BrandInfo, } from "./types.js";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { NORMALIZE_TYPE_DEFINITION, createTempTypeAlias, TEMP_TYPE_NAMES } from "./normalizer.js";
|
|
2
|
+
export { ZodTypeExtractor } from "./extractor.js";
|
|
3
|
+
export { formatResult, formatInputOnly, formatOutputOnly, formatAsDeclaration, formatMultipleAsDeclarations, generateDeclarationFile, } from "./type-printer.js";
|
|
4
|
+
export { SchemaDetector } from "./schema-detector.js";
|
|
5
|
+
export { NameMapper, createNameMapper } from "./name-mapper.js";
|
|
6
|
+
export { FileResolver } from "./file-resolver.js";
|
|
7
|
+
export { DescriptionExtractor } from "./description-extractor.js";
|
|
8
|
+
export { ZinferError, NoSchemasFoundError, NoFilesMatchedError, InvalidOptionError, formatError, } from "./errors.js";
|
|
9
|
+
export { setVerbose, logVerbose, logDebugError, logProgress } from "./logger.js";
|
|
10
|
+
export { ConfigLoader, defineConfig, } from "./config-loader.js";
|
|
11
|
+
export { BrandDetector } from "./brand-detector.js";
|
|
12
|
+
export { TestGenerator, generateTypeTests, generateImportPrefix, createTestSchemaInfo, toPascalCase, } from "./test-generator.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,EACL,YAAY,EACZ,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GAIb,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple logger for zinfer with verbose mode support.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Enables or disables verbose logging.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setVerbose(enabled: boolean): void;
|
|
8
|
+
/**
|
|
9
|
+
* Logs a verbose message (only when verbose mode is enabled).
|
|
10
|
+
*/
|
|
11
|
+
export declare function logVerbose(message: string, ...args: unknown[]): void;
|
|
12
|
+
/**
|
|
13
|
+
* Logs a debug message about a non-critical error (only when verbose mode is enabled).
|
|
14
|
+
*/
|
|
15
|
+
export declare function logDebugError(context: string, error: unknown): void;
|
|
16
|
+
/**
|
|
17
|
+
* Logs progress information (only when verbose mode is enabled).
|
|
18
|
+
*/
|
|
19
|
+
export declare function logProgress(current: number, total: number, message: string): void;
|
|
20
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAIpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAKnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIjF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple logger for zinfer with verbose mode support.
|
|
3
|
+
*/
|
|
4
|
+
let verboseEnabled = false;
|
|
5
|
+
/**
|
|
6
|
+
* Enables or disables verbose logging.
|
|
7
|
+
*/
|
|
8
|
+
export function setVerbose(enabled) {
|
|
9
|
+
verboseEnabled = enabled;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Logs a verbose message (only when verbose mode is enabled).
|
|
13
|
+
*/
|
|
14
|
+
export function logVerbose(message, ...args) {
|
|
15
|
+
if (verboseEnabled) {
|
|
16
|
+
console.log(`[verbose] ${message}`, ...args);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Logs a debug message about a non-critical error (only when verbose mode is enabled).
|
|
21
|
+
*/
|
|
22
|
+
export function logDebugError(context, error) {
|
|
23
|
+
if (verboseEnabled) {
|
|
24
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
25
|
+
console.log(`[verbose] ${context}: ${errorMessage}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Logs progress information (only when verbose mode is enabled).
|
|
30
|
+
*/
|
|
31
|
+
export function logProgress(current, total, message) {
|
|
32
|
+
if (verboseEnabled) {
|
|
33
|
+
console.log(`[${current}/${total}] ${message}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,cAAc,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,GAAG,IAAe;IAC5D,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAc;IAC3D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,KAAK,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,OAAe;IACzE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { NameMappingOptions, MappedTypeName } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Maps Zod schema names to TypeScript type names.
|
|
4
|
+
*/
|
|
5
|
+
export declare class NameMapper {
|
|
6
|
+
private options;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new NameMapper instance.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Name mapping options
|
|
11
|
+
*/
|
|
12
|
+
constructor(options?: NameMappingOptions);
|
|
13
|
+
/**
|
|
14
|
+
* Maps a schema name to input, output, and unified type names.
|
|
15
|
+
*
|
|
16
|
+
* @param schemaName - The original schema name (e.g., "UserSchema")
|
|
17
|
+
* @returns The mapped type names
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const mapper = new NameMapper({ removeSuffix: "Schema" });
|
|
22
|
+
* mapper.map("UserSchema");
|
|
23
|
+
* // Returns: { originalName: "UserSchema", inputName: "UserInput", outputName: "UserOutput", unifiedName: "User" }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
map(schemaName: string): MappedTypeName;
|
|
27
|
+
/**
|
|
28
|
+
* Creates the full mapped names object from a base name.
|
|
29
|
+
*/
|
|
30
|
+
private createMappedNames;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a mapping function for use with formatMultipleAsDeclarations.
|
|
33
|
+
*
|
|
34
|
+
* @returns A function that maps schema names to type names
|
|
35
|
+
*/
|
|
36
|
+
createMapFunction(): (schemaName: string) => MappedTypeName;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates a simple name mapper with the given options.
|
|
40
|
+
*
|
|
41
|
+
* @param options - Name mapping options
|
|
42
|
+
* @returns A function that maps schema names to type names
|
|
43
|
+
*/
|
|
44
|
+
export declare function createNameMapper(options?: NameMappingOptions): (schemaName: string) => MappedTypeName;
|
|
45
|
+
//# sourceMappingURL=name-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name-mapper.d.ts","sourceRoot":"","sources":["../../src/core/name-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUrE;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAqB;IAEpC;;;;OAIG;gBACS,OAAO,GAAE,kBAAuB;IAO5C;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc;IAgBvC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;OAIG;IACH,iBAAiB,IAAI,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc;CAG5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,kBAAuB,GAC/B,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,CAGxC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default options for name mapping.
|
|
3
|
+
*/
|
|
4
|
+
const DEFAULT_OPTIONS = {
|
|
5
|
+
inputSuffix: "Input",
|
|
6
|
+
outputSuffix: "Output",
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Maps Zod schema names to TypeScript type names.
|
|
10
|
+
*/
|
|
11
|
+
export class NameMapper {
|
|
12
|
+
options;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new NameMapper instance.
|
|
15
|
+
*
|
|
16
|
+
* @param options - Name mapping options
|
|
17
|
+
*/
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this.options = {
|
|
20
|
+
...DEFAULT_OPTIONS,
|
|
21
|
+
...options,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Maps a schema name to input, output, and unified type names.
|
|
26
|
+
*
|
|
27
|
+
* @param schemaName - The original schema name (e.g., "UserSchema")
|
|
28
|
+
* @returns The mapped type names
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const mapper = new NameMapper({ removeSuffix: "Schema" });
|
|
33
|
+
* mapper.map("UserSchema");
|
|
34
|
+
* // Returns: { originalName: "UserSchema", inputName: "UserInput", outputName: "UserOutput", unifiedName: "User" }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
map(schemaName) {
|
|
38
|
+
// Check for custom mapping first
|
|
39
|
+
if (this.options.customMap?.[schemaName]) {
|
|
40
|
+
const baseName = this.options.customMap[schemaName];
|
|
41
|
+
return this.createMappedNames(schemaName, baseName);
|
|
42
|
+
}
|
|
43
|
+
// Remove suffix if specified
|
|
44
|
+
let baseName = schemaName;
|
|
45
|
+
if (this.options.removeSuffix && schemaName.endsWith(this.options.removeSuffix)) {
|
|
46
|
+
baseName = schemaName.slice(0, -this.options.removeSuffix.length);
|
|
47
|
+
}
|
|
48
|
+
return this.createMappedNames(schemaName, baseName);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Creates the full mapped names object from a base name.
|
|
52
|
+
*/
|
|
53
|
+
createMappedNames(originalName, baseName) {
|
|
54
|
+
const inputSuffix = this.options.inputSuffix || DEFAULT_OPTIONS.inputSuffix;
|
|
55
|
+
const outputSuffix = this.options.outputSuffix || DEFAULT_OPTIONS.outputSuffix;
|
|
56
|
+
return {
|
|
57
|
+
originalName,
|
|
58
|
+
inputName: baseName + inputSuffix,
|
|
59
|
+
outputName: baseName + outputSuffix,
|
|
60
|
+
unifiedName: baseName,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Creates a mapping function for use with formatMultipleAsDeclarations.
|
|
65
|
+
*
|
|
66
|
+
* @returns A function that maps schema names to type names
|
|
67
|
+
*/
|
|
68
|
+
createMapFunction() {
|
|
69
|
+
return this.map.bind(this);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Creates a simple name mapper with the given options.
|
|
74
|
+
*
|
|
75
|
+
* @param options - Name mapping options
|
|
76
|
+
* @returns A function that maps schema names to type names
|
|
77
|
+
*/
|
|
78
|
+
export function createNameMapper(options = {}) {
|
|
79
|
+
const mapper = new NameMapper(options);
|
|
80
|
+
return (schemaName) => mapper.map(schemaName);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=name-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name-mapper.js","sourceRoot":"","sources":["../../src/core/name-mapper.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,eAAe,GAAqE;IACxF,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,QAAQ;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,UAAU;IACb,OAAO,CAAqB;IAEpC;;;;OAIG;IACH,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,eAAe;YAClB,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,UAAkB;QACpB,iCAAiC;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,GAAG,UAAU,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChF,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,YAAoB,EAAE,QAAgB;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,eAAe,CAAC,WAAW,CAAC;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC,YAAY,CAAC;QAE/E,OAAO;YACL,YAAY;YACZ,SAAS,EAAE,QAAQ,GAAG,WAAW;YACjC,UAAU,EAAE,QAAQ,GAAG,YAAY;YACnC,WAAW,EAAE,QAAQ;SACtB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,UAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize type definition for expanding utility types, intersections, and conditional types.
|
|
3
|
+
*
|
|
4
|
+
* This type template is injected in-memory to expand complex type structures
|
|
5
|
+
* into their fully evaluated form.
|
|
6
|
+
*
|
|
7
|
+
* Built-in types like Date, Array, Map, Set, Promise, Function, etc. are preserved without expansion.
|
|
8
|
+
* Symbol-keyed properties (like Zod's [BRAND]) are filtered out from object types.
|
|
9
|
+
*/
|
|
10
|
+
export declare const NORMALIZE_TYPE_DEFINITION = "\ntype __Normalize<T> =\n T extends Date | RegExp | Error | Map<any, any> | Set<any> | WeakMap<any, any> | WeakSet<any> | Promise<any> | Function\n ? T\n : T extends (...args: infer A) => infer R\n ? (...args: __Normalize<A>) => __Normalize<R>\n : T extends readonly (infer U)[]\n ? readonly __Normalize<U>[]\n : T extends (infer U)[]\n ? __Normalize<U>[]\n : T extends string\n ? T extends object ? string : T\n : T extends number\n ? T extends object ? number : T\n : T extends boolean\n ? T extends object ? boolean : T\n : T extends bigint\n ? T extends object ? bigint : T\n : T extends object\n ? T extends infer O\n ? { [K in keyof O as K extends symbol ? never : K]: __Normalize<O[K]> }\n : never\n : T;\n";
|
|
11
|
+
/**
|
|
12
|
+
* Creates a temporary type alias for extracting input or output type from a Zod schema.
|
|
13
|
+
*
|
|
14
|
+
* @param schemaName - The name of the exported Zod schema (e.g., "UserSchema")
|
|
15
|
+
* @param typeKind - Either 'input' or 'output' to specify which type to extract
|
|
16
|
+
* @returns A TypeScript type alias string to be injected in-memory
|
|
17
|
+
*/
|
|
18
|
+
export declare function createTempTypeAlias(schemaName: string, typeKind: "input" | "output"): string;
|
|
19
|
+
/**
|
|
20
|
+
* Names of temporary types that are injected during extraction.
|
|
21
|
+
* These should be cleaned up after extraction is complete.
|
|
22
|
+
*/
|
|
23
|
+
export declare const TEMP_TYPE_NAMES: readonly ["__Normalize", "__TempInput", "__TempOutput"];
|
|
24
|
+
//# sourceMappingURL=normalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizer.d.ts","sourceRoot":"","sources":["../../src/core/normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,+7BAuBrC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAG5F;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,yDAA0D,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize type definition for expanding utility types, intersections, and conditional types.
|
|
3
|
+
*
|
|
4
|
+
* This type template is injected in-memory to expand complex type structures
|
|
5
|
+
* into their fully evaluated form.
|
|
6
|
+
*
|
|
7
|
+
* Built-in types like Date, Array, Map, Set, Promise, Function, etc. are preserved without expansion.
|
|
8
|
+
* Symbol-keyed properties (like Zod's [BRAND]) are filtered out from object types.
|
|
9
|
+
*/
|
|
10
|
+
export const NORMALIZE_TYPE_DEFINITION = `
|
|
11
|
+
type __Normalize<T> =
|
|
12
|
+
T extends Date | RegExp | Error | Map<any, any> | Set<any> | WeakMap<any, any> | WeakSet<any> | Promise<any> | Function
|
|
13
|
+
? T
|
|
14
|
+
: T extends (...args: infer A) => infer R
|
|
15
|
+
? (...args: __Normalize<A>) => __Normalize<R>
|
|
16
|
+
: T extends readonly (infer U)[]
|
|
17
|
+
? readonly __Normalize<U>[]
|
|
18
|
+
: T extends (infer U)[]
|
|
19
|
+
? __Normalize<U>[]
|
|
20
|
+
: T extends string
|
|
21
|
+
? T extends object ? string : T
|
|
22
|
+
: T extends number
|
|
23
|
+
? T extends object ? number : T
|
|
24
|
+
: T extends boolean
|
|
25
|
+
? T extends object ? boolean : T
|
|
26
|
+
: T extends bigint
|
|
27
|
+
? T extends object ? bigint : T
|
|
28
|
+
: T extends object
|
|
29
|
+
? T extends infer O
|
|
30
|
+
? { [K in keyof O as K extends symbol ? never : K]: __Normalize<O[K]> }
|
|
31
|
+
: never
|
|
32
|
+
: T;
|
|
33
|
+
`;
|
|
34
|
+
/**
|
|
35
|
+
* Creates a temporary type alias for extracting input or output type from a Zod schema.
|
|
36
|
+
*
|
|
37
|
+
* @param schemaName - The name of the exported Zod schema (e.g., "UserSchema")
|
|
38
|
+
* @param typeKind - Either 'input' or 'output' to specify which type to extract
|
|
39
|
+
* @returns A TypeScript type alias string to be injected in-memory
|
|
40
|
+
*/
|
|
41
|
+
export function createTempTypeAlias(schemaName, typeKind) {
|
|
42
|
+
const typeName = typeKind === "input" ? "__TempInput" : "__TempOutput";
|
|
43
|
+
return `type ${typeName} = __Normalize<z.${typeKind}<typeof ${schemaName}>>;`;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Names of temporary types that are injected during extraction.
|
|
47
|
+
* These should be cleaned up after extraction is complete.
|
|
48
|
+
*/
|
|
49
|
+
export const TEMP_TYPE_NAMES = ["__Normalize", "__TempInput", "__TempOutput"];
|
|
50
|
+
//# sourceMappingURL=normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizer.js","sourceRoot":"","sources":["../../src/core/normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBxC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,QAA4B;IAClF,MAAM,QAAQ,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;IACvE,OAAO,QAAQ,QAAQ,oBAAoB,QAAQ,WAAW,UAAU,KAAK,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAU,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SourceFile } from "ts-morph";
|
|
2
|
+
import type { DetectedSchema } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Detects Zod schemas in TypeScript source files.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SchemaDetector {
|
|
7
|
+
/**
|
|
8
|
+
* Detects all Zod schemas in a source file.
|
|
9
|
+
*
|
|
10
|
+
* @param sourceFile - The ts-morph SourceFile to analyze
|
|
11
|
+
* @returns Array of detected schema information (including non-exported schemas)
|
|
12
|
+
*/
|
|
13
|
+
detectExportedSchemas(sourceFile: SourceFile): DetectedSchema[];
|
|
14
|
+
/**
|
|
15
|
+
* Known Zod schema builder functions that follow the z. prefix.
|
|
16
|
+
*/
|
|
17
|
+
private static readonly ZOD_SCHEMA_BUILDERS;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if a variable declaration is a Zod schema.
|
|
20
|
+
*
|
|
21
|
+
* @param declaration - The variable declaration to check
|
|
22
|
+
* @returns true if the declaration is a Zod schema
|
|
23
|
+
*/
|
|
24
|
+
private isZodSchema;
|
|
25
|
+
/**
|
|
26
|
+
* Gets all schema names from a source file.
|
|
27
|
+
*
|
|
28
|
+
* @param sourceFile - The ts-morph SourceFile to analyze
|
|
29
|
+
* @returns Array of schema names
|
|
30
|
+
*/
|
|
31
|
+
getSchemaNames(sourceFile: SourceFile): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Extracts explicit type annotation from z.ZodType<T> or z.ZodSchema<T>.
|
|
34
|
+
*
|
|
35
|
+
* @param declaration - The variable declaration to check
|
|
36
|
+
* @returns The explicit type string if found, undefined otherwise
|
|
37
|
+
*/
|
|
38
|
+
private extractExplicitType;
|
|
39
|
+
/**
|
|
40
|
+
* Extracts the first type parameter from a generic type string.
|
|
41
|
+
* Handles nested brackets properly.
|
|
42
|
+
*
|
|
43
|
+
* @param typeText - The full type text (e.g., "ZodType<{ a: string }, ZodTypeDef>")
|
|
44
|
+
* @param startIdx - The index after the opening "<"
|
|
45
|
+
* @returns The first type parameter, or undefined if parsing fails
|
|
46
|
+
*/
|
|
47
|
+
private extractFirstTypeParameter;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=schema-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-detector.d.ts","sourceRoot":"","sources":["../../src/core/schema-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;IACH,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,EAAE;IAiE/D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAwCxC;IAEH;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAyEnB;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE;IAIhD;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;CAyClC"}
|