| 
						 | 
						- '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;
 - }
 
 
  |