@graphql-codegen/c-sharp-operations
Version:
GraphQL Code Generator plugin for generating CSharp code based on GraphQL operations
84 lines (83 loc) • 2.22 kB
text/typescript
import { JsonAttributesSource, MemberNameConventionConfig } from '@graphql-codegen/c-sharp-common';
import { RawClientSideBasePluginConfig } from '@graphql-codegen/visitor-plugin-common';
/**
* @description This plugin generates C# `class` based on your GraphQL operations.
*/
export interface CSharpOperationsRawPluginConfig extends RawClientSideBasePluginConfig, MemberNameConventionConfig {
/**
* @default GraphQLCodeGen
* @description Allow you to customize the namespace name.
*
* @exampleMarkdown
* ```yaml
* config:
* namespaceName: MyCompany.MyNamespace
* ```
*/
namespaceName?: string;
/**
* @description Defined the global value of `namedClient`.
*
* @exampleMarkdown
* ```yaml
* config:
* namedClient: 'customName'
* ```
*/
namedClient?: string;
/**
* @description Allows to define a custom suffix for query operations.
* @default GQL
*
* @exampleMarkdown
* ```yaml
* config:
* querySuffix: 'QueryService'
* ```
*/
querySuffix?: string;
/**
* @description Allows to define a custom suffix for mutation operations.
* @default GQL
*
* @exampleMarkdown
* ```yaml
* config:
* mutationSuffix: 'MutationService'
* ```
*/
mutationSuffix?: string;
/**
* @description Allows to define a custom suffix for Subscription operations.
* @default GQL
*
* @exampleMarkdown
* ```yaml
* config:
* subscriptionSuffix: 'SubscriptionService'
* ```
*/
subscriptionSuffix?: string;
/**
* @description Allows to generate operation methods with class definitions for request/response parameters
* @default false
*
* @exampleMarkdown
* ```yaml
* config:
* typesafeOperation: true
* ```
*/
typesafeOperation?: boolean;
/**
* @default Newtonsoft.Json
* @description Library that should be used to emit JSON attributes.
*
* @exampleMarkdown
* ```yaml
* config:
* jsonAttributesSource: System.Text.Json
* ```
*/
jsonAttributesSource?: JsonAttributesSource;
}