23 lines
655 B
JavaScript
Raw Normal View History

module.exports = class EventEmitterError extends Error {
constructor (msg, code, fn = EventEmitterError, opts) {
super(`${code}: ${msg}`, opts)
this.code = code
if (Error.captureStackTrace) {
Error.captureStackTrace(this, fn)
}
}
get name () {
return 'EventEmitterError'
}
static OPERATION_ABORTED (cause, msg = 'Operation aborted') {
return new EventEmitterError(msg, 'OPERATION_ABORTED', EventEmitterError.OPERATION_ABORTED, { cause })
}
static UNHANDLED_ERROR (cause, msg = 'Unhandled error') {
return new EventEmitterError(msg, 'UNHANDLED_ERROR', EventEmitterError.UNHANDLED_ERROR, { cause })
}
}