d*******r 发帖数: 3299 | 1 我知道对于 dynamic type 的语言来说,问这个问题比较奇怪。
但是作为一个 static type fan, 有时真的想要有这个,
比如收发各种 JSON messages 的时候,有个 type / fileds 校验,感觉很方便的.
说说我见过的,
当然有 Type Script that can be compile to JavaScript
不过这个看起来用着太重了:http://www.typescriptlang.org/
还有,mongo ORM 的 JSON schema 校验:
http://mongoosejs.com/docs/guide.html
不过这个只有 mongoDB 能用
我想要的就是一个轻量级的 lib, 想校验 type 的时候,call typeLibVerify(
variable / JSON) 就好了
网上看着也有各种 solution,不知道哪个好? |
d*******r 发帖数: 3299 | |
d*******r 发帖数: 3299 | 3 这个 JSDoc 有人用过吗?
看了看,貌似可以在关键的部分 optionally 地用一下
【在 d*******r 的大作中提到】 : 正在看 JetBrain 的东西 : https://www.youtube.com/watch?v=0r9HPRJUaFo
|
b***e 发帖数: 1419 | 4 https://www.npmjs.org/package/web-service-api
【在 d*******r 的大作中提到】 : 我知道对于 dynamic type 的语言来说,问这个问题比较奇怪。 : 但是作为一个 static type fan, 有时真的想要有这个, : 比如收发各种 JSON messages 的时候,有个 type / fileds 校验,感觉很方便的. : 说说我见过的, : 当然有 Type Script that can be compile to JavaScript : 不过这个看起来用着太重了:http://www.typescriptlang.org/ : 还有,mongo ORM 的 JSON schema 校验: : http://mongoosejs.com/docs/guide.html : 不过这个只有 mongoDB 能用 : 我想要的就是一个轻量级的 lib, 想校验 type 的时候,call typeLibVerify(
|
l**********n 发帖数: 8443 | 5 JavaScript有type啊,分primitive 和 non primitive。这还不够吗?
【在 b***e 的大作中提到】 : https://www.npmjs.org/package/web-service-api
|
d*******r 发帖数: 3299 | 6 不错! 不过我在找 generic 的 type lib,不只是 web service 的
【在 b***e 的大作中提到】 : https://www.npmjs.org/package/web-service-api
|
n*****t 发帖数: 22014 | 7 underscore ?
【在 d*******r 的大作中提到】 : 我知道对于 dynamic type 的语言来说,问这个问题比较奇怪。 : 但是作为一个 static type fan, 有时真的想要有这个, : 比如收发各种 JSON messages 的时候,有个 type / fileds 校验,感觉很方便的. : 说说我见过的, : 当然有 Type Script that can be compile to JavaScript : 不过这个看起来用着太重了:http://www.typescriptlang.org/ : 还有,mongo ORM 的 JSON schema 校验: : http://mongoosejs.com/docs/guide.html : 不过这个只有 mongoDB 能用 : 我想要的就是一个轻量级的 lib, 想校验 type 的时候,call typeLibVerify(
|
b***e 发帖数: 1419 | 8 var TC = require('web-service-api').TypeCheck;
var tc = new TC({
typeDefs: typeDefs
});
tc.typeCheck(value, type);
This type check part of this package is light-weight, standing alone, and is
not tied to the web service part.
【在 d*******r 的大作中提到】 : 不错! 不过我在找 generic 的 type lib,不只是 web service 的
|
d*******r 发帖数: 3299 | 9 用 underscore 模板?
没搞懂呢
【在 n*****t 的大作中提到】 : underscore ?
|
d*******r 发帖数: 3299 | 10 就是这个文件吧 https://github.com/redblaze/web-service-api/blob/master/lib/
TypeCheck.js
扫了一眼,也是用的 underscore.
能 check 自定义的复合类型吗,比如自己定义的 json, 有很多 fields.
is
【在 b***e 的大作中提到】 : var TC = require('web-service-api').TypeCheck; : var tc = new TC({ : typeDefs: typeDefs : }); : tc.typeCheck(value, type); : This type check part of this package is light-weight, standing alone, and is : not tied to the web service part.
|
|
|
n*****t 发帖数: 22014 | 11 Underscore 是 lib,_.isArray 之类判断类型
【在 d*******r 的大作中提到】 : 用 underscore 模板? : 没搞懂呢
|
b***e 发帖数: 1419 | 12 能。readme里写的很清楚。不但能check types, 还可以validate restrictions。返回
的出错信息也是structured。
lib/
【在 d*******r 的大作中提到】 : 就是这个文件吧 https://github.com/redblaze/web-service-api/blob/master/lib/ : TypeCheck.js : 扫了一眼,也是用的 underscore. : 能 check 自定义的复合类型吗,比如自己定义的 json, 有很多 fields. : : is
|
d*******r 发帖数: 3299 | 13 你们说这些感觉还是不是特方便. 我再去研究下. |
b***e 发帖数: 1419 | 14 你要是有什么特殊的要求自己搭一个也行。这个东西没什么料,能用就好。
【在 d*******r 的大作中提到】 : 你们说这些感觉还是不是特方便. 我再去研究下.
|
d*******r 发帖数: 3299 | 15 恩,最后搞不好我自己搭一个了,我肯定参考下大牛的代码,多谢~~ :)
【在 b***e 的大作中提到】 : 你要是有什么特殊的要求自己搭一个也行。这个东西没什么料,能用就好。
|