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