@gati-framework/cli
Version:
CLI tool for Gati framework - create, develop, build and deploy cloud-native applications
45 lines • 1.46 kB
TypeScript
/**
* @module cli/codegen/typedef-generator
* @description Generate TypeScript type definitions from GType schemas
*/
import type { GType } from '@gati-framework/runtime';
export interface TypeDefGeneratorOptions {
includeComments?: boolean;
exportType?: boolean;
typeName?: string;
useInterface?: boolean;
}
export interface GeneratedTypeDef {
code: string;
typeName: string;
}
/**
* Generate TypeScript type definition from GType schema
*/
export declare class TypeDefGenerator {
generate(schema: GType, options?: TypeDefGeneratorOptions): GeneratedTypeDef;
private generateTypeDeclaration;
private generateInterface;
private generateTypeExpression;
private generatePrimitiveType;
private generateLiteralType;
private generateObjectType;
private generateArrayType;
private generateTupleType;
private generateUnionType;
private generateIntersectionType;
private generateEnumType;
/**
* Generate multiple type definitions from a schema map
*/
generateMultiple(schemas: Record<string, GType>, options?: Omit<TypeDefGeneratorOptions, 'typeName'>): string;
/**
* Generate branded type
*/
generateBrandedType(schema: GType, typeName: string, brandName: string): GeneratedTypeDef;
}
/**
* Create type definition generator instance
*/
export declare function createTypeDefGenerator(): TypeDefGenerator;
//# sourceMappingURL=typedef-generator.d.ts.map