@dominion-framework/dominion
Version:
Declarative Promise based Node.js framework for REST API with zero dependencies.
52 lines (38 loc) • 1.32 kB
JavaScript
const PropertyTypes = require("./types");
const NumberPropertyType = require("./types/number");
const StringPropertyType = require("./types/string");
const ObjectPropertyType = require("./types/object");
const DatePropertyType = require("./types/date");
const ModelPropertyType = require("./types/model");
const EnumPropertyType = require("./types/enum");
const SetPropertyType = require("./types/set");
PropertyTypes.define({
id() {
return new NumberPropertyType().integer().min(1).primaryKey();
},
uuid() {
return new StringPropertyType().pattern(/^[a-f\d]{8}-[a-f\d]{4}-4[a-f\d]{3}-[89ab][a-f\d]{3}-[a-f\d]{12}$/).primaryKey();
},
number() {
return new NumberPropertyType();
},
string() {
return new StringPropertyType();
},
object() {
return new ObjectPropertyType();
},
date() {
return new DatePropertyType();
},
model(modelName) {
return new ModelPropertyType(modelName);
},
enum(valuesList) {
return new EnumPropertyType(valuesList);
},
set(valuesList) {
return new SetPropertyType(valuesList);
}
});
module.exports = PropertyTypes;