
    ii~                    X    d dl mZ d dlZd dlZd dlmZmZ d dlmZ  G d d          Z	dS )    )annotationsN)AnyCallable)PostGeneratedc                  &    e Zd ZdZdZddZddZdS )post_generatedzKDescriptor class for wrapping a classmethod into a ``PostGenerated`` field.)cachemethodr
   Callable | classmethodreturnNonec                n    t          |t                    sd}t          |          || _        i | _        d S )Nz9post_generated decorator can only be used on classmethods)
isinstanceclassmethod	TypeErrorr
   r	   )selfr
   msgs      n/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/polyfactory/decorators.py__init__zpost_generated.__init__   s7    &+.. 	!MCC.. 02


    objr   objtypetyper   c                >   t          j        t                    5  | j                 cd d d            S # 1 swxY w Y   | j        j        t          j                  j        dd          d	fd}| j        	                    t          |                    S )
N   namestrvaluesdict[str, Any]r   r   c                0     fi fdD             S )Nc                *    i | ]}|v ||         S  r"   ).0argr   s     r   
<dictcomp>z:post_generated.__get__.<locals>.new_fn.<locals>.<dictcomp>   s%    !W!W!WsPV#vc{r   r"   )r   r   fnfn_argsr   s    `r   new_fnz&post_generated.__get__.<locals>.new_fn   s1    2gXX!W!W!W!Wg!W!W!WXXXr   )r   r   r   r   r   r   )
contextlibsuppressKeyErrorr	   r
   __func__inspectgetfullargspecargs
setdefaultr   )r   r   r   r(   r&   r'   s     ` @@r   __get__zpost_generated.__get__   s     ** 	' 	':g&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'[!(,,1!""5	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y z$$WmF.C.CDDDs   7;;N)r
   r   r   r   )r   r   r   r   r   r   )__name__
__module____qualname____doc__	__slots__r   r1   r"   r   r   r   r   
   sM        UU#I3 3 3 3	E 	E 	E 	E 	E 	Er   r   )

__future__r   r)   r-   typingr   r   polyfactoryr   r   r"   r   r   <module>r:      s    " " " " " "                      % % % % % %E E E E E E E E E Er   