a
    ŠJ5dÉ  ã                   @   s    d dl mZ G dd„ deƒZdS )é    )ÚIntEnumc                   @   s   e Zd ZdZedd„ ƒZdS )Ú	ParamEnumzÂWraps IntEnum to provide validation of a requested item.

    Intended for enums used for function parameters.

    Use enum.get_value(item) for this behavior instead of builtin enum[item].
    c              
   C   sH   z| | j W S  tyB   dd„ | D ƒ}td |d |¡¡ƒ‚Y n0 dS )zPValidate incoming item and raise a ValueError with valid options if not present.c                 S   s   h | ]
}|j ’qS © )Úname)Ú.0Úer   r   úI/var/www/html/django/DPS/env/lib/python3.9/site-packages/shapely/_enum.pyÚ	<setcomp>   ó    z&ParamEnum.get_value.<locals>.<setcomp>z/'{}' is not a valid option, must be one of '{}'z', 'N)ÚvalueÚKeyErrorÚ
ValueErrorÚformatÚjoin)ÚclsÚitemZvalid_optionsr   r   r   Ú	get_value   s    
ÿÿzParamEnum.get_valueN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r   r   r   r   r      s   r   N)Úenumr   r   r   r   r   r   Ú<module>   s   