Unique Objects¶
Core function and decorator for look-up object instantiation. Adapted from: https://github.com/sqlalchemy/sqlalchemy/wiki/UniqueObject
- unique(index: Indexer, cls: Type, constructor: Callable, args: tuple, kwargs: dict) Any[source]¶
 Check and return existing instance if present, else create it.
- Parameters:
 index (Indexer) – The almirah index used to store cached instances.
cls (Type) – The class of the object being instantiated.
constructor (Callable) – A callable used to create the object if not found.
args (tuple) – Positional arguments (should be empty for this usage).
kwargs (dict) – Keyword arguments used to instantiate the class.
- Returns:
 An instance of cls.
- Return type:
 Any
- Raises:
 TypeError – If positional arguments are given or required keyword arguments are missing.