Coverage for faststream / _internal / proto.py: 88%
13 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-08 01:48 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-08 01:48 +0000
1from typing import Any, overload
3from typing_extensions import Self
6class NameRequired:
7 """Required name option object."""
9 def __eq__(self, value: object, /) -> bool:
10 """Compares the current object with another object for equality."""
11 if value is None: 11 ↛ 12line 11 didn't jump to line 12 because the condition on line 11 was never true
12 return False
14 if not isinstance(value, NameRequired):
15 return NotImplemented
17 return self.name == value.name
19 def __init__(self, name: str) -> None:
20 self.name = name
22 @overload
23 @classmethod
24 def validate(cls, value: str | Self, **kwargs: Any) -> Self: ...
26 @overload
27 @classmethod
28 def validate(cls, value: None, **kwargs: Any) -> None: ...
30 @classmethod
31 def validate(cls, value: str | Self | None, **kwargs: Any) -> Self | None:
32 """Factory to create object."""
33 if value is not None and isinstance(value, str):
34 value = cls(value, **kwargs)
35 return value