o
    Õ:6f£
  ã                   @   s>   d dl mZ d dlmZ edƒZdd„ Zdd„ ZeedœZd	S )
é   )Ú	Undefined)Ú
get_moduleZnumpyc                    s®   t | tƒr‡ fdd„|  ¡ D ƒS t | ttfƒr ‡ fdd„| D ƒS tdurOt | tjƒrO| jdkrK| jj	dv rK| jdkrK| jd	krKt
| ƒt| jƒ| jd
œS |  ¡ S | tu rUdS | S )a´  
    Python -> Javascript ipywidget serializer

    This function must repalce all objects that the ipywidget library
    can't serialize natively (e.g. numpy arrays) with serializable
    representations

    Parameters
    ----------
    v
        Object to be serialized
    widget_manager
        ipywidget widget_manager (unused)

    Returns
    -------
    any
        Value that the ipywidget library can serialize natively
    c                    ó   i | ]
\}}|t |ˆ ƒ“qS © ©Ú	_py_to_js©Ú.0ÚkÚv©Úwidget_managerr   ú2lib/python3.10/site-packages/plotly/serializers.pyÚ
<dictcomp>   ó    z_py_to_js.<locals>.<dictcomp>c                    ó   g | ]}t |ˆ ƒ‘qS r   r   ©r	   r   r   r   r   Ú
<listcomp>$   ó    z_py_to_js.<locals>.<listcomp>Nr   )ÚuÚiÚfZint64Zuint64)ÚbufferÚdtypeÚshapeÚ_undefined_)Ú
isinstanceÚdictÚitemsÚlistÚtupleÚnpZndarrayÚndimr   ÚkindÚ
memoryviewÚstrr   Útolistr   ©r   r   r   r   r   r      s   



r   c                    sZ   t | tƒr‡ fdd„|  ¡ D ƒS t | ttfƒr ‡ fdd„| D ƒS t | tƒr+| dkr+tS | S )a   
    Javascript -> Python ipywidget deserializer

    Parameters
    ----------
    v
        Object to be deserialized
    widget_manager
        ipywidget widget_manager (unused)

    Returns
    -------
    any
        Deserialized object for use by the Python side of the library
    c                    r   r   ©Ú	_js_to_pyr   r   r   r   r   W   r   z_js_to_py.<locals>.<dictcomp>c                    r   r   r(   r   r   r   r   r   \   r   z_js_to_py.<locals>.<listcomp>r   )r   r   r   r   r    r%   r   r'   r   r   r   r)   D   s   
r)   )Z	from_jsonZto_jsonN)Zbasedatatypesr   Zoptional_importsr   r!   r   r)   Zcustom_serializersr   r   r   r   Ú<module>   s    =&