SuperAPI AI 工具集

elysia

编程与开发

查看项目

更新于 10-16 08:37

技能介绍

用途:为 Elysia.js 编写或重构处理器时,统一使用 status() 处理非 200 响应,定义按状态码区分的响应 schema 以获得 Eden Treaty 类型安全,并组合插件与 guard 实现共享鉴权和路由行为。

主要能力与用法:始终从处理器上下文解构 status,避免 set.status + 返回对象;使用字符串字面量状态码如 'Bad Request'、'Unauthorized'、'Bad Gateway',非标准码可用数字,例如 status(499, 'Client closed request')。return status(...) 用于自然返回点或验证守卫,throw status(...) 用于 catch 块或深层嵌套。两种方式类型推断一致。在路由选项中按状态码定义 response schema(如 200、400、401、502),Eden Treaty 客户端即可推断 error.status 与 error.value 类型。错误体优先用纯字符串,需要结构化错误体时定义 TypeBox schema。插件应为返回 Elysia 实例的函数,内部使用 new Elysia() 而不设 prefix,由使用方控制挂载前缀;用 .guard() 配合 beforeHandle 实现多路由共享鉴权。

限制与注意:迁移时需将 set.status = N; return { error: msg } 替换为 return status('字面量', msg),catch 中用 throw status(...);仅在仍需 set.headers 时保留 set。资料涉及 Hono 与 Cloudflare 文档的引用,用于核对 Worker 运行时行为;具体版本、部署限制等未在本资料中提供完整细节,需另行核实。