o
    tBh                     @   s^   d dl mZmZ ddlmZ ddlmZmZmZm	Z	 ddl
mZmZ dgZG dd deZd	S )
    )AnyDict   )GraphQLError)NameNodeOperationDefinitionNodeVisitorActionSKIP   )ASTValidationContextASTValidationRuleUniqueOperationNamesRulec                       sR   e Zd ZdZdef fddZdededefdd	Z	e
dedefd
dZ  ZS )r   zUnique operation names

    A GraphQL document is only valid if all defined operations have unique names.

    See https://spec.graphql.org/draft/#sec-Operation-Name-Uniqueness
    contextc                    s   t  | i | _d S N)super__init__known_operation_names)selfr   	__class__ /var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/graphql/validation/rules/unique_operation_names.pyr      s   
z!UniqueOperationNamesRule.__init__node_argsreturnc                 G   sP   |j }|r&| j}|j|v r!| td|j d||j |g tS |||j< tS )Nz'There can be only one operation named 'z'.)namer   valuereport_errorr   r	   )r   r   r   operation_namer   r   r   r   enter_operation_definition   s   
	
z3UniqueOperationNamesRule.enter_operation_definitionc                  G   s   t S r   )r	   )r   r   r   r   enter_fragment_definition(   s   z2UniqueOperationNamesRule.enter_fragment_definition)__name__
__module____qualname____doc__r   r   r   r   r   r   staticmethodr    __classcell__r   r   r   r   r   
   s    
N)typingr   r   errorr   languager   r   r   r	    r   r   __all__r   r   r   r   r   <module>   s    