@ cratestack/ 验证器- yup
一个 RpcLink
(单位:千美元)问题182用于生成 CrateStack 的
TypeScript RPC 客户端(transport rpc 用于验证 request.input 相对逐一
对 在呼叫到达网络之前的策略——客户端
与您服务器侧程序/模型输入的形状完全相同的验证,
而不是希望生成的种类 单独在编译时遇到坏的呼叫.
使用量
import { createYupValidatorLink } from "@cratestack/validator-yup";
import { CratestackRpcRuntime } from "./generated/runtime"; // your project's generated client
import * as yup from "yup";
const runtime = new CratestackRpcRuntime("https://api.example.com", {
links: [
createYupValidatorLink({
"model.Order.create": yup.object({ total: yup.number().positive().required() }),
}),
],
});
没有配置计划的行动通过未经验证的通道——这是每个行动选择的,而不是被子
有门 关于成功,计划 铸造 输出(默认,类型强制)成为实际请求
input不只是类型级的断言 故障时连锁短路——真人网
电话从不发生 —— 该电话拒绝同样的方式 服务器侧验证失败,
带有 RpcErrorBody 携带 code: "invalid_argument"。 。 。 .
关于 @cratestack/validator-yup 的常见问题
@cratestack/validator-yup 是什么?
一个用于 CrateStack 生成的 TypeScript RPC 客户端的 RpcLink,该客户端根据 per-op yup schemas 验证请求输入.
如何安装 @cratestack/validator-yup?
在项目目录运行 npm install @cratestack/validator-yup,或使用 pnpm add / yarn add / bun add。
@cratestack/validator-yup 支持 TypeScript 吗?
支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@cratestack/validator-yup 支持 ESM 还是 CommonJS?
以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。
@cratestack/validator-yup 需要什么版本的 Node.js?
package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。
@cratestack/validator-yup 可以商用吗?
@cratestack/validator-yup 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。
@cratestack/validator-yup 的下载量有多少?
根据 npm 官方下载统计,@cratestack/validator-yup 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,513 次,日均约 84 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@cratestack/validator-yup 还在维护吗?
最新版本 0.19.3 发布于 2026/11/09(1 天前);至今共发布 67 个版本,其中过去 12 个月发布了 67 个;首次发布于 2026/08/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。