UNPKG

@graphql-codegen/c-sharp

Version:

GraphQL Code Generator plugin for generating CSharp code based on a GraphQL schema

36 lines (35 loc) 2.63 kB
import { DirectiveNode, EnumTypeDefinitionNode, EnumValueDefinitionNode, FieldDefinitionNode, GraphQLSchema, InputObjectTypeDefinitionNode, InputValueDefinitionNode, InterfaceTypeDefinitionNode, NamedTypeNode, ObjectTypeDefinitionNode, StringValueNode, TypeNode } from 'graphql'; import { CSharpFieldType, JsonAttributesSource, MemberNamingFn } from '@graphql-codegen/c-sharp-common'; import { BaseVisitor, EnumValuesMap, ParsedConfig } from '@graphql-codegen/visitor-plugin-common'; import { CSharpResolversPluginRawConfig } from './config.js'; export interface CSharpResolverParsedConfig extends ParsedConfig { namespaceName: string; className: string; listType: string; enumValues: EnumValuesMap; emitRecords: boolean; emitJsonAttributes: boolean; jsonAttributesSource: JsonAttributesSource; memberNamingFunction: MemberNamingFn; } export declare class CSharpResolversVisitor extends BaseVisitor<CSharpResolversPluginRawConfig, CSharpResolverParsedConfig> { private _schema; private readonly jsonAttributesConfiguration; constructor(rawConfig: CSharpResolversPluginRawConfig, _schema: GraphQLSchema); getImports(): string; wrapWithNamespace(content: string): string; wrapWithClass(content: string): string; protected getEnumValue(enumName: string, enumOption: string): string; EnumValueDefinition(node: EnumValueDefinitionNode): (enumName: string) => string; EnumTypeDefinition(node: EnumTypeDefinitionNode): string; getFieldHeader(node: InputValueDefinitionNode | FieldDefinitionNode | EnumValueDefinitionNode, fieldType?: CSharpFieldType): string; getDeprecationReason(directive: DirectiveNode): string; protected resolveInputFieldType(typeNode: TypeNode, hasDefaultValue?: boolean): CSharpFieldType; protected buildRecord(name: string, description: StringValueNode, inputValueArray: ReadonlyArray<FieldDefinitionNode>, interfaces?: ReadonlyArray<NamedTypeNode>): string; protected buildClass(name: string, description: StringValueNode, inputValueArray: ReadonlyArray<FieldDefinitionNode>, interfaces?: ReadonlyArray<NamedTypeNode>): string; protected buildInterface(name: string, description: StringValueNode, inputValueArray: ReadonlyArray<FieldDefinitionNode>): string; protected buildInputTransformer(name: string, description: StringValueNode, inputValueArray: ReadonlyArray<InputValueDefinitionNode>): string; InputObjectTypeDefinition(node: InputObjectTypeDefinitionNode): string; ObjectTypeDefinition(node: ObjectTypeDefinitionNode): string; InterfaceTypeDefinition(node: InterfaceTypeDefinitionNode): string; }