mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-23 10:03:56 +03:00
43 lines
1012 B
ReStructuredText
43 lines
1012 B
ReStructuredText
Static providers
|
|
----------------
|
|
|
|
Static providers are family of providers that return their values "as is".
|
|
There are four types of static providers:
|
|
|
|
- ``Class``
|
|
- ``Object``
|
|
- ``Function``
|
|
- ``Value``
|
|
|
|
All of them have the same behaviour, but usage of anyone is predicted by
|
|
readability and providing object's type.
|
|
|
|
Example:
|
|
|
|
.. code-block:: python
|
|
|
|
"""`Static` providers example."""
|
|
|
|
from objects.providers import Class
|
|
from objects.providers import Object
|
|
from objects.providers import Function
|
|
from objects.providers import Value
|
|
|
|
|
|
# Provides class - `object`:
|
|
cls_provider = Class(object)
|
|
assert cls_provider() is object
|
|
|
|
# Provides object - `object()`:
|
|
object_provider = Object(object())
|
|
assert isinstance(object_provider(), object)
|
|
|
|
# Provides function - `len`:
|
|
function_provider = Function(len)
|
|
assert function_provider() is len
|
|
|
|
# Provides value - `123`:
|
|
value_provider = Value(123)
|
|
assert value_provider() == 123
|
|
|