Skip to content

Commit

Permalink
mypy param spec fixes (#153)
Browse files Browse the repository at this point in the history
  • Loading branch information
lesnik512 authored Feb 5, 2025
1 parent b429870 commit 702ad92
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 23 deletions.
4 changes: 2 additions & 2 deletions that_depends/providers/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,8 @@ def __init__(
else:
msg = "Unsupported resource type"
raise TypeError(msg)
self._args: P.args = args
self._kwargs: P.kwargs = kwargs
self._args = args
self._kwargs = kwargs

@abc.abstractmethod
def _fetch_context(self) -> ResourceContext[T_co]: ...
Expand Down
2 changes: 1 addition & 1 deletion that_depends/providers/context_resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ def with_config(self, scope: ContextScope | None, strict_scope: bool = False) ->
if strict_scope and scope == ContextScopes.ANY:
msg = f"Cannot set strict_scope with scope {scope}."
raise ValueError(msg)
r = ContextResource(self._from_creator, *self._args, **self._kwargs)
r = ContextResource(self._from_creator, *self._args, **self._kwargs) # type: ignore[arg-type]
r._scope = scope # noqa: SLF001
r._strict_scope = strict_scope # noqa: SLF001

Expand Down
8 changes: 4 additions & 4 deletions that_depends/providers/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,17 +149,17 @@ def __init__(self, factory: typing.Callable[P, typing.Awaitable[T_co]], *args: P
"""
super().__init__()
self._factory: typing.Final = factory
self._args: typing.Final[P.args] = args
self._kwargs: typing.Final[P.kwargs] = kwargs
self._args: typing.Final = args
self._kwargs: typing.Final = kwargs

@override
async def async_resolve(self) -> T_co:
if self._override:
return typing.cast(T_co, self._override)

return await self._factory(
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args],
**{k: await v.async_resolve() if isinstance(v, AbstractProvider) else v for k, v in self._kwargs.items()},
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args], # type: ignore[arg-type]
**{k: await v.async_resolve() if isinstance(v, AbstractProvider) else v for k, v in self._kwargs.items()}, # type: ignore[arg-type]
)

@override
Expand Down
12 changes: 6 additions & 6 deletions that_depends/providers/local_singleton.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ def __init__(self, factory: typing.Callable[P, T_co], *args: P.args, **kwargs: P
self._factory: typing.Final = factory
self._thread_local = threading.local()
self._asyncio_lock = asyncio.Lock()
self._args: typing.Final[P.args] = args
self._kwargs: typing.Final[P.kwargs] = kwargs
self._args: typing.Final = args
self._kwargs: typing.Final = kwargs

@property
def _instance(self) -> T_co | None:
Expand All @@ -73,8 +73,8 @@ async def async_resolve(self) -> T_co:
return self._instance

self._instance = self._factory(
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args],
**{
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args], # type: ignore[arg-type]
**{ # type: ignore[arg-type]
k: await v.async_resolve() if isinstance(v, AbstractProvider) else v
for k, v in self._kwargs.items()
},
Expand All @@ -90,8 +90,8 @@ def sync_resolve(self) -> T_co:
return self._instance

self._instance = self._factory(
*[x.sync_resolve() if isinstance(x, AbstractProvider) else x for x in self._args],
**{k: v.sync_resolve() if isinstance(v, AbstractProvider) else v for k, v in self._kwargs.items()},
*[x.sync_resolve() if isinstance(x, AbstractProvider) else x for x in self._args], # type: ignore[arg-type]
**{k: v.sync_resolve() if isinstance(v, AbstractProvider) else v for k, v in self._kwargs.items()}, # type: ignore[arg-type]
)
return self._instance

Expand Down
20 changes: 10 additions & 10 deletions that_depends/providers/singleton.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ def __init__(self, factory: typing.Callable[P, T_co], *args: P.args, **kwargs: P
self._instance: T_co | None = None
self._asyncio_lock: typing.Final = asyncio.Lock()
self._threading_lock: typing.Final = threading.Lock()
self._args: typing.Final[P.args] = args
self._kwargs: typing.Final[P.kwargs] = kwargs
self._args: typing.Final = args
self._kwargs: typing.Final = kwargs

@override
async def async_resolve(self) -> T_co:
Expand All @@ -66,8 +66,8 @@ async def async_resolve(self) -> T_co:
return self._instance

self._instance = self._factory(
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args],
**{
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args], # type: ignore[arg-type]
**{ # type: ignore[arg-type]
k: await v.async_resolve() if isinstance(v, AbstractProvider) else v
for k, v in self._kwargs.items()
},
Expand All @@ -88,8 +88,8 @@ def sync_resolve(self) -> T_co:
return self._instance

self._instance = self._factory(
*[x.sync_resolve() if isinstance(x, AbstractProvider) else x for x in self._args],
**{k: v.sync_resolve() if isinstance(v, AbstractProvider) else v for k, v in self._kwargs.items()},
*[x.sync_resolve() if isinstance(x, AbstractProvider) else x for x in self._args], # type: ignore[arg-type]
**{k: v.sync_resolve() if isinstance(v, AbstractProvider) else v for k, v in self._kwargs.items()}, # type: ignore[arg-type]
)
return self._instance

Expand Down Expand Up @@ -142,8 +142,8 @@ def __init__(
self._factory: typing.Final[typing.Callable[P, typing.Awaitable[T_co]]] = factory
self._instance: T_co | None = None
self._asyncio_lock: typing.Final = asyncio.Lock()
self._args: typing.Final[P.args] = args
self._kwargs: typing.Final[P.kwargs] = kwargs
self._args: typing.Final = args
self._kwargs: typing.Final = kwargs

@override
async def async_resolve(self) -> T_co:
Expand All @@ -159,8 +159,8 @@ async def async_resolve(self) -> T_co:
return self._instance

self._instance = await self._factory(
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args],
**{
*[await x.async_resolve() if isinstance(x, AbstractProvider) else x for x in self._args], # type: ignore[arg-type]
**{ # type: ignore[arg-type]
k: await v.async_resolve() if isinstance(v, AbstractProvider) else v
for k, v in self._kwargs.items()
},
Expand Down

0 comments on commit 702ad92

Please sign in to comment.