@selfage/generator_cli
Version: 
Code generation for message, service, and database.
44 lines (43 loc) • 1.75 kB
TypeScript
import { SpannerDatabaseDefinition, SpannerJoinOnLeaf, SpannerWhereConcat, SpannerWhereLeaf } from "./definition";
import { DefinitionResolver } from "./definition_resolver";
import { OutputContentBuilder } from "./output_content_builder";
export declare class SpannerDatabaseGenerator {
    private definitionModulePath;
    private spannerDatabaseDefinition;
    private definitionResolver;
    private outputContentMap;
    private databaseTables;
    private ddlContentBuilder;
    private tableDdls;
    private sqlContentBuilder;
    private inputArgs;
    private inputQueryTypes;
    private inputConversions;
    private currentDefaultTableAlias;
    private currentTableAliases;
    private currentJoinRightTable;
    private currentJoinRightTableAlias;
    private outputFields;
    private outputConversions;
    private outputFieldDescriptors;
    constructor(definitionModulePath: string, spannerDatabaseDefinition: SpannerDatabaseDefinition, definitionResolver: DefinitionResolver, outputContentMap: Map<string, OutputContentBuilder>);
    generate(): void;
    private generateSpannerTable;
    private generateSpannerTaskTable;
    private resolveTableAlias;
    private generateSpannerInsert;
    private generateSpannerUpdate;
    private generateSpannerDelete;
    private generateSpannerSelect;
    generateWhere(loggingPrefix: string, where: SpannerWhereConcat | SpannerWhereLeaf): string;
    private generateWhereConcat;
    private generateWhereLeaf;
    private generateJoinOn;
    private generateJoinOnConcat;
    generateJoinOnLeaf(loggingPrefix: string, leaf: SpannerJoinOnLeaf): string;
    private generateFunction;
    private clearInput;
    private collectInput;
    private clearOutput;
    private collectOuptut;
}