You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
775 B
38 lines
775 B
'use strict'; |
|
|
|
/*! |
|
* Module dependencies. |
|
*/ |
|
|
|
const MongooseError = require('./mongooseError'); |
|
|
|
/** |
|
* Version Error constructor. |
|
* |
|
* @param {Document} doc |
|
* @param {Number} currentVersion |
|
* @param {Array<String>} modifiedPaths |
|
* @api private |
|
*/ |
|
|
|
class VersionError extends MongooseError { |
|
|
|
constructor(doc, currentVersion, modifiedPaths) { |
|
const modifiedPathsStr = modifiedPaths.join(', '); |
|
super('No matching document found for id "' + doc._doc._id + |
|
'" version ' + currentVersion + ' modifiedPaths "' + modifiedPathsStr + '"'); |
|
this.version = currentVersion; |
|
this.modifiedPaths = modifiedPaths; |
|
} |
|
} |
|
|
|
|
|
Object.defineProperty(VersionError.prototype, 'name', { |
|
value: 'VersionError' |
|
}); |
|
|
|
/*! |
|
* exports |
|
*/ |
|
|
|
module.exports = VersionError;
|
|
|