mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-04 20:33:13 +03:00
Add .provides attribute to singleton providers
This commit is contained in:
parent
171afdad71
commit
0636f78d00
|
@ -7,6 +7,12 @@ that were made in every particular version.
|
||||||
From version 0.7.6 *Dependency Injector* framework strictly
|
From version 0.7.6 *Dependency Injector* framework strictly
|
||||||
follows `Semantic versioning`_
|
follows `Semantic versioning`_
|
||||||
|
|
||||||
|
Development version
|
||||||
|
-------------------
|
||||||
|
- Add ``.provides`` attribute to ``Singleton`` and its subclasses.
|
||||||
|
It's a consistency change to make ``Singleton`` match ``Callable``
|
||||||
|
and ``Factory`` interfaces.
|
||||||
|
|
||||||
4.13.2
|
4.13.2
|
||||||
------
|
------
|
||||||
- Fix PyCharm typing warning "Expected type 'Optional[Iterable[ModuleType]]',
|
- Fix PyCharm typing warning "Expected type 'Optional[Iterable[ModuleType]]',
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -242,6 +242,8 @@ class BaseSingleton(Provider[T]):
|
||||||
@property
|
@property
|
||||||
def cls(self) -> T: ...
|
def cls(self) -> T: ...
|
||||||
@property
|
@property
|
||||||
|
def provides(self) -> T: ...
|
||||||
|
@property
|
||||||
def args(self) -> Tuple[Injection]: ...
|
def args(self) -> Tuple[Injection]: ...
|
||||||
def add_args(self, *args: Injection) -> BaseSingleton[T]: ...
|
def add_args(self, *args: Injection) -> BaseSingleton[T]: ...
|
||||||
def set_args(self, *args: Injection) -> BaseSingleton[T]: ...
|
def set_args(self, *args: Injection) -> BaseSingleton[T]: ...
|
||||||
|
|
|
@ -2283,7 +2283,12 @@ cdef class BaseSingleton(Provider):
|
||||||
@property
|
@property
|
||||||
def cls(self):
|
def cls(self):
|
||||||
"""Return provided type."""
|
"""Return provided type."""
|
||||||
return self.__instantiator.cls
|
return self.provides
|
||||||
|
|
||||||
|
@property
|
||||||
|
def provides(self):
|
||||||
|
"""Return provided type."""
|
||||||
|
return self.__instantiator.provides
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def args(self):
|
def args(self):
|
||||||
|
@ -2388,7 +2393,7 @@ cdef class BaseSingleton(Provider):
|
||||||
@property
|
@property
|
||||||
def related(self):
|
def related(self):
|
||||||
"""Return related providers generator."""
|
"""Return related providers generator."""
|
||||||
yield from filter(is_provider, [self.__instantiator.provs])
|
yield from filter(is_provider, [self.__instantiator.provides])
|
||||||
yield from filter(is_provider, self.args)
|
yield from filter(is_provider, self.args)
|
||||||
yield from filter(is_provider, self.kwargs.values())
|
yield from filter(is_provider, self.kwargs.values())
|
||||||
yield from filter(is_provider, self.attributes.values())
|
yield from filter(is_provider, self.attributes.values())
|
||||||
|
|
Loading…
Reference in New Issue
Block a user