@esydoc/resolver-validator
v2.1.3
Published
To generate validator code by AST
Downloads
247
Readme
@esydoc/resolver-doc
一个解析 Api 源码生成参数校验的工具
Installation
npm i @esydoc/resolver-validator -D
Usage
在 esydoc.config.js
文件中的resolves
字段添加@esydoc/resolver-validator
对应的配置就 ok 拉。
// for example in esydoc.config.js
{
resolves: {
'@esydoc/resolver-validator': {
pathPrefix: 'global.hyExt',
output: {
template: "validator",
dist: path.join(__dirname, "validator")
}
},
}
}
Esydoc Extra Config
hostContext
无。
Level
report 等级
1
- 代表 error0
- 代表 warning
API 配置文件对应配置
所有resolver-doc
的配置都在命名空间doc
内。
// api config file
{
validate: {
// resolver-validator config
}
}
手动填写部分
validate?: ValidateFn[]
- 额外的验证函数队列disable?: boolean
- 是否取消验证功能level?: number
- report 等级,1 - error、0 - warning
特性
@esydoc/resolver-validator
会扫描源码 params 的注释,生成参数校验工具代码,校验工具有如下特点:
- 会根据你的 params ast 创建一个类型检验函数
- 会从 api 配置中拿额外的验证函数
- 它们依次的执行顺序为:[ast, ...extra]
验证函数约定
入参
入参透传 SDK 接口调用的实际参数,它是一个数组。
返回值
返回一个验证结果对象valdatedResult
, valdatedResult.pass
为枚举值ValidateStatus
, valdatedResult.msg
为信息。
其中ValidateStatus
的枚举值具体分为:Pass = 1
、UesrPass = 2
、Fail = -1
。