o
    ˳i"                     @  sp   d dl mZ d dlmZ d dlmZ zd dlmZmZ G dd deZ	W dS  e
y7   G dd deZ	Y dS w )	    )annotations)BytesIO)Codec)ZstdCompressorZstdDecompressorc                   @  (   e Zd Zed
ddZedddZd	S )ZStandardCodecdatabytesreturntuple[bytes, int]c                 C  s   t  | }|t|fS )N)r   compresslen)r	   compressed_data r   Y/home/ubuntu/.local/lib/python3.10/site-packages/pyiceberg/avro/codecs/zstandard_codec.pyr      s   ZStandardCodec.compressc                 C  sf   t  }t }|t| }	 |d}|sn|| qW d    t|S 1 s*w   Y  t|S )NTi @  )	bytearrayr   stream_readerr   readextendr
   )r	   uncompresseddctxreaderchunkr   r   r   
decompress    s   


ZStandardCodec.decompressNr	   r
   r   r   r	   r
   r   r
   __name__
__module____qualname__staticmethodr   r   r   r   r   r   r      s
    r   c                   @  r   )r   r	   r
   r   r   c                 C     t dNzXZstandard support not installed, please install using `pip install pyiceberg[zstandard]`ImportErrorr	   r   r   r   r   /      r   c                 C  r$   r%   r&   r(   r   r   r   r   3   r)   r   Nr   r   r   r   r   r   r   r   .   s
    N)
__future__r   ior   pyiceberg.avro.codecs.codecr   	zstandardr   r   r   r'   r   r   r   r   <module>   s   