@gati-framework/cli
Version:
CLI tool for Gati framework - create, develop, build and deploy cloud-native applications
58 lines • 1.69 kB
TypeScript
import type { SchemaDiff } from '../../../runtime/src/timescape/diff-engine.js';
import type { TSV } from '../../../runtime/src/timescape/types.js';
export interface TransformerGenerationOptions {
includeComments?: boolean;
includeTypeImports?: boolean;
targetVersion?: 'es2020' | 'es2022';
}
export interface GeneratedTransformer {
code: string;
filename: string;
fromVersion: TSV;
toVersion: TSV;
}
/**
* Generate transformer stub code from schema diff
*/
export declare class TransformerGenerator {
/**
* Generate transformer pair from schema diff
*/
generate(fromVersion: TSV, toVersion: TSV, diff: SchemaDiff, options?: TransformerGenerationOptions): GeneratedTransformer;
/**
* Generate transformer code
*/
private generateCode;
/**
* Generate filename for transformer
*/
private generateFilename;
/**
* Extract version identifier from TSV
*/
private extractVersionId;
/**
* Extract field name from path
*/
private getFieldName;
/**
* Generate multiple transformers from a series of diffs
*/
generateMultiple(versions: Array<{
version: TSV;
diff: SchemaDiff;
}>, options?: TransformerGenerationOptions): GeneratedTransformer[];
/**
* Generate index file for all transformers
*/
generateIndex(transformers: GeneratedTransformer[]): string;
/**
* Convert filename to valid variable name
*/
private toVariableName;
}
/**
* Create transformer generator instance
*/
export declare function createTransformerGenerator(): TransformerGenerator;
//# sourceMappingURL=transformer-generator.d.ts.map