require("aigis");
$typenize({name: "string"}, {name: 13, skipThisField: "data"});
$sanitize({name: {type: "string", max: 2}}, {name: "Omnomnus", delThisField: "data"});
$validate("integer", "2");
$sanitize("array", [6.9, "name", "delThisElem"], {schema: ["integer", "string"]});
$validate("?email", undefined);
$sanitize.type("testTypeDate", function(input, options) { return new Date(input); });
$validate.rule("testRuleMax10", function(input, options) { return options.k * input < 10; });
$typenize("testTypeDate", "---");
$sanitize("testTypeDate", "Thu, 01 Jan 1970 00:00:00 GMT-0400");
$validate("testRuleMax10", 50, {k: 2});
$typenize("hashTable").format("{video}: {views}", {"video": "cats", "views": 100500});
$typenize("string").format("Date: {}", new Date());
$sanitize("array").format("Array: {2}, {1}, {0}", "[11, 12, 13]", {"max": 2})
var schUser = {"name": "string", "score": "integer"};
var tpzUser = $typenize(schUser),
snzUser = $sanitize(schUser),
vldUser = $validate(schUser);
var data = {"name": "DT", "score": 13.7, "someData": 9};
tpzUser(data);
tpzUser.format("My name: {name};\nMy score: {score};", data);
snzUser(data);
snzUser.format("My name: {name};\nMy score: {score};", data);
vldUser(data);
vldUser.format("vldUser: {}", data);
require("aigis");
var rExpress = require("express");
var rBodyParser = require("body-parser");
var objApp = rExpress();
var appModels = {
"user": {
"id": "integer",
"name": "string",
"pswd": {"type": "string", "rule": "required", "on": ["update"]}
},
"task": {
"id": "integer"
}
};
objApp
.use(rBodyParser.urlencoded({"extended": false}))
.use(rBodyParser.json());
objApp.use($sanitize.mid(appModels));
objApp.all("/", function(req, res) {
if(!req.model)
return res.send("req.model: empty");
res.send(
JSON.stringify(req.model.data) +
" | name: " + req.model.name +
" | scenario: " + req.model.scenario +
" | validate: " + req.model.validate()
);
});
objApp.listen(3000, "127.0.0.1");
require("aigis");
var schema = {
"name": {
"type": "string",
"rule": "required",
"max": 3,
"trim": true
},
"status": "?string",
"pts": {
"use": "integer",
"max": 30,
"abs": true
},
"data": {
"type": "hashTable",
"schema": {
"login": "string",
"password": "string",
"more": {
"type": "hashTable",
"schema": {
"someData": "string"
}
}
}
}
},
data = {"name": " XX + ", "pts": "-60", "delThisField": "data"};
$typenize(schema, data);
$sanitize(schema, data);
$validate(schema, data);
console.log("+-------------------------+");
console.log("| S: String");
console.log("+-------------------------+");
console.log(JSON.stringify({
"T0": $sanitize("string", 10),
"T1": $sanitize("integer", "80", {"max": 50}),
"T2": $sanitize("array", "[1,2,3]", {"max": 2}),
"T3": $sanitize("integer", "50.5", {"enum": [10, 50]}),
"T4": $sanitize("integer", "60.5", {"enum": [10, 50]})
}, null, "\t"));
console.log("+-------------------------+");
console.log("| S: HashTable");
console.log("+-------------------------+");
var schema = {
"name": {"use": "string", "max": 2, "trim": true},
"status": "?string",
"pts": {"use": "integer", "max": 30}
},
data = {"name": " DT+ ", "pts": "60", "delThisField": "data"};
console.log("0#", $sanitize(schema, data));
console.log("+-------------------------+");
console.log("| V: HashTable");
console.log("+-------------------------+");
var schema = {
"name": "string",
"pswd": "string",
"pswdCheck": {"use": "equal", "field": "pswd"},
"status": "?string",
"pts": "integer"
},
data = {"name": "DT", "pts": "32", "pswd": "/\\s+/g", "pswdCheck": /\s+/g};
console.log("1#", $validate(schema, data));
console.log("2#", $validate(schema, data, {"errors": true}));