baosfeng/my-dsh-plugins--plugins-dsh-shared5

dsh-shared

提供DSH插件开发所需的共享工具函数库。

AI 分析

适合DSH插件开发者,用于简化安全围栏、读写和配置持久化开发。

包名
dsh-shared
版本
0.1.3
最近更新
2026年9月12日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

使用

import { isTrustedApiRequest, readJsonBody, writeJson, createWriteScheduler, atomicWriteJson } from 'dsh-shared'

// 路由注册时用信任围栏过滤非可信来源
const fence = (request) => isTrustedApiRequest(request, ctx.webRuntime.trustedHosts)

// 状态快照落盘:调度器保证节奏,护栏兜底
const scheduler = createWriteScheduler({
  logger: ctx.logger,
  write: ({ force }) => atomicWriteJson(file, state, ctx.logger, '[my-plugin]', { force, maxBytes: 4 * 1024 * 1024 }),
})
scheduler.schedule() // 变更后调度(防抖合并)
await scheduler.drain() // 就绪信号:确定已落盘(测试用它替掉 sleep)
await scheduler.flush() // teardown:立即强写