
    !j2                     @    d  Z  e            Zd Z G d d          ZdS )c                 "    | |t          di |dS )N)	operationlocationparams )dict)namer   kwargss      G/var/www/html/bolsaweb/venv/lib/python3.11/site-packages/dash/_patch.py
_operationr      s    8t~~f~~NNN    c                 N    t          | t                    rt          d          d S )Nz&a slice is not a valid index for patch)
isinstanceslice	TypeError)objs    r
   validate_slicer      s0    #u B@AAAB Br   c                       e Zd ZdZddZd Zd ZddZddZd	 Z	d
 Z
d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd dZd Zd ZdS )!Patchz
    Patch a callback output value

    Act like a proxy of the output prop value on the frontend.

    Supported prop types: Dictionaries and lists.
    Nc                 h    ||| _         n|r|j         pg | _         ||j        | _        d S g | _        d S N	_location_operations)selfr   parents      r
   __init__zPatch.__init__   sL    %DNN %9)9@bDN%1D!Dr   c                      t          |           S r   )varsr   s    r
   __getstate__zPatch.__getstate__!   s    Dzzr   c                 J    t          |                               |           d S r   )r   update)r   states     r
   __setstate__zPatch.__setstate__$   s"    T

%     r   returnc                 T    t          |           t          | j        |gz   |           S )N)r   r   )r   r   r   r   items     r
   __getitem__zPatch.__getitem__'   s,    tdnv5dCCCCr   c                 z    |dk    rt           |dk    r| j        S |dk    r| j        S |                     |          S )Ntolistr   r   )AttributeErrorr   r   r)   r'   s     r
   __getattr__zPatch.__getattr__+   sN    8  ;>!=  ##%%%r   c                 R    |dv r|| j         |<   d S |                     ||           d S )Nr   )__dict____setitem__r   keyvalues      r
   __setattr__zPatch.__setattr__5   s<    ...!&DM#S%(((((r   c                 0    |                      |           d S r   )__delitem__r'   s     r
   __delattr__zPatch.__delattr__;   s    r   c                     t          |           |t          u rd S | j                            t	          d| j        |gz   |                     d S )NAssignr3   )r   _noopr   appendr   r   r1   s      r
   r0   zPatch.__setitem__>   sg    sE>>F#&  	
 	
 	
 	
 	
r   c                     t          |           | j                            t          d| j        |gz                        d S )NDelete)r   r   r<   r   r   )r   r2   s     r
   r6   zPatch.__delitem__K   s@    s
8T^se5K L LMMMMMr   c                     t          |t          t          f          r|                     |           n/| j                            t          d| j        |                     | j        s| S t          S )NAddr:   )	r   listtupleextendr   r<   r   r   r;   r   others     r
   __iadd__zPatch.__iadd__O   sj    edE]++ 	TKK##JudnE$R$R$RSSS~ 	Kr   c                     | j                             t          d| j        |                     | j        s| S t          S )NSubr:   r   r<   r   r   r;   rD   s     r
   __isub__zPatch.__isub__X   >    
5$. N N NOOO~ 	Kr   c                     | j                             t          d| j        |                     | j        s| S t          S )NMulr:   rI   rD   s     r
   __imul__zPatch.__imul__^   rK   r   c                     | j                             t          d| j        |                     | j        s| S t          S )NDivr:   rI   rD   s     r
   __itruediv__zPatch.__itruediv__d   rK   r   c                 N    |                      |           | j        s| S t          S )N)E)r"   r   r;   rD   s     r
   __ior__zPatch.__ior__j   s*    e~ 	Kr   c                      t          d          )Nz6Patch objects are write-only, you cannot iterate them.)r   r   s    r
   __iter__zPatch.__iter__p   s    PQQQr   c                     d| j          dS )Nz!<write-only dash.Patch object at >)r   r   s    r
   __repr__zPatch.__repr__s   s    D4>DDDDr   c                 d    | j                             t          d| j        |                     dS )z!Add the item to the end of a listAppendr:   Nr   r<   r   r   r'   s     r
   r<   zPatch.appendv   0    
8T^4 P P PQQQQQr   c                 d    | j                             t          d| j        |                     dS )z#Add the item to the start of a listPrependr:   Nr\   r'   s     r
   prependzPatch.prependz   s0    
9dnD Q Q QRRRRRr   c                 f    | j                             t          d| j        ||                     dS )z#Add the item at the index of a listInsert)r3   indexNr\   )r   rc   r(   s      r
   insertzPatch.insert~   s=    xt5III	
 	
 	
 	
 	
r   c                 `    | j                             t          d| j                             dS )zRemove all items in a listClearNr\   r   s    r
   clearzPatch.clear   s+    
7DN C CDDDDDr   c                 `    | j                             t          d| j                             dS )z(Reversal of the order of items in a listReverseNr\   r   s    r
   reversezPatch.reverse   s+    
9dn E EFFFFFr   c                     t          |t          t          f          st          | d          | j                            t          d| j        |                     dS )z&Add all the items to the end of a listz should be a list or tupleExtendr:   N)r   rA   rB   r   r   r<   r   r   r'   s     r
   rC   zPatch.extend   s^    $u.. 	At???@@@
8T^4 P P PQQQQQr   c                 d    | j                             t          d| j        |                     dS )z-filter the item out of a list on the frontendRemover:   Nr\   r'   s     r
   removezPatch.remove   r]   r   c                     |pi }|                     |           | j                            t          d| j        |                     dS )z9Merge a dict or keyword arguments with another dictionaryMerger:   N)r"   r   r<   r   r   )r   rS   Fr3   s       r
   r"   zPatch.update   sH    RQ
7DN% P P PQQQQQr   c                      t          d          )NzOsort is reserved for future use, use brackets to access this key on your object)KeyErrorr   s    r
   sortz
Patch.sort   s    ]
 
 	
r   c                     d| j         dS )N__dash_patch_update)rw   
operations)r   r   s    r
   to_plotly_jsonzPatch.to_plotly_json   s    #8*
 
 	
r   )NN)r%   r   r   )__name__
__module____qualname____doc__r   r    r$   r)   r-   r4   r7   r0   r6   rF   rJ   rN   rQ   rT   rV   rY   r<   r`   rd   rg   rj   rC   ro   r"   ru   ry   r   r   r
   r   r      s        	" 	" 	" 	"  ! ! !D D D D& & & &) ) )  
 
 
N N N          R R RE E ER R RS S S
 
 
E E EG G GR R RR R RR R R R
 
 


 
 
 
 
r   r   N)r   objectr;   r   r   r   r   r
   <module>r      sr   O O O 	B B B
Y
 Y
 Y
 Y
 Y
 Y
 Y
 Y
 Y
 Y
r   