
    k7i                     v    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KJr   " S S	\5      rg
)    )Sequence)AnySupportsFloat)prefix_collectionunprefix_collection)override)AsyncKeyValue)DEFAULT_COLLECTION_NAME)BaseWrapperc                     ^  \ rS rSrSrSS\S\S\S-  SS4U 4S jjjrS	\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$ )PrefixCollectionsWrapper   zSA wrapper that prefixes collection names before delegating to the underlying store.N	key_valueprefixdefault_collectionreturnc                 b   > Xl         X l        U=(       d    [        U l        [        TU ]  5         g)a  Initialize the prefix collections wrapper.

Args:
    key_value: The store to wrap.
    prefix: The prefix to add to the collections.
    default_collection: The default collection to use if no collection is provided. Will be automatically prefixed with the `prefix`
N)r   r   r
   r   super__init__)selfr   r   r   	__class__s       k/home/james-whalen/.local/lib/python3.13/site-packages/key_value/aio/wrappers/prefix_collections/wrapper.pyr   !PrefixCollectionsWrapper.__init__   s(     )2!'9'T=T    
collectionc                 P    [        U R                  U=(       d    U R                  S9$ N)r   r   )r   r   r   r   r   s     r   _prefix_collection+PrefixCollectionsWrapper._prefix_collection   s     
@edNeNeffr   c                 *    [        U R                  US9$ r   )r   r   r   s     r   _unprefix_collection-PrefixCollectionsWrapper._unprefix_collection   s    "$++*MMr   r   keyc                n   #    U R                  US9nU R                  R                  XS9I S h  vN $  N7fNr$   )r%   r   )r   r   getr   r%   r   new_collections       r   r(   PrefixCollectionsWrapper.get"   6     "555L^^''C'KKKK   ,535keysc                n   #    U R                  US9nU R                  R                  XS9I S h  vN $  N7fNr$   )r.   r   )r   r   get_manyr   r.   r   r*   s       r   r1   !PrefixCollectionsWrapper.get_many'   6     "555L^^,,$,RRRRr-   c                n   #    U R                  US9nU R                  R                  XS9I S h  vN $  N7fr'   )r   r   ttlr)   s       r   r6   PrefixCollectionsWrapper.ttl,   r,   r-   c                n   #    U R                  US9nU R                  R                  XS9I S h  vN $  N7fr0   )r   r   ttl_manyr2   s       r   r9   !PrefixCollectionsWrapper.ttl_many1   r4   r-   )r   r6   valuer6   c                p   #    U R                  US9nU R                  R                  XXTS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=   PrefixCollectionsWrapper.put6   s8     "555L^^''C'aaaa   -646valuesc                p   #    U R                  US9nU R                  R                  XXTS9I S h  vN $  N7f)Nr$   )r.   r@   r   r6   )r   r   put_many)r   r.   r@   r   r6   r*   s         r   rB   !PrefixCollectionsWrapper.put_many;   s;      #555L^^,,$R`,jjjjr?   c                n   #    U R                  US9nU R                  R                  XS9I S h  vN $  N7fr'   )r   r   deleter)   s       r   rE   PrefixCollectionsWrapper.deleteG   s6     "555L^^**s*NNNNr-   c                n   #    U R                  US9nU R                  R                  XS9I S h  vN $  N7fr0   )r   r   delete_manyr2   s       r   rH   $PrefixCollectionsWrapper.delete_manyL   s6     "555L^^//T/UUUUr-   )r   r   r   )N)__name__
__module____qualname____firstlineno____doc__r	   strr   r   r"   r   dictr   r(   listr1   tuplefloatr6   r9   r   r=   r   rB   boolrE   intrH   __static_attributes____classcell__)r   s   @r   r   r      s   ]-  RUX\R\ hl  gS4Z gC gNs Ns N >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.stores.baser
   key_value.aio.wrappers.baser   r    r   r   <module>r`      s*    $ % R & ; = 3CV{ CVr   