mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-09-06 12:06:45 +00:00
✨ Feature: 添加 get_adapter
类型 overload (#1755)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
@ -39,7 +39,7 @@ FrontMatter:
|
||||
|
||||
import os
|
||||
from importlib.metadata import version
|
||||
from typing import Any, Dict, Type, Union, Optional
|
||||
from typing import Any, Dict, Type, Union, TypeVar, Optional, overload
|
||||
|
||||
import loguru
|
||||
from pydantic.env_settings import DotenvType
|
||||
@ -55,6 +55,8 @@ try:
|
||||
except Exception: # pragma: no cover
|
||||
__version__ = None
|
||||
|
||||
A = TypeVar("A", bound=Adapter)
|
||||
|
||||
_driver: Optional[Driver] = None
|
||||
|
||||
|
||||
@ -79,6 +81,16 @@ def get_driver() -> Driver:
|
||||
return _driver
|
||||
|
||||
|
||||
@overload
|
||||
def get_adapter(name: str) -> Adapter:
|
||||
...
|
||||
|
||||
|
||||
@overload
|
||||
def get_adapter(name: Type[A]) -> A:
|
||||
...
|
||||
|
||||
|
||||
def get_adapter(name: Union[str, Type[Adapter]]) -> Adapter:
|
||||
"""获取已注册的 {ref}`nonebot.adapters.Adapter` 实例。
|
||||
|
||||
|
Reference in New Issue
Block a user