Исходный код EJIO.utils.interface.isolated_storage

## /utils/interface/isolated_storage.py

from threading import Lock
from typing import ClassVar

__all__ = [
    'IsolatedStorageMixin',
]


[документация] class IsolatedStorageMixin[T]: """ Миксин, автоматически предоставляющий каждому подклассу собственное изолированное и потокобезопасное хранилище. """ __slots__ = () _STORAGE: ClassVar[dict[str, type[T]]] _LOCK: ClassVar[Lock] def __init_subclass__(cls, **kwargs: object) -> None: """ Автоматически вызывается при создании любого подкласса. Инициализирует уникальные и независимые объекты словаря и лока в памяти. :param kwargs: Аргументы для инициализации класса. """ super().__init_subclass__(**kwargs) cls._STORAGE = {} cls._LOCK = Lock()