o
    ÑtBh  ã                   @   sN   d dl mZ ddlmZ ddlmZ ddlmZmZ dgZ	G dd„ deƒZ
d	S )
é    )ÚAnyé   )ÚGraphQLError)ÚSchemaDefinitionNodeé   )ÚSDLValidationRuleÚSDLValidationContextÚLoneSchemaDefinitionRulec                       s<   e Zd ZdZdef‡ fdd„Zdededdfd	d
„Z‡  Z	S )r	   zlLone Schema definition

    A GraphQL document is only valid if it contains only one schema definition.
    Úcontextc                    s:   t ƒ  |¡ |j}|o|jp|jp|jp|j| _d| _d S )Nr   )	ÚsuperÚ__init__ÚschemaÚast_nodeÚ
query_typeÚmutation_typeÚsubscription_typeÚalready_definedÚschema_definitions_count)Úselfr
   Ú
old_schema©Ú	__class__© ú†/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/graphql/validation/rules/lone_schema_definition.pyr      s   ÿþü
z!LoneSchemaDefinitionRule.__init__ÚnodeÚ_argsÚreturnNc                 G   sB   | j r|  td|ƒ¡ d S | jr|  td|ƒ¡ |  jd7  _d S )Nz5Cannot define a new schema within a schema extension.z(Must provide only one schema definition.r   )r   Úreport_errorr   r   )r   r   r   r   r   r   Úenter_schema_definition   s   ÿÿÿz0LoneSchemaDefinitionRule.enter_schema_definition)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   Ú__classcell__r   r   r   r   r	   
   s    N)Útypingr   Úerrorr   Úlanguager   Ú r   r   Ú__all__r	   r   r   r   r   Ú<module>   s    