a
    ҏi}                     @   sD   d dl Z d dlmZ d dlmZmZ d dlmZ G dd deZdS )    N)Path)DictUnion)ChannelOwnerc                       sP   e Zd Zeeeedd fddZeeef ddddZ	e
dd	d
Z  ZS )StreamN)parenttypeguidinitializerreturnc                    s   t  |||| d S N)super__init__)selfr   r   r	   r
   	__class__ H/home/Claro/venv/lib/python3.9/site-packages/playwright/_impl/_stream.pyr      s    zStream.__init__)pathr   c                    sz   | j d fddI d H | jdddiI d H   s:qZ| j d  fddI d H  q| j d fddI d H  d S )Nc                      s
   t  dS )Nwb)openr   )r   r   r   <lambda>       z Stream.save_as.<locals>.<lambda>readsize   c                      s    t S r   )writebase64	b64decoder   )binaryfiler   r   r   #   r   c                      s      S r   )closer   )r    r   r   r   %   r   )Z_loopZrun_in_executor_channelsend)r   r   r   )r   r    r   r   save_as   s    zStream.save_as)r   c                    s6   d}| j dddiI d H }|s"q2|t|7 }q|S )Nr   r   r   r   )r"   r#   r   r   )r   r   chunkr   r   r   read_all'   s    zStream.read_all)__name__
__module____qualname__r   strr   r   r   r   r$   bytesr&   __classcell__r   r   r   r   r      s
   r   )	r   pathlibr   typingr   r   Zplaywright._impl._connectionr   r   r   r   r   r   <module>   s   