o
    JÉfÉ  ã                   @   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   s@   z| | j W S  ty   dd„ | D ƒ}td |d |¡¡ƒ‚w )zPValidate incoming item and raise a ValueError with valid options if not present.c                 S   s   h | ]}|j ’qS © )Úname)Ú.0Úer   r   úY/home/deployuser/azure_apps/autowriter/venv/lib/python3.10/site-packages/shapely/_enum.pyÚ	<setcomp>   s    z&ParamEnum.get_value.<locals>.<setcomp>z/'{}' is not a valid option, must be one of '{}'z', ')ÚvalueÚKeyErrorÚ
ValueErrorÚformatÚjoin)ÚclsÚitemÚ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    