module.exports = function (server) { function toJson(object) { let json = {}; for(let prop in object) { let value = object[prop]; switch(typeof value) { case 'object': if(value instanceof RegExp) json[prop] = value.source; break; case 'function': json[prop] = value.toString(); break; default: json[prop] = value; } } return json; } server.get('/validations', function (req, res) { let json = {}; let models = server.models; for(let modelName in models) { let model = models[modelName]; let validations = model.validations; let jsonValidations = {}; for(let fieldName in validations) { let jsonField = []; for(let validation of validations[fieldName]) jsonField.push(toJson(validation)); jsonValidations[fieldName] = jsonField; } json[modelName] = { properties: model.definition.rawProperties, validations: jsonValidations }; } res.set('Content-Type', 'application/json'); res.send(JSON.stringify(json)); }) };