o
    QD©im  ã                   @  sp   d dl mZ d dlmZmZ ddlmZ ddlmZ ddl	m
Z
 er.ddlmZ dd	lmZ G d
d„ deƒZdS )é    )Úannotations)ÚTYPE_CHECKINGÚOptionalé   )ÚPluginé   ©ÚBufferControl)ÚBufferLoader)ÚResource)ÚLoaderc                   @  s0   e Zd ZdZddd„Zddd	„Zdddd„Zd
S )ÚBufferPluginzPlugin for Buffer DataÚresourcer   ÚreturnúOptional[Loader]c                 C  s   |j dkr	t|ƒS d S ©NÚbuffer)Úschemer
   ©Úselfr   © r   ú[/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/schemes/buffer/plugin.pyÚcreate_loader   s   
ÿzBufferPlugin.create_loaderc                 C  s<   |j d urt|j tƒrd|_d S d S |jdkrd|_ d S d S )Nr   ó    )ÚdataÚ
isinstanceÚbytesr   r   r   r   r   Údetect_resource   s   

ÿ

ÿzBufferPlugin.detect_resourceNÚtypeúOptional[str]c                 C  s   |dkrt S d S r   r   )r   r   r   r   r   Úselect_control_class   s   ÿz!BufferPlugin.select_control_class)r   r   r   r   )r   r   )N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r   r   r   r   r      s
    

r   N)Ú
__future__r   Útypingr   r   Úsystemr   Úcontrolr	   Úloaderr
   r   r   r   r   r   r   r   r   Ú<module>   s    