Coverage for fpdf2_textindex/interface/enums.py: 60.87%
19 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-01 14:22 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-01 14:22 +0000
1"""Enums."""
3import enum
4from typing import Any
6from typing_extensions import Self
9class CrossReferenceType(str, enum.Enum):
10 """Cross Reference Type."""
12 NONE = "none"
13 """No cross reference."""
15 SEE = "see"
16 """SEE-cross reference."""
18 ALSO = "see also"
19 """SEE ALSO-cross reference."""
21 def __str__(self) -> str:
22 return self.value
24 @classmethod
25 def _missing_(cls, value: Any) -> Self | None: # noqa: ANN401
26 if value is None:
27 return cls.NONE
28 if isinstance(value, str):
29 return cls(value.upper())
30 return None