@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;
}