o
    ÑtBh;  ã                   @   s|   d dl mZ 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
										dd
edededededede	fdd„ZdS )é    )Úcasté   )ÚGraphQLError)Úparse)ÚGraphQLSchemaé   )Úget_introspection_queryÚIntrospectionQueryÚintrospection_from_schemaTÚschemaÚdescriptionsÚspecified_by_urlÚdirective_is_repeatableÚschema_descriptionÚinput_value_deprecationÚreturnc           
      C   sj   t t|||||ƒƒ}ddlm}m} || |ƒ}	t|	|ƒs tdƒ‚|	jr(|	jd ‚|	js/t	dƒ‚t
t|	jƒS )ah  Build an IntrospectionQuery from a GraphQLSchema

    IntrospectionQuery is useful for utilities that care about type and field
    relationships, but do not need to traverse through those relationships.

    This is the inverse of build_client_schema. The primary use case is outside of the
    server context, for instance when doing schema comparisons.
    r   )Úexecute_syncÚExecutionResultz Introspection cannot be executedr   z%Introspection did not return a result)r   r   Úexecution.executer   r   Ú
isinstanceÚRuntimeErrorÚerrorsÚdatar   r   r	   )
r   r   r   r   r   r   Údocumentr   r   Úresult© r   ú‚/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/graphql/utilities/introspection_from_schema.pyr
      s$   ûÿ



N)TTTTT)Útypingr   Úerrorr   Úlanguager   Útyper   r   r	   Ú__all__Úboolr
   r   r   r   r   Ú<module>   s4    úÿþýüûúù