o
    QDi                     @  sZ   d dl mZ d dlmZ d dlZddlmZ ddlmZ ej	ddd	G d
d deZ
dS )    )annotations)ListN   )fields)StepTF)kw_onlyreprc                   @  s^   e Zd ZU dZdZded< 	 ded< 	 dZded	< 	 d
d Zddgddiddii ddZdS )field_unpackzmUnpack field.

    This step can be added using the `steps` parameter for the
    `transform` function.

    zfield-unpackstrnamez	List[str]to_namesFboolpreservec                 C  s   |  }|j| j}| jD ]}|jtj|d q| js%|j	| j |j
}t| jd}|jdkr<|j}t| jd}|| j| jfi ||_d S )N)r   )include_originalobject)includeoriginal)to_petlschema	get_fieldr   r   	add_fieldr   AnyFieldr   remove_fieldunpackdicttype
unpackdictdata)selfresourcetablefieldto_name	processoroptions r$   ^/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/steps/field/field_unpack.pytransform_resource)   s   

zfield_unpack.transform_resourcetoNamesr   stringarray)r   r'   r   )required
propertiesN)	__name__
__module____qualname____doc__r   __annotations__r   r&   metadata_profile_patchr$   r$   r$   r%   r	      s    
 
r	   )
__future__r   typingr   attrs r   pipeliner   definer	   r$   r$   r$   r%   <module>   s   