diff options
Diffstat (limited to 'node_modules/ajv/lib/compile/error_classes.js')
-rw-r--r-- | node_modules/ajv/lib/compile/error_classes.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/ajv/lib/compile/error_classes.js b/node_modules/ajv/lib/compile/error_classes.js new file mode 100644 index 000000000..0b0ec4e4e --- /dev/null +++ b/node_modules/ajv/lib/compile/error_classes.js @@ -0,0 +1,34 @@ +'use strict'; + +var resolve = require('./resolve'); + +module.exports = { + Validation: errorSubclass(ValidationError), + MissingRef: errorSubclass(MissingRefError) +}; + + +function ValidationError(errors) { + this.message = 'validation failed'; + this.errors = errors; + this.ajv = this.validation = true; +} + + +MissingRefError.message = function (baseId, ref) { + return 'can\'t resolve reference ' + ref + ' from id ' + baseId; +}; + + +function MissingRefError(baseId, ref, message) { + this.message = message || MissingRefError.message(baseId, ref); + this.missingRef = resolve.url(baseId, ref); + this.missingSchema = resolve.normalizeId(resolve.fullPath(this.missingRef)); +} + + +function errorSubclass(Subclass) { + Subclass.prototype = Object.create(Error.prototype); + Subclass.prototype.constructor = Subclass; + return Subclass; +} |