@graphql-codegen/c-sharp-operations
Version:
GraphQL Code Generator plugin for generating CSharp code based on GraphQL operations
39 lines (38 loc) • 1.93 kB
text/typescript
import { EnumTypeDefinitionNode, GraphQLSchema, InputObjectTypeDefinitionNode, OperationDefinitionNode, TypeNode } from 'graphql';
import { CSharpFieldType, MemberNamingFn } from '@graphql-codegen/c-sharp-common';
import { Types } from '@graphql-codegen/plugin-helpers';
import { ClientSideBasePluginConfig, ClientSideBaseVisitor, LoadedFragment } from '@graphql-codegen/visitor-plugin-common';
import { CSharpOperationsRawPluginConfig } from './config.cjs';
export interface CSharpOperationsPluginConfig extends ClientSideBasePluginConfig {
namespaceName: string;
namedClient: string;
querySuffix: string;
mutationSuffix: string;
subscriptionSuffix: string;
typesafeOperation: boolean;
memberNamingFunction: MemberNamingFn;
}
export declare class CSharpOperationsVisitor extends ClientSideBaseVisitor<CSharpOperationsRawPluginConfig, CSharpOperationsPluginConfig> {
private _operationsToInclude;
private _schemaAST;
private readonly _fragmentList;
constructor(schema: GraphQLSchema, fragments: LoadedFragment[], rawConfig: CSharpOperationsRawPluginConfig, documents?: Types.DocumentFile[]);
private overruleConfigSettings;
private _operationHasDirective;
private _extractDirective;
private _namedClient;
private _extractNamedClient;
protected _gql(node: OperationDefinitionNode): string;
private _getDocumentNodeVariable;
private _gqlInputSignature;
getCSharpImports(): string;
private _operationSuffix;
protected resolveFieldType(typeNode: TypeNode, hasDefaultValue?: boolean): CSharpFieldType;
private _getResponseFieldRecursive;
private _getResponseClass;
private _getVariablesClass;
private _getOperationMethod;
OperationDefinition(node: OperationDefinitionNode): string;
InputObjectTypeDefinition(node: InputObjectTypeDefinitionNode): string;
EnumTypeDefinition(node: EnumTypeDefinitionNode): string;
}