o
    /hR!                     @   s,  d dl Z ddlmZ ddlmZ e d Zedd edd  d	D Z	[e ZG d
d de
e jZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZdS )$    N   )get_versions)_NameManglerversionc                 c   s    | ]}t |V  qd S N)int).0n r
   I/var/www/html/govbot/env/lib/python3.10/site-packages/strenum/__init__.py	<genexpr>   s    r   +.c                       s0   e Zd ZdZ fddZdd Zdd Z  ZS )StrEnuma  
    StrEnum is a Python ``enum.Enum`` that inherits from ``str``. The default
    ``auto()`` behavior uses the member name as its value.

    Example usage::

        class Example(StrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "UPPER_CASE"
        assert Example.lower_case == "lower_case"
        assert Example.MixedCase == "MixedCase"
    c                    sD   t |ttjfstd|dt| t j| |g|R i |S )Nz$Values of StrEnums must be strings: z is a )
isinstancestrenumauto	TypeErrortypesuper__new__)clsvalueargskwargs	__class__r
   r   r   &   s
   zStrEnum.__new__c                 C   s
   t | jS r   )r   r   )selfr
   r
   r   __str__-      
zStrEnum.__str__c                 G   s   | S r   r
   name_r
   r
   r   _generate_next_value_0   s   zStrEnum._generate_next_value_)__name__
__module____qualname____doc__r   r   r$   __classcell__r
   r
   r   r   r      s
    r   c                   @      e Zd ZdZdd ZdS )LowercaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `lowercase` to
    produce each member's value.

    Example usage::

        class Example(LowercaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "upper_case"
        assert Example.lower_case == "lower_case"
        assert Example.MixedCase == "mixedcase"

    .. versionadded:: 0.4.3
    c                 G      |   S r   )lowerr!   r
   r
   r   r$   G      z&LowercaseStrEnum._generate_next_value_Nr%   r&   r'   r(   r$   r
   r
   r
   r   r+   4       r+   c                   @   r*   )UppercaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `UPPERCASE` to
    produce each member's value.

    Example usage::

        class Example(UppercaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "UPPER_CASE"
        assert Example.lower_case == "LOWER_CASE"
        assert Example.MixedCase == "MIXEDCASE"

    .. versionadded:: 0.4.3
    c                 G   r,   r   )upperr!   r
   r
   r   r$   ^   r.   z&UppercaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   r1   K   r0   r1   c                   @   r*   )CamelCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `camelCase` to
    produce each member's value.

    Example usage::

        class Example(CamelCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "upperCase"
        assert Example.lower_case == "lowerCase"
        assert Example.MixedCase == "mixedCase"

    .. versionadded:: 0.4.5
    c                 G   
   t | S r   )_name_manglercamelr!   r
   r
   r   r$   u   r    z&CamelCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   r3   b   r0   r3   c                   @   r*   )PascalCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `PascalCase` to
    produce each member's value.

    Example usage::

        class Example(PascalCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "UpperCase"
        assert Example.lower_case == "LowerCase"
        assert Example.MixedCase == "MixedCase"

    .. versionadded:: 0.4.5
    c                 G   r4   r   )r5   pascalr!   r
   r
   r   r$      r    z'PascalCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   r7   y   r0   r7   c                   @   r*   )KebabCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `kebab-case` to
    produce each member's value.

    Example usage::

        class Example(KebabCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "upper-case"
        assert Example.lower_case == "lower-case"
        assert Example.MixedCase == "mixed-case"

    .. versionadded:: 0.4.5
    c                 G   r4   r   )r5   kebabr!   r
   r
   r   r$      r    z&KebabCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   r9      r0   r9   c                   @   r*   )SnakeCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `snake_case` to
    produce each member's value.

    Example usage::

        class Example(SnakeCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "upper_case"
        assert Example.lower_case == "lower_case"
        assert Example.MixedCase == "mixed_case"

    .. versionadded:: 0.4.5
    c                 G   r4   r   )r5   snaker!   r
   r
   r   r$      r    z&SnakeCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   r;      r0   r;   c                   @   r*   )MacroCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `MACRO_CASE` to
    produce each member's value.

    Example usage::

        class Example(MacroCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "UPPER_CASE"
        assert Example.lower_case == "LOWER_CASE"
        assert Example.MixedCase == "MIXED_CASE"

    .. versionadded:: 0.4.6
    c                 G   r4   r   )r5   macror!   r
   r
   r   r$      r    z&MacroCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   r=      r0   r=   c                   @   r*   )CamelSnakeCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `camel_Snake_Case` to
    produce each member's value.

    Example usage::

        class Example(CamelSnakeCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "upper_Case"
        assert Example.lower_case == "lower_Case"
        assert Example.MixedCase == "mixed_Case"

    .. versionadded:: 0.4.8
    c                 G   r4   r   )r5   camel_snaker!   r
   r
   r   r$      r    z+CamelSnakeCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   r?      r0   r?   c                   @   r*   )PascalSnakeCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `Pascal_Snake_Case` to
    produce each member's value.

    Example usage::

        class Example(PascalSnakeCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "Upper_Case"
        assert Example.lower_case == "Lower_Case"
        assert Example.MixedCase == "Mixed_Case"

    .. versionadded:: 0.4.8
    c                 G   r4   r   )r5   pascal_snaker!   r
   r
   r   r$      r    z,PascalSnakeCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   rA      r0   rA   c                   @   r*   )SpongebobCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `SpONGEBob_CAse` to
    produce each member's value.

    Example usage::

        class Example(SpongebobCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "uPpER_cAsE"
        assert Example.lower_case == "lowER_CASe"
        assert Example.MixedCase == "MixeD_CAse"

    .. versionadded:: 0.4.8
    c                 G   r4   r   )r5   	spongebobr!   r
   r
   r   r$     r    z*SpongebobCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   rC     r0   rC   c                   @   r*   )CobolCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `COBOL-CASE` to
    produce each member's value.

    Example usage::

        class Example(CobolCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "UPPER-CASE"
        assert Example.lower_case == "LOWER-CASE"
        assert Example.MixedCase == "MIXED-CASE"

    .. versionadded:: 0.4.8
    c                 G   r4   r   )r5   cobolr!   r
   r
   r   r$   -  r    z&CobolCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   rE     r0   rE   c                   @   r*   )HttpHeaderCaseStrEnuma  
    A ``StrEnum`` where ``auto()`` will convert the name to `Http-Header-Case` to
    produce each member's value.

    Example usage::

        class Example(HttpHeaderCaseStrEnum):
            UPPER_CASE = auto()
            lower_case = auto()
            MixedCase = auto()

        assert Example.UPPER_CASE == "Upper-Case"
        assert Example.lower_case == "Lower-Case"
        assert Example.MixedCase == "Mixed-Case"

    .. versionadded:: 0.4.8
    c                 G   r4   r   )r5   http_headerr!   r
   r
   r   r$   D  r    z+HttpHeaderCaseStrEnum._generate_next_value_Nr/   r
   r
   r
   r   rG   1  r0   rG   )r   _versionr   r5   r   __version__tuple	partitionsplit__version_info__r   Enumr   r+   r1   r3   r7   r9   r;   r=   r?   rA   rC   rE   rG   r
   r
   r
   r   <module>   s(    
"