UNPKG

@dominion-framework/dominion

Version:

Declarative Promise based Node.js framework for REST API with zero dependencies.

52 lines (38 loc) 1.32 kB
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;