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   