UNPKG

@neylion/exceptions

Version:

Exceptions commonly used within ney projects

32 lines (31 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class ResponseFriendlyException { constructor(exception) { this.message = exception.message; this.statusCode = exception.statusCode; this.errorCode = exception.errorCode; this.type = exception.type; this.typeDescription = exception.typeDescription; this.innerException = getInnerException(exception.innerException); } } function getInnerException(innerException) { let responseFriendlyInnerError; if (!innerException) return responseFriendlyInnerError; if (innerException.isApplicationError) { responseFriendlyInnerError = new ResponseFriendlyException(innerException); } else { // Making a shallow copy to avoid deleting properties from original error. responseFriendlyInnerError = Object.assign({}, innerException); delete responseFriendlyInnerError.stack; delete responseFriendlyInnerError.config; } return responseFriendlyInnerError; } function getResponseFriendlyException(exception) { return new ResponseFriendlyException(exception); } exports.getResponseFriendlyException = getResponseFriendlyException;