schemantic
Version:
A fully typed, extensible TypeScript type generator for FastAPI OpenAPI schemas
91 lines • 2.1 kB
TypeScript
/**
* Main Schemantic class
* Orchestrates the entire type generation process
*/
import { SchemanticConfig, GenerationResult, GenerationError, GenerationWarning } from "../types/core";
export { SchemanticConfig, DEFAULT_CONFIG } from "../types/core";
import { PluginManager } from "../plugins";
/**
* Main Schemantic class
*/
export declare class Schemantic {
private config;
private pluginManager;
private schema?;
private resolvedSchemas;
private typeRegistry;
constructor(config: SchemanticConfig);
/**
* Generate types and API client
*/
generate(): Promise<GenerationResult>;
/**
* Validate OpenAPI schema
*/
validate(): Promise<{
isValid: boolean;
errors: GenerationError[];
warnings: GenerationWarning[];
}>;
/**
* Load schema from various sources
*/
private loadSchema;
/**
* Create generation context
*/
private createGenerationContext;
/**
* Resolve schema references
*/
private resolveSchemaReferences;
/**
* Generate types from schemas
*/
private generateTypes;
/**
* Generate API clients
*/
private generateApiClients;
/**
* Generate files from generated types and clients
*/
private generateFiles;
/**
* Generate types file
*/
private generateTypesFile;
/**
* Generate client file
*/
private generateClientFile;
/**
* Generate index file
*/
private generateIndexFile;
/**
* Generate hooks file when enabled
*/
private generateHooksFile;
/**
* Calculate generation statistics
*/
private calculateStatistics;
/**
* Create type registry
*/
private createTypeRegistry;
/**
* Get plugin manager
*/
getPluginManager(): PluginManager;
/**
* Get configuration
*/
getConfig(): SchemanticConfig;
/**
* Generate import statements from dependencies
*/
private generateImportsFromDependencies;
}
//# sourceMappingURL=schemantic.d.ts.map