aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author苏向夜 <fu050409@163.com>2024-03-16 20:59:47 +0800
committer苏向夜 <fu050409@163.com>2024-03-16 20:59:47 +0800
commit3a22635ab091de3719b82e410a540581f242b35d (patch)
treee792e6336b6196e781fe6c8a984260877e2b08d7
parentf0e9939ca6e788b5f22b30070501c71f5681c16d (diff)
downloadinfini-3a22635ab091de3719b82e410a540581f242b35d.tar.gz
infini-3a22635ab091de3719b82e410a540581f242b35d.zip
docs(annocation): add some annocation
-rw-r--r--src/infini/doc.py15
-rw-r--r--src/infini/register.py9
2 files changed, 23 insertions, 1 deletions
diff --git a/src/infini/doc.py b/src/infini/doc.py
index d5e4aea3..355cbef8 100644
--- a/src/infini/doc.py
+++ b/src/infini/doc.py
@@ -1,7 +1,9 @@
from typing import Dict, Optional, TypedDict
+import json
-class Annotation(TypedDict):
+
+class Annotation(TypedDict, total=False):
usage: Optional[str]
description: Optional[str]
epilog: Optional[str]
@@ -20,3 +22,14 @@ class Doc:
self.events = {}
self.global_variables = {}
self.interceptors = {}
+
+ def dumps(self) -> str:
+ return json.dumps(
+ {
+ "pre_interceptors": self.pre_interceptors,
+ "handlers": self.handlers,
+ "events": self.events,
+ "global_variables": self.global_variables,
+ "interceptors": self.interceptors,
+ }
+ )
diff --git a/src/infini/register.py b/src/infini/register.py
index ab6762e7..f0e22ebc 100644
--- a/src/infini/register.py
+++ b/src/infini/register.py
@@ -36,6 +36,8 @@ class Register:
description: Optional[str] = None,
epilog: Optional[str] = None,
):
+ """注册一个文本输入拦截器"""
+
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs) -> Union[Input, Output]:
@@ -97,6 +99,7 @@ class Register:
def register_textevent(
self, name: str, text: str, *, description: Optional[str] = None
):
+ """注册一个文本事件"""
self.events[name] = text
self.doc.events[name] = {
"usage": None,
@@ -112,6 +115,7 @@ class Register:
usage: Optional[str] = None,
description: Optional[str] = None,
):
+ """注册一个静态全局变量"""
self.global_variables[name] = data
self.doc.global_variables[name] = {
"usage": usage,
@@ -126,6 +130,8 @@ class Register:
usage: Optional[str] = None,
description: Optional[str] = None,
):
+ """注册一个动态全局变量"""
+
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs) -> str:
@@ -151,6 +157,8 @@ class Register:
description: Optional[str] = None,
epilog: Optional[str] = None,
):
+ """注册一个产出文本拦截器"""
+
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs) -> Union[Input, Output]:
@@ -176,6 +184,7 @@ class Register:
def register_generator(
self, generator: Union[BaseGenerator, Type[BaseGenerator]]
) -> None:
+ """注册一个生成器"""
if not isinstance(generator, BaseGenerator):
generator = generator()
self.generators[generator.type] = generator