推荐使用:Zod to Json Schema - 精准的类型转换神器!

推荐使用:Zod to Json Schema - 精准的类型转换神器!

zod-to-json-schemaConverts Zod schemas to Json schemas项目地址:https://gitcode.com/gh_mirrors/zo/zod-to-json-schema

在TypeScript的世界中,Zod和JSON Schema都是用来确保数据结构正确性的强大工具。现在,有了Zod to Json Schema,你可以轻松地将Zod验证器转换为标准的JSON Schema,从而拓宽了你的代码可兼容性并增强了文档描述能力。

项目介绍

Zod to Json Schema是一个轻量级库,专为开发者设计,将流行的Zod库创建的类型定义转化为符合JSON Schema规范的定义。这使得你在拥有Zod的强大静态类型检查的同时,也能享受到JSON Schema带来的跨语言兼容性和自动文档生成的优点。

项目技术分析

该库支持所有关键的Zod类型,并能进行基本的字符串、数字和数组长度验证以及字符串模式匹配。此外,它还具备处理递归和重复模式的能力,通过内部的$ref实现引用解析。更值得一提的是,Zod to Json Schema还能直接为目标Open API 3(Swagger)规范的路径生成合适的JSON Schema。

应用场景

  • 当你需要将TypeScript中的复杂类型与JSON Schema文档相集成时,例如用于API文档自动生成。
  • 在多语言环境中,你希望从TypeScript的Zod类型导出一种通用的数据验证方案。
  • 为前端表单验证或后端数据校验提供一个统一的JSON Schema标准。
  • 配合Open API 3规范,构建高质量的RESTful API文档。

项目特点

  1. 全面覆盖:支持Zod的所有相关类型,包括基本类型、联合类型和对象类型的验证规则。
  2. 递归处理:可以妥善解决复杂的递归和重复定义问题,使得结构化的数据模型得以顺畅转换。
  3. 灵活配置:提供了多个选项参数来定制生成的JSON Schema,如设置根参考路径、选择不同的引用策略等。
  4. 开放接口:提供了便利的API调用方式,让开发者可以根据需求轻松整合到现有工作流程中。
  5. 目标适配:能够针对JSON Schema的不同版本以及Open API 3进行优化输出。

以下是简单的示例代码:

import { z } from "zod";
import { zodToJsonSchema } from "zod-to-json-schema";

const mySchema = z
  .object({
    myString: z.string().min(5),
    myUnion: z.union([z.number(), z.boolean()]),
  })
  .describe("My neat object schema");

const jsonSchema = zodToJsonSchema(mySchema, "mySchema");

立即尝试这个开源项目,体验高效且准确的类型转换,提升你的代码质量和开发效率!别忘了,如果你需要从JSON Schema反向转换回Zod,还可以使用配套库json-schema-to-zod

zod-to-json-schemaConverts Zod schemas to Json schemas项目地址:https://gitcode.com/gh_mirrors/zo/zod-to-json-schema

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋玥多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值