@sprucelabs/mercury-event-emitter
Version:
Types for Mercury!
27 lines (26 loc) • 1.32 kB
JavaScript
import AbstractSpruceError from '@sprucelabs/error';
export default class SpruceError extends AbstractSpruceError {
friendlyMessage() {
var _a, _b, _c, _d;
const { options } = this;
let message;
switch (options === null || options === void 0 ? void 0 : options.code) {
case 'LISTENER_ERROR':
message = `Error in local event listener:\n\n${(_d = (_b = (_a = options.originalError) === null || _a === void 0 ? void 0 : _a.stack) !== null && _b !== void 0 ? _b : (_c = options.originalError) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : options.originalError}`;
break;
case 'INVALID_PAYLOAD':
message = `The emit payload you passed to "${options.eventName}" is invalid${options.originalError
? `:\n\n${options.originalError.message}`
: '.'}`;
break;
case 'INVALID_RESPONSE_PAYLOAD':
message = `The response payload to "${options.eventName}" is invalid${options.originalError
? `:\n\n${options.originalError.message}`
: '.'}`;
break;
default:
message = this.message;
}
return message;
}
}