@cordis-tavern/ct-persist
v0.0.1-alpha.2
Published
cordis-tavern 的持久化插件:结构化 JSON 文件读写(ctx.persist.json)
Readme
@cordis-tavern/ct-persist
结构化 JSON 文件持久化服务:ctx.persist.json(...)。v1 仅支持 JSON 文件。
服务
| 项 | 值 |
| --- | --- |
| 服务名 | persist |
| 调用 | ctx.persist.json(path, options?) |
| 默认根 | $CT_HOME(config.root 可覆盖) |
| 路径 | $CT_HOME/data/<namespace>/<key>.json(data/ 固定,只追加) |
操作
| op | 专用参数 | 返回 |
| --- | --- | --- |
| read(默认) | default? | 值 / default / undefined |
| write | value | void |
| update | updater | 写回值;updater 返回 undefined 则不写 |
| remove | — | boolean |
| has | — | boolean(目录为 false) |
| list | — | string[](仅 .json,已排序) |
约定
namespace不覆盖data、只追加:缺省或''→data/;'user'→data/user/key只能是单段文件名;namespace可a/b子目录,禁止../ 绝对路径 / 盘符 / 空字节- 最终路径必须落在根目录内
write/update临时文件 +rename原子写;同文件操作串行- JSON 解析失败、磁盘错误一律抛错
装载
ct plugin add -p <环境名> @cordis-tavern/ct-persistinsert[].id: persist。开发:根目录 pnpm build && pnpm test。
