@aws-amplify/appsync-modelgen-plugin
Version:
35 lines • 1.85 kB
TypeScript
import { NormalizedScalarsMap } from "@graphql-codegen/visitor-plugin-common";
import { GraphQLSchema } from "graphql";
import { FieldType, ModelIntrospectionSchema, InputFieldType } from "../interfaces/introspection";
import { RawAppSyncModelConfig, ParsedAppSyncModelConfig, AppSyncModelVisitor } from "./appsync-visitor";
declare type UnionFieldType = {
union: string;
};
declare type InterfaceFieldType = {
interface: string;
};
export interface RawAppSyncModelIntrospectionConfig extends RawAppSyncModelConfig {
}
export interface ParsedAppSyncModelIntrospectionConfig extends ParsedAppSyncModelConfig {
}
export declare class AppSyncModelIntrospectionVisitor<TRawConfig extends RawAppSyncModelIntrospectionConfig = RawAppSyncModelIntrospectionConfig, TPluginConfig extends ParsedAppSyncModelIntrospectionConfig = ParsedAppSyncModelIntrospectionConfig> extends AppSyncModelVisitor<TRawConfig, TPluginConfig> {
private readonly introspectionVersion;
constructor(schema: GraphQLSchema, rawConfig: TRawConfig, additionalConfig: Partial<TPluginConfig>, defaultScalars?: NormalizedScalarsMap);
generate(): string;
protected generateModelIntrospectionSchema(): ModelIntrospectionSchema;
private getFieldAssociation;
private generateModelAttributes;
private generateModelMetadata;
private generateNonModelMetadata;
private generateEnumMetadata;
private generateGraphQLInputMetadata;
private generateGraphQLOperationMetadata;
private generateGenerationMetadata;
private generateConversationMetadata;
protected getType(gqlType: string): FieldType | InputFieldType | UnionFieldType | InterfaceFieldType;
private generateModelPrimaryKeyInfo;
private isUnionFieldType;
private isInterfaceFieldType;
}
export {};
//# sourceMappingURL=appsync-model-introspection-visitor.d.ts.map