diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 686ddfc840..935d3c4cc1 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -87,6 +87,7 @@ module.exports = { '/api/segment.md', '/api/database.md', '/api/adapter.md', + '/api/global.md', ], }, { text: '其他官方包', diff --git a/docs/api/global.md b/docs/api/global.md new file mode 100644 index 0000000000..20024c6f8e --- /dev/null +++ b/docs/api/global.md @@ -0,0 +1,85 @@ +--- +sidebarDepth: 2 +--- + +# 其他内置 API + +## 观察者对象 + +### observe(target, update?, label?) + +- **target:** `T extends object` 要观测的对象 +- **update:** `(diff: Partial) => R` 更新回调函数 +- **label:** `string` 对象的标签,用于标识 +- 返回值: `Observed` + +创建一个观察者对象。目前只支持从普通对象创建(不支持 Array / Set / Map)。 + +### observed._diff + +观察者当前的对象变化。 + +### observed._merge(source) + +- **source:** `object` 要合并的对象 +- 返回值: `this` + +将某些属性合并入当前观察者,不会触发 diff 更新。 + +### observed._update() + +- 返回值: `R` + +更新观察者对象,同时清除 diff。 + +## 模板操作 + +### template(path, ...params) + +- **path:** `string` 模板路径 +- **params:** `any[]` 参数列表 +- 返回值: `string` 生成的字符串 + +根据模板路径返回插值后的字符串。如果路径不存在将会返回路径本身。 + +### template.set(path, value) + +- **path:** `string` 模板路径 +- **value:** `string | object` 模板字符串 +- 返回值: `void` + +定义模板字符串。如果 `value` 是一个对象,则会将 `path` 作为前缀添加到每个路径中。 + +### template.get(path) + +- **path:** `string` 模板路径 +- 返回值: `string` 模板字符串 + +根据模板路径返回模板字符串。如果路径不存在将会返回路径本身。 + +### template.format(source, ...params) + +- **source:** `string` 模板字符串 +- **params:** `any[]` 参数列表 +- 返回值: `string` 生成的字符串 + +使用模板语法插值。 + +## 输出日志 + +### new Logger(name) + +### logger.level + +### logger.extend() + +### logger.error() + +### logger.success() + +### logger.warn() + +### logger.info() + +### logger.debug() + diff --git a/docs/api/index.md b/docs/api/index.md index 693a517c01..f977425830 100644 --- a/docs/api/index.md +++ b/docs/api/index.md @@ -19,6 +19,7 @@ koishi-core 中提供的 API,包括以下几个子页面: - [消息段 (Segment)](./segment.md) - [数据库 (Database)](./database.md) - [适配器 (Adapter)](./adapter.md) +- [其他内置 API](./global.md) ## 其他官方包 API diff --git a/docs/api/utils.md b/docs/api/utils.md index 65274e2e5a..1687214588 100644 --- a/docs/api/utils.md +++ b/docs/api/utils.md @@ -5,39 +5,9 @@ sidebarDepth: 2 # 常用工具 (Utils) ::: tip 注意 -本页显示的版本号都表示对应的 koishi-utils 版本号(而不是对应的 koishi 版本号)。 +尽管本页介绍的 API 由 koishi-utils 包提供,但你仍然可以直接从 koishi-core 中引入它们。 ::: -包含了被 Koishi 使用的工具函数,它们由 `koishi-utils` 包提供。 - -## 观察者对象 - -### observe(target, update?, label?) - -- **target:** `T extends object` 要观测的对象 -- **update:** `(diff: Partial) => R` 更新回调函数 -- **label:** `string` 对象的标签,用于标识 -- 返回值: `Observed` - -创建一个观察者对象。目前只支持从普通对象创建(不支持 Array / Set / Map)。 - -### observed._diff - -观察者当前的对象变化。 - -### observed._merge(source) - -- **source:** `object` 要合并的对象 -- 返回值: `this` - -将某些属性合并入当前观察者,不会触发 diff 更新。 - -### observed._update() - -- 返回值: `R` - -更新观察者对象,同时清除 diff。 - ## 字符串操作 ### simplify(source) @@ -82,39 +52,6 @@ sidebarDepth: 2 如果输入的是字符串,则将字符串转换成 snake_case;如果是数组或对象,则递归地将对象中的每个(可枚举)的键转换成 snake_case;其他情况不受影响。 -## 模板操作 - -### template(path, ...params) - -- **path:** `string` 模板路径 -- **params:** `any[]` 参数列表 -- 返回值: `string` 生成的字符串 - -根据模板路径返回插值后的字符串。如果路径不存在将会返回路径本身。 - -### template.set(path, value) - -- **path:** `string` 模板路径 -- **value:** `string | object` 模板字符串 -- 返回值: `void` - -定义模板字符串。如果 `value` 是一个对象,则会将 `path` 作为前缀添加到每个路径中。 - -### template.get(path) - -- **path:** `string` 模板路径 -- 返回值: `string` 模板字符串 - -根据模板路径返回模板字符串。如果路径不存在将会返回路径本身。 - -### template.format(source, ...params) - -- **source:** `string` 模板字符串 -- **params:** `any[]` 参数列表 -- 返回值: `string` 生成的字符串 - -使用模板语法插值。 - ## 集合操作 ### contain(array1, array2) @@ -200,24 +137,6 @@ sidebarDepth: 2 - **interval:** `number` 时间间隔,单位为毫秒 - 返回值: `string` -## 输出日志 - -### new Logger(name) - -### logger.level - -### logger.extend() - -### logger.error() - -### logger.success() - -### logger.warn() - -### logger.info() - -### logger.debug() - ## 随机数操作 ### Random.uuid()