Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/click/_utils.py: 94%
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from __future__ import annotations
3import enum
4import typing as t
7class Sentinel(enum.Enum):
8 """Enum used to define sentinel values.
10 .. seealso::
12 `PEP 661 - Sentinel Values <https://peps.python.org/pep-0661/>`_.
13 """
15 UNSET = object()
16 FLAG_NEEDS_VALUE = object()
18 def __repr__(self) -> str:
19 return f"{self.__class__.__name__}.{self.name}"
22UNSET = Sentinel.UNSET
23"""Sentinel used to indicate that a value is not set."""
25FLAG_NEEDS_VALUE = Sentinel.FLAG_NEEDS_VALUE
26"""Sentinel used to indicate an option was passed as a flag without a
27value but is not a flag option.
29``Option.consume_value`` uses this to prompt or use the ``flag_value``.
30"""
32T_UNSET = t.Literal[UNSET] # type: ignore[valid-type]
33"""Type hint for the :data:`UNSET` sentinel value."""
35T_FLAG_NEEDS_VALUE = t.Literal[FLAG_NEEDS_VALUE] # type: ignore[valid-type]
36"""Type hint for the :data:`FLAG_NEEDS_VALUE` sentinel value."""