mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-12-01 14:04:01 +03:00
2beafb9a51
* Add List provider * Add List provider example * Add List provider unit tests * Add docs * Upstream changes from develop * Update API docs * Update unit tests * Add support of positional context argument injections * Update changelog
35 lines
984 B
ReStructuredText
35 lines
984 B
ReStructuredText
List providers
|
|
--------------
|
|
|
|
.. currentmodule:: dependency_injector.providers
|
|
|
|
:py:class:`List` provider provides a list of values.
|
|
|
|
.. literalinclude:: ../../examples/providers/list.py
|
|
:language: python
|
|
:lines: 23-29
|
|
:linenos:
|
|
|
|
:py:class:`List` provider is needed for injecting a list of dependencies. It handles
|
|
positional argument injections the same way as :py:class:`Factory` provider:
|
|
|
|
+ All providers (instances of :py:class:`Provider`) are called every time
|
|
when injection needs to be done.
|
|
+ Providers could be injected "as is" (delegated), if it is defined explicitly. Check out
|
|
:ref:`factory_providers_delegation`.
|
|
+ All other values are injected *"as is"*.
|
|
+ Positional context arguments will be appended after :py:class:`List` positional injections.
|
|
|
|
Full example:
|
|
|
|
.. literalinclude:: ../../examples/providers/list.py
|
|
:language: python
|
|
:emphasize-lines: 23-29
|
|
:linenos:
|
|
|
|
.. note::
|
|
|
|
Keyword argument injections are not supported.
|
|
|
|
.. disqus::
|