o
    `Û·iŒ  ã                   @   s.   d dl Z d dlZd dlZG dd„ de jƒZdS )é    Nc                       s*   e Zd Zd‡ fdd„	Z‡ fdd„Z‡  ZS )ÚSafeFallbackEncoderÚnullc                    s    t t| ƒjdi |¤Ž || _d S )N© )Úsuperr   Ú__init__Únan_str)Úselfr   Úkwargs©Ú	__class__r   úL/home/ubuntu/vllm_env/lib/python3.10/site-packages/ray/air/_internal/json.pyr      s   
zSafeFallbackEncoder.__init__c                    s°   zJt |ƒjtjkrt|tjƒr| ¡ W S t|tjƒrt|ƒW S t 	|¡r(| j
W S tt |ƒtjƒr5t|ƒW S tt |ƒtjƒrBt|ƒW S tt| ƒ |¡W S  tyW   t|ƒ Y S w )N)ÚtypeÚ
__module__ÚnpÚ__name__Ú
isinstanceÚndarrayÚtolistÚbool_ÚboolÚisnanr   Ú
issubclassÚnumbersÚIntegralÚintÚNumberÚfloatr   r   ÚdefaultÚ	ExceptionÚstr)r   Úvaluer
   r   r   r      s   




ÿzSafeFallbackEncoder.default)r   )r   r   Ú__qualname__r   r   Ú__classcell__r   r   r
   r   r      s    r   )Újsonr   Únumpyr   ÚJSONEncoderr   r   r   r   r   Ú<module>   s    