graphql-codegen-typescript-operation-types
Version:
GraphQL codegen plugin that generates only the types used in the operations
19 lines (18 loc) • 1.33 kB
TypeScript
import { TsVisitor } from '@graphql-codegen/typescript';
import { EnumTypeDefinitionNode, GraphQLSchema, InputObjectTypeDefinitionNode, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode, UnionTypeDefinitionNode } from 'graphql';
import { TypescriptOperationTypesPluginConfig } from './config';
export declare class SpecificTypesVisitor extends TsVisitor {
private readonly includedTypes;
constructor(schema: GraphQLSchema, pluginConfig: TypescriptOperationTypesPluginConfig, includedTypes: Map<string, boolean>);
/**
* We do not include the arguments types in this plugin as this should only be used mutations and queries which
* either hard codes inputs or has input types. This therefore adds unneeded complexity and complicates discovering
* input types that aren't actually used in the operations.
*/
buildArgumentsBlock(): string;
InputObjectTypeDefinition(node: InputObjectTypeDefinitionNode): string;
ObjectTypeDefinition(node: ObjectTypeDefinitionNode, key: string | number, parent: unknown): string;
EnumTypeDefinition(node: EnumTypeDefinitionNode): string;
InterfaceTypeDefinition(node: InterfaceTypeDefinitionNode, key: number | string, parent: unknown): string;
UnionTypeDefinition(node: UnionTypeDefinitionNode, key: number | string, parent: unknown): string;
}