guardia-messenger/node_modules/nested-error-stacks/index.js
DESKTOP-TKLFCPRython f29f525c77 refactor: 101.79.17.164 → zioinfo.co.kr 전체 도메인 변환 + Manager UI 배포
- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스)
- Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포
- 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 10:09:17 +09:00

49 lines
1.3 KiB
JavaScript

var inherits = require('util').inherits;
var NestedError = function (message, nested) {
this.nested = nested;
if (typeof message !== 'undefined') {
Object.defineProperty(this, 'message', {
value: message,
writable: true,
enumerable: false,
configurable: true
});
}
Error.captureStackTrace(this, this.constructor);
var oldStackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');
var stackDescriptor = buildStackDescriptor(oldStackDescriptor, nested);
Object.defineProperty(this, 'stack', stackDescriptor);
};
function buildStackDescriptor(oldStackDescriptor, nested) {
if (oldStackDescriptor.get) {
return {
get: function () {
var stack = oldStackDescriptor.get.call(this);
return buildCombinedStacks(stack, this.nested);
}
};
} else {
var stack = oldStackDescriptor.value;
return {
value: buildCombinedStacks(stack, nested)
};
}
}
function buildCombinedStacks(stack, nested) {
if (nested) {
stack += '\nCaused By: ' + nested.stack;
}
return stack;
}
inherits(NestedError, Error);
NestedError.prototype.name = 'NestedError';
module.exports = NestedError;