diff options
Diffstat (limited to 'common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/error/validation.js')
-rw-r--r-- | common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/error/validation.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/error/validation.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/error/validation.js new file mode 100644 index 00000000..e3322d49 --- /dev/null +++ b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/error/validation.js @@ -0,0 +1,63 @@ +/*! + * Module requirements + */ + +var MongooseError = require('../error.js'); + +/** + * Document Validation Error + * + * @api private + * @param {Document} instance + * @inherits MongooseError + */ + +function ValidationError(instance) { + this.errors = {}; + if (instance && instance.constructor.name === 'model') { + MongooseError.call(this, instance.constructor.modelName + ' validation failed'); + } else { + MongooseError.call(this, 'Validation failed'); + } + if (Error.captureStackTrace) { + Error.captureStackTrace(this); + } else { + this.stack = new Error().stack; + } + this.name = 'ValidationError'; + if (instance) { + instance.errors = this.errors; + } +} + +/*! + * Inherits from MongooseError. + */ + +ValidationError.prototype = Object.create(MongooseError.prototype); +ValidationError.prototype.constructor = MongooseError; + + +/** + * Console.log helper + */ + +ValidationError.prototype.toString = function() { + var ret = this.name + ': '; + var msgs = []; + + Object.keys(this.errors || {}).forEach(function(key) { + if (this === this.errors[key]) { + return; + } + msgs.push(String(this.errors[key])); + }, this); + + return ret + msgs.join(', '); +}; + +/*! + * Module exports + */ + +module.exports = exports = ValidationError; |