o
    tBh                     @   sn   d dl mZmZmZ ddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZ dgZG dd deZd	S )
    )AnyUnioncast   )GraphQLError)DirectiveDefinitionNodeDocumentNodeExecutableDefinitionNodeSchemaDefinitionNodeSchemaExtensionNodeTypeDefinitionNodeVisitorActionSKIP   )ASTValidationRuleExecutableDefinitionsRulec                   @   s&   e Zd ZdZdededefddZdS )r   zExecutable definitions

    A GraphQL document is only valid for execution if all definitions are either
    operation or fragment definitions.

    See https://spec.graphql.org/draft/#sec-Executable-Definitions
    node_argsreturnc                 G   s`   |j D ]*}t|ts-t|ttfrdndtttt	f |j
j}| td| d| qtS )Nschemaz'{}'zThe z definition is not executable.)definitions
isinstancer	   r
   r   formatr   r   r   r   namevaluereport_errorr   r   )selfr   r   
definitiondef_name r   /var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/graphql/validation/rules/executable_definitions.pyenter_document   s,   



z(ExecutableDefinitionsRule.enter_documentN)__name__
__module____qualname____doc__r   r   r   r!   r   r   r   r    r      s    N)typingr   r   r   errorr   languager   r   r	   r
   r   r   r   r    r   __all__r   r   r   r   r    <module>   s    (
