28 lines
989 B
JavaScript
28 lines
989 B
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.decorateServiceException = exports.ServiceException = void 0;
|
||
|
class ServiceException extends Error {
|
||
|
constructor(options) {
|
||
|
super(options.message);
|
||
|
Object.setPrototypeOf(this, ServiceException.prototype);
|
||
|
this.name = options.name;
|
||
|
this.$fault = options.$fault;
|
||
|
this.$metadata = options.$metadata;
|
||
|
}
|
||
|
}
|
||
|
exports.ServiceException = ServiceException;
|
||
|
const decorateServiceException = (exception, additions = {}) => {
|
||
|
Object.entries(additions)
|
||
|
.filter(([, v]) => v !== undefined)
|
||
|
.forEach(([k, v]) => {
|
||
|
if (exception[k] == undefined || exception[k] === "") {
|
||
|
exception[k] = v;
|
||
|
}
|
||
|
});
|
||
|
const message = exception.message || exception.Message || "UnknownError";
|
||
|
exception.message = message;
|
||
|
delete exception.Message;
|
||
|
return exception;
|
||
|
};
|
||
|
exports.decorateServiceException = decorateServiceException;
|