@graphql-codegen/typescript-resolvers
Version:
GraphQL Code Generator plugin for generating TypeScript types for resolvers signature
27 lines (26 loc) • 1.78 kB
text/typescript
import { BaseResolversVisitor, DeclarationKind, ParsedResolversConfig } from '@graphql-codegen/visitor-plugin-common';
import { EnumTypeDefinitionNode, FieldDefinitionNode, GraphQLSchema, ListTypeNode, NamedTypeNode, NonNullTypeNode } from 'graphql';
import { TypeScriptResolversPluginConfig } from './config.cjs';
export declare const ENUM_RESOLVERS_SIGNATURE = "export type EnumResolverSignature<T, AllowedValues = any> = { [key in keyof T]?: AllowedValues };";
export interface ParsedTypeScriptResolversConfig extends ParsedResolversConfig {
useIndexSignature: boolean;
wrapFieldDefinitions: boolean;
allowParentTypeOverride: boolean;
optionalInfoArgument: boolean;
}
export declare class TypeScriptResolversVisitor extends BaseResolversVisitor<TypeScriptResolversPluginConfig, ParsedTypeScriptResolversConfig> {
constructor(pluginConfig: TypeScriptResolversPluginConfig, schema: GraphQLSchema);
protected transformParentGenericType(parentType: string): string;
protected formatRootResolver(schemaTypeName: string, resolverType: string, declarationKind: DeclarationKind): string;
private clearOptional;
ListType(node: ListTypeNode): string;
protected wrapWithListType(str: string): string;
protected getParentTypeForSignature(node: FieldDefinitionNode): "ParentType" | "UnwrappedObject<ParentType>";
NamedType(node: NamedTypeNode): string;
NonNullType(node: NonNullTypeNode): string;
protected getPunctuation(_declarationKind: DeclarationKind): string;
protected buildEnumResolverContentBlock(node: EnumTypeDefinitionNode, mappedEnumType: string): string;
protected buildEnumResolversExplicitMappedValues(node: EnumTypeDefinitionNode, valuesMapping: {
[valueName: string]: string | number;
}): string;
}