| // YAML error class. http://stackoverflow.com/questions/8458984 | 
| // | 
| 'use strict'; | 
|   | 
| function YAMLException(reason, mark) { | 
|   // Super constructor | 
|   Error.call(this); | 
|   | 
|   this.name = 'YAMLException'; | 
|   this.reason = reason; | 
|   this.mark = mark; | 
|   this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : ''); | 
|   | 
|   // Include stack trace in error object | 
|   if (Error.captureStackTrace) { | 
|     // Chrome and NodeJS | 
|     Error.captureStackTrace(this, this.constructor); | 
|   } else { | 
|     // FF, IE 10+ and Safari 6+. Fallback for others | 
|     this.stack = (new Error()).stack || ''; | 
|   } | 
| } | 
|   | 
|   | 
| // Inherit from Error | 
| YAMLException.prototype = Object.create(Error.prototype); | 
| YAMLException.prototype.constructor = YAMLException; | 
|   | 
|   | 
| YAMLException.prototype.toString = function toString(compact) { | 
|   var result = this.name + ': '; | 
|   | 
|   result += this.reason || '(unknown reason)'; | 
|   | 
|   if (!compact && this.mark) { | 
|     result += ' ' + this.mark.toString(); | 
|   } | 
|   | 
|   return result; | 
| }; | 
|   | 
|   | 
| module.exports = YAMLException; |