summaryrefslogtreecommitdiffstats
path: root/contrib/python/fonttools/fontTools/misc/enumTools.py
blob: e947342f200c7c935724256eaee38c44c492ab78 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""Enum-related utilities, including backports for older Python versions."""

from __future__ import annotations

from enum import Enum


__all__ = ["StrEnum"]

# StrEnum is only available in Python 3.11+
try:
    from enum import StrEnum
except ImportError:

    class StrEnum(str, Enum):
        """
        Minimal backport of Python 3.11's StrEnum for older versions.

        An Enum where all members are also strings.
        """

        def __str__(self) -> str:
            return self.value