From 3a22635ab091de3719b82e410a540581f242b35d Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Sat, 16 Mar 2024 20:59:47 +0800 Subject: docs(annocation): add some annocation --- src/infini/doc.py | 15 ++++++++++++++- src/infini/register.py | 9 +++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3-70-g09d2