使用typescript类型定义来验证数据是否符合定义

很多时候都有这样的需求:我想看看这个数据是不是符合这个type或者interface

但是很遗憾,typescript本身不提供这样的功能,所以需要迂回地来实现

首先,有一种描述数据格式的工具是json-schema,社区中有比较成熟的校验数据是否符合格式的工具

而我也找到了一种可以从typescript类型定义生成json-schema的工具,这样,分成两步即可达到目的

ts结构定义生成json-schema

使用ts-json-schema-generator可以完成这项工作,而且它支持enumimport等常见语法(某些其他npm工具可能不支持)

首先准备好一个类型文件

 

我们在安装该npm包之后,在package.jsonscript中加入一句命令:

效果:

然后执行可以得到data/demo.json

使用json-schema来验证数据

这一步使用jsonschema这个npm包

 

2 Replies to “使用typescript类型定义来验证数据是否符合定义”

    • zciii 文章作者

      这就要引入额外的代码了,而且看起来ts的type还是没有办法带到runtime,必须重新写一遍

      评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注