U
    ‡ÀÂh«  ã                   @  sò   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
ddœdd„Zd
ddœdd„Zdddœdd„Zdddœdd„Zdddœdd„Zdddœdd„Zd d!dœd"d#„ZdS )$é    )ÚannotationsN)ÚAnyÚTypeÚUnionÚLiteralÚOptional)ÚdateÚdatetime)Úget_argsÚ
get_originé   )ÚStrBytesIntFloaté   )Ú
parse_dateÚparse_datetimez	type[Any]ztuple[Any, ...])ÚtpÚreturnc                 C  s   t | ƒS ©N)Ú	_get_args©r   © r   ú9/tmp/pip-unpacked-wheel-dms8d3uv/openai/_utils/_compat.pyr
      s    r
   ztype[Any] | Nonec                 C  s   t | ƒS r   )Ú_get_originr   r   r   r   r      s    r   zOptional[Type[Any]]Úboolc                 C  s0   t jdk r| tkS dd l}| tkp*| |jkS d S )N)é   é
   r   )ÚsysÚversion_infor   ÚtypesZ	UnionType)r   r   r   r   r   Úis_union   s    
r   z	Type[Any]c                 C  s
   t  | ¡S r   )Útyping_extensionsÚis_typeddictr   r   r   r   r!       s    r!   c                 C  s   t | ƒtkS r   )r   Ú_LITERAL_TYPESr   r   r   r   Úis_literal_type$   s    r#   zUnion[date, StrBytesIntFloat]r   )Úvaluer   c                 C  s   t | ƒS r   )Ú_parse_date©r$   r   r   r   r   (   s    r   z!Union[datetime, StrBytesIntFloat]r	   c                 C  s   t | ƒS r   )Ú_parse_datetimer&   r   r   r   r   ,   s    r   )Ú
__future__r   r   r    Útypingr   r   r   r   r   r	   r   r
   r   r   r   Ú_typesr   Z_datetime_parser   r%   r   r'   r"   r   r!   r#   r   r   r   r   Ú<module>   s   
	