Ë
    Ö—ÄjU  ã                  ó&  — d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ  ed¬«       G d„ d«      «       Z e	d«      Zee e«       f   Z ed¬«       G d„ deee   «      «       Zd dlmZmZ y)é    )Úannotations)Ú	dataclassÚreplace)ÚAnyÚGenericÚTextIOÚTypeVar)ÚTypeView)Ú	Annotated)ÚFinalArg)ÚDefault)ÚResolved)ÚOutput)ÚStateT)Úfrozenc                  óB   — e Zd ZdZe	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Zy)ÚDestructurez&Collection for destructuring settings.c                ó^  — |sy |du r
t        «       }|j                  «       j                  }t        |t        «      st        d«      ‚t        j                  |«      }t        ||j                  xs ||j                  xs |¬«      }|j                  «       }	t        ||	|j                  |¬«      S )NTzFDestructured arguments currently only support singular concrete types.)Údefault_shortÚdefault_long)Ú
field_nameÚcommandÚis_optionalÚdefault)r   Ústrip_optionalÚ
annotationÚ
isinstanceÚtypeÚ
ValueErrorÚCommandÚgetr   r   r   ÚcollectÚFinalDestructurer   )
Úclsr   r   ÚdestructureÚ	type_viewr   r   r   Úinnerr   s
             úVC:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\cappa/destructure.pyr"   zDestructure.collect   s¬   € ñ Øà˜$ÑÜ%›-ˆKà×-Ñ-Ó/×:Ñ:ˆ
Ü˜*¤dÔ+ÜØXóð ô &Ÿk™k¨*Ó5ˆÜØØ×-Ñ-Ò>°Ø×+Ñ+Ò;¨|ô
ˆð
 &+§]¡]£_ˆÜØ!ØØ!×-Ñ-Øô	
ð 	
ó    N)FF)r   Ústrr   r   r%   zDestructure | bool | Noner&   zTypeView[Any]r   Úboolr   r+   ÚreturnzFinalDestructure[Any] | None)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr"   © r)   r(   r   r      sc   „ á0àð $Ø"ð!
àð!
ð ð!
ð /ð	!
ð
 !ð!
ð ð!
ð ð!
ð 
&ò!
ó ñ!
r)   r   ÚTc                  óf   — e Zd ZU dZded<   ded<   ded<   ded	<   	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zy
)r#   ax  Post-normalization representation of a destructured argument.

    This is produced alongside FinalArg/FinalSubcommand in a `Command`'s set of arguments.
    The parser and mapper work together to produce the destructured value as a nested mapping
    that the contained virtual `command` can understand, and then the result is mapped to
    the final value of the field.
    r*   r   zFinalCommand[T]r   r+   r   r   r   Nc                óÂ   ‡— | j                   r&|s$| j                  ||¬«      \  }Št        ˆfd„«      S | j                  j	                  | j                  |||||«      d   S )N)ÚstateÚinputc                 ó   •— ‰ S )Nr2   )Úvalues   €r(   Ú<lambda>z-FinalDestructure.map_result.<locals>.<lambda>V   s   ø€ ¡Er)   r   )r   r   r   r   Ú
map_result)ÚselfÚprogÚparsed_argsÚoutputr6   r7   Ú_r9   s          @r(   r;   zFinalDestructure.map_resultL   sa   ø€ ð ×Ò¡KØ—|‘|¨%°u�|Ó=‰HˆAˆuÜ›MÓ*Ð*à�|‰|×&Ñ&Ø�L‰L˜$ ¨V°U¸Eó
à
ñð 	r)   c                óº   — | j                   j                  }| g}|D ]<  }t        |t        «      st	        d«      ‚t        || d¬«      }|j                  |«       Œ> |S )NzAOnly `Arg` is supported in the context of a destructured argumentF)r%   Ú	has_value)r   Ú	argumentsr   r   r   r   Úappend)r<   Úvirtual_argsÚresultÚvirtual_args       r(   Úexplode_argszFinalDestructure.explode_args\   sf   € Ø—|‘|×-Ñ-ˆà?C¸fˆÛ'ˆKÜ˜k¬8Ô4Ü ØWóð ô "ØØ ØôˆKð �M‰M˜+Õ&ð (ð ˆr)   )NN)r=   r*   r>   zdict[str, Any]r?   r   r6   zState[Any] | Noner7   zTextIO | Noner,   zResolved[T])r,   z+list[FinalArg[Any] | FinalDestructure[Any]])r-   r.   r/   r0   Ú__annotations__r;   rH   r2   r)   r(   r#   r#   =   sl   … ñð ƒOØÓØÓØÓð $(Ø#ðàðð $ðð ð	ð
 !ðð ðð 
óô r)   r#   )r    ÚFinalCommandN)Ú
__future__r   Údataclassesr   r   Útypingr   r   r   r	   Ú	type_lensr
   Útyping_extensionsr   Ú	cappa.argr   Úcappa.defaultr   Úcappa.invoke.typesr   Úcappa.outputr   Úcappa.stater   r   r3   ÚDestructuredr#   Úcappa.commandr    rJ   r2   r)   r(   Ú<module>rW      s�   ðÝ "ç *ß 0Ó 0å Ý 'å Ý !Ý 'Ý Ý ñ �$Ô÷%
ð %
ó ð%
ñP ˆCƒL€Ø˜™K›MÐ)Ñ*€ñ �$Ôô0�{ G¨A¡Jó 0ó ð0÷f 0Ð /r)   