
    j                        d dl mZ d dlmZ d dlmZ dddddZ ed           ed           ed           ed          dZddZdS )    )annotations)	timedelta)TTLFN)with_callableresultttlr   r   boolreturnint | float | Nonec               4   | d S t          |           }|t          u rt          |           S |t          u r| S |t          u r|                                 S t          |           r5|r3	  | |d|i|} n# t          $ r  | |i |} Y nw xY wt          |           S | S )Nr   )	typestr_ttl_from_strintr   total_secondscallable	TypeErrorttl_to_seconds)r   r   r   argskwargs_types         V/DATA/AppData/hermes/projects/honcho/.venv/lib/python3.11/site-packages/cashews/ttl.pyr   r      s    
{tIIE||S!!!||
	  """}} # #	'#t5F5f55CC 	' 	' 	'#t&v&&CCC	'c"""Js   &
A1 1BB   )hours)minutes)seconds)days)hmsdr   r   c                |   d}d}|                                                                  D ]y}|                                r||z  }|t          v rB|t	          |          t	          t          |                                                   z  z  }d}gt          d|  d          |dk    r|st	          |          S |S )Nr    zttl 'z!' has wrong string representation)striplowerisdigit_STR_TO_DELTAr   r   
ValueError)r   r   mulchars       r   r   r   $   s    F
C		!!## M M<<>> 	M4KCC]""c#hh]4%8%F%F%H%H!I!IIIFCCKSKKKLLL
byyy3xxM    )r   r   r   r	   r
   r   )r   r   r
   r   )	
__future__r   datetimer   cashews._typingr   r   r'   r    r+   r   <module>r0      s    " " " " " "             ;@      * 
				1				1								      r+   