import { WarthogModel } from '../model'; import { ConfigProvider } from './ConfigProvider'; /** * additional context to be passed to the generator, * e.g. to have predictable timestamps */ export interface GeneratorContext { [key: string]: unknown; } export declare class SourcesGenerator { readonly config: ConfigProvider; readonly model: WarthogModel; dryRun: boolean; constructor(model: WarthogModel); generate(): void; generateModels(): void; generateQueries(): void; generateVariants(): void; generateEnums(): void; generateJsonFields(): void; generateModelIndex(): string; /** * * @param template - relative path to a template from the templates folder, e.g. 'db-helper.mst' * @param destPath - relative path to the `generated/graphql-server` folder, e.g. 'src/index.ts' * @param render - function which transforms the template contents */ private renderAndWrite; private readTemplate; private writeFile; }