nonebot2/website/versioned_docs/version-2.0.0-beta.2/api/dependencies/index.md
2022-02-14 16:27:11 +00:00

2.0 KiB

sidebar_position description
0 nonebot.dependencies 模块

nonebot.dependencies

本模块模块实现了依赖注入的定义与处理。

abstract class Param(default=PydanticUndefined, **kwargs)

  • 说明

    依赖注入的基本单元 —— 参数。

    继承自 pydantic.fields.FieldInfo,用于描述参数信息(不包括参数名)。

  • 参数

    • default (Any)

    • **kwargs (Any)

class Dependent(*, call, pre_checkers=None, params=None, parameterless=None, allow_types=None)

  • 说明

    依赖注入容器

  • 参数

    • call ((*Any, **Any) -> Any): 依赖注入的可调用对象,可以是任何 Callable 对象

    • pre_checkers (list[Param] | None): 依赖注入解析前的参数检查

    • params (list[pydantic.fields.ModelField] | None): 具名参数列表

    • parameterless (list[Param] | None): 匿名参数列表

    • allow_types (list[Type[Param]] | None): 允许的参数类型

method append_parameterless(self, value)

  • 参数

    • value (Any)
  • 返回

    • None

classmethod parse(cls, *, call, parameterless=None, allow_types=None)

  • 参数

    • call ((*Any, **Any) -> Any)

    • parameterless (list[Any] | None)

    • allow_types (list[Type[Param]] | None)

  • 返回

    • (~ T)

method parse_param(self, name, param)

  • 参数

    • name (str)

    • param (inspect.Parameter)

  • 返回

method parse_parameterless(self, value)

  • 参数

    • value (Any)
  • 返回

method prepend_parameterless(self, value)

  • 参数

    • value (Any)
  • 返回

    • None

async method solve(self, **params)

  • 参数

    • **params (Any)
  • 返回

    • dict[str, Any]