
    gR!                        d dl Z ddlmZ ddlmZ  e       d   Z ed ej                  d      d    j                  d      D              Z	[ e       Z G d	 d
e
e j                        Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Zy)#    N   )get_versions)_NameManglerversionc              #   2   K   | ]  }t        |        y wN)int).0ns     E/var/www/openai/venv/lib/python3.12/site-packages/strenum/__init__.py	<genexpr>r      s     R)QAQ)Qs   +.c                   .     e Zd ZdZ fdZd Zd Z x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                     t        |t        t        j                  f      st	        d|dt        |             t        |   | |g|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__s       r   r   zStrEnum.__new__&   sT    %#tyy!126uivd5k]S  wsE;D;F;;    c                 ,    t        | j                        S r   )r   r   )selfs    r   __str__zStrEnum.__str__-   s    4::r    c                     | S r    name_s     r   _generate_next_value_zStrEnum._generate_next_value_0   s    r    )__name__
__module____qualname____doc__r   r#   r)   __classcell__)r   s   @r   r   r      s     <r    r   c                       e Zd ZdZd Zy)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                 "    | j                         S r   )lowerr&   s     r   r)   z&LowercaseStrEnum._generate_next_value_G       zz|r    Nr*   r+   r,   r-   r)   r%   r    r   r0   r0   4       $r    r0   c                       e Zd ZdZd Zy)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                 "    | j                         S r   )upperr&   s     r   r)   z&UppercaseStrEnum._generate_next_value_^   r3   r    Nr4   r%   r    r   r7   r7   K   r5   r    r7   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )_name_manglercamelr&   s     r   r)   z&CamelCaseStrEnum._generate_next_value_u       ""4((r    Nr4   r%   r    r   r;   r;   b       $)r    r;   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   pascalr&   s     r   r)   z'PascalCaseStrEnum._generate_next_value_   s    ##D))r    Nr4   r%   r    r   rB   rB   y   s    $*r    rB   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   kebabr&   s     r   r)   z&KebabCaseStrEnum._generate_next_value_   r?   r    Nr4   r%   r    r   rF   rF      r@   r    rF   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   snaker&   s     r   r)   z&SnakeCaseStrEnum._generate_next_value_   r?   r    Nr4   r%   r    r   rJ   rJ      r@   r    rJ   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   macror&   s     r   r)   z&MacroCaseStrEnum._generate_next_value_   r?   r    Nr4   r%   r    r   rN   rN      r@   r    rN   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   camel_snaker&   s     r   r)   z+CamelSnakeCaseStrEnum._generate_next_value_       ((..r    Nr4   r%   r    r   rR   rR          $/r    rR   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   pascal_snaker&   s     r   r)   z,PascalSnakeCaseStrEnum._generate_next_value_   s    ))$//r    Nr4   r%   r    r   rX   rX      s    $0r    rX   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   	spongebobr&   s     r   r)   z*SpongebobCaseStrEnum._generate_next_value_  s    &&t,,r    Nr4   r%   r    r   r\   r\     s    $-r    r\   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   cobolr&   s     r   r)   z&CobolCaseStrEnum._generate_next_value_-  r?   r    Nr4   r%   r    r   r`   r`     r@   r    r`   c                       e Zd ZdZd Zy)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                 ,    t         j                  |       S r   )r=   http_headerr&   s     r   r)   z+HttpHeaderCaseStrEnum._generate_next_value_D  rU   r    Nr4   r%   r    r   rd   rd   1  rV   r    rd   )r   _versionr   r=   r   __version__tuple	partitionsplit__version_info__r   Enumr   r0   r7   r;   rB   rF   rJ   rN   rR   rX   r\   r`   rd   r%   r    r   <module>rn      s     " 'nY'R)>)>s)CA)F)L)LS)QRR c499 >w .w .)w ).* *.)w ).)w ).)w )./G /.0W 0.-7 -.)w )./G /r    