o
    tBh                     @   s   d dl mZmZmZmZ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 ddlmZmZmZmZmZmZmZmZmZ dgZeeeeef  ee	gdf Zdeeeef  d	ed
e	ddfddZ e dfdedededee def
ddZ!dS )    )AnyCallableDictListOptionalUnioncast   )GraphQLError)Pathdid_you_meaninspectis_iterableprint_path_listsuggestion_list	Undefined)	GraphQLInputObjectTypeGraphQLInputTypeGraphQLListGraphQLScalarTypeis_leaf_typeis_input_object_typeis_list_typeis_non_null_typeGraphQLNonNullcoerce_input_valueNpathinvalid_valueerrorreturnc                 C   s8   dt | }| r|dt|  d7 }|d |j |_|)NzInvalid value z
 at 'value'z: )r   r   message)r   r   r   error_prefix r#   {/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/graphql/utilities/coerce_input_value.pydefault_on_error    s
   r%   input_valuetype_on_errorc                 C   s:  t |r/| dur| turtt|}t| |j||S ||r | ng | tdt| d tS | du s7| tu r9dS t	|rntt
|}|j}t| rfg }|j}t| D ]\}}|t|||t||d qR|S t| |||gS t|rtt|}t| ts||r| ng | td|j d tS i }	|j}
|
 D ]N\}}| |t}|tu r|jtur|j|	|jp|< nt |jrt|j}||r| ng | td| d| d qt||j|t|||j|	|jp|< q| D ]&}||
vrt||
}||r| ng | td| d	|j d
t|  q||	S t|rtt|}z|| }W nN tyK } z||r:| ng | | tW  Y d}~S d}~w t yw } z ||r[| ng | td|j d| |d tW  Y d}~S d}~ww |tu r||r| ng | td|j d
 |S t!dt| d)z1Coerce a Python value given a GraphQL Input Type.NzExpected non-nullable type 'z' not to be None.zExpected type 'z' to be a mapping.zField 'z' of required type 'z' was not provided.z' is not defined by type 'z'.z'. )original_errorzUnexpected input type: .)"r   r   r   r   r   of_typeas_listr
   r   r   r   r   append	enumerater   r   r   
isinstancedictnamefieldsitemsgetdefault_valueout_nametyper   r   out_typer   r   parse_value	Exception	TypeError)r&   r'   r(   r   	item_typecoerced_listappend_itemindex
item_valuecoerced_dictr2   
field_namefieldfield_valuetype_strsuggestionsparse_resultr   r#   r#   r$   r   *   s   













	)"typingr   r   r   r   r   r   r   r   r
   pyutilsr   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r   __all__strint	OnErrorCBr%   r   r#   r#   r#   r$   <module>   s8   $ $,	
