aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/hydroroll/typing.py
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-08-13 12:24:45 +0800
committer简律纯 <i@jyunko.cn>2023-08-13 12:24:45 +0800
commit4bf6db5200affc2f623aa02301020092c0789d19 (patch)
tree9f32d49fb967b16a4f4c79bb39bf3ccff6773b9b /hydroroll/typing.py
parentc30ca50aab37a86534b3dcd27c253cc79d0c8101 (diff)
downloadHydroRoll-4bf6db5200affc2f623aa02301020092c0789d19.tar.gz
HydroRoll-4bf6db5200affc2f623aa02301020092c0789d19.zip
refactor: 根据tests重构
Diffstat (limited to 'hydroroll/typing.py')
-rw-r--r--hydroroll/typing.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/hydroroll/typing.py b/hydroroll/typing.py
new file mode 100644
index 0000000..876fa92
--- /dev/null
+++ b/hydroroll/typing.py
@@ -0,0 +1,34 @@
+"""HydroRoll 类型提示支持。
+
+此模块定义了部分 HydroRoll 使用的类型。
+"""
+
+from typing import TYPE_CHECKING, TypeVar, Callable, NoReturn, Awaitable
+
+from iamai.message import T_MS, T_Message, T_MessageSegment
+
+if TYPE_CHECKING:
+ from iamai.bot import Bot # noqa
+ from iamai.event import Event # noqa
+ from iamai.plugin import Plugin # noqa
+ from iamai.config import ConfigModel # noqa
+
+__all__ = [
+ "T_State",
+ "T_Event",
+ "T_Plugin",
+ "T_Config",
+ "T_Message",
+ "T_MessageSegment",
+ "T_MS",
+ "T_BotHook",
+ "T_EventHook",
+]
+
+T_State = TypeVar("T_State")
+T_Event = TypeVar("T_Event", bound="Event")
+T_Plugin = TypeVar("T_Plugin", bound="Plugin")
+T_Config = TypeVar("T_Config", bound="ConfigModel")
+
+T_BotHook = Callable[["Bot"], Awaitable[NoReturn]]
+T_EventHook = Callable[[T_Event], Awaitable[NoReturn]] \ No newline at end of file