UNPKG

graphql-codegen-typescript-validation-schema

Version:

GraphQL Code Generator plugin to generate form validation schema from your GraphQL schema

21 lines (20 loc) 1.31 kB
import type { Types } from '@graphql-codegen/plugin-helpers'; import type { FieldDefinitionNode, GraphQLSchema, InputValueDefinitionNode, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode } from 'graphql'; import type { ValidationSchemaPluginConfig } from './config.js'; import type { SchemaVisitor } from './types.js'; import { Visitor } from './visitor.js'; export declare abstract class BaseSchemaVisitor implements SchemaVisitor { protected schema: GraphQLSchema; protected config: ValidationSchemaPluginConfig; protected importTypes: string[]; protected importValueTypes: string[]; protected enumDeclarations: string[]; constructor(schema: GraphQLSchema, config: ValidationSchemaPluginConfig); abstract importValidationSchema(): string; buildImports(): string[]; abstract initialEmit(): string; buildOperationDefinitions(_documents: Types.DocumentFile[]): string[]; createVisitor(scalarDirection: 'input' | 'output' | 'both'): Visitor; protected abstract buildInputFields(fields: readonly (FieldDefinitionNode | InputValueDefinitionNode)[], visitor: Visitor, name: string, description?: string): string; protected buildTypeDefinitionArguments(node: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, visitor: Visitor): string | undefined; }