0.1.59 • Published 9 years ago
ftjs v0.1.59
#FT.js Runtime Type Check System For Javascript

Install
npm install ftjsType Definition Example ('./examples/System.ft')
#SimpleTypes
String : /.?/
Integer : Global.Integer
Int : Integer
Boolean : Global.Boolean
Bool : Boolean
Double : Global.Double
Numeric : Double | Integer
Null : Global.Null
Undefined : Global.Undefined
Email : /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i
Strings : [String]
#TypeExtensions
String...
Min min : /^.{#{min},}$/
Max max : /^.{,#{max}}$/
Range min max : /^.{#{min},#{max}}$/
Integer...
Min min : @ >= min
Max max : @ <= max
#Enums
Status : "active" | "inactive"
Missing : Null | Undefined
#ComplexTypes
User
------------
email : Email
picture : String
firstname : String Range(5,20)
lastname : String Min(5) Max(20)
status : Status
bio : String | Missing
tags : [String]Use
var types = require("ftjs");
var fs = require("fs");
var validate = types({
System: fs.readFileSync("./examples/System.ft").toString("utf8")
});
var user = {
email: 'a.stegno@gmail.com',
picture: 'http://some-website.com/picture.png',
firstname: 'Andrey',
lastname: 'Test',
status: 'active',
bio: 'Ho',
tags: ["user"]
};
validate("System.User", user); //true0.1.59
9 years ago
0.1.58
9 years ago
0.1.57
9 years ago
0.1.56
9 years ago
0.1.55
9 years ago
0.1.54
9 years ago
0.1.53
9 years ago
0.1.51
9 years ago
0.1.49
9 years ago
0.1.48
9 years ago
0.1.47
9 years ago
0.1.46
9 years ago
0.1.45
10 years ago
0.1.44
10 years ago
0.1.43
10 years ago
0.1.42
10 years ago
0.1.41
10 years ago
0.1.40
10 years ago
0.1.39
10 years ago
0.1.38
10 years ago