当前位置:首页 > 文章列表 > 文章 > 前端 > Ajv-ts 有什么新消息?

Ajv-ts 有什么新消息?

来源:dev.to 2024-09-21 22:19:00 0浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《Ajv-ts 有什么新消息?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

Ajv-ts 有什么新消息?

架构验证工具包的最新版本 0.9 - ajv-ts 带来了一系列增强功能,以提高开发人员的工作效率并确保更好的验证准确性。无论您是构建复杂的数据模型还是仅处理基本输入,这些更新都有助于通过更强大的功能和示例简化架构定义。以下是此版本中引入的关键更新的概述,以及对版本 0.7.

的重大更改的回顾

更清晰的架构示例

0.9 版的主要更新之一是为每种数据类型引入了模式示例。此功能允许开发人员直接在其架构定义中包含特定示例,从而提供更高的透明度和易用性。您还可以将其与任何参数长度一起使用。

  • 对于字符串:
// valid examples for a string schema
const mystring = s.string().examples(["hello", "world"]);
mystring.schema // // {type: 'string', examples: ['hello', 'world']}
s.string().examples("hello", "world"); // oks
  • 对于数字:
// valid examples for a number schema
const mynum1 = s.number().examples(1, 2, 3);
mynum1.schema // {type: 'number', examples: [1,2,3]}

// typescript error for invalid number types
// @ts-ignore fails ts, but schema still ok
const mynum2 = s.number().examples(["abc", "123"]);
mynum2.schema // {type: "number", examples: ["abc", "123"] }

此更改有助于验证正确的数据类型并改进代码中的文档,使团队更容易理解期望的值。

更严格的号码验证

还值得强调的是之前版本 0.8 中引入的一些重大更改,这些更改带来了更严格的数字验证:

  • 格式和类型强制: 此更新引入了更严格的数字格式规则。例如,仅允许整数和浮点数等特定组合,而不正确的格式会导致错误:
s.number().format("float").int(); // error: incompatible format and type
s.number().int().format("double"); // error: 'double' format not allowed for integers
  • 范围验证: 0.8 版的另一个功能是引入了自动范围检查。开发者可以指定数字的最小值和最大值,如果该值超出范围,系统将抛出错误。
s.number().min(5).max(3); // Error: max cannot be smaller than min
s.number().min(1).max(10).const(15); // Error: constant is out of specified range

这些增强功能有助于防止架构定义期间出现逻辑错误,并确保数据验证更加一致。

其他变化

  • 使用 github 进行变更集管理
  • 更新pnpm版本至9.10.0
  • 元方法的元对象更新

结论

release 0.9release 0.8 更新通过提供更好的示例、更严格的验证和增强的错误显着改善了开发人员体验处理——尤其是对于 typescript 用户。这些功能使架构定义更加直观、可靠,并且在复杂项目中更易于维护。请务必探索新功能,以使您的验证工作流程更加高效!

快乐的模式定义!

项目链接:https://github.com/vitalics/ajv-ts

以上就是《Ajv-ts 有什么新消息?》的详细内容,更多关于的资料请关注golang学习网公众号!

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
Golang 函数测试中的常见错误和解决方案Golang 函数测试中的常见错误和解决方案
上一篇
Golang 函数测试中的常见错误和解决方案
Win10专业版怎么设置图形密码
下一篇
Win10专业版怎么设置图形密码
查看更多
最新文章
  • 安全解析带引号的多URL字符串方法
    文章 · 前端   |  8分钟前  |  
    安全解析带引号的多URL字符串方法
    123浏览 收藏
  • CSS内联样式安全转义方法
    文章 · 前端   |  10分钟前  |  
    CSS内联样式安全转义方法
    277浏览 收藏
  • 父级悬停控制子菜单,CSS hover实现多级显隐
    文章 · 前端   |  12分钟前  |  
    父级悬停控制子菜单,CSS hover实现多级显隐
    123浏览 收藏
  • CSS适配DPI方法:@import引入高清屏样式
    文章 · 前端   |  14分钟前  |  
    CSS适配DPI方法:@import引入高清屏样式
    435浏览 收藏
  • JS中this关键字是什么?如何确定指向?
    文章 · 前端   |  14分钟前  |  
    JS中this关键字是什么?如何确定指向?
    378浏览 收藏
  • 第一节内容创建书签链接:在页面其他位置创建指向该锚点的链接,使用 href 指向 #锚点ID。跳转到第一节(可选)优化样式:为书签链接添加样式,提升用户体验。
    微信登录更方便
    • 密码登录
    • 注册账号
    登录即同意 用户协议隐私政策
    返回登录
    • 重置密码