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 }) | |
} | |
} | |