
    k7i                     j    S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	  S SK
Jr  S SKJr   " S S\5      rg	)
    )Sequence)AnySupportsFloat)
prefix_keyunprefix_key)override)AsyncKeyValue)BaseWrapperc                     ^  \ rS rSrSrS\S\SS4U 4S jjrS\S\4S	 jrS\S\4S
 jr	\
SS.S\S\S-  S\\\4   S-  4S jj5       r\
SS.S\\   S\S-  S\\\\4   S-     4S jj5       r\
SS.S\S\S-  S\\\\4   S-  \S-  4   4S jj5       r\
SS.S\\   S\S-  S\\\\\4   S-  \S-  4      4S jj5       r\
SSS.S\S\\\4   S\S-  S\S-  SS4
S jj5       r\
SSS.S\\   S\\\\4      S\S-  S\\S-     S-  SS4
S jj5       r\
SS.S\S\S-  S\4S jj5       r\
SS.S\\   S\S-  S\4S jj5       rSrU =r$ )PrefixKeysWrapper   zLA wrapper that prefixes key names before delegating to the underlying store.	key_valueprefixreturnNc                 :   > Xl         X l        [        TU ]  5         g)zxInitialize the prefix keys wrapper.

Args:
    key_value: The store to wrap.
    prefix: The prefix to add to the keys.
N)r   r   super__init__)selfr   r   	__class__s      d/home/james-whalen/.local/lib/python3.13/site-packages/key_value/aio/wrappers/prefix_keys/wrapper.pyr   PrefixKeysWrapper.__init__   s     )2!    keyc                 *    [        U R                  US9$ N)r   r   )r   r   r   r   s     r   _prefix_keyPrefixKeysWrapper._prefix_key   s    #66r   c                 *    [        U R                  US9$ r   )r   r   r   s     r   _unprefix_keyPrefixKeysWrapper._unprefix_key   s    4;;C88r   )
collectionr"   c                n   #    U R                  US9nU R                  R                  X2S9I S h  vN $  N7fNr   )r   r"   )r   r   getr   r   r"   new_keys       r   r&   PrefixKeysWrapper.get   6     ''C'0^^''G'KKKK   ,535keysc                   #    U Vs/ s H  o0R                  US9PM     nnU R                  R                  XBS9I S h  vN $ s  snf  N	7fNr%   )r,   r"   )r   r   get_manyr   r,   r"   r   new_keyss        r   r/   PrefixKeysWrapper.get_many$   I     DHIDS//C/8DI^^,,(,RRR JR   A	AA	A
A	c                n   #    U R                  US9nU R                  R                  X2S9I S h  vN $  N7fr$   )r   r   ttlr'   s       r   r6   PrefixKeysWrapper.ttl)   r*   r+   c                   #    U Vs/ s H  o0R                  US9PM     nnU R                  R                  XBS9I S h  vN $ s  snf  N	7fr.   )r   r   ttl_manyr0   s        r   r9   PrefixKeysWrapper.ttl_many.   r3   r4   )r"   r6   valuer6   c                p   #    U R                  US9nU R                  R                  XRX4S9I S h  vN $  N7f)Nr%   )r   r;   r"   r6   )r   r   put)r   r   r;   r"   r6   r(   s         r   r=   PrefixKeysWrapper.put3   s8     ''C'0^^''GZ'aaaas   -646valuesc                   #    U Vs/ s H  oPR                  US9PM     nnU R                  R                  XbX4S9I S h  vN $ s  snf  N	7f)Nr%   )r,   r?   r"   r6   )r   r   put_many)r   r,   r?   r"   r6   r   r1   s          r   rA   PrefixKeysWrapper.put_many8   sP      EIIDS//C/8DI^^,,(V`,jjj Jjs   A
AA
A
A
c                n   #    U R                  US9nU R                  R                  X2S9I S h  vN $  N7fr$   )r   r   deleter'   s       r   rD   PrefixKeysWrapper.deleteD   s6     ''C'0^^**w*NNNNr+   c                   #    U Vs/ s H  o0R                  US9PM     nnU R                  R                  XBS9I S h  vN $ s  snf  N	7fr.   )r   r   delete_manyr0   s        r   rG   PrefixKeysWrapper.delete_manyI   sI     DHIDS//C/8DI^^//X/UUU JUr4   )r   r   )__name__
__module____qualname____firstlineno____doc__r	   strr   r   r    r   dictr   r&   listr/   tuplefloatr6   r9   r   r=   r   rA   boolrD   intrG   __static_attributes____classcell__)r   s   @r   r   r      s   V	- 	 	 	7s 7s 79 9 9 >B LS Lt LtCQTH~X\G\ L L JN S49 SS4Z SSWX\]`be]eXfimXmSn S S >B LS Lt LuTRUWZRZ^^bMbdilpdpMpGq L L JN S49 SS4Z SSWX]^bcfhkck^los^suz  ~B  vB  _B  YC  TD S S UYw{ bS bc3h bd
 b`mpt`t b  AE b b  "&59	k3i	k c3h(	k
 $J	k md*+d2	k 
	k 	k AE O OC$J O$ O O MQ Vd3i Vd
 VVY V Vr   r   N)collections.abcr   typingr   r   key_value.shared.utils.compoundr   r   typing_extensionsr   !key_value.aio.protocols.key_valuer	   key_value.aio.wrappers.baser
   r    r   r   <module>r^      s'    $ % D & ; 3AV AVr   