0.1.38 • Published 10 years ago
flyber-types v0.1.38
#FT Runtime Type Check System For Javascript

Install
npm install flyber-typesType Definition Example ('./examples/System.ft')
#Simple Types
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]
#Type Extensions
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
#Complex Types
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("flyber-types");
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.38
10 years ago
0.1.37
10 years ago
0.1.36
10 years ago
0.1.35
10 years ago
0.1.34
10 years ago
0.1.33
10 years ago
0.1.32
10 years ago
0.1.31
10 years ago
0.1.30
10 years ago
0.1.29
10 years ago
0.1.28
10 years ago
0.1.27
10 years ago
0.1.26
10 years ago
0.1.25
10 years ago
0.1.24
10 years ago
0.1.23
10 years ago
0.1.22
10 years ago
0.1.21
10 years ago
0.1.20
10 years ago
0.1.19
10 years ago
0.1.18
10 years ago
0.1.17
10 years ago
0.1.16
10 years ago
0.1.15
10 years ago
0.1.14
10 years ago
0.1.13
10 years ago
0.1.12
10 years ago
0.1.11
10 years ago
0.1.10
10 years ago
0.1.9
10 years ago
0.1.8
10 years ago
0.1.7
10 years ago
0.1.6
10 years ago
0.1.5
10 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.0.1
10 years ago