Astroport.ONE/venv/lib/python3.11/site-packages/graphql/validation/rules/__init__.py
2024-03-01 16:15:45 +01:00

43 lines
1.1 KiB
Python

"""graphql.validation.rules package"""
from ...error import GraphQLError
from ...language.visitor import Visitor
from ..validation_context import (
ASTValidationContext,
SDLValidationContext,
ValidationContext,
)
__all__ = ["ASTValidationRule", "SDLValidationRule", "ValidationRule"]
class ASTValidationRule(Visitor):
"""Visitor for validation of an AST."""
context: ASTValidationContext
def __init__(self, context: ASTValidationContext):
super().__init__()
self.context = context
def report_error(self, error: GraphQLError) -> None:
self.context.report_error(error)
class SDLValidationRule(ASTValidationRule):
"""Visitor for validation of an SDL AST."""
context: SDLValidationContext
def __init__(self, context: SDLValidationContext) -> None:
super().__init__(context)
class ValidationRule(ASTValidationRule):
"""Visitor for validation using a GraphQL schema."""
context: ValidationContext
def __init__(self, context: ValidationContext) -> None:
super().__init__(context)