nonebot2/tests/plugins/param/param_arg.py
Bryan不可思议 7aaa66c8ba
Feature: 优先使用 Annotated 的最后一个子依赖 (#2360)
Co-authored-by: Ju4tCode <42488585+yanyongyu@users.noreply.github.com>
2023-09-14 00:14:45 +08:00

40 lines
848 B
Python

from typing_extensions import Annotated
from nonebot.adapters import Message
from nonebot.params import Arg, ArgStr, ArgPlainText
async def arg(key: Message = Arg()) -> Message:
return key
async def arg_str(key: str = ArgStr()) -> str:
return key
async def arg_plain_text(key: str = ArgPlainText()) -> str:
return key
async def annotated_arg(key: Annotated[Message, Arg()]) -> Message:
return key
async def annotated_arg_str(key: Annotated[str, ArgStr()]) -> str:
return key
async def annotated_arg_plain_text(key: Annotated[str, ArgPlainText()]) -> str:
return key
# test dependency priority
async def annotated_prior_arg(key: Annotated[str, ArgStr("foo")] = ArgPlainText()):
return key
async def annotated_multi_arg(
key: Annotated[Annotated[str, ArgStr("foo")], ArgPlainText()]
):
return key