UNPKG

@aws-amplify/appsync-modelgen-plugin

Version:
46 lines 2.63 kB
import { NormalizedScalarsMap } from '@graphql-codegen/visitor-plugin-common'; import { GraphQLSchema } from 'graphql'; import { SwiftDeclarationBlock } from '../languages/swift-declaration-block'; import { AppSyncModelVisitor, CodeGenField, CodeGenModel, ParsedAppSyncModelConfig, RawAppSyncModelConfig } from './appsync-visitor'; export interface RawAppSyncModelSwiftConfig extends RawAppSyncModelConfig { emitAuthProvider?: boolean; generateIndexRules?: boolean; } export interface ParsedAppSyncModelSwiftConfig extends ParsedAppSyncModelConfig { emitAuthProvider?: boolean; generateIndexRules?: boolean; } export declare class AppSyncSwiftVisitor<TRawConfig extends RawAppSyncModelSwiftConfig = RawAppSyncModelSwiftConfig, TPluginConfig extends ParsedAppSyncModelSwiftConfig = ParsedAppSyncModelSwiftConfig> extends AppSyncModelVisitor<TRawConfig, TPluginConfig> { protected modelExtensionImports: string[]; protected imports: string[]; constructor(schema: GraphQLSchema, rawConfig: TRawConfig, additionalConfig: Partial<TPluginConfig>, defaultScalars?: NormalizedScalarsMap); generate(): string; generateStruct(): string; generateEnums(): string; generateNonModelType(): string; generateSchema(): string; generateCodingKeys(name: string, model: CodeGenModel, extensionDeclaration: SwiftDeclarationBlock): void; generateModelSchema(name: string, model: CodeGenModel, extensionDeclaration: SwiftDeclarationBlock): void; protected generatePrimaryKeyExtensions(model: CodeGenModel): string; protected generateModelPathExtensions(model: CodeGenModel): string; protected generateClassLoader(): string; private getInitBody; private getDecoderBody; private getDecoderBodyFieldType; private getEncoderBody; protected getListType(typeStr: string, field: CodeGenField): string; private generateFieldSchema; private getSwiftModelTypeName; private getFieldTypePathValue; protected getEnumValue(value: string): string; protected isFieldRequired(field: CodeGenField): boolean; protected generateKeyRules(model: CodeGenModel): string[]; protected generatePrimaryKeyRules(model: CodeGenModel): string; protected isHasManyConnectionField(field: CodeGenField): boolean; protected isHasOneOrBelongsToConnectionField(field: CodeGenField): boolean; protected generateAuthRules(model: CodeGenModel): string; protected getWritableFields(model: CodeGenModel): CodeGenField[]; protected hasReadOnlyFields(model: CodeGenModel): boolean; private getCodingKey; } //# sourceMappingURL=appsync-swift-visitor.d.ts.map