o
    QDi                     @  sr   d dl mZ d dlmZmZmZ d dlZddlmZ ddl	m
Z
 er(ddlmZ ejdd	d
G dd de
ZdS )    )annotations)TYPE_CHECKINGListOptionalN   )fields)Step)ResourceTF)kw_onlyreprc                   @  sv   e Zd ZU dZdZded< 	 dZded< 	 ejdd	 d
Z	ded< 	 dddZ
dgddiddiddddddZdS )
table_meltzlMelt tables.

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

    z
table-meltstr
field_nameNzOptional[str]	variablesc                   C  s   ddgS )Nvariablevalue r   r   r   \/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/steps/table/table_melt.py<lambda>%   s    ztable_melt.<lambda>)factoryz	List[str]to_field_namesresourcer	   c                 C  s   |  }|j| j}|jj  |j| |jtj| jd d |jtj	| jd d |j
| j| j| jd | jd d|_d S )Nr   )name   )keyr   variablefield
valuefield)to_petlschema	get_fieldr   r   clear	add_fieldStringFieldr   AnyFieldmeltr   data)selfr   tablefieldr   r   r   transform_resource,   s   ztable_melt.transform_resource	fieldNametypestringarray   )r+   minItemsmaxItems)r*   r   toFieldNames)required
properties)r   r	   )__name__
__module____qualname____doc__r+   __annotations__r   attrsr(   r   r)   metadata_profile_patchr   r   r   r   r      s    
 


r   )
__future__r   typingr   r   r   r9    r   pipeliner   r   r	   definer   r   r   r   r   <module>   s    