
    k7i              
          S r SrSS\S\S\S-  S\4S jjrSS\S\S-  S\\\4   4S	 jjrSS
\\   S\S-  S\\\\4      4S jjrSS\S\S\S-  S\4S jjrSS\S\S-  S\\\4   4S jjr	SS\S\S\S-  S\4S jjr
SS\S\S\S-  S\4S jjrSS\S\S\S-  S\4S jjrSS\S\S\S-  S\4S jjrSS\\   S\S-  S\\   4S jjrSS\\   S\S\S-  S\\   4S jjrg)z::__Nfirstsecond	separatorreturnc                 0    U=(       d    [         nU  U U 3$ N)DEFAULT_COMPOUND_SEPARATORr   r   r   s      Y/home/james-whalen/.local/lib/python3.13/site-packages/key_value/shared/utils/compound.pycompound_stringr      s     77IWYKx((    stringc                     U=(       d    [         nX;  a  SU  S3n[        U5      S eU R                  US5      n[        U5      S:w  a  SU  S3n[        U5      S eUS   US   4$ )NzString z is not a compound identifier          )r	   	TypeErrorsplitlen)r   r   msg	split_keys       r   uncompound_stringr   
   sx    77IVH$ABn$&!<<	15I
9~x<=n$&Q<1%%r   stringsc                 ^    U=(       d    [         nU  Vs/ s H  n[        X!S9PM     sn$ s  snf N)r   r   r	   r   )r   r   r   s      r   uncompound_stringsr      s-    77IPWXPWfVAPWXXXs   *
collectionkeyc                 4    U=(       d    [         n[        XUS9$ Nr
   )r	   r   )r   r   r   s      r   compound_keyr"      s    77I9MMr   c                 2    U=(       d    [         n[        XS9$ r   r   )r   r   s     r   uncompound_keyr$   #   s    77IC==r   prefixc                 4    U=(       d    [         n[        XUS9$ r!   DEFAULT_PREFIX_SEPARATORr   )r   r%   r   s      r   
prefix_keyr)   (   s    55IyIIr   c                     U=(       d    [         nU R                  X-   5      (       d  SU  SU U 3n[        U5      eU [        X-   5      S  $ )NzKey  is not prefixed with r(   
startswith
ValueErrorr   )r   r%   r   r   s       r   unprefix_keyr/   -   sV    55I>>&,--SE/x	{Cos6%&())r   c                 4    U=(       d    [         n[        XUS9$ r!   r'   )r   r%   r   s      r   prefix_collectionr1   5   s    55IiPPr   c                     U=(       d    [         nU R                  X-   5      (       d  SU  SU U 3n[        U5      eU [        X-   5      S  $ )NzCollection r+   r,   )r   r%   r   r   s       r   unprefix_collectionr3   :   sX    55I  !344J<'=fXi[Qoc&,-/00r   compound_keysc                 z    U=(       d    [         n[        [        XS9 VVs1 s H  u  p#UiM	     snn5      $ s  snnf )zAReturn a unique list of collections from a list of compound keys.r   r   )r	   listr   )r4   r   key_collection_s       r   "get_collections_from_compound_keysr:   B   s6    77I9KTa9wx9w$5N9wxyyxs   7
c                 v    U=(       d    [         n[        XS9 VVs/ s H  u  p4X1:X  d  M  UPM     snn$ s  snnf )zDReturn all keys from a list of compound keys for a given collection.r6   )r	   r   )r4   r   r   r8   r   s        r   get_keys_from_compound_keysr<   H   sE    77I+=m+i  K+i'Nm{  nJC+i  K  K  Ks   55r   )r	   r(   strr   tupler   r7   r   r"   r$   r)   r/   r1   r3   r:   r<    r   r   <module>r@      s  !  )3 ) )d
 )c )
&c &cDj &E#s(O &YS	 YcDj YDQVWZ\_W_Q`La Y
NS Ns NsTz NS N
> >d
 >eCHo >
JC J Jt Js J
*c *3 *3: * *Q# Qs QsTz QUX Q
1C 1 1t 1WZ 1zd3i zCRVJ zbfgjbk zKtCy Kc KVY\`V` Klpqtlu Kr   