
    s0j                        U d dl mZ d dlZd dlZd dlmZmZmZmZm	Z	 d dl
mZm
Z
 d dlmZmZ ddlmZ dd	lmZmZ eej                  hZd
ed<   ddZddZddZddZddZddZddZy)    )annotationsN)AnyTypeUnionLiteralOptional)datedatetime)get_args
get_origin   )StrBytesIntFloat   )
parse_dateparse_datetimezset[object]_LITERAL_TYPESc                    t        |       S N)	_get_argstps    M/home/Script/Script_env/lib/python3.12/site-packages/openai/_utils/_compat.pyr   r      s    R=    c                    t        |       S r   )_get_originr   s    r   r   r      s    r?r   c                p    t         j                  dk  r| t        u S dd l}| t        u xs | |j                  u S )N)   
   r   )sysversion_infor   types	UnionType)r   r!   s     r   is_unionr#      s5    
'!U{U{3bEOO33r   c                ,    t        j                  |       S r   )typing_extensionsis_typeddictr   s    r   r&   r&       s    ))"--r   c                $    t        |       t        v S r   )r   r   r   s    r   is_literal_typer(   $   s    b>^++r   c                    t        |       S r   )_parse_datevalues    r   r   r   (   s    ur   c                    t        |       S r   )_parse_datetimer+   s    r   r   r   ,   s    5!!r   )r   	type[Any]returnztuple[Any, ...])r   r/   r0   ztype[Any] | None)r   zOptional[Type[Any]]r0   bool)r   z	Type[Any]r0   r1   )r,   zUnion[date, StrBytesIntFloat]r0   r	   )r,   z!Union[datetime, StrBytesIntFloat]r0   r
   )
__future__r   r   r%   typingr   r   r   r   r   r
   r	   r   r   r   r   _typesr   _datetime_parser   r*   r   r.   r   __annotations__r#   r&   r(    r   r   <module>r8      sY    " 
  6 6 # N % Y&(9(A(AB B4.,"r   