UNPKG

@graphql-codegen/typescript-type-graphql

Version:

GraphQL Code Generator plugin for generating TypeGraphQL compatible TypeScript types

54 lines (53 loc) 3.15 kB
import { EnumTypeDefinitionNode, FieldDefinitionNode, GraphQLSchema, InputObjectTypeDefinitionNode, InputValueDefinitionNode, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode, TypeDefinitionNode, TypeNode } from 'graphql'; import { TsVisitor, TypeScriptPluginParsedConfig } from '@graphql-codegen/typescript'; import { AvoidOptionalsConfig, DeclarationBlock } from '@graphql-codegen/visitor-plugin-common'; import { TypeGraphQLPluginConfig } from './config.cjs'; export type DecoratorConfig = { type: string; interface: string; field: string; input: string; arguments: string; }; export interface TypeGraphQLPluginParsedConfig extends TypeScriptPluginParsedConfig { avoidOptionals: AvoidOptionalsConfig; constEnums: boolean; enumsAsTypes: boolean; immutableTypes: boolean; maybeValue: string; decoratorName: DecoratorConfig; decorateTypes?: string[]; } interface Type { type: string; isNullable: boolean; isArray: boolean; isScalar: boolean; isItemsNullable: boolean; } type DecoratorOptions = { [key: string]: string; }; export declare class TypeGraphQLVisitor<TRawConfig extends TypeGraphQLPluginConfig = TypeGraphQLPluginConfig, TParsedConfig extends TypeGraphQLPluginParsedConfig = TypeGraphQLPluginParsedConfig> extends TsVisitor<TRawConfig, TParsedConfig> { typescriptVisitor: TsVisitor<TRawConfig, TParsedConfig>; constructor(schema: GraphQLSchema, pluginConfig: TRawConfig, additionalConfig?: Partial<TParsedConfig>); getDecoratorOptions(node: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode | FieldDefinitionNode | InputObjectTypeDefinitionNode | InputValueDefinitionNode): DecoratorOptions; getWrapperDefinitions(): string[]; getFixDecoratorDefinition(): string; getMaybeWrapper(): string; protected buildArgumentsBlock(node: InterfaceTypeDefinitionNode | ObjectTypeDefinitionNode): string; ObjectTypeDefinition(node: ObjectTypeDefinitionNode, key: number | string, parent: any): string; InputObjectTypeDefinition(node: InputObjectTypeDefinitionNode): string; getArgumentsObjectDeclarationBlock(node: InterfaceTypeDefinitionNode | ObjectTypeDefinitionNode, name: string, field: FieldDefinitionNode): DeclarationBlock; getArgumentsObjectTypeDefinition(node: InterfaceTypeDefinitionNode | ObjectTypeDefinitionNode, name: string, field: FieldDefinitionNode): string; InterfaceTypeDefinition(node: InterfaceTypeDefinitionNode, key: number | string, parent: any): string; buildTypeString(type: Type): string; parseType(rawType: TypeNode | string): Type; fixDecorator(type: Type, typeString: string): string; FieldDefinition(node: FieldDefinitionNode, key?: number | string, parent?: any, path?: any, ancestors?: TypeDefinitionNode[]): string; InputValueDefinition(node: InputValueDefinitionNode, key?: number | string, parent?: any, path?: Array<string | number>, ancestors?: Array<TypeDefinitionNode>): string; EnumTypeDefinition(node: EnumTypeDefinitionNode): string; protected clearOptional(str: string): string; protected hasTypeDecorators(typeName: string): boolean; } export {};