@ askrjs/ schema
可执行, TypeScript- first schemas 有确定性的 OpenAPI 3.1 投影.
同一声明验证运行时间输入通过 safeParse() 并揭露
其极易改变的文件形状 jsonSchema。 。 。 .
import { schema, type InferSchema } from "@askrjs/schema";
const User = schema.object({
id: schema.uuid(),
name: schema.string({ minLength: 1 }),
nickname: schema.optional(schema.string()),
});
type User = InferSchema<typeof User>;
const result = User.safeParse({ id: crypto.randomUUID(), name: "Ada" });
验证失败包含稳定的路径数组,代码和消息. 对象
默认拒绝未申报的密钥; 选择附加密钥
additionalProperties: true 或者用别的计谋来证实他们.
schema.object() 财务报告和审定财务报表 schema.record() 返回时 ObjectSchema运输安全
由动作输入,路由搜索,和服务器操作输入所使用的schema子类型.
字符串格式仅限于运行时执行的格式. 使用
schema.raw() 当一个整合有意拥有自定义格式时.
schema.raw(projection, safeParse) 是明确的扩展接合。 这需要
可执行解析器, 所以只使用文档的声明不能伪装成一个
运行时间计划。 命名的组件引用由 @askrjs/server
,同时保留原图解.
见 文件/目录 用于完整的内置词汇和 投影保证.
构造选项,enum成员和对象声明被快照.
计数必须是非负数整数,数值限制为有限度,以及 multipleOf
阳性。 空的组合器、重复的词组和非无限的词组
施工期间被拒绝。 预测必须是循环的,不得比
256个嵌入式容器;使用 JSON Schema $ref 与 raw() 用于手动重现.
在探访子女之前,被宣布的最大尺寸拒绝过多的投入.
0.5.0 准备
见 完整 API 决定和迁移 财务报告和审定财务报表 已执行边界证据。该清单仍在 0.4.x 直至协调释放资格.
发展
npm ci
npm run check
npm run pack:check
该软件包使用Vite Plus,并发布来自
dist/,加上其变更日志和合同/移民文件.