Add List provider example

This commit is contained in:
Roman Mogylatov 2020-06-12 21:55:00 -04:00
parent 7ac747fea6
commit 2bc34d9dc9

View File

@ -0,0 +1,36 @@
"""`List` provider example."""
import dataclasses
from typing import List
from dependency_injector import providers
@dataclasses.dataclass
class Module:
"""Example module."""
name: str
@dataclasses.dataclass
class Dispatcher:
"""Example dispatcher."""
modules: List[Module]
dispatcher_factory = providers.Factory(
Dispatcher,
modules=providers.List(
providers.Factory(Module, name='m1'),
providers.Factory(Module, name='m2'),
),
)
if __name__ == '__main__':
dispatcher = dispatcher_factory()
assert isinstance(dispatcher.modules, list)
assert dispatcher.modules[0].name == 'm1'
assert dispatcher.modules[1].name == 'm2'