fast init

This commit is contained in:
ivankirpichnikov
2025-10-16 23:03:50 +03:00
parent b84e0370d6
commit 652da07d12
50 changed files with 1012 additions and 0 deletions
@@ -0,0 +1,42 @@
from collections.abc import Container, Hashable, Sized
from typing import Any, Final, override
_SECRET_VALUE: Final = "********" # noqa: S105
class SecretString(Container[bool], Hashable, Sized):
__slots__ = ("_value",)
def __init__(self, value: str) -> None:
self._value = value
@override
def __hash__(self) -> int:
return hash(self._value)
@override
def __len__(self) -> int:
return len(self._value)
@override
def __eq__(self, value: object) -> bool:
if isinstance(value, str):
return self._value == value
return NotImplemented
@override
def __contains__(self, value: object) -> Any:
if isinstance(value, str):
return value in self._value
return NotImplemented
@override
def __str__(self) -> str:
return _SECRET_VALUE
@override
def __repr__(self) -> str:
return f"<{self.__class__.__name__}(value={_SECRET_VALUE!r})>"
def get_value(self) -> str:
return self._value