UNPKG

@graphql-codegen/typescript-operations

Version:

GraphQL Code Generator plugin for generating TypeScript types for GraphQL queries, mutations, subscriptions and fragments

46 lines (45 loc) 2.4 kB
import { BaseDocumentsVisitor, type ConvertSchemaEnumToDeclarationBlockString, DeclarationKind, NormalizedAvoidOptionalsConfig, ParsedDocumentsConfig, type ParsedEnumValuesMap } from '@graphql-codegen/visitor-plugin-common'; import { type DocumentNode, EnumTypeDefinitionNode, GraphQLEnumType, GraphQLInputObjectType, GraphQLScalarType, type GraphQLSchema, InputObjectTypeDefinitionNode, InputValueDefinitionNode, type TypeDefinitionNode } from 'graphql'; import { TypeScriptDocumentsPluginConfig } from './config.js'; export interface TypeScriptDocumentsParsedConfig extends ParsedDocumentsConfig { arrayInputCoercion: boolean; avoidOptionals: NormalizedAvoidOptionalsConfig; immutableTypes: boolean; noExport: boolean; maybeValue: string; allowUndefinedQueryVariables: boolean; enumType: ConvertSchemaEnumToDeclarationBlockString['outputType']; futureProofEnums: boolean; enumValues: ParsedEnumValuesMap; } type UsedNamedInputTypes = Record<string, { type: 'GraphQLScalarType'; node: GraphQLScalarType; tsType: string; } | { type: 'GraphQLEnumType'; node: GraphQLEnumType; tsType: string; } | { type: 'GraphQLInputObjectType'; node: GraphQLInputObjectType; tsType: string; }>; export declare class TypeScriptDocumentsVisitor extends BaseDocumentsVisitor<TypeScriptDocumentsPluginConfig, TypeScriptDocumentsParsedConfig> { protected _usedNamedInputTypes: UsedNamedInputTypes; private _outputPath; constructor(schema: GraphQLSchema, config: TypeScriptDocumentsPluginConfig, documentNode: DocumentNode, outputPath: string); EnumTypeDefinition(node: EnumTypeDefinitionNode): string | null; InputObjectTypeDefinition(node: InputObjectTypeDefinitionNode): string | null; InputValueDefinition(node: InputValueDefinitionNode, _key?: number | string, _parent?: any, _path?: Array<string | number>, ancestors?: Array<TypeDefinitionNode>): string; getImports(): Array<string>; getExternalSchemaTypeImports(): Array<string>; protected getPunctuation(_declarationKind: DeclarationKind): string; protected applyVariablesWrapper(variablesBlock: string, operationType: string): string; private collectInnerTypesRecursively; private collectUsedInputTypes; getEnumsImports(): string[]; getExactUtilityType(): string | null; getIncrementalUtilityType(): string | null; } export {};