diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/gotrue/_sync/storage.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/gotrue/_sync/storage.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/gotrue/_sync/storage.py b/.venv/lib/python3.12/site-packages/gotrue/_sync/storage.py new file mode 100644 index 00000000..03ede0c1 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/gotrue/_sync/storage.py @@ -0,0 +1,31 @@ +from __future__ import annotations + +from abc import ABC, abstractmethod +from typing import Dict, Optional + + +class SyncSupportedStorage(ABC): + @abstractmethod + def get_item(self, key: str) -> Optional[str]: ... # pragma: no cover + + @abstractmethod + def set_item(self, key: str, value: str) -> None: ... # pragma: no cover + + @abstractmethod + def remove_item(self, key: str) -> None: ... # pragma: no cover + + +class SyncMemoryStorage(SyncSupportedStorage): + def __init__(self): + self.storage: Dict[str, str] = {} + + def get_item(self, key: str) -> Optional[str]: + if key in self.storage: + return self.storage[key] + + def set_item(self, key: str, value: str) -> None: + self.storage[key] = value + + def remove_item(self, key: str) -> None: + if key in self.storage: + del self.storage[key] |