
    f j                        d dl mZ d dlZd dlmZ d dlmZ ddlmZm	Z	m
Z
  ed          Z G d d	ee	e         ee         f                   ZdS )
    )annotationsN)TypeVar)warn   )MemoryObjectReceiveStreamMemoryObjectSendStream_MemoryObjectStreamStateT_Itemc                      e Zd ZdZ	 ddd
ZdS )create_memory_object_streama  
    Create a memory object stream.

    The stream's item type can be annotated like
    :func:`create_memory_object_stream[T_Item]`.

    :param max_buffer_size: number of items held in the buffer until ``send()`` starts
        blocking
    :param item_type: old way of marking the streams with the right generic type for
        static typing (does nothing on AnyIO 4)

        .. deprecated:: 4.0
          Use ``create_memory_object_stream[YourItemType](...)`` instead.
    :return: a tuple of (send stream, receive stream)

    r   Nmax_buffer_sizefloat	item_typeobjectreturnHtuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]]c                6   |t           j        k    r$t          |t                    st	          d          |dk     rt	          d          |t          dt          d           t          t                   |          }t          |          t          |          fS )Nz5max_buffer_size must be either an integer or math.infr   z"max_buffer_size cannot be negativeztThe item_type argument has been deprecated in AnyIO 4.0. Use create_memory_object_stream[YourItemType](...) instead.r   )
stacklevel)mathinf
isinstanceint
ValueErrorr   DeprecationWarningr	   r
   r   r   )clsr   r   states       hC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\anyio/_core/_streams.py__new__z#create_memory_object_stream.__new__$   s     dh& 	Vz/3/O/O 	VTUUUQ 	CABBB 	N"	    )0AA&u--/H/O/OPP    )r   N)r   r   r   r   r   r   )__name__
__module____qualname____doc__r    r   r   r   r      sD         $ >BQ Q Q Q Q Q Qr   r   )
__future__r   r   typingr   warningsr   streams.memoryr   r   r	   r
   tupler   r$   r   r   <module>r*      s    " " " " " "                       
		$Q $Q $Q $Q $Q	
 
(*CF*K
KL$Q $Q $Q $Q $Qr   