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
TypeScript
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;
}