o
    î6WjÂ  ã                   @   sh   d dl Z d dlmZ d dlmZ d dlmZ d dlZddlmZ dede	fd	d
„Z
G dd„ de jƒZdS )é    N)ÚAny)Údatetime)Úoverrideé   )Ú
model_dumpÚobjÚreturnc                 C   s   t j| tdddd� ¡ S )zÎ
    Serialize an object to UTF-8 encoded JSON bytes.

    Extends the standard json.dumps with support for additional types
    commonly used in the SDK, such as `datetime`, `pydantic.BaseModel`, etc.
    F)ú,ú:)ÚclsÚensure_asciiÚ
separatorsÚ	allow_nan)ÚjsonÚdumpsÚ_CustomEncoderÚencode)r   © r   úe/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/anthropic/_utils/_json.pyÚopenapi_dumps   s   úùr   c                       s*   e Zd Zededef‡ fdd„ƒZ‡  ZS )r   Úor   c                    s:   t |tƒr	| ¡ S t |tjƒrt|dddd�S tƒ  |¡S )NTr   )Úexclude_unsetÚmodeÚby_alias)Ú
isinstancer   Ú	isoformatÚpydanticÚ	BaseModelr   ÚsuperÚdefault)Úselfr   ©Ú	__class__r   r   r      s
   
z_CustomEncoder.default)Ú__name__Ú
__module__Ú__qualname__r   r   r   Ú__classcell__r   r   r!   r   r      s     r   )r   Útypingr   r   Útyping_extensionsr   r   Ú_compatr   Úbytesr   ÚJSONEncoderr   r   r   r   r   Ú<module>   s    