💡 add utils docstring

This commit is contained in:
yanyongyu 2020-09-13 00:43:31 +08:00
parent 60c70804ed
commit ce2700c1d2
6 changed files with 101 additions and 0 deletions

View File

@ -88,6 +88,10 @@ module.exports = context => ({
title: "nonebot.log 模块",
path: "log"
},
{
title: "nonebot.utils 模块",
path: "utils"
},
{
title: "nonebot.exception 模块",
path: "exception"

View File

@ -19,4 +19,7 @@
* [nonebot.log](log.html)
* [nonebot.utils](utils.html)
* [nonebot.exception](exception.html)

68
docs/api/utils.md Normal file
View File

@ -0,0 +1,68 @@
---
contentSidebar: true
sidebarDepth: 0
---
# NoneBot.utils 模块
## `run_sync(func)`
* **说明**
一个用于包装 sync function 为 async function 的装饰器
* **参数**
* `func: Callable[..., Any]`: 被装饰的同步函数
* **返回**
* Callable[..., Awaitable[Any]]
## _class_ `DataclassEncoder`
基类:`json.encoder.JSONEncoder`
* **类型**
`json.JSONEncoder`
* **说明**
`JSONEncoder` used when encoding `Message` (List of dataclasses)
### `default(o)`
Implement this method in a subclass such that it returns
a serializable object for `o`, or calls the base implementation
(to raise a `TypeError`).
For example, to support arbitrary iterators, you could
implement default like this:
```default
def default(self, o):
try:
iterable = iter(o)
except TypeError:
pass
else:
return list(iterable)
# Let the base class default method raise the TypeError
return JSONEncoder.default(self, o)
```

View File

@ -7,4 +7,5 @@ NoneBot Api Reference
- `nonebot.config <config.html>`_
- `nonebot.sched <sched.html>`_
- `nonebot.log <log.html>`_
- `nonebot.utils <utils.html>`_
- `nonebot.exception <exception.html>`_

11
docs_build/utils.rst Normal file
View File

@ -0,0 +1,11 @@
---
contentSidebar: true
sidebarDepth: 0
---
NoneBot.utils 模块
=================
.. automodule:: nonebot.utils
:members:
:show-inheritance:

View File

@ -10,6 +10,14 @@ from nonebot.typing import Any, Callable, Awaitable, overrides
def run_sync(func: Callable[..., Any]) -> Callable[..., Awaitable[Any]]:
"""
:说明:
一个用于包装 sync function async function 的装饰器
:参数:
* ``func: Callable[..., Any]``: 被装饰的同步函数
:返回:
- Callable[..., Awaitable[Any]]
"""
@wraps(func)
async def _wrapper(*args: Any, **kwargs: Any) -> Any:
@ -22,6 +30,12 @@ def run_sync(func: Callable[..., Any]) -> Callable[..., Awaitable[Any]]:
class DataclassEncoder(json.JSONEncoder):
"""
:类型:
``json.JSONEncoder``
:说明:
``JSONEncoder`` used when encoding ``Message`` (List of dataclasses)
"""
@overrides(json.JSONEncoder)
def default(self, o):