o
    i                     @   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   K/home/kim/smarthome/.venv/lib/python3.10/site-packages/groq/_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   )Zexclude_unsetmodeZby_alias)
isinstancer   	isoformatpydanticZ	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   Ztyping_extensionsr   r   Z_compatr   bytesr   JSONEncoderr   r   r   r   r   <module>   s    