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

1from typing import Any, overload 

2 

3from typing_extensions import Self 

4 

5 

6class NameRequired: 

7 """Required name option object.""" 

8 

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 

13 

14 if not isinstance(value, NameRequired): 

15 return NotImplemented 

16 

17 return self.name == value.name 

18 

19 def __init__(self, name: str) -> None: 

20 self.name = name 

21 

22 @overload 

23 @classmethod 

24 def validate(cls, value: str | Self, **kwargs: Any) -> Self: ... 

25 

26 @overload 

27 @classmethod 

28 def validate(cls, value: None, **kwargs: Any) -> None: ... 

29 

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